-
-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install PackageKit based Operating System Updates as Offline Updates #1943
Conversation
Alright, so I thinking about this, probably the smallest change to the UI would be to add another header that's like "Waiting to Install" or something and list the apps there that have been downloaded but not installed yet and on the header have a button "Restart and Install" similar to how we have the "Update All" button. And then I think we probably need to change the labels on the buttons for non-flatpak packages from "Update" to "Download" so that it's more clear which ones will be installed immediately and which ones will be installed after restarting. And then from there I think we can iterate on doing a more complicated redesign after the feature lands, but that sounds to me like the smallest change to make it usable. What do you think? |
All packages provided by PackageKit are grouped as "Operating System Updates". The button label is changed to "Download". If the packages are downloaded and prepared for update on next boot by PackageKit a info is shown that "A restart is required to finish installing updates". This was accomplished by extending existing logic. Peek.2022-12-21.14-52.mp4After you prepared "Operating System Updates", closed and opened AppCenter again, the info is shown again that a restart is required. If you restart your device the packages will be installed during boot like shown here by the early Operating Upgrade Protoype: https://youtu.be/RRN05MwFJ5Y?t=415 |
@danirabbit I would love to get feedback from you. A few more things you could look out for in the review:
|
As far as I can tell this worked exactly as expected, nice job! I can confirm that there's no label like "Installing Updates" on the plymouth screen. It looks like the patch we used in Focal was built for Jammy, so I can make sure that gets done: elementary/os-patches#240 I think in a future branch we should probably rework that OS Updates page not to use an AppInfoView so we can do something more appropriate like GNOME Software with the list of additions/removals/upgrades, but I agree that can wait for another branch |
0c03516
to
94e2327
Compare
This reverts commit 94e2327.
My bad, so actually we need the changes I tried to remove in 94e2327. These are responsible for checking to see if packages are ready for an update, if they are, it will indicate that a reboot is necessary. Currently we do not use the returned list of packages. However, it should be very useful for follow-up PRs. |
I'm building Plymouth now, it looks like we carried a patch last release to set fonts, so I bet the text didn't show because we're missing the Ubuntu font: https://code.launchpad.net/~elementary-os/+recipe/plymouth-jammy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One issue I discovered here is that if I click "Download" and let that finish, then either close AppCenter and reopen it, or click the "Check for Updates" menuitem, the Operating system updates row will appear again with the download button and the Restart infobar will disappear even though we've already downloaded those updates
@danirabbit thanks for your review. PackageKit deletes all information about offline update actions and prepared updates (stored in "Download" ⟶ "Check for Updates"Peek.2022-12-23.08-54.mp4"Download" ⟶ Reopen AppCenterPeek.2022-12-23.08-55.mp4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! I say we go ahead and get this in so we can keep iterating on it and get wider testing etc :)
No description provided.