- Se descapó
- 11 de agosto de 2026 a las 16:36 UTC
- Autor
- kamo
- Compromit
- f8afef1
La pestaña de cumplimiento del miembro tenía dos sub-tabs, pendientes y completadas, para un tipo de obligación. Esos son un ESTADO, no de un tipo, por lo que colapsan en un filtro de estado (con "todos", que dos pestañas no tenía dónde poner, y lo que anteriormente significaba comprobar ambos para responder "fue este yo. firmadas?"), y la tira de la pestaña se libera para separar las dos cosas que son genuinamente diferentes: Paquetes legales - instrumentos para firmar, comportamiento sin cambios detrás de un filtro Cursos de formación asignadas para tomar Cada panel mantiene su propio filtro en su propio param. Un compartido ?filtro= llevaría un cubo legal en el panel de entrenamiento, cuando la misma palabra significa un conjunto diferente de estados, y conmutar las pestañas volvería a filtrar silenciosamente la otra lista. Un extranjero ?sub= se normaliza en la montura, porque SettingsView.writeTabToUrl sets ?tab= y elimina ?configura pero deja ?sub= solo la pantalla ya correcto a través de la caída del índice, pero la URL estaba reclamando un estado que este componente nunca tuvo, y la URL es lo que se marca y se pega en un ticket de soporte. NavTop ahora muestra una insignia para BOTH. Un miembro no piensa en "paquetes para firmar" y "cursos para Toma" como dos sistemas, piensan en cosas que deben; dos marcas casi idénticas lado a lado en Cromo fijo los haría resolver cuál está encendido. El conteo es la suma, y el icono gana a estado de atención real - dos anillos en :: antes/: después de un envoltorio, por lo que el glifo en sí nunca se mueve y nunca lucha contra el ancla de la Insignia. El movimiento es una señal ADDITIONAL, no la única (el conteo y el color de error todavía lo lleva), por eso prefiere-reducido-movimiento se deja caer sin nada perdido. MiembroAsignadoEl trening envía deliberadamente ninguna columna de acción. trainingActionFor already decide start/resume/retake/certificate y es unido, pero el jugador del curso no está construido "Inicio" visiblemente discapacitado es una promesa que el producto no puede cumplir, que se lee como rota en lugar de Inacabado. La columna llega con el jugador. entrenamientoEstadiosPara enviar cada estado EXPLICITAMENTE para "todo" en lugar de omitir el param: el El revés sin filtrador existe para rescatar un marcador rancio, no para ser una convención de llamadas. Los estads viajan como params repetidos, nunca CSV, una coma está doble codificado por la pasarela APIService. check-i18n-keys atcogió las llaves perdidas exactamente como está diseñada; hr.training.member.* fue empujado a kamo-translación-diccionario primero y verificado sobre su origen/principal antes de esta comisión. npm prueba: 3 guardias limpios, 98 archivos, 1221 pruebas pasando.