aaif-goose / aaif-goose/goose

Define Windows network workspace authorization in Desktop

Đang mở
#11,709 0 bình luận 0 reaction 1 người được giao Được giao cho @jbg Xem trên GitHub
Ngôn ngữ chính
Rust
Star
54.2k
Fork
6.2k
Merge trung bình
3 ngày 4 giờ
Pull request đã merge (30 ngày)
240

Mô tả

**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).

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

The issue describes a design problem for Windows network workspace authorization in the Desktop application. Start by examining the main process code handling workspace and directory paths, particularly for UNC and device paths. Look at the renderer-to-main workflows mentioned: starting a chat, running Git queries, maintaining recent directories, and file-picker defaults. The goal is to define a consistent authorization model, not to implement it yet. 'Done' means a documented decision on supported path types and a grant model.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
rust
Lĩnh vực
desktop, security
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.