Honesta cifra de cumplimiento, estados fallido por sección, gating derecho

Fixkamo-internal
Shipped
12 de agosto de 2026 a las 17:44 UTC
Author
kamo
Commit
4d8e9dc

El porcentaje de masthead mezcló unidades y sólo pudo halagar. Suma completa org-wide ASSIGNMENT counts while "open-do-dud". con un tapado de 2 por miembro: un org de 50 personas con 800 asignaciones completadas y 20 Los miembros que llevaban trabajo abierto reportaron un 98% cuando la cifra honesta es del 80%, y es el único número de ancho de org en la página más el medidor debajo de él. Ambas partes ahora vienen de los rollups por miembros, así que ambos son los conteos de asignación leídos en uno instantánea. Extraecha como asignaciónCompliance () en app/lib/hrOverview.ts, porque vitest aquí recoge sólo .test.ts y una regla que queda en un .tsx es una regla sin prueba. El sobredueno no se añade deliberadamente: es un subconjunto de "abierto". Una búsqueda fallida todavía hizo el estado de EMPTY de cada sección. Una delgada bandeja roja no deshaz "Overdue 0", "Cada paquete se ejecuta" y "Nadie tiene un Obligación de recursos humanos pendiente". debajo de ella - un lector puede actuar sobre ellos. El Las banderas fallidas se enhebran en las cuatro secciones y cada una hace suya estado fallido, reutilizando hr.overview.loadFuned and hr.overview.retry. Ninguna llave fue inventado: mensajes/ se pobla en tiempo de construcción de un repo separado y la punta de la mano se lanza a una llave que falta de en.json. Donde las filas sobreviven de la otro resumen, el aviso se sienta por encima de ellos en lugar de reemplazarlos, así que a La lista parcial nunca se transmite como toda la fuerza laboral. Los pilares llevan no botón de reentrar - la tarjeta es un ancla y un botón anidado se traga el clic. La matriz y el carril que se realiza cada vez que CUALQUIER sección era visible, así que un miembro "Nadie tiene una obligación pendiente de recursos humanos" sobre los datos que no pueden ver. Cada uno está ahora cerrado en los dominios que lo alimentan. Decían el &member= ledger param. /hr/asistencia, /hr/legal-compliance-compliance y /hr/training read searchParams.get('sub') y nada más, por lo que se filtró nada, colgaba desnudo cuando el identificador era nulo, y sobrevivió a cada sub-tab posterior interruptor a través de ************* Un enlace prometiendo un El filtro que no se aplica es peor que un enlace sencillo. Renderó el contenido del pilar que ya se estaba calculando y enviando: puntaje promedio, borradores legales y paquetes activos, cursos publicados, fallidos la final. Y quitó la pista que hizo de la cadena desnuda "paquetes activos" bajo el conteo ejecutado sin número, leyendo como una figura que no carga. promedioScore null renders un guión em, nunca una cuenta-up a 0.

All changes

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios