ferdium / ferdium-app

All your services in one place, built by the community
https://ferdium.org
Apache License 2.0
2.66k stars 164 forks source link

Unable to update to 6.7.3 #1730

Closed supersonicsjm closed 1 month ago

supersonicsjm commented 1 month ago

Avoid duplicates

Ferdium Version

6.7.2

What Operating System are you using?

Ubuntu

Operating System Version

Ubuntu 22.04

What arch are you using?

x64

Last Known Working Ferdium version

6.7.2

Expected Behavior

When I click "Restart and Update" the program should restart with 6.7.3 installed.

Actual Behavior

The program closes the main window and nothing happens for an incredibly long time. The Ferdium icon is still showing on my toolbar suggesting it's still open. Manually closing Ferdium and reopening it doesn't update either and there's nothing showing on Flatpak (the method with which I installed Ferdium) to suggest there's an update available.

Steps to reproduce

  1. Open Ferdium
  2. Observe as a prompt at the bottom asks to "Restart and Update".
  3. Click the button to trigger the update
  4. Observe as the main window closes and nothing happens after that.

Debug link

No response

Screenshots

No response

Additional information

No response

Alphrag commented 1 month ago

Hi @supersonicsjm, I don't know exactly how the module electron-builder that we use to bundle ferdium, recognises a flatpak. My understanding is that it probably assumes it to be installed through dpkg using the .deb file, but then fails to obtain the actual rights to update because it runs in the flatpak environment, which is why it closes the window, but does not actually quit the app (since that step only happens at the last moment of the update to apply it after it has been installed). I don't know exactly how we could verify whether the app is installed through flatpak in order to change the updating banner, but if you feel like digging around, we'll be happy to get a PR on that and look at it.

Currently, the way for you to get the update is to wait for https://github.com/flathub/org.ferdium.Ferdium/pull/55 to be merged. We don't have the direct control of this, so you need to wait for the maintainer of that repo to merge it :slightly_smiling_face:

alexhaydock commented 1 month ago

To give users the best experience, it might be worth looking at how Discord, another Electron-based Flatpak, is handling this:

https://github.com/flathub/com.discordapp.Discord/blob/master/disable-breaking-updates.py

As you can see from the above, the Discord Flatpak includes a script to set the value of SKIP_HOST_UPDATE to True in the settings.json file.

I'm sure it wouldn't be too much trouble to add a similar mechanism to the Ferdium Flatpak, but this does rely on there being some functionality on the Ferdium side to configure the app somehow to skip showing the update prompt. If that can be achieved then end-users of the Flatpak can be spared the experience of trying to 'Restart to Update' in a scenario where the update won't be able to succeed.