Skip to content

feat(docs): share playground links through @vite-hub/ui/playground - #393

Merged
vite-hub[bot] merged 10 commits into
mainfrom
feat/shared-playground-links
Nov 13, 2026
Merged

vite-hub[bot] merged 10 commits into
mainfrom
feat/shared-playground-links

Conversation

@onmax

@onmax onmax commented Nov 9, 2026

Copy link
Copy Markdown
Owner

comark-ui had its own playground link format in three places: docs/play-link.ts, an inline copy in docs/studio.ts, and the gallery's edit param. vitehub.dev and glosa each had another one. A link from one site could not open in the other.

This switches all of them to @vite-hub/ui/playground from vite-hub/vitehub#3744. The playground state is now files: content.md, plus config.json and theme.json only when they are not the defaults. Each preset is a template, so an unedited preset link is about 30 characters (/play#code=q1YqUbJSKklMKtYFEUq1AA), and an edited preset keeps its Reset button when you reopen the link. Docs examples and the studio write template-less links with only content.md. Gallery edits go in ?code= with the same codec: one <id>.md per changed cell and added.json for copies.

Old #md=, #preset=, #config=, #theme= and ?edit= links no longer open. An old #md= link now shows the first preset. I updated the six /play/#preset= links in the package pages.

pack, unpack, and the studio copy are gone. playable stays in docs/play-link.ts. docs/play-links.ts now decodes each #code= link with the presets as templates and parses it with the link's config.

@vite-hub/ui is pinned to the pkg.pr.new build of #3744 (0fe50ee). The other @vite-hub/* packages stay on the hosted Console stack (2707919), because that stack is not on main and #3744 is. The lockfile changes only by the @vite-hub/ui entry. Once vite-hub/vitehub#3744 merges, move the pin to a release or main.

Checks:

  • test/links.test.ts: 13 passed. With packages built, all three links.test.ts files: 45 passed.
  • pnpm docs:build: passed, and it checked the links of 413 pages.
  • node docs/play-links.ts: opened 472 playground states from 493 links, with no problems.
  • pnpm typecheck and pnpm --filter comark-ui-docs typecheck: passed.
  • vp lint and vp fmt --check on the changed files: clean.
  • pnpm install --frozen-lockfile: passed.
  • Headless Chromium on the built site: a #code= link shows its Markdown, a preset link shows the preset, #code=garbage shows "The link's Markdown is cut off or changed.", an edit rewrites the hash and reopens with Reset visible, and /play/gallery?code=… applies an edited cell and adds a copy. No page errors.

I did not run pnpm ready or the e2e suite, and I did not check the deployed site.

@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-09T07:53:55.817306Z
We couldn’t complete this review. Comment @codex review to try again.
7297ff0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found. No P0 or P1 finding remains.

Reviewed changes across the playground, generated docs links, component gallery sharing, link validation, dependency pin, and updated package-page links.

  • Shared playground codec — Replaced the private deflate/base64 state with @vite-hub/ui/playground files, hashes, URLs, and preset templates.
  • Playground restoration — Loads shared Markdown, config, theme, and preset identity while preserving the existing untouched-preset behavior and reset flow.
  • Gallery sharing — Encodes changed cells and added-copy metadata through the shared codec in the gallery query string and replays them on load.
  • Generated links and validation — Builds shared links for docs examples, the landing studio, preset cards, and gallery actions, then decodes and parses them during built-doc validation.
  • Dependency and docs migration — Pins the ViteHub UI build that exports the codec and migrates the remaining package-page preset links to #code=.

Pullfrog  | View workflow run | Using gpt-5.6-sol | 𝕏

@pkg-pr-new

pkg-pr-new Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

comark-annotate

pnpm add https://pkg.pr.new/comark-annotate@393

comark-badge

pnpm add https://pkg.pr.new/comark-badge@393

comark-cards

pnpm add https://pkg.pr.new/comark-cards@393

comark-carousel

pnpm add https://pkg.pr.new/comark-carousel@393

comark-cast

pnpm add https://pkg.pr.new/comark-cast@393

comark-charts

pnpm add https://pkg.pr.new/comark-charts@393

comark-chat

pnpm add https://pkg.pr.new/comark-chat@393

comark-chips

pnpm add https://pkg.pr.new/comark-chips@393

comark-cjk

pnpm add https://pkg.pr.new/comark-cjk@393

comark-code

pnpm add https://pkg.pr.new/comark-code@393

comark-code-notes

pnpm add https://pkg.pr.new/comark-code-notes@393

comark-colors

pnpm add https://pkg.pr.new/comark-colors@393

comark-comments

pnpm add https://pkg.pr.new/comark-comments@393

comark-critic

pnpm add https://pkg.pr.new/comark-critic@393

comark-deflist

pnpm add https://pkg.pr.new/comark-deflist@393

comark-details

pnpm add https://pkg.pr.new/comark-details@393

comark-diagrams

pnpm add https://pkg.pr.new/comark-diagrams@393

comark-diff

pnpm add https://pkg.pr.new/comark-diff@393

comark-embed

pnpm add https://pkg.pr.new/comark-embed@393

comark-fields

pnpm add https://pkg.pr.new/comark-fields@393

comark-figure

pnpm add https://pkg.pr.new/comark-figure@393

comark-file-tree

pnpm add https://pkg.pr.new/comark-file-tree@393

comark-footnotes

pnpm add https://pkg.pr.new/comark-footnotes@393

comark-github

pnpm add https://pkg.pr.new/comark-github@393

comark-icon

pnpm add https://pkg.pr.new/comark-icon@393

comark-include

pnpm add https://pkg.pr.new/comark-include@393

comark-keys

pnpm add https://pkg.pr.new/comark-keys@393

comark-links

pnpm add https://pkg.pr.new/comark-links@393

comark-linter

pnpm add https://pkg.pr.new/comark-linter@393

comark-magic-move

pnpm add https://pkg.pr.new/comark-magic-move@393

comark-mark

pnpm add https://pkg.pr.new/comark-mark@393

markdown-it-to-comark

pnpm add https://pkg.pr.new/markdown-it-to-comark@393

marked-to-comark

pnpm add https://pkg.pr.new/marked-to-comark@393

comark-mathml

pnpm add https://pkg.pr.new/comark-mathml@393

comark-media

pnpm add https://pkg.pr.new/comark-media@393

comark-metrics

pnpm add https://pkg.pr.new/comark-metrics@393

migrate-to-comark

pnpm add https://pkg.pr.new/migrate-to-comark@393

comark-outline

pnpm add https://pkg.pr.new/comark-outline@393

comark-properties

pnpm add https://pkg.pr.new/comark-properties@393

comark-qr

pnpm add https://pkg.pr.new/comark-qr@393

comark-quiz

pnpm add https://pkg.pr.new/comark-quiz@393

comark-reading-time

pnpm add https://pkg.pr.new/comark-reading-time@393

remark-to-comark

pnpm add https://pkg.pr.new/remark-to-comark@393

comark-sources

pnpm add https://pkg.pr.new/comark-sources@393

comark-steps

pnpm add https://pkg.pr.new/comark-steps@393

comark-table

pnpm add https://pkg.pr.new/comark-table@393

comark-tabs

pnpm add https://pkg.pr.new/comark-tabs@393

comark-tests

pnpm add https://pkg.pr.new/comark-tests@393

comark-time

pnpm add https://pkg.pr.new/comark-time@393

comark-ui

pnpm add https://pkg.pr.new/comark-ui@393

comark-xref

pnpm add https://pkg.pr.new/comark-xref@393

comark-zoom

pnpm add https://pkg.pr.new/comark-zoom@393

commit: e209869

@vite-hub

vite-hub Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor
Session Status Started Duration
Pending Completed Not started —

Latest result

Pull request merged.

Final answers

Session

Pull request merged.

Session

Waiting for GitHub merge request 5ab07dd2-e62f-4fe9-9687-be0fa6f9fa32.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

Session

Pushed e209869, resolving conflicts with main’s PlaygroundRender migration. Frozen installation, focused lint, formatting, and codec round trips passed. Package builds hit pnpm’s automatic reinstall failure; docs-scoped tests found no files. The clean final tree matches main. Pullfrog: no valid findings. Awaiting hosted CI.

@pullfrog

pullfrog Bot commented Nov 9, 2026

Copy link
Copy Markdown

Your Custom account has hit its usage limit. Raise the limit with the provider, or re-trigger once it resets.

Custom's response
provider error: The usage limit has been reached (429)

Connect a provider → · Pick another model →

Pullfrog  | Rerun failed job ➔ | View workflow run | via Pullfrog | Using gpt-5.6-sol

@pullfrog

pullfrog Bot commented Nov 9, 2026

Copy link
Copy Markdown

No configured credential can serve this run. Your ChatGPT subscription has hit its usage limit, which resets at 2026-11-13 17:11 UTC. Re-trigger after it resets, or add an API key for this provider, which Pullfrog falls back to automatically.

The providers' responses
CODEX_AUTH_JSON: the ChatGPT plan's usage limit is reached

Pick another model →

Pullfrog  | Rerun failed job ➔ | View workflow run | via Pullfrog | Using gpt-6.1-sol

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found. No P0 or P1 finding remains.

Reviewed changes since the prior review at 7297ff0, focusing on the playground codec's reconciliation with the shared design-system build and canonical URLs.

  • Isolated the playground codec — Routed the browser playground, gallery, build-time links, and link validator through @vite-hub/ui-playground/playground, retaining codec build 0fe50ee.
  • Preserved the shared design system — Kept the main UI and Console dependencies on 4cd1f4cd, added the separate catalog/lockfile alias, and documented when to remove it.
  • Reconciled canonical links — Preserved /play#code=… links across the merges from main, including the studio, package pages, and link-checker fixtures.

Validation passed: frozen dependency installation, workspace build and typecheck, all 44 link tests, playground asset generation, browser-target bundling, and round trips for all 132 presets and their standalone example links. Full Nuxt generation and browser interaction tests were not repeated.

Pullfrog  | View workflow run | Using gpt-6.1-sol(xhigh) | 𝕏

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found. No P0 or P1 finding remains.

Reviewed changes since the prior substantive review at d31ec7e, focusing on the dependency reconciliation in ee37915; the intervening base-only merges did not change the PR's behavior.

  • Reconciled ViteHub dependencies — Preserved main's 869db474 packages and overrides while retaining the isolated 0fe50ee playground codec alias.
  • Regenerated the codec dependency graph — Updated the alias's lockfile snapshot against the current workspace without changing playground or gallery application code.

Validation passed: frozen installation, workspace build and typecheck, all 44 link tests, browser-target playground/gallery bundling, and codec round trips for standalone links, presets, edited presets, config/theme state, and gallery copies. Full Nuxt generation and browser interaction tests were not repeated.

Pullfrog  | View workflow run | Using gpt-6.1-sol(xhigh) | 𝕏

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found. No P0 or P1 finding remains.

Reviewed changes since the prior review at ee37915, scoped to the playground codec's dependency reconciliation in e7659e4 rather than unrelated changes merged from main.

  • Reconciled ViteHub dependencies — Preserved current main's bc43707 packages and overrides while retaining the isolated 0fe50ee playground codec alias.
  • Regenerated the codec dependency snapshot — Resolved the alias's comments and web-container dependencies against the current build without changing playground or gallery application code.

Validation passed: frozen installation, workspace build and typecheck, all 44 link tests, browser-target playground/gallery bundling, 20 cross-version codec round trips, and decoding of all six static preset links. Both browser bundles include only the isolated codec, not the older UI runtime. Full Nuxt generation and browser interaction tests were not repeated.

Pullfrog  | View workflow run | Using gpt-6.1-sol(xhigh) | 𝕏

@vite-hub
vite-hub Bot merged commit c9ddb32 into main Nov 13, 2026
6 checks passed
@vite-hub
vite-hub Bot deleted the feat/shared-playground-links branch November 13, 2026 13:26
@github-actions github-actions Bot mentioned this pull request Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant