[Bug]: Revert leaves selected user prompt visible and composer empty
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
- Open a thread in a Git worktree and complete at least two user and assistant turns.
- Hover over the latest completed user prompt.
- Click Revert to this message.
- Confirm the rollback.
- Observe the timeline and composer after T3 reports that the revert completed.
Expected behavior
The selected user prompt and its following assistant turn should be removed from the timeline. The preceding assistant response should become the final visible message.
If the user-message placement is intended to support an edit-and-retry workflow, the selected prompt should also be restored to the composer as editable text. At minimum, it must not remain in the timeline as an immutable message after T3 has reverted to the checkpoint before that turn.
Actual behavior
The assistant work after the selected prompt is removed, but the selected user prompt remains visible as a locked timeline message. The composer is empty, so the prompt cannot be edited or resent. The user must enter another prompt to continue.
This leaves the live timeline inconsistent with the completed rollback. The screenshot shows the selected prompt still visible directly above an empty composer.
Current main also suggests a client-state mismatch: the server projection removes messages according to the requested checkpoint count, while the live client retains messages without a turn ID. User prompts are recorded without a turn ID.
Related but distinct: #2268 reports the entire thread disappearing and reverted text appearing in a new-chat draft. This report is specifically about the selected prompt remaining in the same thread as immutable history.
Impact
Major degradation or frequent failure
Version or commit
T3 Code desktop app 0.0.32
Environment
macOS, T3 Code desktop app 0.0.32, Claude Opus 5, Medium reasoning, 1M context, Auto runtime, worktree thread
Logs or stack traces
Screenshots, recordings, or supporting files
file-9635947fe1b307225cfa7dfb15631b2e.jpg
Workaround
No complete workaround found. Sending a separate new prompt continues the thread, but the reverted prompt remains uneditable and cannot be corrected or resent.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/web by reproducing the revert flow in a Git worktree thread with at least two turns. Trace how T3 completes the rollback and compare the server projection with the live client state, especially messages without a turn ID. Done means the selected prompt and following assistant turn are removed, or the prompt is restored as editable composer text, with the timeline and composer consistent after revert.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100