Skip to content

build: bundle the WASM from ant-client main 458c717 (#242) and release 0.1.5 - #11

Merged
mickvandijke merged 4 commits into
mainfrom
build/wasm-ant-client-f70c39f
Oct 29, 2026
Merged

mickvandijke merged 4 commits into
mainfrom
build/wasm-ant-client-f70c39f

Conversation

@mickvandijke

@mickvandijke mickvandijke commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Rebuilds the bundled WASM from ant-client main 458c717, which merges WithAutonomi/ant-client#242. That PR makes a browser start a stream's first record sooner. This releases the rebuild as 0.1.5. On try.autonomi.com's own page, this exact WASM started the LEGO video at a median 3.1 s instead of 0.1.4's 5.8 s in Chromium (sooner in 16 of 20 rounds), and sought to 85% in 4.1 s instead of 5.1 s (14 of 20).

#242 is merged, and npm run verify:wasm passes: "ant-client 458c717… on main, sha256 eea59cc4…".

What the rebuild changes (ant-client #242, V2-1769):

  • A read stops asking hints that cannot hold its record. A read's first hints are the bootstrap peers, which share few or no leading bits with the record.
    • The core now records the peers each lookup reply lists, and drops a hint with a whole close group listed nearer the record.
    • Only proven identities count: the responder, and peers with a verified owner-signed record.
    • Discovery, its preconnects and the read after it are unchanged.
  • A read that continues no other fetches the record after it only once it has finished, so that fetch no longer competes with a video's head.

The SDK's public API and TypeScript are unchanged. The bindings' declarations are the same set in a new order, and the generated JavaScript's closure shims are renumbered. Cargo.lock and the third-party notices are unchanged.

Commits:

  • ab24958 build: rebuild the WASM from #242's head f70c39f. WASM SHA-256 eea59cc4c493308242e3bcce004fe9c4937df3f1b15cf36ec04e1e25d4ab1ebf.
  • c971843 chore: release 0.1.5. Merging this publishes 0.1.5 through the release-on-merge workflow.
  • ed13993 docs: audit the rebuild.
  • 8b9653f build: re-sync from clean ant-client main 458c7175490e6934a5501e51ff1d80d784f27564.
    • The WASM is byte-identical to the f70c39f build: main differs from #242's head only in CHANGELOG.md.
    • Only src/wasm/source.json's revision changes.
    • The audit is renamed docs/audits/2026-10-29-ant-client-main-458c717.md.

Linear issue

Closes V2-1769

Risk tier

  • T0 — docs / tooling / CI / pure UX-output. Repo CI only.
  • T1 — client-only, no network-facing behavior change. CI + prod compat smoke.
  • T2 — node/client logic with behavioral surface, no protocol/format/economics change. Dev testnet + ADR.
  • T3 — protocol / storage format / payments / routing. T2 evidence + adversarial testing.

T1 proposed: a rebuild of the client-side core, with no wire, format or node change; a browser sends fewer GETs. ant-client #242 was also proposed as T1. One thing for reviewers: first reads now concentrate on the first holder found. One holder served 9 of 10 Chromium first reads, where main's were spread over three (5, 4 and 1). A holder that is full declines new sessions and is skipped for 15 s.

Compatibility

  • Wire: none.
  • Storage: none.
  • API: none. The SDK's exports and types are unchanged.

Semver impact

  • breaking
  • feature
  • fix

Test evidence

  • npm run check: build, TypeScript and 272 tests in 24 files passed, on ed13993 and again after the re-sync.

  • npm run build:examples: all five Vite applications built.

  • npm pack --dry-run --json: withautonomi-ant-browser-sdk-0.1.5.tgz, 97 files.

  • npm run verify:wasm: passed. 458c717 is on main, and the binary and licence hashes match.

  • Mainnet, on try.autonomi.com's page (2026-10-28, 15:05–15:26 UTC).

    • Arms: try cac5363, packaged twice. The copies differ only in the core: 0.1.4's WASM (7873c651…) and this one (eea59cc4…).
    • Each sample: clicks Stream on the 54.9 MB LEGO video 3 s after connecting, times it to the first decoded frame, plays it for 10 s, then seeks to 85%.
    • Results: all 52 samples played, with no page errors.
    engine rounds first frame, median sooner over 6 s seek to 85%, median sooner
    Chromium 20 5.8 → 3.1 s 16/20 9 → 3 5.1 → 4.1 s 14/20
    WebKit (Playwright) 6 4.0 → 3.1 s 5/6 1 → 1 2.9 → 2.8 s 3/6

    The WebKit seek was level (median paired difference 0.4 s the other way). Results and summaries are in the audit's directory.

  • Traced core read (ant-client #242): the GET to the first record's holder started 1.9 s after the read began, instead of 4.3 s, in Chromium (10/10), and 2.2 s instead of 4.4 s in WebKit (5/6).

  • Not run: real Safari, Firefox, and the real-browser devnet demo. ant-client #242's CI runs the read path in real Chromium against local nodes.

New dependency

none

ADR

n/a for T1. The decision is recorded in ant-client's ADR-0004, section "First record of a read (2026-10-28)".

Mitigation / rollback

Revert this PR, or pin @withautonomi/ant-browser-sdk@0.1.4. 0.1.5 changes only the bundled WASM.

🤖 Generated with Claude Code

mickvandijke and others added 4 commits October 28, 2026 16:41
…ent#242)

ant-client #242 (V2-1769) makes a browser read stop asking hints that a lookup
has shown cannot hold its record, counting only proven peers, and fetch the
record after a non-sequential read only once that read has finished.

WASM eea59cc4c493308242e3bcce004fe9c4937df3f1b15cf36ec04e1e25d4ab1ebf from
clean ant-client f70c39ff08d3caa1792434d7058d32b7bf5521f2; Cargo.lock and the
third-party notices are unchanged. The bindings' declarations are the same
set, reordered.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Provenance of the f70c39f build, the SDK checks, and the mainnet comparison of
this WASM against 0.1.4's on try.autonomi.com's page: first frame 5.8 -> 3.1 s
in Chromium (16 of 20 rounds), seek to 85% 5.1 -> 4.1 s (14 of 20).
verify:wasm passes once #242 is on ant-client main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ant-client #242 merged as 458c7175490e6934a5501e51ff1d80d784f27564. The WASM
rebuilt from that clean main commit is byte-identical to the f70c39f build
(eea59cc4), since main differs from #242's head only in CHANGELOG.md, so only
src/wasm/source.json's revision changes. verify:wasm now passes. The audit is
renamed after the main commit, as earlier syncs are.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mickvandijke mickvandijke changed the title build: bundle the WASM from ant-client #242 and release 0.1.5 build: bundle the WASM from ant-client main 458c717 (#242) and release 0.1.5 Oct 29, 2026
@mickvandijke
mickvandijke marked this pull request as ready for review October 29, 2026 12:36
@mickvandijke
mickvandijke merged commit 7c54501 into main Oct 29, 2026
7 checks passed
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