feat(install): offer one-click sync engine installation from the app - #219
Merged
Merged
Conversation
Add a pure install-plan core mapping (provider, detected package manager) to a fixed pkexec argv or a manual fallback command, and surface it where the missing-engine state already appears: the setup wizard's blocking dialog gains an Install response, and the folder row menu gains an "Install sync engine…" entry while the provider's binary is missing. A successful install re-checks the binary and retries the folder; failures show the error output and the manual command. Closes #218
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.
What
Today, installing the sync engine requires leaving the app for a terminal. This adds one-click installation from the two places that already report the missing engine (#209, #210):
src/core/engine_install.rs): maps (provider, detected package manager) to an exact install plan - a fixedpkexec <pkg-manager> …argv (no shell, no user input) plus a display/copyable command. Package names verified against the distro indexes:nextcloud-client(pacman/dnf/zypper),nextcloud-desktop-cmd(apt, providesnextcloudcmd),opencloud-desktop(pacman; AUR fallback hint on failure). Unsupported combinations (OpenCloud on apt/dnf/zypper) fall back to manual guidance.binary_exists()and triggers a manual retry so the folder recovers on its own.Tests
Suite: 731 passed + 1 ignored (known flaky
login_flow), clippy-D warningsclean, fmt clean, i18n parity regenerated (525 entries).Closes #218