Typing a basename in Stage 1 without clicking "Browse" leaves currentWorkingDir = "". The backend receives cwd: "" and falls back to None (running in the process launch directory, which may be undefined or read-only). The same vulnerability exists across subsequent stages.
Acceptance Criteria
Frontend Working Directory Initialization \u0026 Guard:
Initialize currentWorkingDir on app load to a legitimate user folder (document_dir or home_dir) and display it in selectedPathDisplay.
Disable "Generate (.ti1)" until both a basename and a non-empty working directory are selected.
Ensure the same directory guard is enforced across Stages 2–5.
Backend Defense-in-Depth:
Ensure all Argyll tool runner commands (run_targen, run_printtarg, run_chartread, run_colprof, run_profcheck) resolve document_dir / home_dir rather than None if config.cwd is empty.
### Problem
Typing a basename in Stage 1 without clicking "Browse" leaves `currentWorkingDir = ""`. The backend receives `cwd: ""` and falls back to `None` (running in the process launch directory, which may be undefined or read-only). The same vulnerability exists across subsequent stages.
### Acceptance Criteria
1. **Frontend Working Directory Initialization \u0026 Guard**:
- Initialize `currentWorkingDir` on app load to a legitimate user folder (`document_dir` or `home_dir`) and display it in `selectedPathDisplay`.
- Disable "Generate (.ti1)" until both a basename and a non-empty working directory are selected.
- Ensure the same directory guard is enforced across Stages 2–5.
2. **Backend Defense-in-Depth**:
- Ensure all Argyll tool runner commands (`run_targen`, `run_printtarg`, `run_chartread`, `run_colprof`, `run_profcheck`) resolve `document_dir` / `home_dir` rather than `None` if `config.cwd` is empty.
gronod
added the Kind/Bug label 2026-08-25 09:16:49 +01:00
gronod
added this to the Milestone 7: v0.2 ship milestone 2026-08-25 09:43:38 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Typing a basename in Stage 1 without clicking "Browse" leaves
currentWorkingDir = "". The backend receivescwd: ""and falls back toNone(running in the process launch directory, which may be undefined or read-only). The same vulnerability exists across subsequent stages.Acceptance Criteria
currentWorkingDiron app load to a legitimate user folder (document_dirorhome_dir) and display it inselectedPathDisplay.run_targen,run_printtarg,run_chartread,run_colprof,run_profcheck) resolvedocument_dir/home_dirrather thanNoneifconfig.cwdis empty.