El bug de «siempre oscura»: la web decide su modo con su propio botón
(next-themes, defaultTheme claro, sin seguir al sistema), pero la barra
elegía tema con prefers-color-scheme — el del SISTEMA. Con Windows en
oscuro y la app en claro, franja negra sobre app blanca, siempre. La
v1.6.1 pintó bien ambos temas, pero la barra seguía eligiendo el
equivocado.
El arreglo, de punta a punta:
- El script inyectado reporta en ls-title si <html> lleva la clase
`dark`, con un MutationObserver para que la luna se refleje al
instante. La guarda de marco y origen queda intacta (OnlyOffice).
- Rust lo guarda (global: todas las pestañas comparten modo), lo
reenvía en ls-tabs (`dark`) y lo PERSISTE en estado.json: la app
abre ya del color correcto, sin fogonazo.
- La barra se pone la clase `oscuro`/`claro` al recibirlo; las media
queries quedan solo como arranque en frío (primer arranque sin
estado.json). Los tintes de colores de pestaña cuelgan del mismo
interruptor.
- El acento pasa de índigo #6366f1 (comentado «color de Labstream»,
que no lo era) al naranja de marca #F47A20: aro de carga, zoom
activo y hover de la versión.
Verificado en navegador con el CSS y el JS reales, simulando el
payload de Rust: app clara + sistema oscuro → barra clara; app
oscura → negra; sin reporte → cae al sistema. El Rust lo compila el
CI de rama (este equipo no tiene cargo).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>