Skip to content

fix(web): denylist both tilde+absolute path forms on disable (INT-2799 follow-up)#302

Merged
unohee merged 1 commit into
mainfrom
fix/int-2799-followup-dual-format
Jul 16, 2026
Merged

fix(web): denylist both tilde+absolute path forms on disable (INT-2799 follow-up)#302
unohee merged 1 commit into
mainfrom
fix/int-2799-followup-dual-format

Conversation

@unohee

@unohee unohee commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Follow-up hardening on #301 (INT-2799).

The initial fix recorded only the dashboard toggle's path form in removedConfigPaths. But config.ts loads allowedProjects without expandPath, so a config-defined repo enters the runner as the tilde form (~/dev/x) while the dashboard toggle sends an absolute path — and the denylist filter in applyReposConfig is a raw string match. A single-format entry lets config.yaml's tilde path slip the filter, so the project still revives on restart.

Fix: add a pathDenylistVariants helper and record/clear both tilde + absolute forms on disable / enable / pin. Also closes the re-enable trap where only the absolute form was cleared and a lingering tilde entry kept the repo denied.

Validation

  • npx tsc --noEmit — clean
  • web.reposReload.test.ts: 7 pass incl. new "denylists the tilde form so config.yaml raw allowedProjects is caught"
  • pre-commit (oxlint + typecheck + size) green

🤖 Generated with Claude Code

…9 follow-up)

The initial INT-2799 fix added only the toggle's path form to removedConfigPaths.
But config.ts loads allowedProjects WITHOUT expandPath, so a config-defined repo
lands in the runner as the tilde form (~/dev/x) while the dashboard toggle sends
an absolute path — and the denylist filter is a raw string match. A single-format
entry lets the config.yaml tilde path slip the filter and the project revives.
Add a pathDenylistVariants helper and record/clear BOTH tilde+absolute forms on
disable/enable/pin. Also fixes the re-enable trap where only the absolute form was
cleared and a lingering tilde entry kept the repo denied.
@unohee
unohee merged commit 66b4801 into main Jul 16, 2026
5 checks passed
@unohee
unohee deleted the fix/int-2799-followup-dual-format branch July 16, 2026 02:22
@unohee unohee mentioned this pull request Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant