an error while downloading the update

Asked by SteveCronin

Folks;

I am using the open source "appcaster" in conjunction with Sparkle.
I know this is a Sparkle forum and my issue could well be with appcaster but maybe not.
And maybe someone here knows enough about appcaster that they could help...
I do not want to be rude, I just need to get over this hump!

My application does correctly detect a new version and then offers the usual 3 option dialog: Later, Skip, Download.
The release notes are correctly shown in the dialog.

If I select the 'Download' option then Sparkle throws an error: 'unsupported URL'
I have the source for Sparkle and its failing at: SUBasicUpdateDriver download:didFail.
The NSURLDownload looks like this: "\appcaster\uploads\myApp_1.0.1.zip"

The .zip file does exist in the uploads directory.

To me it seems as if the NSURLDownload is not fully populated with $WEBROOT, but maybe I'm wrong.
It seems to me that appcaster is generating the downloadURL but I I'm not sure and not sure where in the php that occurs...

Any thoughts really appreciated!
Steve

Question information

Language:
English Edit question
Status:
Solved
For:
Sparkle Edit question
Assignee:
No assignee Edit question
Solved by:
Andy Matuschak
Solved:
Last query:
Last reply:
Revision history for this message
Andy Matuschak (andymatuschak) said :
#1

Can we have a link to your appcast, please?

Revision history for this message
SteveCronin (steve-cronin) said :
#2

Andy!

Wow thanks for such a fast response!

From the SUFeedURL in info.plist: http://www.googaby.com/appcaster/appcast.php

Revision history for this message
Andy Matuschak (andymatuschak) said :
#3

Aha! If you look at your enclosures, the URLs provided are partial; Sparkle doesn't know how to handle such relative URLs—what are they relative to? If this is something in the RSS spec that should actually be supported, please file a bug, but I probably won't be able to fix it for a while.

In the meantime, just make your URLs absolute in your feed, and it'll work.

Revision history for this message
SteveCronin (steve-cronin) said :
#4

Andy;

You say "...just make your URLs absolute in your feed, and it'll work..."

How do I do that?

Revision history for this message
Best Andy Matuschak (andymatuschak) said :
#5

Instead of:

<enclosure url='/appcaster/uploads/googaby_1.0.0.d.zip' length='1786' type='application/octet-stream' />

you should write:

<enclosure url='http://www.googaby.com/appcaster/uploads/googaby_1.0.0.d.zip' length='1786' type='application/octet-stream' />

Given that this was generated by appcaster, though, you should contact the tool's maintainer and report this bug with him.

Revision history for this message
SteveCronin (steve-cronin) said :
#6

Andy;

OK so it seems you know enough about appcaster to know that the url is generated by appcaster.
It is NOT a sparkle issue!

That's good information. I've contacted Tyler....

Thanks for the quick responses, the great tool and the continuing contribution to the Mac ecosystem!
Steve

Revision history for this message
SteveCronin (steve-cronin) said :
#7

Thanks Andy Matuschak, that solved my question.

Revision history for this message
SteveCronin (steve-cronin) said :
#8

Folks;

Forgive this intrusion but Andy was so helpful I thought I'd try to give back in a small way.

For those who might use appcaster the issue is the definition of WEBROOT.
This is found in appcaster/includes/class.configure.php at line 38 (for production servers)

Appcaster is designed to be flexible so my hacking this will break this flexibility but since I am only serving one application from appcaster it works for me.

I just had to make the WEBROOT absolute like Andy had indicated and its working now.