Skip to content

The worker runs without JSPI: iroh identity from the seed - #169

Merged
lannbot merged 1 commit into
mainfrom
iroh/identity-from-seed
Sep 7, 2026
Merged

The worker runs without JSPI: iroh identity from the seed#169
lannbot merged 1 commit into
mainfrom
iroh/identity-from-seed

Conversation

@lannbot

@lannbot lannbot commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

polymorph-iroh's feature-gated identity-from-seed (8ca991e) signs in-guest, so the worker's JSPI exception goes: every realm is jspi: false, pinned by web/jspi_test.ts. The endpoint component is built locally with --features guest-ed25519-signing (just endpoint, ~17 s cold, cached in CI by sha); the JSR @polymorph/iroh dependency is dropped. The trade (wasm ed25519-dalek instead of the platform's native crypto; the seed in the endpoint's memory) is recorded in design.md "No JSPI". e2e 17/17 ×2 including the QUIC accept path that stalled in M3a. Automerge armed.

…-guest

polymorph-iroh 8ca991e adds identity-from-seed behind the
guest-ed25519-signing feature: the endpoint holds its private key and
signs with ed25519-dalek in-guest, so rustls's synchronous Signer::sign
no longer blocks on an async webcrypto import and the accept side of a
QUIC handshake needs no JSPI. The runtime world imports identity-from-seed
in place of identity-from-keys and the ed25519 webcrypto interfaces; the
endpoint component is built locally with the feature (the JSR artifact
excludes it) by just endpoint at the pinned rev. Every realm is jspi:false
and the browser floor is multi-memory alone. The trade is recorded in
docs/design.md: identity signatures run in wasm rather than the platform's
native crypto, and the seed rests in the endpoint's memory.
@lannbot
lannbot enabled auto-merge September 7, 2026 21:46
@lannbot
lannbot merged commit b114c7f into main Sep 7, 2026
2 checks passed
@lannbot
lannbot deleted the iroh/identity-from-seed branch September 7, 2026 21:52
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.

2 participants