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({