Ir al contenido
English

Verificación — ajustes por pestañas

Fecha: 2026-11-03. Fuente: 28d9f20, rama codex/visual-polish, sobre origin/main 8e1db46. Windows, Node 24.15.0, Edge 156.0.4314.58.

La vista Settings.svelte real y sus estilos se montaron con Vite sobre un fixture temporal de navegador. mockIPC de Tauri respondió en memoria: proyecto C:/fixture/harbour, dos máquinas ficticias, identidad de ejemplo, configuración, avisos y diagnóstico. Se registraron las llamadas para distinguir conservar un resultado de volver a ejecutar su acción. No se inició un daemon ni un agente, no se usaron credenciales y no se modificaron datos personales.

Playwright Core y la detección de Edge se reutilizaron desde el checkout local de Diagrams; no se añadió dependencia al IDE. El conductor temporal quedó en C:/tmp/meltemi-settings-browser.mjs; reporte y nueve capturas en C:/tmp/meltemi-settings-visual/. Como en los smokes anteriores, las capturas no se versionan. Las capturas muestran el componente con el puente simulado, no una ejecución del binario Tauri completo.

Escenario Resultado
Entrar y recorrer categorías con teclado Cinco pestañas ES/EN, Apariencia inicial, flechas con vuelta, Home/End; foco y selección coinciden. Una pestaña en el orden de Tab y asociación recíproca aria-controls/aria-labelledby.
El borrador y los resultados sobreviven al cambio de categoría La plantilla pendiente, el diagnóstico y el resultado de conexión siguen al volver; no aumentan las llamadas de diagnóstico o prueba. Sólo un panel visible.
Cambiar tema o idioma conserva la plantilla pendiente Cambiar a oscuro e inglés conserva la edición en Herramientas; el valor persistido sigue siendo el anterior hasta pulsar Guardar.
La plantilla de Abrir con se configura y persiste Guardar llama al mecanismo existente con el texto editado. La persistencia nativa no se reimplementó; su conexión sigue cubierta por scenarios_shell.rs. No se midió un reinicio nativo aquí.
Ver y editar la configuración efectiva Proyecto muestra los dos archivos del fixture y Editar recibe .meltemi/config.toml.
La promesa de privacidad es visible Información muestra los cuatro compromisos existentes junto al diagnóstico.
Navegación en ancho estrecho A 320×640 las cinco categorías son alcanzables, la activa queda visible con nombre completo, botones de al menos 44×44 px y ningún panel desborda horizontalmente.
Conservación de acciones El cambio de máquina pasa por onGuarded antes del callback existente; las pruebas y la edición sólo responden a sus controles.
Temas y acceso Capturas a 1100×720 en claro/ES y oscuro/EN; a 320×640 en cada categoría. Forced-colors y reduced-motion conservan foco, borde activo y navegación.
Errores de navegador Ningún pageerror ni evento window.error en la pasada final.

Las capturas de Apariencia, Herramientas y Conexiones se revisaron visualmente: jerarquía de títulos, legibilidad, controles y nombres completos. No se añadió una categoría de tipografía porque la vista no tiene esos ajustes. El compañero móvil actual no enruta a Settings; su entrada sigue compilando y este cambio no añade una pantalla móvil nueva.

  • npm run check: cero errores y advertencias Svelte.
  • npm run lint:i18n y npm run check:forms: limpios.
  • npm test: 115/115.
  • npm run build: ambas entradas, escritorio y móvil. Sigue el aviso de tamaño del bundle principal; no se cambió la estrategia de empaquetado.
  • npm audit --audit-level=high: pasa; dos avisos bajos existentes de deepmerge/plugin Svelte, sin cambiar dependencias.
  • desktop/tests/scenarios_shell.rs: 128/128. Compilado directamente con rustc --test, CARGO_MANIFEST_DIR apuntando a este desktop/ y serde_json del target local; no es una compilación completa de Tauri.
  • cargo test --locked -p meltemi-spec --test dogfood: 2/2, sobre este worktree.
  • cargo fmt --all --check y git diff --check: limpios.
  1. El efecto de la plantilla dependía del objeto completo de preferencias: cambiar tema o idioma reemplazaba una edición pendiente. Ahora observa sólo el valor persistido de la plantilla.
  2. Los botones de overflow cambiaban el ancho durante una notificación de ResizeObserver. La medición del TabStrip compartido se difiere un frame y se cancela al desmontar; el aviso de bucle dejó de aparecer.
  3. La prueba de skeleton dependía de la indentación exacta del markup. Ahora normaliza espacios conservando la aserción de que el skeleton pertenece a la rama de carga.
  4. La medición final de todos los botones encontró que ES/EN tenían 44 px de alto pero sólo 40,5/43,6 px de ancho. El mínimo táctil ahora cubre ambos ejes de todos los botones, sin alterar la densidad de escritorio.

Queda pendiente la CI completa Linux/macOS/Windows antes de merge. No se ejecutaron publicaciones ni se cambió la versión del producto.

El run 41677184875 encontró una dependencia heredada retirada del registry: async-executor 1.14.0. Los pasos de frontend y Clippy pasaron en las tres plataformas; sus suites Rust continuaban al registrar este seguimiento.

El registry oficial confirmó 1.14.0 retirada y 1.14.1 disponible desde 2026-11-02. La actualización dirigida cargo update -p async-executor --precise 1.14.1 sólo cambió su versión y checksum en Cargo.lock, sin modificar su lista de dependencias ni manifests.

cargo metadata --locked --no-deps pasó. La herramienta oficial cargo-deny 0.20.2 para Windows, descargada desde su release y verificada con el SHA-256 publicado, dio advisories ok, bans ok, licenses ok, sources ok sobre el lock corregido. No se añadió ninguna excepción al gate. El parche tiene commit separado y volverá a pasar la CI completa antes de merge.