Skip to content

DL-218

The owned RigelBuild/solid-markdown fork adopts upstream andi23rosca/solid-markdown #44 (the react-markdown-10 API rewrite — a third-party draft, upstream effectively inactive on it) + #45 (the bundle-deps jsdom-compat fix), re-ported to Solid 2 via a fork-local src/jsx-runtime.ts jsx/jsxs/Fragment triple over createComponent/merge + @solidjs/web Dynamic (solid-jsx dropped as Solid-1-bound), published as a clean @rigelbuild/solid-markdown@3.0.0 (no -rigel.N suffix — the fork is ours and sets its own versions); this retires the fork’s in-repo AST renderer in favor of the maintained hast-util-to-jsx-runtime. The apps/ui consumer injects @mention chips via a consumer-side rehype plugin over the existing mentionRuns splitter (the removed text component override), derives inline-vs-block code structurally via a pre/code override split (the removed inline prop), keeps renderingStrategy="reconcile" (un-deprecated in the owned fork), and adds a synchronous consumer-side (lang, code) highlight cache that CodeBlock reads at initial render (seeding highlighted HTML and bypassing the debounce + async createResource on a hit) to suppress the code-highlight flash caused by #44’s per-tick component teardown (accepting marginal within-stream selection loss; the fine-grained-walker re-port is the escalation if it bites). Supersedes DL-208’s solid-markdown clause ONLY (no-algorithmic-rewrite/no-in-repo-AST-renderer) — DL-208’s @tanstack/solid-virtual clause and its org-wide fork-externalization stance stay Active

Status: Active (Matt, 2026-08-19)

Record: ../../ui/compass-ui-markdown-react10/design.md#approach