From 3bee9c94012474b7bb230d719fa34df0c0a6c25e Mon Sep 17 00:00:00 2001 From: Guilhem Date: Thu, 15 Oct 2026 16:36:38 +0200 Subject: [PATCH] fix: show the app's summary in the app viewer's page header (#11782) The viewer registered its header item with the path only, so a deployed app's summary never reached the band. It is read from the lite app endpoint the viewer already calls, which also covers sandboxed low-code apps whose content loads in an iframe. Co-authored-by: Claude Opus 5.5 (1M context) --- .../lib/components/apps/editor/InWorkspaceAppViewer.svelte | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte b/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte index fe915e7ede..2f94e086ad 100644 --- a/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte +++ b/frontend/src/lib/components/apps/editor/InWorkspaceAppViewer.svelte @@ -83,6 +83,8 @@ * where the lite payload carries it; the flat field beside it is the apps *list* row's * spelling (ListableApp, which is what AppRow reads). */ let executionMode = $state(undefined) + /** From the lite read too: a sandboxed low-code app never fills `app`. */ + let summary = $state(undefined) let editHref = $derived(`/${isRawApp ? 'apps_raw' : 'apps'}/edit/${path}?nodraft=true`) let refresh: (() => void) | undefined @@ -176,8 +178,10 @@ appPerms = { path: lite?.path ?? path, extraPerms: lite?.extra_perms ?? {} } isRawApp = !!lite?.raw_app executionMode = lite?.policy?.execution_mode ?? lite?.execution_mode + summary = lite?.summary || undefined } catch (_) { appPerms = undefined + summary = undefined } } @@ -267,7 +271,7 @@ no item, and the breadcrumb would fall back to the section name "Apps". --> {#if ownsPageHeader}