Empty working directory #59

Closed
opened 2026-08-25 09:16:49 +01:00 by gronod · 0 comments
Owner

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.
### 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
Sign in to join this conversation.