Blame SOURCES/gs-updates-page-keep-showing-installing-apps.patch

fa3848
diff -up gnome-software-3.36.1/lib/gs-plugin.c.1888404 gnome-software-3.36.1/lib/gs-plugin.c
fa3848
--- gnome-software-3.36.1/lib/gs-plugin.c.1888404	2021-05-24 13:50:34.302612057 +0200
fa3848
+++ gnome-software-3.36.1/lib/gs-plugin.c	2021-05-24 13:50:39.160609728 +0200
fa3848
@@ -1398,6 +1398,44 @@ gs_plugin_cache_lookup (GsPlugin *plugin
fa3848
 }
fa3848
 
fa3848
 /**
fa3848
+ * gs_plugin_cache_lookup_by_state:
fa3848
+ * @plugin: a #GsPlugin
fa3848
+ * @list: a #GsAppList to add applications to
fa3848
+ * @state: a #AsAppState
fa3848
+ *
fa3848
+ * Adds each cached #GsApp with state @state into the @list.
fa3848
+ * When the state is %AS_APP_STATE_UNKNOWN, then adds all
fa3848
+ * cached applications.
fa3848
+ *
fa3848
+ * Since: 3.36.1-8
fa3848
+ **/
fa3848
+void
fa3848
+gs_plugin_cache_lookup_by_state (GsPlugin *plugin,
fa3848
+				 GsAppList *list,
fa3848
+				 AsAppState state)
fa3848
+{
fa3848
+	GsPluginPrivate *priv;
fa3848
+	GHashTableIter iter;
fa3848
+	gpointer value;
fa3848
+	g_autoptr(GMutexLocker) locker = NULL;
fa3848
+
fa3848
+	g_return_if_fail (GS_IS_PLUGIN (plugin));
fa3848
+	g_return_if_fail (GS_IS_APP_LIST (list));
fa3848
+
fa3848
+	priv = gs_plugin_get_instance_private (plugin);
fa3848
+	locker = g_mutex_locker_new (&priv->cache_mutex);
fa3848
+
fa3848
+	g_hash_table_iter_init (&iter, priv->cache);
fa3848
+	while (g_hash_table_iter_next (&iter, NULL, &value)) {
fa3848
+		GsApp *app = value;
fa3848
+
fa3848
+		if (state == AS_APP_STATE_UNKNOWN ||
fa3848
+		    state == gs_app_get_state (app))
fa3848
+			gs_app_list_add (list, app);
fa3848
+	}
fa3848
+}
fa3848
+
fa3848
+/**
fa3848
  * gs_plugin_cache_remove:
fa3848
  * @plugin: a #GsPlugin
fa3848
  * @key: a key which matches
fa3848
diff -up gnome-software-3.36.1/lib/gs-plugin.h.1888404 gnome-software-3.36.1/lib/gs-plugin.h
fa3848
--- gnome-software-3.36.1/lib/gs-plugin.h.1888404	2021-05-24 13:50:34.302612057 +0200
fa3848
+++ gnome-software-3.36.1/lib/gs-plugin.h	2021-05-24 13:50:39.160609728 +0200
fa3848
@@ -102,6 +102,9 @@ gboolean	 gs_plugin_check_distro_id		(Gs
fa3848
 							 const gchar	*distro_id);
fa3848
 GsApp		*gs_plugin_cache_lookup			(GsPlugin	*plugin,
fa3848
 							 const gchar	*key);
fa3848
+void		 gs_plugin_cache_lookup_by_state	(GsPlugin	*plugin,
fa3848
+							 GsAppList	*list,
fa3848
+							 AsAppState	 state);
fa3848
 void		 gs_plugin_cache_add			(GsPlugin	*plugin,
fa3848
 							 const gchar	*key,
fa3848
 							 GsApp		*app);
fa3848
diff -up gnome-software-3.36.1/lib/gs-plugin-loader.c.1888404 gnome-software-3.36.1/lib/gs-plugin-loader.c
fa3848
--- gnome-software-3.36.1/lib/gs-plugin-loader.c.1888404	2021-05-24 13:50:34.302612057 +0200
fa3848
+++ gnome-software-3.36.1/lib/gs-plugin-loader.c	2021-05-24 13:50:39.159609728 +0200
fa3848
@@ -1273,7 +1273,7 @@ static gboolean
fa3848
 gs_plugin_loader_app_is_valid_updatable (GsApp *app, gpointer user_data)
fa3848
 {
fa3848
 	return gs_plugin_loader_app_is_valid (app, user_data) &&
fa3848
-		gs_app_is_updatable (app);
fa3848
+		(gs_app_is_updatable (app) || gs_app_get_state (app) == AS_APP_STATE_INSTALLING);
fa3848
 }
fa3848
 
fa3848
 static gboolean
fa3848
diff -up gnome-software-3.36.1/plugins/flatpak/gs-plugin-flatpak.c.1888404 gnome-software-3.36.1/plugins/flatpak/gs-plugin-flatpak.c
fa3848
--- gnome-software-3.36.1/plugins/flatpak/gs-plugin-flatpak.c.1888404	2021-05-24 13:50:34.310612054 +0200
fa3848
+++ gnome-software-3.36.1/plugins/flatpak/gs-plugin-flatpak.c	2021-05-24 13:50:39.161609727 +0200
fa3848
@@ -218,6 +218,7 @@ gs_plugin_add_updates (GsPlugin *plugin,
fa3848
 		if (!gs_flatpak_add_updates (flatpak, list, cancellable, error))
fa3848
 			return FALSE;
fa3848
 	}
fa3848
+	gs_plugin_cache_lookup_by_state (plugin, list, AS_APP_STATE_INSTALLING);
fa3848
 	return TRUE;
fa3848
 }
fa3848
 
fa3848
diff -up gnome-software-3.36.1/src/gs-updates-page.c.1888404 gnome-software-3.36.1/src/gs-updates-page.c
fa3848
--- gnome-software-3.36.1/src/gs-updates-page.c.1888404	2021-05-24 13:50:39.161609727 +0200
fa3848
+++ gnome-software-3.36.1/src/gs-updates-page.c	2021-05-24 13:51:00.211599638 +0200
fa3848
@@ -139,7 +139,8 @@ gs_updates_page_invalidate (GsUpdatesPag
fa3848
 static GsUpdatesSectionKind
fa3848
 _get_app_section (GsApp *app)
fa3848
 {
fa3848
-	if (gs_app_get_state (app) == AS_APP_STATE_UPDATABLE_LIVE) {
fa3848
+	if (gs_app_get_state (app) == AS_APP_STATE_UPDATABLE_LIVE ||
fa3848
+	    gs_app_get_state (app) == AS_APP_STATE_INSTALLING) {
fa3848
 		if (gs_app_get_kind (app) == AS_APP_KIND_FIRMWARE)
fa3848
 			return GS_UPDATES_SECTION_KIND_ONLINE_FIRMWARE;
fa3848
 		return GS_UPDATES_SECTION_KIND_ONLINE;