Plugins: install and update from a file or URL with a consent screen #47
Labels
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#48 Plugins: manage installed Plugins and ship the lyrics package
SBDeveloper/medley
Reference
SBDeveloper/medley#47
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #13
What to build
The user can install a Plugin from inside the app. They pick a
.zipor paste an http(s) URL, and the app shows what the package requests (network hosts, UI, playback events, storage, folders, audio processing). The Plugin installs only after the user consents to exactly that. The UI says the Plugin loads at the next start.Installing a package whose id is already installed is an update. The user is asked again only if the new version requests more than they consented to before; requesting less needs no new consent. Errors (bad package, id clash, failed download, consent mismatch) are shown plainly.
The core already supports preview and install; this exposes it to the UI. Verifiable by installing the optional lyrics Plugin (#27) from its package.
Acceptance criteria
Blocked by
None (can start immediately)
Implemented in
e8dd967andf8b2ca6: install and update from a .zip or URL through a preview and consent screen, 'Restart to load' state, plain errors, core update-consent tests and UI logic tests.