feat: completar la experiencia de integración WSL en Ajustes
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- react, typescript
- Domain
- desktop, developer-experience
Research direction
Start with src/Settings.tsx and src/lib/types.ts, then read the existing configuration save/dirty flow and CLI diagnostics; check the contracts in issues #90–#92 and coordinate copy with #66. The scope spans UI, backend integration, accessibility, documentation, and Windows/WSL validation. Done means meeting the listed acceptance criteria, including rendered Windows/WSL checks and evidence for all four milestone units.
Written by the indexing model from the issue text.
Description
Pre-flight checks
- I searched existing issues and found no duplicate.
- I understand that this proposal requires product review before implementation.
La búsqueda de duplicados abiertos y cerrados fue realizada por el asistente. El mantenedor confirmó el principio de revisión de producto y aprobó la propuesta quorb-wsl-v1 y su publicación. La publicación no inicia implementación ni asigna trabajo.
Problem to solve
Una integración WSL sin controles y estados coherentes deja al usuario interpretando rutas UNC, diagnósticos Windows y logins que pueden operar en otra distribución. La elección debe ser comprensible, persistente y recuperable desde la UI existente.
Proposed solution
Añadir en Ajustes, solo en Windows, «Integración WSL» con toggle, selector de distribución, usuario/home detectados y diagnóstico por proveedor. Mostrar entorno efectivo y excepciones avanzadas, integrar login/reintento y documentar el flujo completo.
Affected area
Application behavior
Scope and non-goals
Objetivo y alcance
Experiencia completa para activar, configurar, comprobar y desactivar WSL desde Ajustes sin escribir rutas UNC en el caso estándar. Reutilizar componentes/estilo de Quorb, estados de guardado y diagnóstico existentes. Documentación integrada con la unidad y comprobación end-to-end del milestone.
Dependencias y decisiones
La integración completa depende de issue-environment, issue-sessions y issue-login; diseño y pruebas con mocks pueden avanzar con el contrato acordado. Coordinar textos propios ES/EN y errores con #66: no crear otro sistema de traducción ni exigir terminar toda la internacionalización para investigar WSL. Preservar la prioridad de #66.
Criterios de aceptación
- Sección visible solo en Windows; toggle y distribución seleccionada persisten.
- Se muestran usuario/home y entorno efectivo; cada excepción de ruta avanzada indica explícitamente que tiene prioridad sobre el modo elegido.
- Estados diferenciados: carga, WSL ausente, sin distribuciones, detenida, no disponible, timeout, CLI ausente, falta login, credenciales encontradas y error. Detectar archivo no se anuncia como sesión autenticada.
- Acciones de comprobar, reintentar y login reflejan el entorno elegido; informar antes de despertar una distribución detenida.
- Cambios del toggle/selector son borrador hasta Guardar; cerrarlos sin guardar no cambia el entorno operativo. Diagnóstico del borrador se identifica como tal.
- Sin cambios no se activa Guardar; reversión, errores de guardado y ediciones durante una operación conservan el comportamiento actual y no pierden cambios.
- Tras guardar el entorno, diagnósticos/datos de sesión se actualizan sin mostrar otra cuenta como actual; desactivar recupera Windows sin borrar credenciales ni ajustes manuales.
- No se ofrece una instalación Windows para resolver una CLI WSL ni se muestra fallback silencioso a otra cuenta.
- Navegación por teclado, labels accesibles, foco y estados de carga/error cumplen el patrón existente. Textos propios coordinados con ES/EN sin traducir rutas, nombres de distribución o contenido del usuario.
- Guía de uso y solución de problemas en documentación ES/EN: activar/desactivar, distribución detenida, excepciones avanzadas y límites.
- Tests de UI con mocks más prueba renderizada real Windows/WSL: CLI solo WSL, varias distribuciones, credenciales ausentes, rutas con espacios, cuenta adicional y cambio Windows↔WSL.
- Cierre del milestone exige aceptación y evidencia de las cuatro unidades; no se acredita WSL desde tests Linux ni se promete una versión/release.
Orientación y ODD progresivo
Entradas: src/Settings.tsx, src/lib/types.ts, flujo de configuración/dirty/save y diagnóstico CLI, README ES/EN y guías vigentes. Observar UX actual → acordar estados y copy con contratos backend → implementar componentes/tests por resultado → verificar accesibilidad, guardado y flujo Windows/WSL real.
Exclusiones
No rediseño general de Ajustes, sistema de traducción paralelo, selección por proveedor de múltiples distribuciones, soporte nativo Linux, Antigravity ni publicación de instaladores/releases.
Coordinación y entrega
Parte de quorb-wsl-v1, milestone «Integración WSL en Windows» e índice #45. Estado: planificada; no anunciar lista para implementar mientras falten las decisiones o dependencias indicadas. Sin assignee inicial. Revalidar issue, comentarios, responsables y PR antes de un inicio explícito; asignación no es un lock. Se conserva la prioridad vigente del roadmap: #66 sigue siendo el primer objetivo nuevo recomendado y WSL puede investigarse independientemente sin desplazar compromisos existentes.
Tests y documentación con cada unidad. Seguir CONTRIBUTING y entregar cambios revisables; checks planificados, no ejecutados durante esta planificación: npm test, npm run typecheck, npm run build y cargo test en src-tauri, según superficie. Linux no acredita ejecución Windows/WSL. Commit, push, PR, merge, firma, release y asignaciones requieren sus autorizaciones propias.
Alternatives considered
Botón aislado de búsqueda y rutas UNC manuales: no expresan un entorno coherente para lectura/login. Un modo independiente por cada proveedor/distribución: amplía innecesariamente la primera integración; las rutas avanzadas actuales siguen como excepciones explícitas.
- Dominant language
- TypeScript
- Stars
- 10
- Forks
- 2
- Avg merge
- 16m
- Merged PRs (30d)
- 51
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from egdev6/quorb
-
status:approved type:bug
Difficulty 1/5 Under an hour Newbie friendliness 70/100
egdev6/quorb#109 · 1 comment ·
Maintainers usually reply within 1 day
-
odd type:feature
Difficulty 5/5 Over a week Newbie friendliness 15/100
Maintainers usually reply within 1 day
-
odd type:feature
Difficulty 4/5 3-5 days Newbie friendliness 15/100
Maintainers usually reply within 1 day
-
odd type:feature
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Maintainers usually reply within 1 day
-
odd type:chore
Difficulty 5/5 Over a week Newbie friendliness 22/100
egdev6/quorb#105 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
useFragment does not require `variables` when the fragment's variables type has required fieldsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
apollographql/apollo-client#13493 ·
Maintainers usually reply within 1 day
-
Custom hosts written as trailing-dot FQDNs (`host.local.`) aren't detected as local backendsPossibly taken @roboomp claimed this today. Openbug prio:p2 providers triaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
can1357/oh-my-pi#15798 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
code-yeongyu/oh-my-openagent#10172 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
PDFCraftTool/pdfcraft#189 ·
-
Add the Yahoo chart API duplicate last-day row (yfinance#573) to incidents.md (about 1 hour)Possibly taken A pull request linked to this issue is open or already merged. Opendata docs good first issue
Difficulty 1/5 Under an hour Newbie friendliness 80/100
pacocartones/market-data-sanity-checker#160 ·
Maintainers usually reply within 1 day