Repository navigation
fix(playground-url): embed SVG files as text in CLI share links - #1850
Merged
joshunrau merged 1 commit intoNov 5, 2026
Merged
Conversation
The playground holds an .svg as text, but the CLI grouped it with binary assets and left it out, so a link built from an instrument with an SVG logo rendered a broken image. Closes DouglasNeuroInformatics#1768
joshunrau
approved these changes
Nov 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1768
Problem
The playground keeps an
.svgfile as text (seeinferFileType/isBase64EncodedFileTypeinapps/playground/src/utils/file.ts). But theplayground-urlCLI treated.svgas a binary asset and skipped it. So a share link built from an instrument that imports an SVG (for exampleInteractive-With-React's React logo) showed a broken image.Change
cli.ts:.svgis now inTEXT_FILE_EXT_REGEXand out ofBINARY_FILE_EXT_REGEX, so the CLI embeds it as it is on disk. The skip warning now says the CLI leaves out binary assets to keep links short.$EditorFiledoc comment now say the same.Tests
cli.test.ts): a new test decodes the generated link and checks thatlogo.svgkeeps its exact content and that nothing is reported as skipped. It fails onmainand passes with this change (27/27).testing/src/specs/playground.spec.ts): a new test runs the built CLI onInteractive-With-Reactand opens the link. It clicks Begin and checks that theReact logoimage inside the instrument iframe is visible and has loaded (naturalWidth > 0). It passes on chromium with this change. Withmain'scli.ts, the instrument never loads and the test fails.pnpm lintpasses inplayground-url, andtscandeslintpass on the spec.Note: my machine's CPU has no AVX, so MongoDB can't run there. I ran the playground spec with a local Playwright config that starts only the playground web server and skips the API setup project. CI will run the full suite.