- Se descapó
- 26 de agosto de 2026 a las 2:42 UTC
- Autor
- kamo
- Compromit
- a0b722b
Seis sitios de llamadas leen la tienda de correo electrónico con un correo electrónico desnudo. En zustand que se suscribe a la tienda WHOLE, por lo que cualquier cambio en cualquier lugar en ella re-estrena el componente. y el estado de selección vive en la misma tienda que las etiquetas, reglas y carpetas inteligentes. Atascas una casilla de verificación en la lista de mensajes actualizada seleccionadaMessageIdss y volvió a presentar el 1.207 línea de línea FolderSidebar, el selector de etiquetas, el constructor de reglas de filtro y la carpeta inteligente modal junto con él, ninguno de los cuales leyó la selección en absoluto. Cada sitio ahora selecciona los campos individuales que utiliza. Las acciones son referencias estables en zustand, por lo que la selección de esos nunca causa una representación por sí sola; sólo un componente que Realmente lee un cambio de valor re-renders. MessageBrowser todavía re-renace en un cambio de selección, que es correcto: lo que ya no hace es volver a volver a volver a escribir cuando las etiquetas, reglas o carpetas inteligentes se mueven. Seleccionadores deliberadamente atómicos en lugar de un selector devolviendo un objeto: zustand 5 caída de la comparación superficial automática para los selectores de retorno de objetos, de modo que la forma necesita usarShallow y reintroduce la misma clase de error en el momento en que alguien lo olvida. El resto de la base de código ya estaba haciendo esto correctamente. sitios contra estos 6. Las cuatro suscripciones desnudas restantes (señal, documentos, hr, ajustes de firma) pasar todo el objeto de la tienda internamente y necesita una reestructuración en lugar de un selector, así que se quedan solos. Verificado: tsc --noEmita limpiar sobre los cinco componentes y la tienda con su transitiva importaciones; los 9 guardias pasan.