Skip to content

Build panels

Publishing

Ask for access, publish a version from Deska, and look after it: versions that never change, permissions people are asked for again, unlisting, withdrawal and the limits.

Who can publish

Anyone can build and load a panel. Publishing it, so other people find it in Discover and on deska.dev/panels, is open to invited authors for now.

  1. Apply. Sign in and fill the form at deska.dev/panels/apply: what you want to build, a link to a repository or a prototype if you have one, the permissions and sites it needs and why, and your GitHub handle if you like. Ask to publish in Build a panel leads to the same place.
  2. Wait for an answer. We reply within a few days. Your account page shows that the application was sent and when. One application is open at a time; after an answer, you can apply again.
  3. Publish from Deska. Once approved, your account can publish from any Deska signed in to it. Deska reads the change when it starts, when you sign in and when its window gets focus.
NoteOlder versions of Deska open an email from Ask to publish instead. Writing to [email protected] about what you are building still works.

Publishing a version

  1. Load the folder in Build a panel and make sure it passes, in both themes.
  2. Open the folder’s page and press Publish.
  3. Write what changed, up to 1,000 characters, and check what will be published: the version, the name people see as the author, the permissions and the sites.
  4. Confirm. Deska zips the folder (always to the same bytes for the same files) and checks it, and deska.dev checks it again when it arrives. When it is listed, Deska offers to open the panel’s page.

By publishing, you confirm you have the right to share the panel, and you let Deska store it, send it to the people who install it and remove it.

Versions

  • The first version claims the panel’s id for your account. Only you can publish more versions under it.
  • A published version never changes. To change anything, raise version in panel.json and publish again. Each new version must be greater than the last.
  • The name, description, author, category, color and icon people see come from the newest version’s panel.json. There is no other way to change them.
  • People who installed the panel see Update to the new version. Updating reloads open copies, and the panel keeps what it saved.
  • A version that asks for a newer SDK than someone’s Deska is shown as needing a newer Deska and never offered to them.

Permissions and sites, asked again

Permissions and sites belong to each version. People who installed an earlier one are asked again before an update that wants a permission or a site they had not allowed, and the question names every new site. Until they agree, they keep the version they have.

So ask for the least that works from the first version, and add a permission only with a feature that needs it. Say why in the changelog.

Unlisting and managing

The Community panels section of your account page lists every panel you published, with its versions and how many accounts installed it.

  • Unlist hides a panel from Discover and deska.dev. The computers that installed it keep it and still get its updates. Listing it again takes an account that may publish.
  • If your account stops being able to publish, what you published stays listed and you can still unlist it.
  • If you delete your account, your panels leave Discover. The computers that installed them keep them.

Deska checks every version when it arrives and can withdraw a panel, or one version of it, that breaks the rules. A withdrawn panel stops loading on every computer that has it and says Deska removed it; computers look for withdrawals when Deska starts and every six hours.

Limits

LimitValue
Package5 MB zipped, 20 MB and 500 files unpacked
Publishes10 a minute and 50 a day per account
Versions100 per panel
What changed1,000 characters, line breaks kept
NamesNo word that reads as Deska or Dex in the name, author or Extras title

When publishing fails

Nothing is published when a check fails. Deska shows one of these, with the problems:

CodeMeaningWhat to do
invalid_packageThe package does not pass the checks, or a name reads as Deska.Fix each problem listed; see panel.json reference.
version_existsThis version is published already, or is not greater than the latest.Raise the version in panel.json.
not_ownerAnother account publishes a panel with this id.Pick another id.
publishing_closedYour account cannot publish yet.Apply at deska.dev/panels/apply.
signed_outDeska is not signed in.Sign in and try again.
too_largeThe zip is over 5 MB.Leave out what the panel does not load.
rate_limitedToo many publishes in a short time.Wait a few minutes.
version_limitThe panel has 100 versions.Write to [email protected] to clear old ones.
suspendedDeska withdrew this panel, so it takes no new versions.Write to [email protected].
server_errordeska.dev could not take the package right now.Try again in a moment.

Before you publish

  • The folder passes in Deska with no problems, not only in the preview.
  • It looks right in a dark and a light theme, and with a different accent.
  • It handles offline, a slow host, an empty first run and a full storage.
  • It stops work while hidden and comes back right after a reload.
  • It asks only for the permissions and sites it uses.
  • It credits the data and media it shows, under their licenses.
  • The name, description and author say plainly what it is and who made it.