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) <noreply@anthropic.com>
This commit is contained in:
Guilhem
2026-10-15 16:36:38 +02:00
committed by GitHub
co-authored by Claude Opus 5.5
parent 6d76781d4e
commit 3bee9c9401
@@ -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<string | undefined>(undefined)
/** From the lite read too: a sandboxed low-code app never fills `app`. */
let summary = $state<string | undefined>(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}
<PageHeaderContent
item={{ kind: 'app', path }}
item={{ kind: 'app', path, summary }}
actions={showEdit && !menuHidden ? editAction : undefined}
separator="always"
/>