feat: status-page iframe - #2077
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
Deploying openstatus-docs with
|
| Latest commit: |
a0a3351
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://6b8a904b.openstatus-1sy.pages.dev |
| Branch Preview URL: | https://feat-status-page-iframe.openstatus-1sy.pages.dev |
There was a problem hiding this comment.
1 issue found across 2 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/status-page/src/lib/iframe-params.ts">
<violation number="1" location="apps/status-page/src/lib/iframe-params.ts:44">
P2: This equality check is incorrect for arrays with duplicates; `every/includes` can return true for different section lists, causing false equality.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
1 issue found across 2 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/docs/src/content/docs/guides/how-to-embed-status-page-iframe.mdx">
<violation number="1" location="apps/docs/src/content/docs/guides/how-to-embed-status-page-iframe.mdx:83">
P2: This new caveat contradicts earlier docs that say embed mode hides the footer, making iframe behavior unclear. Clarify that the full footer is removed but attribution may still appear on non-whitelabel pages.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
|
@claude review |
|
Claude finished @mxkaske's task in 2m 57s —— View job PR Review: feat/status-page-iframe
|

Summary
Adds
?iframe=<sections>query param to embed status pages chromelessly in third-party sites.?iframe=title,banner,components,feed— comma-separated, case-insensitive. Empty value shows all sections.?theme=light|darkhonored only in iframe mode viaforcedTheme(no FOUC, no localStorage leak).target="_blank") to keep the embedding page's iframe intact.noindexviagenerateMetadatawhen iframe param is present.frame-ancestors *globally (per-page allowlist deferred to v2).Architecture
IframeShellwrapper setsdata-iframe+ inverteddata-hide-*flags on a root div.group-data-[hide-*=true]/iframe:hidden— no JS conditional rendering.useIframe()hook backed by a nuqscreateParserinlib/iframe-params.ts.createSearchParamsCacheforgenerateMetadata.common/link.tsxextended withunstyledvariant + embed-awaretarget="_blank"logic.ThemeProviderreads?iframe+?themevia nuqs, passesforcedThemeto next-themes.page.tsxsplit into server wrapper (generateMetadata) +client.tsx(body).Docs
New guide:
apps/docs/src/content/docs/guides/how-to-embed-status-page-iframe.mdx🤖 Generated with Claude Code