Split progress callbacks when an update has multiple backends#1246
Conversation
|
I can confirm this fixes the crash which is an improvement. It looks like there are issues where after updating, not everything reloads correctly; the OS updates was still showing the PackageKit updates as available even after they had been installed, for example. But since this fixes the crash, it's probably worth getting in and then addressing the other issue(s) separately. |
|
@cassidyjames in the updates list view, does the os updates "package" go below the up to date header but still has information about updates when you click it? Or, is it still under the x packages with updates header? |
|
@davidmhewitt dang, I didn't notice exactly where it showed up. It did say it had "x updates" and had an update button, and showed that update information when clicking it. |
|
I've just tried with another big batch of updates from the releases over the last couple of days and with a couple of smaller batches after downgrading some packages and I've been unable to reproduce the issue that @cassidyjames found. So I would agree that it's better to merge this now and fix the crash which we have tagged as a critical issue and then look out for the other issue afterwards. |
Fixes #1197
It seems the issue with AppCenter crashing when updating Flatpaks and Debs was when both were in the OS Updates "package".
When the first backend (PackageKit or Flatpak) finished, it emitted a "finished" state causing AppCenter to start cleaning up, but the other backend was still trying to report progress.
This fixes that by dividing the progress, so we get a progress bar that's 50/50 between the PackageKit and Flatpak backend and only emits the finished state on the last operation.