Skip to content

fix(worktree): show new files, refresh buttons, multi-select uncommitted#96

Merged
mattmoran56 merged 2 commits into
mainfrom
session/fix/new-file-not-showing
May 8, 2026
Merged

fix(worktree): show new files, refresh buttons, multi-select uncommitted#96
mattmoran56 merged 2 commits into
mainfrom
session/fix/new-file-not-showing

Conversation

@mattmoran56
Copy link
Copy Markdown
Owner

Summary

  • Branch Compare: untracked files now show their diff content (synthesized addition diff). Adds 4s auto-refresh and a manual refresh button with a spinning indicator; refresh preserves the selected file/commit.
  • Refresh button feedback: IconButton gains a loading prop that spins the icon, disables the button, and sets aria-busy. Wired up on the Claude Web and Pull Requests refresh buttons. The PR refresh also force-refetches the open PR's details (reviews, checks, conversation, files, mergeability, threads) so review-panel data isn't stale.
  • Uncommitted changes file list: cmd/ctrl-click toggles selection, shift-click selects a range. Right-click on a selected file applies Stage / Unstage / Stash / Discard / Copy paths across all selected files; right-clicking a non-selected file collapses to single-file behaviour.

Test plan

  • Branch Compare: add a new untracked file → it appears in the file list and its contents render in the diff viewer.
  • Branch Compare: click the refresh button → spinner shows and goes away; selected file/commit stays put.
  • PR list refresh: spinner shows while loading; if a PR is open in the review panel, its reviews/checks/conversation update in place.
  • Claude Web refresh: spinner shows during fetch.
  • Uncommitted changes: cmd/ctrl-click adds files to the selection; shift-click selects a range; right-click → Stage / Unstage / Stash / Discard run across all selected files.

Note

Screenshots/recording still TODO — please attach before merging (UI changes per CLAUDE.md).

🤖 Generated with Claude Code

mattmoran56 and others added 2 commits May 7, 2026 12:31
- Emit synthetic empty hunk for zero-byte untracked files so parsers don't drop header-only diffs
- Use plain 'Open' label in multi-select context menu to match other single-target actions
- Branch Compare auto-refreshes every 4s and gets a manual refresh button
  with a spinning indicator; refresh preserves the selected file/commit.
- IconButton gains a `loading` prop (spins the icon, sets aria-busy,
  disables the button); wired up on Claude Web and Pull Requests refresh.
- PR refresh also force-refetches the open PR's details (reviews, checks,
  conversation, files, mergeability, threads) so they aren't stale.
- prReviewStore.loadPR(force) refreshes in place without flashing the
  panel empty and preserves the user's current file selection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mattmoran56 mattmoran56 merged commit e645103 into main May 8, 2026
3 checks passed
@mattmoran56 mattmoran56 deleted the session/fix/new-file-not-showing branch May 8, 2026 09:59
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