feat: HTML file cards should render inline in chat like the Markdown preview
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- html
- Domain
- frontend
Research direction
Start by locating the chat file-card renderer for Markdown and the existing HTML full-screen preview that uses the /api/workspace/files/serve/<path> endpoint. Add the inline HTML card with a capped, scrollable sandboxed iframe and a cache-busting URL, while preserving expansion to the full-screen view; verify it with a self-contained HTML file.
Written by the indexing model from the issue text.
Description
Hello,
HTML files displayed in chat only appear as a "click to open" card, while Markdown files render directly inline, so viewing a generated report requires an extra tap and a full-screen context switch.
Current behavior
.mdfile cards render their content directly in the chat message..htmlfile cards only open a separate full-screen preview view (iframe + toolbar) when tapped.
Desired behavior
- Render the HTML document inline in the chat card: height-capped (e.g. 300–400 px), internally scrollable, and rendered in a sandboxed iframe pointing at the existing
/api/workspace/files/serve/<path>endpoint. - The existing full-screen preview view stays available as a secondary action (e.g. an "expand" affordance on the inline card).
- Include a cache-busting parameter in the inline iframe URL so the preview always reflects the current file.
Acceptance criteria:
-
.htmlfile cards render the document inline (height-capped, scrollable) without an extra tap. - Tapping the inline card (or an explicit expand button) opens the existing full-screen preview.
- The inline iframe uses a cache-busting URL parameter.
- Behavior is verified for a self-contained HTML file.
Thanks for considering this. It would make HTML artifacts (reports, dashboards, generated documents) as glanceable as Markdown, especially on mobile.
Best regards,
Joshua Krimmer
- Dominant language
- Python
- Stars
- 620
- Forks
- 85
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from open-webui/computer
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
open-webui/computer#293 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
open-webui/computer#286 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
open-webui/computer#276 · 1 comment · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
open-webui/computer#271 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
open-webui/computer#269 · 1 comment ·
All issues in open-webui/computer
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
BasedHardware/omi#20271 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
openai/openai-cookbook#3153 ·
Maintainers usually reply within 1 day
-
cvss-severity:high devguard l3montree-cybersecurity/devguard/devguard pkg:golang/github.com/l3montree-dev/devguard risk:low state:open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
l3montree-dev/devguard#3146 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
bug confirmed issue
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
open-webui/open-webui#31849 · 2 comments ·
Maintainers usually reply within 1 day