Skip to content

flatpak: Allow per-operation interactive state

To ensure multiple operations can happen in parallel on the plugin, each with a separate interactivity state, keep two FlatpakInstallation objects around for each GsFlatpak. One is interactive, the other is non-interactive.

Execute interactive operations on the interactive one, and vice-versa.

This is necessary because FlatpakInstallation doesn’t provide a per-method ‘interactive’ argument. It only has a single interactive state for the entire object. That can’t change without significant new API in libflatpak (or API breaks).

Based on work by Milan Crha.

Signed-off-by: Philip Withnall

Fixes: #1645 (closed)

Merge request reports