Conversation
This allows developers to post updates to specific channels like for beta updates. Updaters only get notifications from channels they're allowed to be on.
There may not be any applicable items due to sparkle:channels now.
kornelski
approved these changes
Jun 28, 2021
|
I'm wondering if there's any way to only show beta release notes to those using my beta channel (I'm using external release notes)? If not, I wonder if it would make sense in the appcast to have a separate |
Member
Author
|
Since the appcast item will be only be available to those who subscribe to the beta channel can’t you just use a different beta release notes file for them? People on the default channel shouldn’t see them. |
|
Sorry, I was tricked by the fact my generated appcast.xml only had one |
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.
Add support for channels, mainly intended for supporting beta or nightly updates in the same appcast feed.
You specify a channel on an appcast item, and the updater will only look for updates on that channel if the delegate says it's allowed to. No specified channel means the appcast item is on the default channel, which updaters always have access to.
This is only intended to support versions that branch off to different channels and that eventually converge back to the default channel. It's not for maintaining completely parallel trains; separate appcast feeds still fit that use case (or the use case of migrating to newer appcast features, like this one).
This implementation is simple and almost identical to the patch proposed in #51 for Transmission back in the day.
I needed to also fix the logic that assumed no updates in an appcast meant there was something wrong with the feed. This may happen for various reasons, but in this case we must assume the user is just up to date.
Probably my last enhancement / missing gap to 2.x, then I intend to look into tooling (sparkle-cli, generate_appcast) and docs..
Fixes #51
Checklist:
Type of change
Testing
I tested and verified my change by using one or multiple of these methods:
Tested adding beta channel to test app and made sure updates were picked (or not picked) appropriately based on the implemented delegate method.
Added unit tests.
Tested sparkle-cli support for channels on running test app.
macOS version tested: 11.5 Beta (20G5042c)