feat: configurar y detectar el entorno WSL en Windows
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- rust, tauri, typescript
调研方向
Start by reading src-tauri/src/config.rs, the Tauri commands in src-tauri/src/lib.rs, src/lib/types.ts, and the shared CLI environment resolution. First complete the W0 inventory and settle the W1 environment, distribution activation, shell, error, and process-limit decisions before implementation. Done means the acceptance criteria are covered by deterministic tests and Windows/WSL evidence, including persistence, discovery, diagnostics, and keeping Quorb data on Windows.
由索引模型根据 Issue 内容生成。
描述
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
Quorb para Windows resuelve por defecto las sesiones CLI desde el entorno Windows. Un usuario con Codex, Gemini o Claude en WSL debe introducir rutas manuales y no puede seleccionar de forma coherente el entorno.
Proposed solution
Persistir una integración WSL explícita, desactivada por defecto, con distribución elegida. Enumerar distribuciones y resolver el usuario predeterminado y su home real mediante operaciones acotadas; no asumir que el usuario Windows coincide con el Linux ni construir el home a partir de su nombre. Exponer metadatos de entorno y diagnóstico para Ajustes, no contenidos de credenciales.
Affected area
Application behavior
Scope and non-goals
Objetivo y alcance
Resultado: seleccionar y describir un entorno de sesión CLI Windows o WSL de forma persistente y verificable. Visible/operativo únicamente en Windows. Conservar configuración antigua y datos propios de Quorb en Windows; no sustituir el home global de la aplicación.
Dependencias y decisiones
Ninguna dependencia técnica externa. Cerrar W0 antes de desarrollar: contrato de entorno, distribución seleccionada, política de activación de distribuciones detenidas y estrategia de shell para detección/login. Enumerar no debe despertar distribuciones silenciosamente; conectar, comprobar o iniciar login debe informar antes de iniciar una distribución detenida y requerir una acción explícita del usuario.
Criterios de aceptación
- Configuración ausente/antigua conserva modo Windows y todos los demás datos.
- Modo y distribución persisten, se sanea configuración inválida y se distingue una distribución previamente elegida pero ya no disponible.
- Distribuciones/estado y home del usuario predeterminado se resuelven sin asumir nombres/rutas ni instalar herramientas.
- Diagnóstico distingue WSL ausente, cero distribuciones, distribución detenida/eliminada, salida inválida y timeout.
- Procesos y acceso al filesystem tienen límites; no bloquean el hilo de UI ni despiertan una distribución por polling.
- Los datos/configuración/historial propios de Quorb conservan ubicación Windows.
- Tests deterministas con descubrimiento/procesos simulados cubren persistencia, configuración antigua, errores, varias distribuciones y nombres con espacios/no ASCII.
- Evidencia Windows/WSL real de descubrimiento y recuperación, sin afirmar compatibilidad no comprobada.
Orientación
Entradas: src-tauri/src/config.rs, comandos Tauri en src-tauri/src/lib.rs, src/lib/types.ts y resolución compartida de entorno CLI. Aislar la integración Windows/WSL para no alterar Windows nativo ni el futuro port macOS.
ODD cercano
| Fase | Resultado | Dependencias | Validación y salida |
|---|---|---|---|
| Observar W0 | Inventario de configuración, cuentas, login/detección y comportamiento WSL real | Ninguna | Evidencia trazable, matriz de casos y discrepancias registradas |
| Decidir W1 | Contrato de entorno y políticas de activación, shell, errores y límites | W0 | Decisiones aceptadas antes de implementar |
| Desarrollar W2 | Persistencia/discovery con adaptadores inyectables | W1 | RED/GREEN aplicable para defaults, configuración antigua y errores |
| Verificar W3 | Contrato funcional y baseline Windows/WSL | W2 | Suite pertinente y evidencia real; límites explícitos |
Exclusiones
No Linux nativo, Antigravity, instalación/gestión de WSL o CLI, descubrimiento de todos los usuarios Linux, cambios de visibilidad, firma ni 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
Rutas UNC manuales: ya disponibles, pero no constituyen un modo de entorno. Autodetección silenciosa/fallback entre Windows y WSL: descartados por ambigüedad entre cuentas. Soporte Linux nativo: no necesario para integrar una app Windows con WSL.
- 主要语言
- TypeScript
- 星标
- 10
- 派生
- 2
- 平均合并
- 21 分钟
- 30 天内合并 PR
- 52
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
egdev6/quorb 的其他 Issue
-
fix(ui): corregir el enlace oficial de uso de ChatGPT/Codex可能重新可做 关联的 PR 已关闭且未合并。 未关闭status:approved type:bug
难度 1/5 1 小时以内 新手友好度 70/100
维护者通常 1 天内回复
-
feat(widget): dockear al monitor principal por defecto y avisar si el widget queda en otro display未关闭
难度 3/5 1-2 天 新手友好度 35/100
维护者通常 1 天内回复
-
odd type:feature
难度 5/5 一周以上 新手友好度 15/100
维护者通常 1 天内回复
-
odd type:feature
难度 4/5 3-5 天 新手友好度 15/100
维护者通常 1 天内回复
-
odd type:feature
难度 4/5 3-5 天 新手友好度 25/100
维护者通常 1 天内回复
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 85/100
juice-shop/juice-shop#3686 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
dsh-market/dsh-market#877 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 74/100
ScottKirvan/GOMAC#61 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
stellar/stellar-dev-skill#151 ·
维护者通常 1 天内回复