Skip to content

Preserve history search during background draft recovery - #47423

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/d3de19bbbcdab2e461c19d47b2b7dca0b28f6ff3
Sep 23, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/d3de19bbbcdab2e461c19d47b2b7dca0b28f6ff3

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Preserve history search during background draft recovery

Why

Recovering question answers or interrupted input can cancel an active Ctrl+R search or overwrite its preview. Recovery should preserve the search while keeping the recovered input available on cancellation.

What changed

  • Apply background updates to the saved draft without changing the search query or visible preview, including when a query has no match.
  • Restore the updated draft on Esc or Ctrl+C; discard it when accepting a history match. Keep search open when Enter has no match to accept.
  • Capture the saved draft rather than the preview in draft snapshots, preserving attachments, mention bindings, and pending pastes.
  • End search on an explicit fresh draft replacement so cancellation cannot resurrect discarded input.

Testing

Add regression coverage for recovery on turn completion, failure, and interruption; accepting and canceling search after recovery; Vim undo/redo; pending paste preservation; and clearing drafts after a misalignment policy failure.

## Why

Recovering question answers or interrupted input can cancel an active `Ctrl+R` search or overwrite its preview. Recovery should preserve the search while keeping the recovered input available on cancellation.

## What changed

- Apply background updates to the saved draft without changing the search query or visible preview, including when a query has no match.
- Restore the updated draft on `Esc` or `Ctrl+C`; discard it when accepting a history match. Keep search open when `Enter` has no match to accept.
- Capture the saved draft rather than the preview in draft snapshots, preserving attachments, mention bindings, and pending pastes.
- End search on an explicit fresh draft replacement so cancellation cannot resurrect discarded input.

## Testing

Add regression coverage for recovery on turn completion, failure, and interruption; accepting and canceling search after recovery; Vim undo/redo; pending paste preservation; and clearing drafts after a misalignment policy failure.

GitOrigin-RevId: d3de19bbbcdab2e461c19d47b2b7dca0b28f6ff3
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/d3de19bbbcdab2e461c19d47b2b7dca0b28f6ff3 branch from 4ea2722 to 3032b38 Compare September 23, 2026 01:41
@github-actions

Copy link
Copy Markdown
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@copyberry
copyberry Bot merged commit 3032b38 into main Sep 23, 2026
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/d3de19bbbcdab2e461c19d47b2b7dca0b28f6ff3 branch September 23, 2026 01:41
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant