Workspace exception does not cover hidden home directories such as `~/.julia/dev`
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
**Environment:** Linux, GitHub Copilot 0.64.1.
Julia uses `~/.julia/dev` for developed packages. Opening `~/.julia/dev/AnyPackage` as the workspace results in repeated “system files” approval prompts for ordinary source edits, even with `"chat.tools.edits.autoApprove": {"**/*": true}`.
This appears to be an uncovered case of #276193, fixed for directory-path entries by https://github.com/microsoft/vscode-copilot-chat/pull/1982.
**Cause** :robot:
In `/usr/share/code/resources/app/extensions/copilot/dist/extension.js`, line 2553, `Z9o` → `l` → `W9o.some` checks protected paths before evaluating edit-approval settings:
- The hidden-home-directory patterns `/.*` and `/.*/**` are function-valued matchers. Their branch immediately returns `y(A)`, without a workspace exception.
- Directory-path entries use `ur.isEqualOrParent(u,v) ? !(p && ur.isEqualOrParent(p,v)) : false`, where `u` is the target file, `v` the protected directory, and `p` its workspace folder. This exempts files whose workspace is inside that directory.
The second branch handles Windows `APPDATA`/`LOCALAPPDATA` and macOS `~/Library`. Hidden-home-directory patterns have no equivalent exception, so Julia project files trigger approval before `chat.tools.edits.autoApprove` is considered.
**Requested Fix** :robot:
Honor regular user-approved workspace exceptions for projects inside hidden home directories, consistent with the directory-path branch and the intended behavior described in #276193.
Files in those workspaces should proceed through normal edit-approval settings. No separate authorization mechanism should be necessary. Protections for files outside the approved workspace and explicit sensitive-file rules should remain intact.
Contributor guide
Assessment
This issue has not been assessed yet.