Skip to content
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

Unable To Parse Appcast Feed In Sparkle 2.0 #2086

Closed
brianmichel opened this issue Feb 4, 2022 · 4 comments
Closed

Unable To Parse Appcast Feed In Sparkle 2.0 #2086

brianmichel opened this issue Feb 4, 2022 · 4 comments
Labels
2.x Sparkle 2.0

Comments

@brianmichel
Copy link

Description of the problem

Unable to parse the update feed for appcast.xml located at https://brianmichel.github.io/Marconio/appcast.xml

Do you use Sandboxing in your app?

Yes

Version of Sparkle.framework in the latest version of your app

2.0.0

Version of Sparkle.framework in the old version of app that your users have (or N/A)

N/A

Sparkle's output from Console.app

Error: An error occurred while parsing the update feed. (null) (URL (null))

Error: Line 6: Entity 'middot' not defined
 (null) (URL (null))

Steps to reproduce the behavior

[The more information provided and pasted verbatim, the easier it will be to diagnose an issue. If you can provide the affected application/binary and XML feed to reproduce an issue, share them]

I'm just starting out with Sparkle, but I've been publishing Notarized (not code-signed) DMGs to the GitHub releases page for the project (https://github.com/brianmichel/Marconio) for a while. The .app inside does have a developer id signing. I've verified that the Notarization ticket is successfully stapled to the .dmg
Screen Shot 2022-02-04 at 4 53 18 PM

and it seems that spctl also correctly sees the signature of the .app file inside of the DMG

Screen Shot 2022-02-04 at 4 57 32 PM

It appears my error is originating from

SUAppcast *appcast = [[SUAppcast alloc] initWithXMLData:downloadData.data relativeToURL:downloadData.URL stateResolver:stateResolver error:&appcastError];

I've cloned down the Sparkle repo and added my appcast.xml as a resource to the tests that exist as well as adding a new test that tries to mimic this behavior so that I can add a breakpoint and see if I can debug further, however the test succeed! You can look at a patch of the test I added here https://gist.github.com/brianmichel/df992e18f4d4b69a151f08f5f98147d7

I've also verified that SSL is working for my site, and passes the SSL test
Screen Shot 2022-02-04 at 5 07 45 PM

At this point I'm not sure what Sparkle is failing to parse as it appears the SSL for my site is working correctly, SUAppcast will successfully parse the data (at least in my test), and I can't find any references to what Entity 'middot' not defined might be unfortunately. I'm assuming there's something very obvious that I'm doing incorrectly, but I'd love some advice on where to continue debugging to see if I can resolve the issue.

I'm happy to provide more information, or run additional tests, please let me know what you think!

@brianmichel brianmichel added the 2.x Sparkle 2.0 label Feb 4, 2022
@zorgiepoo
Copy link
Member

zorgiepoo commented Feb 5, 2022

The 2.1 betas return an error now if the http status code is < 200 or >= 400 (#2073). You may want to rule out that isn't happening here, or set a breakpoint or log out to see what the retrieved raw XML data actually is.

I can't reproduce the issue when I point a sample app to your appcast and server (https://brianmichel.github.io/Marconio/appcast.xml) so I think it's definitely something wrong with how the data is being downloaded back on your machine / connection.

@zorgiepoo
Copy link
Member

It's probably because your project is using .com (error 404) not .io

@zorgiepoo
Copy link
Member

And Sparkle 2.1 will give you this bit of output instead..:

2022-02-04 21:54:34.057650-0800 Marconio[16309:5800353] [Sparkle] Error: A network error occurred while downloading the update. not found (404) (null) (URL (null))

@brianmichel
Copy link
Author

Ah, that was it @zorgiepoo, I knew it was something obvious that I was just too close to see. Thank you for the excellent work in helping me debug. Have a good one!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.x Sparkle 2.0
Projects
None yet
Development

No branches or pull requests

2 participants