- Install @tauri-apps/plugin-updater + plugin-process (npm + cargo) - Configure tauri.conf.json: updater endpoint pointing to GitHub Releases, signing pubkey, createUpdaterArtifacts enabled - Register updater + process plugins in Rust (desktop-only, #[cfg(desktop)]) - Add updater:default + process:default capabilities - Add useUpdater hook: checks for updates 3s after startup, shows native confirm dialog, downloads+installs+relaunches on accept - Silently catches errors so update failures never block the app - Add comprehensive tests for the useUpdater hook (5 test cases) Product decision: Using window.confirm() for the update dialog rather than a custom React modal. This keeps the implementation simple and the native dialog is appropriate for a system-level action like app restart. Can be upgraded to a custom UI later if desired. Private key generated at ~/.tauri/laputa.key — NOT committed. For CI: set TAURI_SIGNING_PRIVATE_KEY + TAURI_SIGNING_PRIVATE_KEY_PASSWORD as GitHub Secrets. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
14 lines
253 B
JSON
14 lines
253 B
JSON
{
|
|
"$schema": "../gen/schemas/desktop-schema.json",
|
|
"identifier": "default",
|
|
"description": "enables the default permissions",
|
|
"windows": [
|
|
"main"
|
|
],
|
|
"permissions": [
|
|
"core:default",
|
|
"updater:default",
|
|
"process:default"
|
|
]
|
|
}
|