gitbutlerapp / gitbutler

The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
https://gitbutler.com
Other
11.55k stars 466 forks source link

Failed update created dozens of "App update failed" toast notifications. #4216

Open charlesjhill opened 1 week ago

charlesjhill commented 1 week ago

Version

0.12.6

Operating System

Linux

Distribution Method

deb (Linux)

Describe the issue

I tried to update via in the modal popup, but this failed because I have a deb install, and only AppImage-based distributions can be automatically updated. The app shows a helpful notification toast explaining this. However, it opened many dozen such notifications:

image

Either the app should open one such error toast, or it would be tolerable if there was a "dismiss all" button available to close all the toasts at once.

How to reproduce

  1. Install via deb an older version of GitButler (I have 0.12.6)
  2. Hit the "update" button on the modal informing users there is a new version.

Expected behavior

I would expect there to be one error popup sharing the information that in app updates only work for AppImage-based installs.

I would separately appreciate a dismiss all button for notifications.

Relevant log output

No response

Byron commented 1 week ago

Thanks a lot for reporting!

Does it open these notifications instantly, or did these open over time while the application was unattended? Even after staring at the component driving this I couldn't see how it would go into a loop, so it seems the tauri method to install updates might be involved for sending too many failure events. But even that would make no sense to me so I am puzzled.

Regarding the Dismiss All button, personally I'd hope there is never more than one or two errors on screen, and even then they shouldn't be so common that optimizing the process is necessary. Let's fix them at their source.

charlesjhill commented 1 week ago

Thanks a lot for reporting!

Does it open these notifications instantly, or did these open over time while the application was unattended? Even after staring at the component driving this I couldn't see how it would go into a loop, so it seems the tauri method to install updates might be involved for sending too many failure events. But even that would make no sense to me so I am puzzled.

They opened in a very brief amount of time, say, a second or two. I can try to reproduce locally? Would collecting logs or something similar be helpful?

Regarding the Dismiss All button, personally I'd hope there is never more than one or two errors on screen, and even then they shouldn't be so common that optimizing the process is necessary. Let's fix them at their source.

Makes sense to me :+1:

Byron commented 1 week ago

They opened in a very brief amount of time, say, a second or two. I can try to reproduce locally? Would collecting logs or something similar be helpful?

Thanks for offering, I think some logs could give some insights on where exactly the error is coming from along with timings, as right now I am certainly more guessing than knowing.