Skip to content

1.4.227: resume large terminal conversations in a new native chat (port of #29056) - #29287

Merged
brennanb2025 merged 1 commit into
brennanb2025/release-1.4.227-picksfrom
brennanb2025/release-1.4.227-pr29056
Oct 16, 2026
Merged

brennanb2025 merged 1 commit into
brennanb2025/release-1.4.227-picksfrom
brennanb2025/release-1.4.227-pr29056

Conversation

@brennanb2025

@brennanb2025 brennanb2025 commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 4 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​110 $\color{#cf222e}{\Huge{\mathbf{−}}}$​83 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​27
Prod 2 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​81 $\color{#cf222e}{\Huge{\mathbf{−}}}$​72 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​9

Problem. "Resume in New Native Chat" refuses any saved terminal conversation over 16 MiB, so users with long Claude/Codex sessions see "Chat could not be started". The 1.4.227 release branch (1.4.224 plus picks) still has this: the importer checks the whole file size and refuses before reading anything.

Change. Hand-port of #29056 onto the 1.4.227 release branch. Large conversations now open, showing the newest 16 MiB of history; the agent itself still resumes the full conversation by its id. Conversations under 16 MiB import the same items as before.

How it differs from #29056 on main. The pick conflicts because main's version sits on three PRs this branch doesn't have (#28072 OpenCode resume, #28080 Pi resume, #28092 per-run item field) and one file from #28459. None of those come along. The fix was ported onto the branch's own importer: no Pi or OpenCode paths, no per-run field. The streaming, newest-items window and per-line limit match main.

Scope. Only the terminal-to-native-chat resume path (Claude, Codex, Grok, OMP). No saved data, setting or wire changes.

Draft into the release branch to run CI; not for merge until the release lead decides.

… chat (#29056)

* fix(native-chat): resume conversations of any size in a new native chat

Resume in New Native Chat refused any saved conversation over 16 MiB, so long
Claude and Codex sessions could not move into a chat. The import now streams
the file, bounds each message as it is read, and keeps the newest messages
within the same 16 MiB budget; one line is still bounded at 16 MiB. The agent
resumes the full conversation itself, so only the chat's earliest messages
can fall outside the window.

* test(native-chat): adopt preflight refuses one line past the record bound, not a large file

* fix(native-chat): bound retained Pi import state and identities

* fix(native-chat): keep Pi branch projection responsive

* fix(native-chat): classify temporary Pi import table

* fix(native-chat): keep Pi resume independent of import scratch cleanup

* test(native-chat): match legacy Pi identity by shape

(cherry picked from commit 7f492dc)
@brennanb2025
brennanb2025 merged commit 7c19f71 into brennanb2025/release-1.4.227-picks Oct 16, 2026
51 of 53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant