Backport upstream's conversation rewind feature: press ESC twice (or run /rewind) to roll the conversation back to a checkpoint.
Upstream PR
Why
Big user-facing feature — reset the conversation to an earlier turn without losing the rest of the session. Gracefully handles the "I went down a wrong path" case better than /clear.
Scope / effort
Large. New subsystem with checkpoint store, picker UI, multi-turn replay logic, and integration into useGeminiStream + AppContainer.
Files of interest (rough): new RewindPicker.tsx, checkpointStore.ts, additions to useGeminiStream.ts, AppContainer.tsx, keypress handling. We already have a RewindPicker import in our DialogManager (residual from a partial merge?) — investigate whether some scaffolding is already in place before estimating real effort.
Prerequisites
Investigate: git grep "RewindPicker\|checkpointStore" shows we may already have partial work. Audit current state before deciding to backport vs. build out what we have.
Links
Backport upstream's conversation rewind feature: press ESC twice (or run
/rewind) to roll the conversation back to a checkpoint.Upstream PR
feat(cli): add conversation rewind feature with double-ESC and /rewind commandWhy
Big user-facing feature — reset the conversation to an earlier turn without losing the rest of the session. Gracefully handles the "I went down a wrong path" case better than
/clear.Scope / effort
Large. New subsystem with checkpoint store, picker UI, multi-turn replay logic, and integration into useGeminiStream + AppContainer.
Files of interest (rough): new
RewindPicker.tsx,checkpointStore.ts, additions touseGeminiStream.ts,AppContainer.tsx, keypress handling. We already have aRewindPickerimport in ourDialogManager(residual from a partial merge?) — investigate whether some scaffolding is already in place before estimating real effort.Prerequisites
Investigate:
git grep "RewindPicker\|checkpointStore"shows we may already have partial work. Audit current state before deciding to backport vs. build out what we have.Links