Repository navigation
feat(web): preview worktree storage before saving cleanup rules #12604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
d5b4016
feat(web): preview worktree storage before saving cleanup rules
tris203 f16118e
fix(web): use shared number field padding for cleanup days
tris203 91937b5
fix(web): pluralize storage project counts correctly
tris203 0283925
refactor(server): narrow storage scan exceptions and verify read-only…
tris203 ab49eef
fix(server): count shared project worktrees and directory allocations
tris203 29f54a4
fix(server): include worktree-local hardlinks in storage estimates
tris203 41bc68b
perf(storage): scan worktrees natively with background progress
tris203 67586ed
fix(storage): bound preview work and guard native traversal
tris203 cfc90b6
refactor(storage): preserve service module namespaces
tris203 2199a30
fix(storage): tolerate paths disappearing during scans
tris203 f00090d
fix(storage): classify merged and settled worktrees accurately
tris203 09b5085
fix(server): isolate legacy pull request link failures
tris203 02f1b0c
fix(storage): bound scanner queues and exact byte totals
tris203 86f1efc
refactor(server): retain storage size module namespace
tris203 ddb4155
fix(web): use theme tokens for storage headings
tris203 32a44eb
fix(web): export scoped settings write result type
tris203 ab61e65
fix(web): keep storage usage values on one line
tris203 67eb20b
fix(server): bound merged pull request evidence refreshes
tris203 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 Critical
git/GitManager.ts:2152When cleanup supplies
reference,branchPullRequestreturns the referenced PR without validating itsrepositoryKey, so a merged PR from a fork with the same branch and head SHA is treated as the current repository's PR. This can delete an unmerged worktree from the current repository, including ignored files; validate the referenced PR's repository identity before returning it.🤖 Copy this AI Prompt to have your agent fix this:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note
GPT-6 responding on behalf of @tris203
The explicit reference is the PR linked to the thread, not a PR selected by searching another repository for a matching branch. This path intentionally treats that linked PR as authoritative, including fork/upstream and non-default-base workflows. Cleanup still requires a fresh merged state, matching head branch, and the exact current HEAD SHA; a reused branch name alone cannot qualify. The identified-PR test also covers a non-default release base.
Requiring the linked PR to belong to the checkout’s primary remote would reject supported fork/upstream workflows and change the agreed semantics (the current commit was merged through the linked PR). The branch-discovery path retains its repository checks because it has no explicit PR identity. Keeping the explicit-reference behavior; no change for this finding.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I'm unable to act on this request because you do not have permissions within this repository.