diff --git a/extensions/installedApps.test.ts b/extensions/installedApps.test.ts index 5a8c87859..d5d19735f 100644 --- a/extensions/installedApps.test.ts +++ b/extensions/installedApps.test.ts @@ -132,6 +132,9 @@ describe('installedApps extension — handleInstalledApps', () => { expect(list[0].uid).toBe(app!.uid); expect(list[0].name).toBe(app!.name); expect(list[0].title).toBe(app!.title); + // index_url is required so the dashboard can derive a hostname title + // for anonymous (app-…) apps. + expect(list[0].index_url).toBe(app!.index_url); expect(Object.prototype.hasOwnProperty.call(list[0], 'iconUrl')).toBe( true, ); diff --git a/extensions/installedApps.ts b/extensions/installedApps.ts index 9b3014897..62feae22f 100644 --- a/extensions/installedApps.ts +++ b/extensions/installedApps.ts @@ -49,6 +49,7 @@ export const handleInstalledApps = async ( apps.title, apps.description, apps.icon, + apps.index_url, MIN(perm.dt) AS installed_at FROM apps LEFT JOIN user_to_app_permissions AS perm ON apps.id = perm.app_id