Merge "ui: fix adding of uid tracks with duplicate uids" into main
diff --git a/ui/src/tracks/async_slices/index.ts b/ui/src/tracks/async_slices/index.ts
index 18883d9..49520a0 100644
--- a/ui/src/tracks/async_slices/index.ts
+++ b/ui/src/tracks/async_slices/index.ts
@@ -136,14 +136,22 @@
   async addUserAsyncSliceTracks(ctx: PluginContextTrace): Promise<void> {
     const {engine} = ctx;
     const result = await engine.query(`
+      with grouped_packages as materialized (
+        select
+          uid,
+          group_concat(package_name, ',') as package_name,
+          count() as cnt
+        from package_list
+        group by uid
+      )
       select
         t.name as name,
         t.uid as uid,
-        package_list.package_name as packageName,
         t.track_ids as trackIds,
-        __max_layout_depth(t.track_count, t.track_ids) as maxDepth
+        __max_layout_depth(t.track_count, t.track_ids) as maxDepth,
+        iif(g.cnt = 1, g.package_name, 'UID ' || g.uid) as packageName
       from _uid_track_track_summary_by_uid_and_name t
-      join package_list using (uid)
+      join grouped_packages g using (uid)
     `);
 
     const it = result.iter({