You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Keep internal Git diff paths stable with user display settings #1942
A reproduced helper-level bug affects subfolder projects when local Git configuration enables diff.relative.
Reproduction: create a temporary repository with root.txt and sub/inside.txt, commit both, modify both, and call electron/worktrees-changes.js diff(scope='uncommitted') with project/worktree cwd=sub. Default output includes root.txt and sub/inside.txt at +1/-1 and both patches. With diff.relative=true the file rows include zeroed root-relative identities plus inside.txt +1/-1, and the patch contains only inside.txt.
Acceptance criteria:
Add a focused temporary-repository regression fixture.
Keep paths, statistics and patch coverage consistent regardless of diff.relative; preserve intended repository/subfolder scope.
Audit adjacent checkpoint and machine-readable diff calls without changing the user's Git config or rename/whitespace behavior.
Taking this focused fix on the supplied main baseline 8876c11. Deduplication: #1907 concerns checkpoint restore/run identity; #1908 concerns branch/PR identity after external Git changes. Neither covers this display-config defect, and this issue already does, so no new issue is needed.
Plan:
Add real temporary-repository regressions for root/subfolder cwd, uncommitted and checkpoint diffs, and preserved rename/whitespace behavior.
Make internal Git diff output use repository-relative paths without writing user config; audit adjacent changed-path/CI classification calls.
Run focused tests, review the diff and record validation and remaining limits.
Regression fixtures now pass for project and worktree subfolder cwd; tracked rows/stats/full patches; repository-root literal per-file patches; untracked counts; branch and turn scopes; checkpoint patches/run totals; committed changed-path reads; and workflow classification plus linting outside the subfolder. Rename metadata and the explicit ignoreWhitespace toggle are preserved. The fixtures confirm the repository's config file remains byte-for-byte unchanged.
Implementation adds --no-relative explicitly to internal diff calls in worktrees-changes.js/worktrees-checkpoints.js, leaving rename and whitespace options intact. The adjacent audit also corrected two demonstrated cwd/identity mismatches: per-file pathspecs now use top,literal, and untracked line counting resolves the repository root once when needed.
Seven new real-Git regressions pass. The existing focused set passed 30/30 in a clean CI-style environment before the workflow case was added. Full validation is running. Verified configuration scope is diff.relative; no claims yet about arbitrary prefix/color/external-diff settings.
Focused final validation passes: 78 tests across diff-relative, diff-scopes, turn-diff, git-status-coalesce, worktrees-git, checkpoints, blast-radius and worktrees-commit. Typecheck passes using the retained complete dependency tree. Review annotation caught a symlink cwd issue in the new untracked-root lookup; a red/green regression now protects physical-root resolution. Nine new cases are included.
The full npm test command is still running. Its renderer leg reported an appWiring 60s timeout and a Markdown throttle assertion; both files passed an isolated clean-environment rerun (93/93). The Electron leg has reported acp-server failures with a null orchestration port, outside the changed diff paths. Full output will be summarized once complete. The first attempted full run used an incomplete dependency directory and was stopped after dependency and sandbox socket errors; it is not counted as valid verification.
Broader audit limits: remaining diff calls in conflict/push/merge/PR-stat helpers and selected commit/revert/image file reads are outside this focused review/checkpoint fix. Follow-up chips were recorded for those paths and the existing rename-numstat duplicate-row defect. No other checkout was edited.
Implementation committed as b35d490 on fix/git-diff-repository-paths, based directly on 8876c11. Working tree is clean. Nine real-Git regressions are included, and the new file is registered in the Windows test allowlist (local verification: macOS). The local review itinerary is written. Leaving the issue open/plan:doing for review and integration.
Baseline attribution: an untouched archive of 8876c11 reproduces all four acp-server failures (null orchestration port). Its base-branch tests pass in isolation; the changed checkout's appWiring/Markdown rechecks also pass in isolation. The full run continues and has additional provider-spawn/timing failures; none is being silently treated as green.
Validation correction: the earlier ACP null-port failures came from a missing separate memory-server SDK install in this validation checkout, not a confirmed baseline product bug. After linking the retained memory dependencies, all ACP cases pass; memory passes 247/247 and stats passes 27/27. The corrected ACP/base-branch/provider recheck passes 40 tests with two fake-Claude spawn timeouts remaining (claude-spawn.test.js lines 45 and 89). A pristine-baseline check of those two cases is running.
The broad npm test run stalled after provider-spawn/timeouts and was stopped. It is incomplete and not claimed green. The final focused 78-test set and typecheck remain green. Raw failures and rerun distinctions are retained in the local validation report.
Final handoff: b35d490 is committed on fix/git-diff-repository-paths; working tree clean. Reused this issue after checking #1907/#1908; no duplicate filed. Focused verification: 78/78 tests (nine new real-Git regressions), typecheck, syntax checks and diff whitespace checks pass. Extra completed checks: memory 247/247, stats 27/27, isolated renderer recheck 93/93.
The corrected ACP/base-branch/provider recheck passes 40/42. Its two fake-Claude timeouts (claude-spawn.test.js:45 and :89) also reproduce on an untouched 8876c11 snapshot with dependencies linked; that control additionally times out in its fake-Codex case (1 pass, 3 failures). The broad npm test attempt remains incomplete, not green; it stalled after provider-spawn/timeouts and was stopped. Earlier ACP setup failures resolved after linking the separate memory SDK dependencies.
Detailed local evidence: /tmp/solenta-diff-validation.md, full emitted failure ledger /tmp/solenta-diff-test-failures.md, and the per-thread review itinerary. Issue remains open/plan:doing for review and integration. User Git configuration and other checkouts were not changed.
Activity
currentbits commentedon Nov 8, 2026
Taking this focused fix on the supplied main baseline 8876c11. Deduplication: #1907 concerns checkpoint restore/run identity; #1908 concerns branch/PR identity after external Git changes. Neither covers this display-config defect, and this issue already does, so no new issue is needed.
Plan:
currentbits commentedon Nov 8, 2026
Regression fixtures now pass for project and worktree subfolder cwd; tracked rows/stats/full patches; repository-root literal per-file patches; untracked counts; branch and turn scopes; checkpoint patches/run totals; committed changed-path reads; and workflow classification plus linting outside the subfolder. Rename metadata and the explicit ignoreWhitespace toggle are preserved. The fixtures confirm the repository's config file remains byte-for-byte unchanged.
Implementation adds --no-relative explicitly to internal diff calls in worktrees-changes.js/worktrees-checkpoints.js, leaving rename and whitespace options intact. The adjacent audit also corrected two demonstrated cwd/identity mismatches: per-file pathspecs now use top,literal, and untracked line counting resolves the repository root once when needed.
Seven new real-Git regressions pass. The existing focused set passed 30/30 in a clean CI-style environment before the workflow case was added. Full validation is running. Verified configuration scope is diff.relative; no claims yet about arbitrary prefix/color/external-diff settings.
currentbits commentedon Nov 8, 2026
Focused final validation passes: 78 tests across diff-relative, diff-scopes, turn-diff, git-status-coalesce, worktrees-git, checkpoints, blast-radius and worktrees-commit. Typecheck passes using the retained complete dependency tree. Review annotation caught a symlink cwd issue in the new untracked-root lookup; a red/green regression now protects physical-root resolution. Nine new cases are included.
The full npm test command is still running. Its renderer leg reported an appWiring 60s timeout and a Markdown throttle assertion; both files passed an isolated clean-environment rerun (93/93). The Electron leg has reported acp-server failures with a null orchestration port, outside the changed diff paths. Full output will be summarized once complete. The first attempted full run used an incomplete dependency directory and was stopped after dependency and sandbox socket errors; it is not counted as valid verification.
Broader audit limits: remaining diff calls in conflict/push/merge/PR-stat helpers and selected commit/revert/image file reads are outside this focused review/checkpoint fix. Follow-up chips were recorded for those paths and the existing rename-numstat duplicate-row defect. No other checkout was edited.
currentbits commentedon Nov 8, 2026
Implementation committed as b35d490 on fix/git-diff-repository-paths, based directly on 8876c11. Working tree is clean. Nine real-Git regressions are included, and the new file is registered in the Windows test allowlist (local verification: macOS). The local review itinerary is written. Leaving the issue open/plan:doing for review and integration.
Baseline attribution: an untouched archive of 8876c11 reproduces all four acp-server failures (null orchestration port). Its base-branch tests pass in isolation; the changed checkout's appWiring/Markdown rechecks also pass in isolation. The full run continues and has additional provider-spawn/timing failures; none is being silently treated as green.
currentbits commentedon Nov 8, 2026
Validation correction: the earlier ACP null-port failures came from a missing separate memory-server SDK install in this validation checkout, not a confirmed baseline product bug. After linking the retained memory dependencies, all ACP cases pass; memory passes 247/247 and stats passes 27/27. The corrected ACP/base-branch/provider recheck passes 40 tests with two fake-Claude spawn timeouts remaining (claude-spawn.test.js lines 45 and 89). A pristine-baseline check of those two cases is running.
The broad npm test run stalled after provider-spawn/timeouts and was stopped. It is incomplete and not claimed green. The final focused 78-test set and typecheck remain green. Raw failures and rerun distinctions are retained in the local validation report.
currentbits commentedon Nov 8, 2026
Final handoff: b35d490 is committed on fix/git-diff-repository-paths; working tree clean. Reused this issue after checking #1907/#1908; no duplicate filed. Focused verification: 78/78 tests (nine new real-Git regressions), typecheck, syntax checks and diff whitespace checks pass. Extra completed checks: memory 247/247, stats 27/27, isolated renderer recheck 93/93.
The corrected ACP/base-branch/provider recheck passes 40/42. Its two fake-Claude timeouts (claude-spawn.test.js:45 and :89) also reproduce on an untouched 8876c11 snapshot with dependencies linked; that control additionally times out in its fake-Codex case (1 pass, 3 failures). The broad npm test attempt remains incomplete, not green; it stalled after provider-spawn/timeouts and was stopped. Earlier ACP setup failures resolved after linking the separate memory SDK dependencies.
Detailed local evidence: /tmp/solenta-diff-validation.md, full emitted failure ledger /tmp/solenta-diff-test-failures.md, and the per-thread review itinerary. Issue remains open/plan:doing for review and integration. User Git configuration and other checkouts were not changed.