PR: https://git.cafe/pingdotgg/t3code/pulls/30826 GitHub: https://github.com/pingdotgg/t3code/pull/30826 main: 9e85538535c8553901351112ab02dd1dd62db5ee PR: a33c2d54f423a7aec6fddb9100e83c87620ad8bc Linux x64 Boat VM, Electron 44.10.1, real xdg-utils 1.1.3 and update-desktop-database. No mocked Electron APIs, provider adapters, filesystem or helper commands. Method: - Installed both checkouts with vp i. - Ran vp run dev in background, one server at a time, with isolated state. - Used repo Playwright + /usr/bin/google-chrome to add /home/user/t3code as a project through the UI. - Selected Codex gpt-6.1-sol and submitted a read-only git status turn through both main and PR web clients. Both completed. - Built desktop JS and staged an unpacked Electron app with the real production icon and packaged app layout. The exact PR server/web bundle was built on Blacksmith and used for final desktop checks. No AppImage was produced. - Ran actual Electron windows on X11 using isolated XDG_DATA_HOME, XDG_CONFIG_HOME, and T3CODE_HOME; --password-store=basic and --no-sandbox for this disposable VM. - Traced actual execve/openat calls with strace; compared nanosecond mtimes across launches. - Added a project and completed real gpt-6.1-sol turns in both desktop versions through their renderer, WebSocket server, and provider adapter. MAIN: unchanged consecutive packaged launches /tmp/pr30826-xdg/data/applications/com.t3tools.T3Code.desktop 1793802057 2026-11-04 14:20:57.394404664 +0000 /tmp/pr30826-xdg/data/applications/mimeinfo.cache 1793802057 2026-11-04 14:20:57.559400973 +0000 /tmp/pr30826-xdg/data/icons/com.t3tools.T3Code.desktop.png 1793802057 2026-11-04 14:20:57.393404686 +0000 /tmp/pr30826-xdg/config/mimeapps.list 1793802057 2026-11-04 14:20:57.606399922 +0000 /tmp/pr30826-xdg/data/applications/com.t3tools.T3Code.desktop 1793802197 2026-11-04 14:23:17.451414611 +0000 /tmp/pr30826-xdg/data/applications/mimeinfo.cache 1793802197 2026-11-04 14:23:17.603413487 +0000 /tmp/pr30826-xdg/data/icons/com.t3tools.T3Code.desktop.png 1793802197 2026-11-04 14:23:17.451414611 +0000 /tmp/pr30826-xdg/config/mimeapps.list 1793802197 2026-11-04 14:23:17.648413155 +0000 34680 execve("/usr/bin/update-desktop-database", ["update-desktop-database", "/tmp/pr30826-xdg/data/applicatio"...], 0x14b4034573c0 /* 66 vars */ 34717 execve("/usr/bin/xdg-mime", ["xdg-mime", "default", "com.t3tools.T3Code.desktop", "x-scheme-handler/t3code"], 0x14b403456f40 /* 65 vars */ 34935 execve("/usr/bin/xdg-mime", ["xdg-mime", "query", "default", "inode/directory"], 0xb60023a6680 /* 66 vars */) = 0 Result: entry, icon, cache, and defaults mtimes all changed; both registration helpers ran again. PR: unchanged consecutive packaged launches (exact PR server assets) 43351 execve("/usr/bin/xdg-mime", ["xdg-mime", "query", "default", "inode/directory"], 0x1cd0063bee00 /* 66 vars */) = 0 Entry remained 2026-11-04 14:23:17.451414611 +0000 Icon remained 2026-11-04 14:23:17.451414611 +0000 MIME cache remained 2026-11-04 14:23:17.603413487 +0000 No update-desktop-database or xdg-mime default subprocess. The unrelated file-manager query still ran. Caveat: mimeapps.list is still rewritten by the existing @clerk/electron bridge calling Electron.app.setAsDefaultProtocolClient. This PR avoids its own helper calls, not every registration-related write in the entire app. NEIGHBOR: delete MIME cache, then launch exact PR app [14:30:26.567] INFO (#87): registered URL scheme handler [14:30:27.652] INFO (#106): backend ready 45491 execve("/usr/bin/update-desktop-database", ["update-desktop-database", "/tmp/pr30826-xdg/data/applicatio"...], 0x162c034458c0 /* 66 vars */ 45496 execve("/usr/bin/xdg-mime", ["xdg-mime", "default", "com.t3tools.T3Code.desktop", "x-scheme-handler/t3code"], 0x162c03448800 /* 66 vars */ 45811 execve("/usr/bin/xdg-mime", ["xdg-mime", "query", "default", "inode/directory"], 0x3d700232a400 /* 66 vars */) = 0 /tmp/pr30826-xdg/data/applications/com.t3tools.T3Code.desktop 2026-11-04 14:23:17.451414611 +0000 /tmp/pr30826-xdg/data/applications/mimeinfo.cache 2026-11-04 14:30:26.526784664 +0000 /tmp/pr30826-xdg/data/icons/com.t3tools.T3Code.desktop.png 2026-11-04 14:23:17.451414611 +0000 after default: com.t3tools.T3Code.desktop Result: actual updater recreated cache, setter ran, entry/icon stayed unchanged, backend became ready, effective default remained T3. NEIGHBOR: change generic default to installed Google Chrome using xdg-mime, then launch PR app before default: google-chrome.desktop [14:30:44.089] INFO (#87): registered URL scheme handler [14:30:45.069] INFO (#98): backend ready 46679 execve("/usr/bin/xdg-mime", ["xdg-mime", "query", "default", "inode/directory"], 0x241003efa900 /* 66 vars */ /tmp/pr30826-xdg/data/applications/com.t3tools.T3Code.desktop 2026-11-04 14:23:17.451414611 +0000 /tmp/pr30826-xdg/data/applications/mimeinfo.cache 2026-11-04 14:30:26.526784664 +0000 /tmp/pr30826-xdg/data/icons/com.t3tools.T3Code.desktop.png 2026-11-04 14:23:17.451414611 +0000 after default: com.t3tools.T3Code.desktop Result: effective default changed from Chrome back to T3. In the complete app Clerk/Electron repairs this before the handler service, so no xdg-mime default subprocess was needed. CHECKS Blacksmith: vp test run apps/desktop/src/app/DesktopPreReadyPlatform.test.ts apps/desktop/src/app/DesktopLinuxUrlHandler.test.ts 2 files passed, 23 tests passed. PR server/web build on Blacksmith: vp run --filter t3 build, 2/2 successful. GitCafe status at verification: 31 successful checks, 0 failing, 0 pending. LIMITS No startup-latency or memory claim. No full AppImage, Wayland/GNOME portal session, KDE/LXQt session, macOS, Windows, iOS, Android, remote/relay/tunnel or desktop-specific mimeapps override test. The desktop override review concern was inspected, not exercised; installed generic xdg-mime's setter only updates generic defaults, so this is not established as a PR regression.