-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add option to have multiple updates in a single appcast that can be selectively chosen #51
Comments
**Andy Matuschak (andymatuschak)* wrote on 2009-01-11:* That would simplify things, but I'm trying not to complicate the schema |
**livings124 (livings124)* wrote on 2009-01-12:* If I were to write a patch for this, would that help get it in. I've |
**Andy Matuschak (andymatuschak)* wrote on 2009-01-12:* Yeah, that'd definitely help, though not for 1.5—I'm trying to minimize |
**livings124 (livings124)* wrote on 2009-01-12:* Alright, I'll get you the patch. Btw, is there any eta on when 1.5 final |
**Andy Matuschak (andymatuschak)* wrote on 2009-01-12:* Hopefully I'll get a chance to test and release within a few weeks. Time |
**livings124 (livings124)* wrote on 2009-01-12:* Attached is a patch to add "tags". In the enclosure, add "sparkle:tag="value" Using SUUpdater, you can specify a set of tags that you want to include Any chance at all this could make it to 1.5? It will save me having to Cheers, |
**Andy Matuschak (andymatuschak)* wrote on 2009-01-12:* Sorry, too big a chance for 1.5 this close to release, but thanks a lot |
**livings124 (livings124)* wrote on 2009-01-12:* For consistency with sparkle:minimumSystemVersion, dict should probably |
**livings124 (livings124)* wrote on 2009-01-12:* Updated patch moving sparkle:tag outside of the enclosure. |
**livings124 (livings124)* wrote on 2009-01-12:* I shouldn't do this when I'm this tired. Updated patch again without |
**Hofman (cmhofman)* wrote on 2009-01-13:* Andy is definitely right to reject this for 1.5. In fact, I see
These issues (and perhaps more) should be carefully considered before |
**livings124 (livings124)* wrote on 2009-01-13:*
I don't understand this comment. You can already put multiple items in
The same can be said about system minimum version for older Sparkle
Having to maintain a single appcast is a huge simplification. When you |
**livings124 (livings124)* wrote on 2009-04-14:* I have used a patched version of this in Transmission for the last few |
**livings124 (livings124)* wrote on 2009-04-14:* 7 months, still a long time ;) |
**Andy Matuschak (andymatuschak)* wrote on 2009-04-14:* I've put some thought into this problem, and I'm not sure this is the Llike: you want people using 3.0b3 to get notified of their free update I think you need a graph, basically. I was thinking posets with labels. So between these hesitations and my continued promise that 1.5 is It's maybe not a bad idea to get this kind of thing out there, though. |
**livings124 (livings124)* wrote on 2009-04-14:* Interesting idea with the posets - but that seems like it might get Yes, I understand that 1.5 is feature frozen and respect that, but I was |
**Andy Matuschak (andymatuschak)* wrote on 2009-04-15:* You're definitely right about the backwards compatibility point. I'll As for an ETA on 1.5 final, I'm not in a huge rush since it's pretty |
**livings124 (livings124)* wrote on 2009-04-15:* Sure tags would work for paid apps - just use a "paid" tag on all items And as I said the only reason I'm pushing on the eta of 1.5 is because |
**Andy Matuschak (andymatuschak)* wrote on 2009-04-15:* Hm. Consider the case of Inquisitor, where the upgrade from 1.0 -> 2.0 If the suggested implementation is "just check whatever's latest," that 2.0 is a paid upgrade from 1.0, so the developer adds the "paid" tag. |
**livings124 (livings124)* wrote on 2009-04-15:* Yup, the solution would be a "paid2.x" tag (or something similar). Of In your example, if the appcast supported multiple tags per appcast IMHO this is highly extensible and solves the problem of multiple tags |
**Andy Matuschak (andymatuschak)* wrote on 2009-04-15:* I see. I could definitely see adding preliminary support for this to 1.5, letting all the logic be client-side through the appropriate delegate method:
|
**livings124 (livings124)* wrote on 2009-04-15:* What is wrong with the (very) simple way that my patch solves it? I Unless you mean not adding the new tag field, in which case how would |
**Andy Matuschak (andymatuschak)* wrote on 2009-04-28:* This works, it just feels kinda kludgy somehow. I'll give it more |
**livings124 (livings124)* wrote on 2009-08-02:* Is there ever going to be a release. The longer this waits, the more of |
**livings124 (livings124)* wrote on 2009-12-21:* bump |
**livings124 (livings124)* wrote on 2010-01-14:* Now that the word on the street is that you're skipping 1.5 and going to |
**Andy Matuschak (andymatuschak)* wrote on 2010-01-14:* Oh, no, word on the street has gotten out! I still don't like the tag solution. I'll either figure out why or add |
**livings124 (livings124)* wrote on 2010-01-14:* I still don't understand the delegate option - without a tag there |
**Andy Matuschak (andymatuschak)* wrote on 2010-01-14:* Yeah, so, the delegate would have to be passed the complete appcast item The problem I'm having here is that if I do some kind of tagging / |
**livings124 (livings124)* wrote on 2010-01-14:* Fair enough, a delegate system combined with the added tags of the |
**livings124 (livings124)* wrote on 2010-08-06:* Any chance of this going in anytime soon? The "tag" functionality is |
**Andy Matuschak (andymatuschak)* wrote on 2010-08-09:* No, sorry. I want to fix this the right way, and I think we need posets. |
I'm not sure that any solution we've considered would have a sufficiently persuasive value-to-complexity ratio over simply using multiple appcasts to be worth the effort. |
I still contend that the original solution I posted is much, much less complex than multiple appcasts (and by a large factor too). I've been using this patch for years without issue. Multiple appcasts are flawed in that you have to code into the app which one to look at, and makes maintenance of multiple appcasts extremely annoying. |
You're absolutely right: it's definitely less complex and definitely better. But it's also not itself a great solution, and we can't easily remove API like this once added. I don't think it's prudent to add API which works but which we don't like very much. |
If you want to make it simpler, you can instead use pre-defined tags such as "beta", etc. There needs to be a better solution than manually managing multiple-appcasts. |
Yes, I think that might be a more amenable route. I’ve started to go down that road in the quiet-automatic-updates branch with a criticalUpdate tag. |
This is a long old issue.. But I like the original proposal here where an appcast item can provide a set of tags (or "channels" because Sparkle has prematurely decided to use "tags" for something else now). By default, non-default channels would be ignored. The posets and paid case I feel can be solved independently by #329 for specifying a version point where an update became a paid or major one. I don't think this feature should be related to offering paid upgrades, but rather should be for beta or nightly, or even demo channels. The |
**livings124 (livings124)* reported (on Launchpad) on' 2009-01-12:*
I'm not sure if "Answers" or here is the best place to add feature
requests, so I'm guessing it's here.
It would be useful to have multiple updates listed in a single appcast
file, with some sort of key separating them. This would be similar to
how it works now with minimum version numbers.
For an example, I could have 2 updates, one with no key and one with the
key "beta". There would be some sort of method (delegate maybe?) to
specify all the valid keys (as an array most likely). If no keys are
specified, the update with the "beta" key would be ignored and only the
other would be considered. If one of the keys specified in the code is
"beta", however, both would be considered, and the one with the higher
version number would be used. This would simplify things greatly for
users that want to support optional updates for betas, etc.; it's easier
to maintain and feels less hacky than having multiple feeds that have to
be synchronized.
The text was updated successfully, but these errors were encountered: