v0.7.0
Minor Changes
-
ee75c8d: Embeddable viewer engine —
mountViewer(el, host)(newsideshow/viewer-embedexport) lets a host app embed the viewer. Self-hosted is unchanged. -
a4033cf: Embedders can override the empty-board and sidebar-footer regions via named
<slot>s. Self-hosted markup is unchanged. -
91db9a3: Support deployments mounted below an origin root.
-
3f45e76: New
jsonandcodepart kinds for surfaces.json— a JSON value rendered natively as a collapsible tree (objects/arrays expand on click, type-colored primitives). Like image/trace it's data, not markup, so no sandbox is needed.code— source highlighted with shiki in a sandboxed iframe, with line numbers, an optional filename header, and a copy button.lineStartshows original line numbers for excerpts. CLI:sideshow code app.ts --title "app.ts" --line-start 80.
Also extracts the shared shiki highlighter into
viewer/src/highlight.ts. -
ddbfab2:
SIDESHOW_PUBLIC_READenv var for read-only board access —sessionfor unlisted-link sharing,fullto expose the whole board.
Patch Changes
- 5e3f292: Fix invisible markdown/mermaid/diff/terminal surfaces caused by a Chrome field trial that breaks layout measurement in srcdoc iframes. The viewer now retries the srcdoc parse after 2s if still stuck at minimum height.
- c2e4443: Honor
lineStartin code-part gutter numbers — shiki's<pre>markup wasn't matched by the counter-reset injection, so excerpts now number from their original line. - 3c56cc1: Deep links to
/session/:id/s/:surfaceIdnow scroll to the target surface card. - 84e7057: Reject oversize asset uploads before buffering the body into memory, so a multi-GB upload can't exhaust the heap before the 413 fires.
- 6962019: Fix cursor lag in
waitForComments.lastSeq/agentSeqnow derive from the unfiltered comment list, so an agent reply no longer makes everyauthor=userpoll re-read it and waste a round-trip. - a18f210: Pin surface iframes to the chrome's color scheme so light/dark no longer diverges across the frame boundary (html parts via a
modequery param, markdown/code/comment frames viarenderSandboxedPart). With no mode passed, the OS media query is kept, preserving self-hosted parity. - f0c6cd4: Fix a lost-update race in
SqlStore.updateSurface. ConcurrentPUT /api/surfaces/:idcalls could lose one caller's parts; now uses compare-and-set with retry. - db463ce: Improve intro readme.