Publishing
Validate, pack, and upload a widget, then what happens to it.
Before you upload
- Make the manifest's
authoryour GitHub login, and give the widget an id nobody else has used. - Run
npx shiftpane-widget validate: it runs every check the gallery runs that can run on your PC. - If you zip it yourself, zip the package's files, not the folder they're in, so
manifest.jsonis at the top.npx shiftpane-widget packdoes this for you. - Pick an OSI-approved license and include its
LICENSEfile. Widgets are open source, so others can read what runs on their PC. - Ask only for what the widget needs. Every permission is something a reviewer has to agree with.
- Read the content policy.
Upload
Any of these, each signed in with your GitHub account:
- From the CLI.
npx shiftpane-widget loginonce (it shows a code to type on GitHub), thennpx shiftpane-widget publishin the widget's folder. It runs the checks, packs the folder and uploads it, with--notesfor the reviewer. In CI, sign in once withnpx shiftpane-widget login --print-tokenand keep what it prints as aSHIFTPANE_TOKENsecret. - Share from the app. With Developer mode on, open a widget you loaded from a folder and use Share to the marketplace. The app signs you in with a code, packs the folder and uploads it.
- Upload the zip on the Publish page.
npx shiftpane-widget logout signs the CLI out and ends its token.
What happens next
Checks
The automated checks run at once and you see the report. A failed check blocks the upload, and the report says what to fix.
Review
A person reviews every new widget, and every update the fast lane doesn't take. Your dashboard shows when it's approved or rejected, with the reviewer's note.
The fast lane. An update is published as soon as its checks pass when it asks for nothing the approved version didn't, and either it has no collector, or you're a verified author, or you've had three versions approved and none yanked.
Listed
Approved versions are signed and published. The widget shows in the gallery, where Install in ShiftPane on its page opens it in the desktop app.
Updates
Upload a new version with a higher version number. If its permissions didn't change, people who installed it get it without a prompt; if they did, the app asks them again, showing what was added.
Your dashboard
Your widgets lists everything you've uploaded and each version's status, with the reviewer's note on a rejected one. Yank a live version there if it's broken: it leaves the gallery, and the app turns it off for everyone who has it the next time it checks.