Ricostruire /hr/training come console di allenamento

Featurekamo-internal
Spegnimento
19 agosto 2026 alle ore 06:16 UTC
Autore
kamo
Impegno
db71d1e

La scheda era due griglia AG sotto una barra di linguetta: accurate e mute. Ora si apre sull'intero obbligo di formazione dell'org e lascia agire un amministratore i vuoti. - Una testata la cui rotaia coorte è la popolazione di assegnazione — passata, in ritardo, in corso, non iniziato, scusato — dimensionato in proporzione e a carico. Ogni segmento di deep-link in Assegnamenti pre-filtrati, così il grafico è la strada verso il lavoro piuttosto che una foto di esso. - La versione ledger: un tick solido per versione pubblicata con il live uno acceso, continuando in una borchie schiacciata quando il progetto è passato E' cosi'. Un corso pubblica come versioni e gli studenti sono abbonati a quello sono stati inviati — che era in precedenza una linea di testo leggere una riga in una riga tempo. Guidato sia dalla galleria che dal tavolo, quindi le due viste condividono un vocabolario. - I corsi diventano una galleria di carte con ricerca, chip di stato, ordine e copertura arte; la griglia rimane dietro un gioco per la scansione densa. Sia letto da ShapeCatalog, quindi non possono essere d'accordo su quali partite. - Le assegnazioni guadagnano la ricerca, multi-seletto con rinforzo/extend/excuse/ annullare, e CSV esportazione. Ogni pulsante di massa indica quanti dei selezione può effettivamente toccare — un Ricorda 40 che le mail 31 è una bugia l'amministratore poi agisce su. - Un terzo sub-tab, Insights: anelli passa-tasso e medio-score, il inseguire la coda, i membri in piedi, attività recente. Tutto proviene da il blocco di formazione di /api/docs/hr/summary, che il HR Panoramica già chiama; DocsService è intatto. - coverImgId è stato sul DTO e nel payload di salvataggio dal modulo spediti con nulla che possa impostarlo e niente che lo legga. The l'editor ottiene il picker che rende il campo reale. Quattro difetti fissati lungo la strada: - L'editore è stato disabilitato su ogni riga del catalogo e sempre stato. pubblicareBlockedReason passeggiate course.items, ma lista() mappe righe attraverso toDto (corso, falso), che non li imposta mai — così l'elemento camminare ha visto un elenco vuoto e restituito 'vuoto' per ogni corso, compresi quelli che pubblicare perfettamente dall'editor. catalogo PubblicaBlockedReason cancelli su i conti che l'elenco invia; i rifiuti per-questione rimangono nel editor, dove esistono le domande. - Il messaggio della conferma di cancellazione era il corpo a stato vuoto, incollato, così ha letto 'Acquista un corso da diapositive e scelta multipla test, poi assegnalo alla tua squadra.' - I chip di stato di assegnamento hanno reso status.replaceAll(' ','') database enum, in inglese, in tutte le 22 località . - Due chiamate finestra.prompt() hanno raccolto una scadenza di conformità e una rinuncia ragione in una scatola di sistema operativo non stile. Entrambi sono dialoghi reali ora; il waiver la ragione è ciò che un revisore legge. Regole dal vivo in app/lib/trainingConsole.ts sotto 36 test: vitest here run nell'ambiente nodo e raccoglie solo .test.ts, quindi una regola scritta dentro un .tsx è una regola senza prova. Le corde sono atterrate per la prima volta in kamo-translation-dictionary b5ed84af.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo