packagekit: Check app's management plugin also by the plugin name
The packagekit plugin is split into subplugins, where each is
a different instance, but the code expects to work on GsApp-s
created by a different subplugin, where the compare on the plugin
instance address does not work.
fd57a65...
by
Tobias Bernard <email address hidden>
Merge branch '1554-more-informative-os-updates-row' into 'main'
This covers three changes:
* rename the "OS Updates" to the "System Updates"
* change the summary of the update
* show the summary in the app row of the Updates page
45a6485...
by
Philip Withnall <email address hidden>
gs-flatpak: Fix a minor race condition
It’s possible for the `installed_refs` array to be cleared, and its
elements freed, once the mutex is unlocked. That would leave a brief
window in which `xref` points to a just-freed object.
Fix that by grabbing a strong ref on `xref` before releasing the mutex.
Signed-off-by: Philip Withnall <email address hidden>
6b3ceb2...
by
Philip Withnall <email address hidden>
gs-flatpak: Ensure installed GsApps are marked as such at creation time
It seems it’s possible for a `GsApp` to be in the cache when
`create_installed()` is called, with a state of `AVAILABLE`. That
prevents the app from being marked as `INSTALLED`, even though
`create_installed()` is only called from places where we know the app is
installed.
This points to some kind of missing cache invalidation/update when an
app goes from available → installed, but I have not managed to track it
down.
Signed-off-by: Philip Withnall <email address hidden>
530d8ec...
by
Philip Withnall <email address hidden>
gs-plugin: Drop gs_plugin_setup() and GS_PLUGIN_ACTION_SETUP
All the plugins now use `setup_async` and `setup_finish` vfuncs instead.
Signed-off-by: Philip Withnall <email address hidden>
Helps: #1472
22475f1...
by
Philip Withnall <email address hidden>
gs-plugin-loader: Call async shutdown functions on plugins
Signed-off-by: Philip Withnall <email address hidden>
Helps: #1472
50f24e9...
by
Philip Withnall <email address hidden>
gs-plugin-loader: Call async setup functions on plugins
If a plugin implements an async setup function, call it.
Signed-off-by: Philip Withnall <email address hidden>