How does canceling downloads/installations currently work in Flatpak? Any plans for transactional installs?

Jan 28, 2026 Closed
S

Hi :waving_hand: 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:

  1. 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”?

  2. 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!

R

It would be helpful to explain, why you think, that cancelling while installing leaves traces.

How do you reproduce that? What are the symptoms, logs, etc.

S
Replying to #2

To clarify, I’m not saying Flatpak is definitely leaving broken state after canceling.

This came up from a frontend issue (see the exact comment here: Cancel mid-installation button · Issue #228 · pop-os/cosmic-store · GitHub ) where the install cancel feature was discussed and someone mentioned it might be tricky because of how deps are downloaded/installed.

So my real question is just about how Flatpak itself currently handles a canceled install:

  • Are there any internal guarantees if an install is interrupted?
  • Is it safe for frontends to expose cancel during install?
  • Or is there any plan or discussion around transactional install semantics (where cancel can fully rollback changes)?

I’m just trying to understand the design, not reporting a specific bug.

Thanks!

Y

In that case, you should open this issue to the Flatpak developers: Flatpak · GitHub

They are very similar people, but Flathub is a website that provides Flatpaks.

S
Replying to #4

Thanks. i will check there.