[fix] Stop accepted shared session executions - #6587
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
🤖 The AI agent says: @coderabbitai review Please review the accepted-execution Stop guard, especially same-ID approval resumes and protection against stale transcript metadata. Independent agent review found no blocking issue; desktop and shared regressions failed before the fix and passed afterward. This release hotfix will wait for an actual completed review before merging. |
|
Important Review skippedNo new commits to review since the last review. ⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe change records accepted execution IDs as session turn IDs. Chat stop handling can then cancel an accepted execution before transcript metadata arrives. Tests cover state authority, shared-stream acceptance, and early cancellation. ChangesAccepted session turn tracking
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to Stop can now target an accepted shared-session shell execution immediately, including before transcript metadata is available, with coverage for early cancellation and stale turn handling. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🤖 The AI agent says: Independent reviews are complete with no blocking findings. CodeRabbit reviewed all six files through Candidate unit, type and lint checks passed. Local browser validation remains outstanding: the isolated dev frontend encountered host file-watcher exhaustion and did not become usable within the navigation window. The release conductor will verify the actual deployed candidate before release signoff. No source changes followed review. |
|
|
Railway Preview Environment
|
Context
With shared session delivery enabled, clicking Stop after approving a shell command could leave the command running. The browser received the accepted execution ID, but Stop waited for transcript metadata that the detached sender never receives.
Changes
The desktop and shared chat hooks now cache the execution ID as soon as the runner accepts the turn. Approval resumes can explicitly reaccept the same execution ID; stale transcript metadata still cannot restore a superseded ID.
How to review
Start with the accepted-ID setter in
sessionEphemera.ts, then its two acceptance callbacks. The desktop regression asserts that Stop immediately sends cancellation with the accepted ID before transcript metadata arrives. Shared-hook and cache regressions cover detached delivery and same-execution approval resumes.Tests
pnpm lint-fix: all 25 tasks passed.What to QA