You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Minor Changes
f8fb7b3: Sidebar wordmark is now a clickable home link that clears the session and returns to the board.
4822f77: Embeddable engine: add host.onReady() and stop the empty-board onboarding flash before sessions load.
760320f: Embeddable engine: add host.onThemeChange(tokens) so a host can mirror the resolved palette onto its own chrome.
38992d7: Embeddable engine: expose layout ("stream") and readonly on the host contract.
23be3a1: Link unfurls — bare /s/:id URLs serve Open Graph + Twitter Card metadata (with a 1200×630 .png card) so links render rich in Slack/X/Discord/iMessage.
12bb6b4: Embeddable engine: add a ss:main host-overridable slot wrapping the main content pane.
bd8df08: Screenshot any surface as PNG by appending .png (supports ?mode, ?theme, ?w, ?nocache).
e924954: Breaking (library consumers): rename the data model — Surface→Post, *Part→Surface, parts→surfaces, plus matching type/Store/helper renames. SQLite boards migrate in place; route paths and MCP tool names are unchanged.
eb2001d: Embeddable engine: add a ss:session-actions host slot in the session header (empty by default).
9da948d: Local Node server now defaults to SQLite (node:sqlite) — the same store as the Cloudflare deploy; an existing sideshow.json migrates in once. SIDESHOW_STORE=json keeps the legacy store.
f5e89d7: Direct links to a surface open a full-page standalone view (just that surface, no sidebar or feed).
5436598: Embeddable engine: publish the theme-token contract as data via a new sideshow/theme-tokens entry.
Patch Changes
b60c9a2: Cap the asset-upload body while streaming so a chunked request can't OOM the server (413).
eb269b5: Cap every request body via a global bodyLimit, closing the same OOM vector on JSON/MCP endpoints.
ff217bf: The pi extension's tool schema now accepts the mermaid surface part kind.
c8f7c68: Input validation: clean 400 on malformed asset base64, cap comment/title sizes, fail fast on non-numeric CLI --after.
c04a9ac: Mermaid diagrams now fully re-theme on a light/dark flip (arrowheads and text track the active scheme).
58c515f: Validate the openLink scheme host-side so a surface can't open non-http(s) URLs.
6e3c1b6: Refresh two README surface-gallery examples (html data table, image SaaS ad); no runtime changes.
134a926: Reserve the user comment author so surface content can't impersonate the user to the agent.
bd3ea88: Render rich parts (markdown/code/diff/terminal) server-side from /s/:id?part=N, fixing blank/clipped reloads under a Chrome 149 field trial.
3752061: Sandbox the /s/:id document with a CSP response header so agent script can't run in the board origin on a top-level load.
57829c0: Fix an auto-resize feedback loop that could pin a CPU core.
7f86b13: Share-link ids are now 11-char url-safe base64 (~64 bits) instead of a 32-bit UUID segment.