feat(polkavm): run computer applications in browser hosts - #201
Conversation
050b9a7 to
487c357
Compare
ea06865 to
154e4fe
Compare
8612156 to
7aa1046
Compare
|
Design review outcomes now implemented:
|
dd38083 to
30490fb
Compare
Live deployment status (WIP)
|
7aa1046 to
40ebb80
Compare
30490fb to
390b1fe
Compare
⚡ Performance Report
|
Bundle Size ReportChunks over 500 KB:
All files
Commit: 81b2085 |
…puter # Conflicts: # apps/sandbox/public/polkavm-runtime/SHA256SUMS # apps/sandbox/public/polkavm-runtime/SOURCE.json # apps/sandbox/public/polkavm-runtime/polkavm-browser-runtime.wasm # scripts/polkavm-runtime.lock.json # scripts/sync-polkavm-runtime-assets.mjs
…puter # Conflicts: # packages/resolver/src/manifest-types.ts # packages/resolver/tests/manifest-types.test.ts
…puter # Conflicts: # packages/resolver/src/manifest-types.ts # packages/resolver/tests/manifest-types.test.ts # scripts/polkavm-runtime.lock.json
|
Updated PR head c258bd5 and redeployed it to westendli.dev via successful workflow run https://github.com/paritytech/dotli-community/actions/runs/34138758069. The App v2 runtime now requires ABI 2, so I migrated and republished Chinpokomon 0.1.12 (runtime ABI 2) at CID bafybeia26pviq4ffm263mlrdlaiggtvnpbu4xdqualud5p2xb5hqzrhny4. Fresh-profile live verification at https://chinpokomon-pvm.westendli.dev/ resolved through smoldot/Bitswap without the cold-start No connected peers failure, mounted the PolkaVM JIT canvas with data-polkavm-ready=true, and advanced from frame 2178 to 2298 over 2 seconds at ~57 FPS. |
…puter # Conflicts: # packages/resolver/src/manifest-types.ts # packages/resolver/tests/manifest-types.test.ts # scripts/polkavm-runtime.lock.json
Reverts f24d3dc. ABI 1 was never released, so a breaking change is spent inside it rather than on a version no product has shipped against. ADR 0001 records the decision and the migration this Host would need before any move to 2.
Reverts f286e61. @useragent-kit/polkavm-runtime 0.6.28 packages polkavm-host-runtime cc9940b6 and declares abi.runtime 2; the App contract this Host implements is ABI 1, published from polkavm-host-runtime itself, and 0.1.15 also carries the safe-area and virtual-keyboard inset ABI that 0.6.28 predates.
…puter # Conflicts: # docs/adr/0001-polkavm-application-runtime-abi-version.md
…puter # Conflicts: # .github/workflows/deploy.yml # apps/host/tests/smoke/playwright.config.ts # apps/host/tests/smoke/polkavm-products.spec.ts
Repin the Host to the useragent-kit distribution of host-runtime 0.2.0 at a9156ad. Consume its canonical polkavm-prefixed artifact names directly, retain exact package checksums, publish ABI 1 provenance, and pick up inset input plus bounded WebGPU device restoration.
|
Scope correction: the computer contract has been removed from #185 and rebuilt as draft stacked PR #215. #185 now remains limited to the runtime-aware App work tracked by host-rust-core #507/#540/#550. Although GitHub records this PR as merged, its squash commit is no longer reachable from the rewritten #185 head; #215 is the authoritative computer stack and must remain unmerged pending the host-interface RFC. |
Summary
Stacked on #185. Adds the second App Manifest v2 PolkaVM execution model for applications requiring the versioned
polkadot-host/0.1core, fs, tty, process, and net interfaces.runtime.kind = "polkavm"; declared capability interface IDs select the computer contract.polkavm-computer-worker.jswith bounded TTY,/homepersistence, spawn, pipes, and workspace panes.VITE_POLKAVM_TCP_RELAY_URL; the relay is loopback-bound with origin/port policy.pvmfile, script, environment-variable, fixture, and DOM aliases. Protocol entry points such as_pvm_startremain unchanged.paritytech/useragent-kit@3a351b4cc563b341eea39f736156eb357c8621de, runtimeparitytech/polkavm-host-runtime@72c9ded03add6b973f61778da7245d30a1e5a635, and PolkaVMc160c13c3c29bf3219ce1404ec95976000235a94.Verification
bun run check:polkavm-runtimebun run typecheck— 13 tasksbun run format:checkpolkavm-tcprelay enabledNo deployment performed.