Repository navigation
Conversation
Record the final engine binary sizes measured on the release tree, drop the undo threshold that compact restores made obsolete, and stop naming a superseded Rust toolchain.
Vercel served hashed assets with max-age=0, so every page view revalidated every script, stylesheet, font and search shard. HTML and stable entry files keep revalidating.
…d unsupported-examples The formula contract now fails when an unsupported-category example names a function some build evaluates, and the inventory drops the examples the full engine now supports.
What's new with an upgrade checklist, analysis formulas, the calculation engine, and updated collaboration, persistence, interaction, styling and configuration guides.
Seekable landing illustrations, a sectioned showcase hub, and staged showcase pages. Hover popovers share one panel per symbol, Expressive Code styles load once from the cached site stylesheet, and landing snippets, the docs page index, the capability inventory, and landing and showcase styles stay off pages that do not use them.
86 of 96 tasks
chh-ay
added this pull request to stack #69
October 8, 2026 09:05
Brotli already removes most repeated popover markup, so the 21-56% uncompressed cut is 7-18% on the wire.
CI Browser Smoke runs against a prebuilt docs site without built workspace packages. Move shared workbook and seed data into modules with type-only package imports so Playwright specs do not load runtime package dist entries.
Each commit rebuilt the whole workbook from its snapshot, applied one transaction, exported and JSON-copied it again: about 450 ms per one-cell commit on the 110,000-cell collaboration document. A failed commit, including a failed batch member, rebuilds the committed state from the initial snapshot and the log, so it still changes nothing.
…rom losing work Chaos edits land on rows both grids show and flash in the editor's color on each client. Conflict recovery freezes the client and waits for queued writes before taking its pending list, the link keeps broadcasts that arrive while a client remounts, releasing held broadcasts also cancels a pending hold, and the settle check requires both clients at the server head. The collaboration guide's recovery recipe gains the same ordering rules.
The showcase link now routes reconnect drains and held-broadcast releases through the same delivery path as live traffic, so a remount never drops them. MemoryPersistenceAdapter prepares its log entries before applying, so nothing can fail after the live store changed. The storm spec's budget covers the 30 s drain window.
Building the live store in the adapter constructor required initSheetwrite() before the adapter existed, so the Svelte workbench island—which builds its session before any grid mounts—failed to boot with 'await initSheetwrite() before constructing SheetwriteStore'. The store is now built on the first commit; constructing the adapter and loading an uncommitted document return the stored snapshot. A rollback to no committed versions also returns the document to its store-free state, so a failed first commit leaves loads identical to an adapter that never committed.
The 100,000-cell usage sheet lived in the shared forecast document, so every conflict recovery during the chaos test reloaded and validated about 10 MB of receipts and froze the page for 0.45-1.2 s. The usage sheet is now its own document on its own in-page server, started on the first batch drill; both clients remount onto it for the drill and back onto the forecast for any forecast action. Chaos runs with a recovery now show no long task over 50 ms, and the page no longer loads the usage receipts on boot.
This branch has not been deployed
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.
Summary
Top layer of the 0.5.0 stack. Docs site, deployment, and release-note corrections; no package source changes.
//docs//docs/start/installation//docs/api/core/grid//docs/guides/configuration//docs/api/core/cell-a1//showcases//showcases/performance//showcases/formulas/Brotli already removes most repeated popover markup, so the wire saving (7–18%) is far smaller than the uncompressed one (21–56%). The uncompressed cut still reduces the bytes the browser parses and holds.
.mdximports and module-scope calls in the always-loaded route modules. Landing snippets (~400 KB), the docs page index (95 KB), and the capability inventory (30 KB) no longer load on every page. Hidden landing code tabs load on hover, focus, or click.max-age=0, must-revalidate. The packaged Vercel config now sendspublic, max-age=31536000, immutablefor/assets/*and Pagefind's hashed shards; HTML and stable entry files keep revalidating. The prebuilt-only deploy contract is unchanged.@sheetwrite/formulasREADME lists every full-engine family.Changesets
No new changeset: only private docs and tooling change here, plus the
@sheetwrite/formulasREADME, which ships with that package's 0.5.0 minor. The docs package keeps its hand-written Unreleased section, per #58. Three stale stack changesets are corrected:full-formula-engine: final release binary sizes, measured with the size report's Brotli settings (default 791,937 / 238,071 bytes; full 1,074,934 / 326,278 bytes). The old text also implied the default binary did not grow in 0.5.0.report-oversized-undo: drop the "about 1,000,000 number cells" threshold thatcompact-large-undo(fix(core): restore large undo steps with atomic sync batches #63) made obsolete.steady-toolchain-refresh: stop naming Rust 1.98.1; the release pins 1.99.0 (engine-hot-paths).changeset status --since=origin/develop: core, wasm, formulas, xlsx, react, vue, and svelte each go from 0.4.0 to 0.5.0.Verification
docs:check, and Biome pass. The one Biome warning, the existing reduced-motion!important, is unchanged.