PR 26424 real environment verification main: 15fe2832727893cbdd2214383f9f971474849695 head: b909d7447b3e931002f8ee99617184c4a7e17db8 client: actual Vite web app in /usr/bin/google-chrome driven by repo Playwright 1.60.0 provider: real Codex gpt-6.1-sol through the VM proxy host: official Linux AppImage v0.1.5, isolated /tmp/pr26424-desktop/home main before: - Settings / Environments / per-server Update: closes/relaunches text, no tasks/tool warning. - Settings / Environments / Update all: closes/relaunches text, no tasks/tool warning. - Sidebar / Update 1 server: no interruption warning before remote threads loaded. PR after: - All three dialogs: Updates interrupt tasks and tool calls. - Update everything accessible description includes the warning. - UI-created project /home/user/t3code on paired desktop host. - Real Codex shell: printf pr26424-provider-main-ok -> pr26424-provider-main-ok. - Real Codex shell: printf cancel-check-start; sleep 90; printf cancel-check-finished. - 19:13:55.082Z through 19:14:04.810Z: open/cancel Update everything, Update all, per-server Update while that tool is running. - Passive WebSocket observer: zero update RPCs from those cancellations. - Tool completed; provider returned cancel-check-finished. No restart from cancellation. Initial native app startup was blocked by a GNOME new-keyring prompt. Stopped only task-owned app/backend; relaunched AppImage with --password-store=basic without interacting with keyring. Repeated affirmative check: 19:18:03.610Z: Confirm -> server.updateServerWithProgress {targetVersion:0.1.6} 19:18:06.741Z: native desktop log: update downloaded, version 0.1.6 19:18:06.992Z: native desktop log: remote update prepared 19:18:07.014Z: client -> server.commitDesktopUpdate 19:18:07.227Z: native desktop log: allowing updater-controlled quit GET http://127.0.0.1:18777/.well-known/t3/environment -> serverVersion 0.1.6, same environmentId Client reconnected with prior thread and history intact. Real Codex follow-up: printf post-update-provider-ok -> post-update-provider-ok. Blacksmith: vp test run apps/web/src/components/ServerUpdateAction.browser.test.tsx apps/web/src/components/sidebar/SidebarUpdatePill.browser.test.tsx 2 files, 21 tests passed. Existing tests also cover confirmation host absent, provider-only updates, and blocked dialog accessibility. CI at tested head: 32 successful, 0 failing, 0 pending. No source changes or pushes. Limits: No macOS/Windows/iOS/Android client; no multi-machine batch; no relay/tunnel. Provider-only and confirmation-host-absent cases have existing automated coverage, not a real-app reproduction here. No claim that interrupted tools resume after an affirmed restart: affirmative update was tested after the running turn completed. Cancellation video removes the idle wait between cancellation and tool completion.