PR #23742 real environment verification main revision: 32ecd71726 (github/main) PR revision: 1e6cac19f8f3bd206cfe9b5c744c9a1ce6e3d9da browser: /usr/bin/google-chrome, repo Playwright 1.60.0 main: created project /home/user/t3code using Add project / Local folder. main: selected GPT-6.1-Sol and submitted a real turn using the composer. main: provider native log confirms model gpt-6.1-sol via cliproxyapi, turn/completed status completed, reply "preview verification ready." main: SQLite persisted that assistant reply, but the client did not display it. main: attached a real app screenshot (attachment.png, 309762 bytes). main: opened expanded image preview and captured its real blob URL. main: navigated to New thread, hovered the existing thread, clicked Discard draft. main: after five-second Undo expiry, useThreadUndoNotice.notice was null. main: browser fetch(capturedBlobURL) still returned 309762 bytes. LEAK REPRODUCED. blacksmith: cd apps/web && vp test run --project unit src/lib/discardComposerDraft.test.ts result: 1 test file passed, 4 tests passed (11 ms). PR: real GPT-6.1-Sol text turn completed and its reply displayed in the web client. PR: same existing-thread image draft: blob fetch returned 309762 bytes during Undo. PR: after Undo expired, the same browser fetch rejected with TypeError: Failed to fetch. PR: Ctrl+Z restored the existing-thread draft, with the same 309762-byte blob URL. Expanded image rendered. Sent restored image via GPT-6.1-Sol. PR: real Codex gpt-6.1-sol replied in the client: the screenshot shows a t3 code thread titled preview verification readiness, with a user message, an empty composer, and a right sidebar showing the main branch and pull request #24426. PR: clicked Undo after entering new text. Client refused Undo (The draft has new content), preserved new text, and revoked the discarded image blob. PR: new-thread draft discard revoked the original URL immediately; Ctrl+Z restored its session and generated a fresh, fetchable 309762-byte URL. Actual provider protocol excerpts (no credentials or image bytes): [ { "direction": "client to real Codex provider", "method": "turn/start", "model": "gpt-6.1-sol", "inputTypes": [ "text" ], "text": [ "Reply exactly: preview verification ready. Do not use tools or change any files." ] }, { "direction": "real Codex provider to server", "method": "turn/completed", "status": "completed", "messages": [ "preview verification ready." ] }, { "direction": "client to real Codex provider", "method": "turn/start" }, { "direction": "real Codex provider to server", "method": "turn/completed", "status": "completed", "messages": [ "the screenshot shows a t3 code thread titled \"preview verification readiness,\" with a user message, an empty composer, and a right sidebar showing the main branch and pull request #24426." ] } ] Browser blob probes: { "revision": "32ecd71726", "scenario": "existing thread discard expiry", "undoNoticeExpired": true, "afterUndoExpiryBytes": 309762 } { "revision": "1e6cac19f8f3bd206cfe9b5c744c9a1ce6e3d9da", "scenario": "existing thread discard expiry", "duringUndoBytes": 309762, "elapsedMs": 21255, "undoNoticeExpired": true, "afterUndoExpiry": { "error": "TypeError: Failed to fetch" } }