The /webview page embeds supplier portals in an iframe. When the
target sets X-Frame-Options: DENY or frame-ancestors 'none' the
browser silently renders a blank iframe with no visible signal
to the operator that the load failed — the page just looks empty
and it's not obvious whether the portal is down or whether the
operator is hitting an embed restriction.
Surface the most common cause up-front:
- Server-side HEAD probe before render: fetches the target URL
with `redirect: "manual"` and a 5s timeout. The probe bypasses
browser frame restrictions (it's a server-to-server call) and
reports the raw HTTP status, including 302 redirects (counted
as `ok` since suppliers often gate their portals behind a
login redirect).
- Status badge in the header next to the URL: green dot +
`up (200)` when reachable, amber dot + `HTTP <status>` for
non-2xx, amber dot + `unreachable` on network / timeout
failures. Title attribute carries the full probe detail.
- Banner placeholder inside the iframe container when JS is
disabled (defensive — the existing iframe is JS-required).
The badge gives the operator an immediate "is this a portal
problem or an embed problem?" answer before they spend time
clicking around inside the iframe.
Co-authored-by: Orca <help@stably.ai>
Lightweight dashboard view surfaced under the 'Other' sidebar group
for client-facing use cases that need a stripped-down WFDash
surface (e.g. embed iframe, kiosk mode).
Co-authored-by: Orca <help@stably.ai>