aaif-goose / aaif-goose/goose

Define Windows network workspace authorization in Desktop

Abierto
#11,709 0 comentarios 0 reacciones 1 asignado Asignado a @jbg Ver en GitHub
Lenguaje dominante
Rust
Estrellas
54.2k
Forks
6.2k
Merge medio
3 d 4 h
PR fusionados (30 d)
240

Descripción

**What problem would this solve?**
Desktop accepts workspace and directory paths through several renderer-to-main workflows, including starting a chat, running Git queries, maintaining recent directories, and supplying file-picker defaults. On Windows, UNC and device paths can cause native filesystem, Git, or process operations to contact a network location before Desktop has established that the user explicitly selected and authorized it. We need one product decision for whether network workspaces are supported and one authorization model that every workflow can apply consistently.

**What would a good outcome look like?**
Document which Windows path types Desktop supports. If network workspaces are supported, establish a main-process grant only through an explicit user action, bind it to the regular window/session that owns the workspace, and require that grant before any stat, Git, recent-directory, or backend-start operation. If they are not supported, reject UNC and device paths before the first native filesystem or process call. Define how persisted recent directories and picker defaults regain authorization in later sessions.

The verification plan should cover: an ungranted UNC path for each affected workflow; a normal local workspace; an explicitly granted network workspace if supported; stale grants after a window closes or changes workspace; and Windows device-path variants.

**Possible approaches**
- Reject all UNC/device paths in the main process.
- Permit network paths only when returned by the native picker, with sender-scoped in-memory grants.
- Persist narrowly scoped grants with an explicit reconnect prompt.
- Centralize validation and grant checks so chat startup, Git, recent directories, and picker defaults cannot drift.

The unused generic directory-creation bridge can be removed independently instead of broadening this design.

**Additional context**
This is a design decision and should not be implemented piecemeal until the supported network-workspace behavior and grant lifetime are agreed.

- [x] I have verified this does not duplicate an existing feature request

Do not begin implementation until the issue reaches **Ready** on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

El issue describe un problema de diseño para la autorización de workspaces de red de Windows en la aplicación de escritorio. Empieza examinando el código del main process que gestiona las rutas de workspaces y directorios, especialmente las UNC y device paths. Revisa los flujos renderer-to-main mencionados: iniciar un chat, ejecutar consultas de Git, mantener los directorios recientes y establecer los valores predeterminados del selector de archivos. El objetivo es definir un modelo de autorización coherente, no implementarlo todavía. «Done» significa una decisión documentada sobre los tipos de rutas compatibles y un modelo de concesión.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust
Área
desktop, security
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.