Repository navigation
Replies: 1 comment
|
Upstream PR: #32495 — coordinate CLI and desktop updates, revised and independently reviewed at The desktop-installed CLI, deprecated service alias, About, sidebar and native menu use the existing coordinated runner. Providers update first, managed servers hand off next, and the desktop installs and restarts last. Native executors retain their responsibilities. Standalone/headless updates and startup recovery keep their scoped paths; the Omarchy checker remains a separate read-only consumer. Review identified an unsafe renderer-replacement interval. The revision keeps a started run reserved independently of renderer identity and local updater activity. Only terminal token-checked cleanup releases it. Confirmation timeout/cancellation cannot release an accepted run, and unexpected branch failures wait for all started branches. A genuinely lost document fails closed: users must check affected machines before restarting and retrying, because a desktop restart does not prove remote completion. Remote prepare and commit can wait for a native background check while retaining exclusion from other coordinated runs. The coordinator remains mounted during onboarding and authentication gates. Before renderer readiness, the native menu can check this desktop under a reservation. Expired confirmations show feedback and start no update. The cached CLI capability check remains read-only. Transport diagnostics distinguish unavailable, actionable failures and uncertain outcomes without falling back to a standalone installation. Verification at this head: all changed-file checks passed, including 36 affected package typechecks, 172 tests in 19 files and 8 React Compiler checks. The final Linux x64 packaged fleet run passed provider maintenance, native server commit, desktop installation last, original-main exit by pidfd, automatic relaunch into the exact final-source artifact, and saved-credential reconnection. SQLite checks independently verified all original fixture messages. The unchanged bounded checker passed twice; the report also records an earlier inconclusive run. Packaged gated-route checks displayed and cancelled the real confirmation on onboarding and controlled authentication-failure screens. These were private runtime fixtures with no live userdata or desktop sockets mounted, local feeds and synthetic release/provider versions. The report identifies the earlier starting-image source, exact final target source and unchanged gated-route components. No production signing/distribution, macOS/Windows, vendor API calls, paid turns or systemd/SSH registration was tested. The evidence release contains no installable build or userdata. Explicit maintainer approval of direction and scope remains unrecorded; the PR seeks that decision and does not claim an exemption. AI-assisted implementation and verification: GPT-6.1 Sol and Terra through Codex. Independent final source/evidence review: Claude Opus 5.5 high, PASS after two rounds at |
Uh oh!
There was an error while loading. Please reload this page.
Problem
T3 exposes several update entry points, but they do not converge on the same coordinated update flow.
In stable 0.1.7:
t3 updateuses the standalone runtime/background-service update path; when invoked through the desktop-bundled CLI, it does not delegate to the desktop's coordinated flow or replace the AppImage.This makes the update result depend on where the user started it. A successful desktop/server update can also leave a CLI launcher behind (#14609, #25724, #31507). Those are related reports, but this request is specifically about sharing the coordinated entry point, not replacing their focused fixes.
Requested behavior
For a desktop installation,
t3 update, the sidebar update action, Settings → About, and native desktop update actions should enter the same T3-owned coordinated flow, with the same target selection, authorization, confirmation, in-progress exclusion, error reporting, and restart behavior.Headless standalone installations must retain their supported CLI/service updates. Low-level download/install executors can stay platform-specific; the user entry points should not independently decide which components to skip.
A shell command must not report the desktop updated merely because a standalone archive was downloaded.
Proposed minimal solution
t3 updaterequest through the existing local desktop control transport to that boundary. If the desktop is unavailable or cannot support the request, return a clear actionable error instead of silently switching update models.The implementation patch will follow as code and focused regression evidence. This is a proposal for maintainer review; I am not claiming prior maintainer approval.
Acceptance
External integration
An Omarchy post-update hook is only a consumer of the supported check/request interface. It should not implement downloads, replace AppImages, patch T3, or infer that a fix is installed merely because an issue or PR closed.
Related: #31506, #31559, #14609, #25724, #25727, #31507, #31522.
Filed at the user's request after reviewing the installed 0.1.7 behavior and current source. Research/implementation assistance: GPT-6.1 Sol through Codex.
All reactions