feat(tauri): scaffold tray-only Tauri shell with self-update#24
Merged
statik merged 2 commits intoJun 21, 2026
Merged
Conversation
Add the src-tauri Tauri v2 application (its own workspace, excluded from the library workspace so the Linux CI never needs webkit): - tauri.conf.json: tray-only (no windows), bundle targets dmg/app/nsis/msi, createUpdaterArtifacts, and the updater plugin pointed at the GitHub releases latest.json endpoint. pubkey is intentionally empty (TODO: the maintainer fills in their minisign public key per issue #12). - minimal main.rs: registers the updater/process/dialog plugins, sets the macOS Accessory activation policy (menu-bar agent, no Dock icon), and builds a tray menu with "Check for Updates…" (download+install+relaunch) and Quit. Core wiring (server/lock/reconcile/profile menu) lands next. - generated desktop icon set, a minimal frontend stub (ui/), capabilities, and a committed Cargo.lock. - CI: new `tauri` job builds + clippies + fmt-checks the app on macOS and Windows (where the webview prerequisites ship with the runner). The Tauri app cannot be built in the Linux dev sandbox (no webkit); it is verified by the macOS/Windows CI job and, at release time, tauri-action. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R8X1NxFiaLGJzwUD5wgRTv
tauri::generate_context! expands to code referencing serde_json in the app crate root, so it must be a direct dependency. Also remove the unused tauri::Manager import (clippy -D warnings). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R8X1NxFiaLGJzwUD5wgRTv
statik
merged commit Jun 21, 2026
33bcf95
into
claude/tauri-migration-self-update-74d57g
7 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step 12 of the Tauri/Rust migration
Scaffolds the tray-only Tauri v2 shell with self-update — the first piece that can't be built in this Linux sandbox, so it's verified by a new macOS/Windows CI job.
What's here
src-tauri/— its own Cargo workspace (excluded from the library workspace viaexclude, so the Linux CI matrix never needs webkit).tauri.conf.json: tray-only (windows: []), bundle targetsdmg/app/nsis/msi,createUpdaterArtifacts: true, updater plugin →releases/latest/download/latest.json.pubkeyis intentionally empty (TODO: maintainer fills their minisign public key per Maintainer setup: signing keys & secrets for Tauri self-update (do NOT auto-generate) #12).main.rs(minimal): registers updater/process/dialog plugins, sets the macOS Accessory activation policy (menu-bar agent, no Dock icon), and builds a tray menu — Check for Updates… (check → download+install → relaunch) and Quit.ui/), capabilities, committedCargo.lock.taurijob builds + clippies + fmt-checks the app on macOS and Windows (webview prereqs ship with those runners). Linux Tauri builds happen via tauri-action at release time.Scope / verification
This is the minimal shell to get the Tauri toolchain + CI green; the core wiring (HyperDeck server, profile lock/reconcile, status + profile submenu + re-home) and the release workflow land in follow-ups. I can't compile Tauri locally (no webkit), so the macOS/Windows
tauriCI job is the gate — I'll iterate on it if it flags anything.Part of: #10, #11, #12.
Generated by Claude Code