69ba73b3c3
Use patchSession to avoid race conditions in review flag updates
...
The load-modify-save pattern could overwrite concurrent state changes.
patchSession does an atomic read-patch-write, and the list command now
re-checks activity before clearing stale flags to avoid racing with a
review that just started.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 10:56:50 -07:00
ad90c9dcc1
Fix race condition in stale review flag self-healing
...
Reload fresh state before saving to avoid overwriting concurrent changes
from other processes between the initial load and the heal write.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 10:47:20 -07:00
2f524da292
Fix stale review flag healing and prevent concurrent state overwrites
...
Use already-loaded state in list command instead of re-reading. In review
command, patch in_review on fresh state to avoid clobbering concurrent
changes, and skip worktree save in print mode. Remove unused white import
and unnecessary nullish coalescing fallback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 23:55:49 -07:00
99f5a378f1
Fix stale in_review self-healing to run in JSON mode and update local objects before state load
2026-03-18 23:48:09 -07:00
a682539db3
Batch stale review-flag writes and fix review cleanup ordering
...
Move in_review flag set before try block so it is always visible,
and consolidate per-session state writes into a single batch to
avoid repeated disk I/O during list. Also guard against missing
status entries with fallback defaults.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 23:38:02 -07:00
3ba550d80a
Fix stale in_review flag handling and review lifecycle
...
Move in_review flag set inside try block so finally always clears it,
and actively clear stale flags in list when Claude is no longer active.
Previously a crash between setting the flag and entering try would
leave the session stuck in review state.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 23:28:42 -07:00
bc102e416c
Add in_review status to sessions and self-heal stale review flags
...
Review status now requires Claude to be active, preventing stale flags
from showing after a crash. Consolidates icon/color maps into a single
styles record and defers setting in_review until the container is up.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 23:16:06 -07:00
92dbad3cad
Add review status tracking to sessions
...
The list command needs to show when a session is under active
review so users don't interrupt it. Wrapping the review body in
try/finally ensures the flag is always cleared on exit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 23:08:41 -07:00
97a6a2632a
Improve commit message prompts and use Opus model
2026-03-15 23:13:40 -07:00
90bb8da28e
Add progress indicator to conflict resolution
2026-03-13 13:47:07 -07:00
4b178dec44
enhance vm status with cross-repo session view
2026-03-11 22:42:54 -07:00
6d86a988f7
Track activity markers during merge/rebase
2026-03-11 22:13:55 -07:00
fa45ea43ce
Clear activity after session and on tool failure
2026-03-11 21:39:27 -07:00
c07911bd70
Refactor review prompt for clarity
2026-03-11 21:25:41 -07:00
24981483a7
double dippin gone wrong
2026-03-11 14:39:59 -07:00
f0a692bb35
Add light/dark mode support to diff view
2026-03-11 14:36:25 -07:00
83787ab868
Add init and cd shell integration commands
2026-03-11 14:34:49 -07:00
4a465f7787
Improve review prompt
2026-03-11 14:09:47 -07:00
56742224a5
Revert "Add stale worktree detection to list command"
...
This reverts commit 003c42bc03 .
2026-03-11 13:57:27 -07:00
003c42bc03
Add stale worktree detection to list command
2026-03-11 13:31:19 -07:00
3438dddd5c
Add git diff instruction to review prompt
2026-03-11 07:50:24 -07:00
1549ddc4e6
yup
2026-03-09 19:46:41 -07:00
5cc102ccdf
four!
2026-03-09 19:45:21 -07:00
1f1b3f2a0d
Track branch creation to avoid deleting pre-existing branches
2026-03-09 19:45:18 -07:00
6b5135c96e
Fix worktree cleanup and dirty-check on branch move
2026-03-09 19:45:09 -07:00
e8318f68b0
Remove unused readdir import, simplify rmdir loop
2026-03-09 12:49:13 -07:00
385673f420
Refactor symlink removal into unlinkSessionSymlink helper
2026-03-09 12:04:04 -07:00
81dcac4097
Persist diff view toggle with localStorage
2026-03-08 22:21:43 -07:00
f0caf0b3fc
Pass hljs to diff renderer call
2026-03-06 12:55:02 -08:00
2a37762aa5
Show new/deleted files as line-by-line diff
2026-03-06 08:32:51 -08:00
a808d2efbc
Add unified/side-by-side toggle to diff view
2026-03-06 08:25:07 -08:00
e5e3a73cae
whoops
2026-03-05 20:29:16 -08:00
b0ee848f39
this seems to work better
2026-03-05 07:39:28 -08:00
Chris Wanstrath
dc329ce446
new review
2026-03-04 13:49:40 -08:00
c2a082b780
Add optional prompt argument to review command
2026-03-01 21:04:03 -08:00
7e9d372d96
Show current branch name in merge success message
2026-02-27 07:59:46 -08:00
392d3c787b
add --force flag to merge and squash commands
2026-02-27 07:48:21 -08:00
920b4d12b4
Add pre-merge validation in mergeAndClose
2026-02-27 07:45:09 -08:00
0cde238bc1
space
2026-02-27 07:34:01 -08:00
661e6f3450
Show VM not running warning in list
2026-02-27 07:31:45 -08:00
32da4e220f
Add random branch name generation with word lists
2026-02-26 19:43:48 -08:00
0cd8443e2c
Refactor checkout and add --force flag
2026-02-26 19:26:24 -08:00
7ebbfad8f2
Add ensureSession to recreate missing worktrees
2026-02-26 19:26:24 -08:00
c85af793cd
Refactor teardown logic into shared helper
2026-02-26 19:26:24 -08:00
156e4d9590
Add checkout command with co alias
2026-02-26 19:26:24 -08:00
Chris Wanstrath
1d55cf427e
no oauth
2026-02-25 15:52:22 -08:00
16d67fa3e7
Remove VM from cache and destroy with spinner
2026-02-25 12:29:47 -08:00
a89d8482d2
Add color and pager support to log command
2026-02-24 19:07:39 -08:00
40cd8f332c
Update list status icons
2026-02-24 19:02:52 -08:00
6a8bbfd407
Add spinner to vm stop command
2026-02-24 09:53:59 -08:00
1e89608d11
Add stat formatting with colorized diff indicators
2026-02-24 08:49:36 -08:00
33f820f124
sandlot web <branch>
2026-02-23 21:14:29 -08:00
1d7f60b50c
Simplify commit message prompts to single-line format
...
Change the commit message generation prompts from requesting
50/72-rule multi-line messages to single-line subjects only.
This avoids unnecessary body text in automated commits and
ensures the first line is always used via `.split("\n")[0]`.
2026-02-23 20:35:43 -08:00
4c1530760c
Merge branch 'super-diffs'
2026-02-23 20:33:39 -08:00
909189b745
Extract browse HTML into external template
...
The HTML for the browse view was inlined as a template literal in
browse.ts, making it hard to edit and losing syntax highlighting.
Move it to browse.html and use placeholder replacement instead.
Also update branchDiff to accept the main branch as a parameter
so the caller resolves it once and reuses it for diffStat too.
2026-02-23 20:33:10 -08:00
b8f7aea3b0
add browse command to open branch diff in web browser
2026-02-23 20:17:25 -08:00
c6ef48384e
Improve commit message generation to follow 50/72 rule
2026-02-23 20:06:41 -08:00
1022a75722
Improve merge spinner messages and conflict resolution flow
2026-02-23 19:20:37 -08:00
ec1f6796b8
Add edit command to open session files in $EDITOR
2026-02-23 19:14:58 -08:00
b46511efe3
Rename info to neofetch in vm module and command handler
2026-02-23 08:08:59 -08:00
33e47a802c
Move retry logic into vm.ts and simplify open.ts command flow
2026-02-23 08:06:58 -08:00
6114540764
Return exit code and output from claude() and retry without --continue on failure
2026-02-23 07:32:42 -08:00
2eba71ce87
Merge branch 'difftastic-integration'
2026-02-22 07:47:11 -08:00
4cde0c2086
Use inherited stdio for git diff/show to support external diff tools and native paging
2026-02-22 07:31:30 -08:00
c2cf0518e7
open: pass continue flag when running prompt in print mode
2026-02-21 12:29:16 -08:00
cfb9ed6172
Pass continue: true to claude when opening an existing session
2026-02-21 12:27:37 -08:00
a5fb4c2555
Merge branch 'sandlot-squash'
...
# Conflicts:
# src/commands/merge.ts
2026-02-21 08:56:32 -08:00
18de3a4164
missing join
2026-02-21 08:56:19 -08:00
31df93016b
Refactor merge/squash into shared mergeAndClose helper with AI-generated squash commit messages
2026-02-21 08:54:58 -08:00
47a6107f76
Merge branch 'cache-packages'
2026-02-21 08:54:14 -08:00
daf436f90e
Merge branch 'improve-conflict-context'
...
# Conflicts:
# src/commands/merge.ts
2026-02-21 08:53:45 -08:00
cfe8eab054
add vm uncache command to clear the package cache
2026-02-21 08:53:06 -08:00
db9f40dac9
improve conflict complexity analysis and merge error messaging
2026-02-21 08:46:58 -08:00
668f66d3c9
Add squash-merge command with conflict resolution
2026-02-21 08:39:37 -08:00
376f918a66
refactor merge: extract lineCount helper, hoist preamble, and gracefully handle git errors
2026-02-21 08:36:44 -08:00
1e71b3b4a4
Require session to exist before closing; simplify worktree path resolution
2026-02-21 08:31:08 -08:00
c6b6f52b1f
skip complex conflicts in merge auto-resolution
2026-02-21 08:30:51 -08:00
4db29e4beb
Add --install flag to completions command that outputs an install script
2026-02-21 08:26:44 -08:00
12ba2c7c82
Merge branch 'sandlot-rebase'
2026-02-21 07:54:44 -08:00
386954b3c4
Truncate large diffs in merge context and add error handling to git log/diff helpers
2026-02-21 07:54:23 -08:00
2722761125
truncate prompt display to first line only
2026-02-21 07:53:52 -08:00
cc1d2628a9
Replace newlines with spaces in prompt display
2026-02-21 07:51:20 -08:00
0932fd5ef5
Rename spinner variables and add rebase-in-progress guard with improved error messages
2026-02-20 20:12:44 -08:00
ae6604caad
add merge context (branch log, diff stats, per-file diffs) to improve conflict resolution quality
2026-02-20 19:21:16 -08:00
ed43aaff78
Merge branch 'sandlot-rm-completion'
2026-02-20 19:19:25 -08:00
76797569e1
Hide rm alias from help while keeping it in completions
2026-02-20 18:55:24 -08:00
603c92b595
refactor conflict resolution into shared helper and add rebase round limit
2026-02-20 18:54:25 -08:00
e88de1aed3
save changes after review completes
2026-02-20 18:41:36 -08:00
0c5e44bb5d
Add rebase command with AI-assisted conflict resolution
2026-02-20 16:01:26 -08:00
8d31e9ec68
Remove REVIEW.md, standardize close.ts export, and minor cleanup
2026-02-20 15:55:54 -08:00
14cad28488
Refactor cli.ts into per-command modules with shared utilities
2026-02-20 15:43:15 -08:00