keygen-sh / keygen-api

Keygen is a fair source software licensing and distribution API built with Ruby on Rails. For developers, by developers.
https://keygen.sh
Other
699 stars 40 forks source link

Tauri engine always return 204 with no content in the response body #834

Closed lucabrini closed 1 month ago

lucabrini commented 2 months ago

I've setupped Keygen Cloud with all products, releases, packages, licences needed.

I've uploaded binaries and attached them to releases as well. Published them. However the tauri engine endpoint used for auto updates does return only 204 with an empty body, even if a more recent artifact is present.

May I am missing some setting but I think the docs could be a lot better than now, at least for tauri side.

ezekg commented 2 months ago

Can you provide the ID of a request log that shows this behavior? Are you using authentication? What version is the app and what version are you expecting? What artifact filename and filetype are you expecting, and for what platform/arch?

I'll need some sort of additional info to help you debug.

ezekg commented 1 month ago

I found your account. It looks like you're trying to upgrade from v0.1.1 to v1.0.0, but v1.0.0 has no artifacts, so it's not available for upgrade. So v0.1.1 is effectively the latest version, which is the current version, thus there is no upgrade available.

This is what I've been able to grok from the current releases and artifacts on your account after looking at your recent request logs. If you think this is incorrect, please provide more information. Be specific. Request logs are very helpful.

lucabrini commented 1 month ago
ezekg commented 1 month ago

But if v1.0.0-dev exists and is published, why would it upgrade from v0.1.0-dev to v0.1.1-dev? When I looked, v1.0.0-dev was the latest published version, not v0.1.1-dev. The upgrade system fetches the latest release for the requested channel, and returns a matching artifact for the os/arch if available. And v1.0.0-dev is the latest, but there's no artifact, thus no upgrade.

Also, why is v1.0.0-dev published without any artifacts? Just trying to make sure I understand everything.

lucabrini commented 1 month ago

Thank youuuu, now all makes sense.

So it always try to upgrade to the newest release found. Makes sense!

In the case the release has no artifact associated, may the api could return some error? Or are there any reasons about how it is now?

Thank you a lot, I appreciate you help! :)

ezekg commented 1 month ago

@lucabrini well, to be honest, no particular reason... this just hasn't been an issue because typically a published release always has at least 1 artifact. What's your use case for publishing a release with no artifacts? Just so I can understand what you're trying to do here.

lucabrini commented 1 month ago

No specific use case. It was just a mistake 🥲