feat: branch switcher with switch and delete in diff pane - #2
Merged
Conversation
gsvprharsha
commented
Jun 28, 2026
Collaborator
- Branch picker pill in header shows current branch; click to open dropdown
- Dropdown lists all local branches; click any to switch
- Trash icon on non-current branches opens a delete dialog
- Delete dialog lets you optionally delete the remote branch too
- If branch isn't merged, shows the git error with a Force Delete option
- Click-outside closes the dropdown
- Branch picker pill in header shows current branch; click to open dropdown - Dropdown lists all local branches; click any to switch - Trash icon on non-current branches opens a delete dialog - Delete dialog lets you optionally delete the remote branch too - If branch isn't merged, shows the git error with a Force Delete option - Click-outside closes the dropdown Co-authored-by: Tempest <tempestai.dev@gmail.com>
gsvprharsha
added a commit
that referenced
this pull request
Jul 8, 2026
- 4-page onboarding (Welcome, BYOK, Agents, Configure) gating the app;
completion persisted to runtime-state.json
- TempestLogo wordmark component; landing screenshots bundled via Vite
- Global agent availability store (agentAvailability.ts); NewSessionMenu
switches to useSyncExternalStore instead of per-open probe loop
- Sub-session persistence: ::sub:: key namespace, subSessionKey helpers,
parentPath on WorktreeSession; restoreAll Phases 1/3/5 restore
sub-sessions across restart
- Ghost-parent restore in launchTerminalWorktree so overview tab nesting
is correct on first click
- Custom 'Use existing' branch dropdown in naming modal with worktree,
remote, and open badges
- Sub-session naming ({AgentName} #2/#3) and sidebar branch badge pill
- git_list_branches switched to git branch -a; BranchInfo gains
is_remote and is_worktree fields; remote branches shown in diff pane
branch switcher (muted color, no delete button)
Co-authored-by: Tempest <tempestai.dev@gmail.com>
gsvprharsha
added a commit
that referenced
this pull request
Jul 24, 2026
The #N suffix counted every live session at the destination path, so a first Claude was born "Claude #2" whenever a terminal, diff or preview tab happened to be open there. It also ignored closed sessions, so re-opening a ghost and spawning another could mint a second "Claude #2". Both spawn paths now share uniqueSessionName(), which collects the names actually in use at that path -- live rows plus the persisted ghosts -- and takes the first free "Claude", "Claude #2", "Claude #3". The suffix is still only a default; renaming a session is unaffected. Co-authored-by: Tempest <tempestai.dev@gmail.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.