Skip to content

fix: let Moonbase decide whether a release can be downloaded - #49

Merged
TobbenTM merged 2 commits into
mainfrom
boston-v2/moonbase-sdks-download-permission
Oct 28, 2026
Merged

TobbenTM merged 2 commits into
mainfrom
boston-v2/moonbase-sdks-download-permission

Conversation

@TobbenTM

Copy link
Copy Markdown
Member

The update screen judged download permission on the device from two of Moonbase's rules (owning the product, being a signed-in customer), so a release limited to a group of customers, or to none, was offered and then refused at download. get_release now reads Moonbase's own answer (downloadsAllowed) and can_download uses it, keeping the device's rules only for a Moonbase that doesn't send it. A new download_needs_full_license (surfaced as updateInfo().needsFullLicense) says whether activating a full license would help: the JUCE update screen offers "Unlock full version" only then, and otherwise says the license can't download the update, with the notes taking the empty button slot (new snapshot 14c-update-not-allowed). Tested with new core and JUCE controller tests (213 and 166 cases pass on macOS), a render of the update snapshots, and a check that the demo tenant sends downloadsAllowed.

The update screen judged download permission on the device from two of
Moonbase's rules: owning the product and being a signed-in customer. A
release limited to a group of customers, or to none, was still offered,
and Moonbase then refused the download.

The release endpoint already says whether this customer may download the
release (downloadsAllowed). release_info now reads it and can_download
uses it, keeping the device's rules only for a Moonbase that doesn't
send it. download_needs_full_license says whether activating a full
license would lift a refusal, and the JUCE update screen offers "Unlock
full version" only then; otherwise it says the license can't download
the update, and the notes take the empty button slot.
@argos-ci

argos-ci Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) 👍 Approved by Tobias Lønnerød Madsen 1 added Oct 28, 2026, 10:23 PM

downloads_allowed and needsFullLicense were inserted mid-struct, which
would shift a positional brace initializer written against the earlier
release_info or UpdateInfo. Both now sit at the end, as earlier fields
were added.

download_needs_full_license could also promise that a full license
unlocks a release limited to a group of customers, which buying doesn't
join. It now reads downloadsNeedsGroupMembership and returns false for
such a release.
@TobbenTM
TobbenTM merged commit 93e13ac into main Oct 28, 2026
20 checks passed
github-actions Bot pushed a commit that referenced this pull request Oct 28, 2026
## [4.13.2](v4.13.1...v4.13.2) (2026-10-28)

### Bug Fixes

* let Moonbase decide whether a release can be downloaded ([#49](#49)) ([93e13ac](93e13ac))
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