Skip to content

fix(desktop): use the built-in updater/process plugins (fixes the ACL dead end)#63

Merged
ApocDev merged 2 commits into
mainfrom
fix/updater-use-plugin
Jul 1, 2026
Merged

fix(desktop): use the built-in updater/process plugins (fixes the ACL dead end)#63
ApocDev merged 2 commits into
mainfrom
fix/updater-use-plugin

Conversation

@ApocDev

@ApocDev ApocDev commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Root cause of the whole saga: I hand-rolled custom updater_check/updater_install commands to avoid the plugin JS deps — but custom commands have no ACL permission you can grant to remote content, and the window loads the app over HTTP (remote to Tauri), so invoke() was silently denied. My earlier "debug verified" was a false positive because tauri dev treats the dev URL as trusted local, so the ACL was never exercised.

Fix: use the standard tauri-plugin-updater + tauri-plugin-process via their JS APIs, and grant updater:default + process:default in the capability (which already has the remote.urls grant). Plugin commands have permissions, so the ACL can authorize them for the remote webview.

  • Web app stays Tauri-agnostic: the plugin JS is lazily imported behind window.isTauri, never loaded in the browser build.
  • Removed the custom-command machinery, reverted the always-on logging.
  • Enabled devtools in release so any remaining webview/ACL error is inspectable (right-click → Inspect → Console).

ApocDev added 2 commits July 1, 2026 09:27
…tom commands

The custom updater_check/updater_install commands could never work from the window's
content: it's served over HTTP (remote to Tauri), and custom commands have no ACL
permission to grant remote content, so invoke() was silently denied.

Switch to the standard tauri-plugin-updater + tauri-plugin-process, driven from the
web UI via their JS APIs (check / downloadAndInstall / relaunch), lazily imported
behind window.isTauri so the browser build never loads them. Grant updater:default +
process:default in the capability (which already allows the localhost remote URL) —
plugin commands *do* have permissions, so the ACL can authorize them. Enable devtools
in release so webview/ACL errors are inspectable while the shell is young.
@ApocDev
ApocDev merged commit fdc9800 into main Jul 1, 2026
1 check passed
@ApocDev
ApocDev deleted the fix/updater-use-plugin branch July 1, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant