From 171ed4541069ce4a9aae5136e5d93544053bfc59 Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Thu, 6 Aug 2026 19:30:08 -0700 Subject: [PATCH] fix(files): render HTML files shared via a public file link The public share page rooted on `.desktop-title-bar-page`, which sets only `min-height: 100vh`. Without a definite height, `h-full` on every descendant of `
` resolved to `auto` -> 0. `HtmlPreview` gates its sandboxed iframe on a measured non-zero container, so it silently never mounted and the page rendered a blank area under the header. Other read-only branches survived because their content has intrinsic height. Give the public page root a definite height, and make the read-only preview chain flex-based so it fills its parent instead of depending on an ancestor's definite height. `text-editor`'s preview pane becomes a flex column for the same reason -- it is `HtmlPreview`'s other parent. --- apps/sim/app/f/[token]/public-file-view.tsx | 4 ++-- .../files/components/file-viewer/file-viewer.tsx | 7 ++++--- .../files/components/file-viewer/preview-panel.tsx | 10 +++++----- .../files/components/file-viewer/text-editor.tsx | 5 ++++- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/apps/sim/app/f/[token]/public-file-view.tsx b/apps/sim/app/f/[token]/public-file-view.tsx index d9da924dfce..95b8ff6a930 100644 --- a/apps/sim/app/f/[token]/public-file-view.tsx +++ b/apps/sim/app/f/[token]/public-file-view.tsx @@ -66,9 +66,9 @@ export function PublicFileView({ ) return ( -
+
-
+
{!brand.logoUrl && ( <> diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/file-viewer.tsx b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/file-viewer.tsx index ee7919c357c..fe61b735738 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/file-viewer.tsx +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/file-viewer.tsx @@ -284,11 +284,12 @@ const ReadOnlyTextPreview = memo(function ReadOnlyTextPreview({ const resolvedError = resolvePreviewError((error as Error | null) ?? null, null) if (resolvedError) return - if (isLoading || content == null) return + if (isLoading || content == null) + return if (resolvePreviewType(file.type, file.name)) { return ( -
+
+
         {content}
       
diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/preview-panel.tsx b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/preview-panel.tsx index 764349c42ad..7a0041a4285 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/preview-panel.tsx +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/preview-panel.tsx @@ -200,7 +200,7 @@ const HtmlPreview = memo(function HtmlPreview({ content }: { content: string }) }, []) return ( -
+
{isRenderable && (