darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.76k stars 1.14k forks source link

Update URL within appimage #17508

Open joesid12 opened 1 month ago

joesid12 commented 1 month ago

Describe the bug

I use Gear Lever to manage and integrate my appimage apps within my linux mint desktop. The embedded update URL in the darktable 4.8.1 appimage is listed below. I am no expert but I think the .zsync at the end is invalid. Should that be dropped?


https://github.com/darktable-org/darktable/releases/download/*/Darktable-*-x86_64.AppImage.zsync

Steps to reproduce

When I copy the download link from the darktable website I get this listed below. There is no .zsync in the URL. When I paste it into a new browser window and add the .zsync I get a 404 error. Since the URL is embedded in the appimage I am not able to edit it in the Gear Lever app.

https://github.com/darktable-org/darktable/releases/download/release-4.8.1/darktable-4.8.1-x86_64.AppImage

Expected behavior

No response

Logfile | Screenshot | Screencast

No response

Commit

No response

Where did you obtain darktable from?

downloaded from www.darktable.org

darktable version

darktable 4.8.1

What OS are you using?

Linux

What is the version of your OS?

Linux Mint 22 Cinnamon

Describe your system?

No response

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

NVIDIA GeForce GTX 1660 Ti & Intel(R) UHD Graphics 630

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

No response

victoryforce commented 1 month ago

am no expert but I think the .zsync at the end is invalid. Should that be dropped?

No, it shouldn't as .zsync at the end is not invalid. However, your issue is not really about this, but about the fact that darktable AppImage release 4.8.1 will not be able to be updated by the auto-update utilities for AppImages. It is indeed so.

Actually, we need to first understand whether we want to support the auto-update mechanism for darktable releases. It's fast, but the user gets a convenient way to update the version without even looking at the Release Notes. I wished that, on the contrary, more users read them. It may contain information important to the user.

When I paste it into a new browser window and add the .zsync I get a 404 error.

Yes, this file is not there and it was a deliberate decision not to include this file (technical information for auto-updaters) in the release files. As I wrote above, I don't want auto-update to work for release versions. The fact that the update URL got into the AppImage is a consequence of the limitation of the build procedure at that time. This will be fixed for the next release.

marc-fouquet commented 1 month ago

+1 for supporting auto-updates.

If the Appimage does not support auto-updates, users will probably switch to the flathub version, as it is more convenient.

Imagine that every developer of every package on your system would force you to read the release notes. From their perspective, it surely contains important information. But it's not practical (perhaps unless the user actively decided to run Arch).

victoryforce commented 1 month ago

If the Appimage does not support auto-updates, users will probably switch to the flathub version, as it is more convenient.

If flathub is more convenient for them, then why try to keep them on appimage?

Imagine that every developer of every package on your system would force you to read the release notes.

I imagined it. What are the disadvantages?

From their perspective, it surely contains important information.

The darktable release notes really do contain some important information.

But it's not practical (perhaps unless the user actively decided to run Arch).

What exactly is not practical? Understand how the tool you use has changed, what are its new features or limitations? Do you prefer to work in it blindly?

victoryforce commented 1 month ago

@joesid12 Thanks for raising the issue. Yes, the AppImage of the darktable release was built with auto-update information, although this was not intended to be supported. I will fix the build script so that future releases can be built without embedding incorrect information for auto-updaters.

As for auto-updating releases, I'm not convinced that it will improve anything. What does it give?

These are not such significant advantages, but nice little things for those who often update versions (ie users of nightly builds). For those who only update to release versions every six months, these small improvements do not outweigh the bad habit of lazily and thoughtlessly updating the program without reading the release notes.

joesid12 commented 1 month ago

Hi Victor,

Thanks for your reply and explanation. As I may have said before, the ability to update via an appimage management tool isn't a big deal to me. We're talking about replacing one file. I just happened to see the URL and thought it would be helpful to point it out.

As for appimages in general, I love the simplicity and will always look for an appimage version before using a PPA or flatpak version. So, I really appreciate the appimage is the official darktable release.

On September 29, 2024 6:49:59 AM PDT, Victor Forsiuk @.***> wrote:

@joesid12 Thanks for raising the issue. Yes, the AppImage of the darktable release was built with auto-update information, although this was not intended to be supported. I will fix the build script so that future releases can be built without embedding incorrect information for auto-updaters.

As for auto-updating releases, I'm not convinced that it will improve anything. What does it give?

  • A slightly easier update for the lazy: no need to open the site and download the AppImage.
  • Some traffic savings, only the delta file is downloaded.

These are not such significant advantages, but nice little things for those who often update versions (ie users of nightly builds). For those who only update to release versions every six months, these small improvements do not outweigh the bad habit of lazily and thoughtlessly updating the program without reading the release notes.

-- Reply to this email directly or view it on GitHub: https://github.com/darktable-org/darktable/issues/17508#issuecomment-2381365145 You are receiving this because you were mentioned.

Message ID: @.***>

marc-fouquet commented 1 month ago

What exactly is not practical? Understand how the tool you use has changed, what are its new features or limitations? Do you prefer to work in it blindly?

Yes, I do update most of my software immediately when a new version is available (there are a few exceptions, but those don't matter for this discussion). I would also argue that if you don't, you might be doing something wrong.

These days, software updates are primarily a matter of security. Most updates to most software contain security fixes. Users without an IT background far too often skip updates, which puts their systems at risk.

You might say that this does not apply to Darktable, since it is a program with a low attack surface. But:
A. It is not completely impossible that Darktable might have to ship a an urgent security update at some point and
B. users can't tell which software is important to update and which is not. In days, when innocent compression libraries contain SSH backdoors, even security researchers can't tell.

This is why in my opinion all application developers have a responsibility to make updates as painless as possible for users.

The update situation on Linux is worse than ever before (and on Windows it is even worse, but don't get me started). In the past, you simply used applications from your distro's repository, but today lots of different package managers like snap, flatpak, brew, nix and language-specific tools like pip are needed. In my opinion, application developers should favour flatpaks, as these provide the closest thing to an app store experience for Linux.

However it seems like in reality most application developers prefer AppImages. This seems to be the case with Darktable as well, since AppImage is the default download option for Linux. These are a pain, because they need a 3rd party program to update AND EVEN THEN, some don't update due to arbitrary decisions by the application's developer.

Also note that making updates harder for the user does not achieve your goal. When I go to darktable.org, I click "install" and then the AppImage. There are no release notes to be found on these pages, only an FAQ and a red link to installation notes for Mac. I have to click "news" to find the release notes.

If you really care about users reading the release notes, show them in a dialog box when the user starts a new Darktable version for the first time.