Hi
everyone,
I’ve been trying to understand how cancellation works for Flatpak operations (especially installs via app stores like GNOME Software, Discover, Warehouse, etc.), and I’m a bit unclear on the current behavior and future direction.
From what I can tell:
-
If you cancel during the download phase, things are usually fine.
-
But if you cancel during installation, you may be left with partially installed dependencies or updated runtimes.
-
Frontends don’t seem to have a reliable way to safely “undo” an in-progress install.
This made me wonder:
-
How does cancellation actually work today at the Flatpak level?
Is there any official guidance for frontends on what they can safely do when a user hits “Cancel”? -
Is there any plan or ongoing discussion around transactional installs?
By that I mean an approach where:-
An install/update is treated as a transaction
-
Canceling mid-operation can safely roll back to the previous state
-
Frontends could confidently offer cancel/pause/undo without risking inconsistent state
-
I’m not asking for a feature request here so much as trying to understand:
-
The current design philosophy
-
Whether transactional behavior is something the project wants long-term
-
And if there are existing issues, roadmaps, or design discussions around this topic
Thanks in advance — and thanks for all the work on Flatpak and Flathub!