Skip to content

feat(polkavm): vendor Chat v2 host authority - #226

Merged
replghost merged 8 commits into
feat/pvm-wasmfrom
feat/chat-v2-host-runtime
Sep 10, 2026
Merged

replghost merged 8 commits into
feat/pvm-wasmfrom
feat/chat-v2-host-runtime

Conversation

@replghost

@replghost replghost commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

Dependencies

Verification

  • npx -y bun@1.3.13 install --frozen-lockfile
  • npx -y bun@1.3.13 run typecheck (13/13)
  • npx -y bun@1.3.13 run build
  • focused TrUAPI bridge tests (19/19)
  • focused PolkaVM sandbox runtime tests (42/42)
  • vendored client and WASM SHA-256 values match vendor/truapi-host.lock.json
  • eight-product westendli.dev post-deploy smoke passes, including egui-chat

@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Report

Chunks over 500 KB:

File Raw Brotli Gzip
host/assets/bridge.js 798.6 KB (+654.9 KB) 173.3 KB (+138.5 KB) 223.7 KB (+182.1 KB)
host/assets/truapi_provider_bg.wasm 5.17 MB 1.99 MB 2.33 MB
host/assets/truapi_server_bg.wasm 7.35 MB (+151.1 KB) 5.31 MB (+20.3 KB) 5.59 MB (+36.2 KB)
host/assets/wasm/web/truapi_server_bg.wasm 7.35 MB (+151.1 KB) 5.31 MB (+20.3 KB) 5.59 MB (+36.2 KB)
sandbox/polkavm-runtime/polkavm-browser-runtime.wasm 1.07 MB 185.3 KB 248.7 KB
Total 22.96 MB (+2.31 MB) 13.36 MB (+453.1 KB) (-42%) 14.42 MB (+601.9 KB)
All files
File Raw Brotli Gzip
host/.well-known/apple-app-site-association 505 B 505 B 505 B
host/.well-known/assetlinks.json 2.1 KB 343 B 427 B
host/assets/_md.js 6.3 KB 2.6 KB 2.8 KB
host/assets/blake2.js 11.7 KB 4.1 KB 4.7 KB
host/assets/bridge.js 798.6 KB (+654.9 KB) 173.3 KB (+138.5 KB) 223.7 KB (+182.1 KB)
host/assets/browser.js 22.9 KB 7.6 KB 8.6 KB
host/assets/client.js 10.7 KB (+463 B) 3.5 KB (+170 B) 4.0 KB (+193 B)
host/assets/hex.js 160 B 160 B 160 B
host/assets/index.css 55.9 KB (+931 B) 8.7 KB (+121 B) 10.0 KB (+170 B)
host/assets/index.js 167.4 KB (+9.8 KB) 44.0 KB (+2.6 KB) 52.7 KB (+3.2 KB)
host/assets/manifest.js 21.5 KB (-1.8 KB) 7.0 KB (-395 B) 7.7 KB (-415 B)
host/assets/network.js 6.3 KB 2.2 KB 2.5 KB
host/assets/panel.js 79.4 KB (+3.2 KB) 21.4 KB (+804 B) 24.0 KB (+825 B)
host/assets/proofs.js 29.3 KB 8.6 KB (+3 B) 9.5 KB (+2 B)
host/assets/resolve.js 128 B 128 B 128 B
host/assets/rolldown-runtime.js 901 B (+185 B) 901 B (+185 B) 901 B (+185 B)
host/assets/rpc-resolve.js 3.0 KB (+369 B) 1.2 KB (+105 B) 1.4 KB (+106 B)
host/assets/scale-ts.js 4.8 KB 2.0 KB 2.2 KB
host/assets/spans.js 2.6 KB (+232 B) 1.1 KB (+96 B) 1.2 KB (+108 B)
host/assets/src.js 84.2 KB 26.4 KB (-34 B) 29.6 KB (+1 B)
host/assets/styles.css 17.6 KB (+2.2 KB) 3.6 KB (+347 B) 4.2 KB (+370 B)
host/assets/substrate-client.js 5.8 KB 2.2 KB (-1 B) 2.5 KB (-3 B)
host/assets/truapi_provider_bg.wasm 5.17 MB 1.99 MB 2.33 MB
host/assets/truapi_server_bg.wasm 7.35 MB (+151.1 KB) 5.31 MB (+20.3 KB) 5.59 MB (+36.2 KB)
host/assets/twoX.js 2.8 KB 1022 B 1.1 KB
host/assets/utils.js 3.5 KB 1.4 KB 1.5 KB
host/assets/wasm/web/README.md 15.8 KB (+2.3 KB) 15.8 KB (+2.3 KB) 15.8 KB (+2.3 KB)
host/assets/wasm/web/package.json 372 B (+1 B) 372 B (+1 B) 372 B (+1 B)
host/assets/wasm/web/truapi_server.d.ts 13.3 KB (+690 B) 13.3 KB (+690 B) 13.3 KB (+690 B)
host/assets/wasm/web/truapi_server.js 50.9 KB (+1.2 KB) 8.2 KB (+292 B) 9.6 KB (+342 B)
host/assets/wasm/web/truapi_server_bg.wasm 7.35 MB (+151.1 KB) 5.31 MB (+20.3 KB) 5.59 MB (+36.2 KB)
host/assets/wasm/web/truapi_server_bg.wasm.d.ts 4.1 KB (+50 B) 4.1 KB (+50 B) 4.1 KB (+50 B)
host/assets/web.js 19.6 KB (+1.3 KB) 5.0 KB (+484 B) 5.6 KB (+515 B)
host/assets/worker-runtime.js 106 B 106 B 106 B
host/assets/worker-runtime.js 31.5 KB (+31.4 KB) 7.8 KB (+7.7 KB) 8.9 KB (+8.8 KB)
host/assets/ws.js 25.8 KB 8.3 KB (-7 B) 9.2 KB (-5 B)
host/dotli.png 11.5 KB 11.5 KB 11.5 KB
host/favicon.svg 1.8 KB 1.8 KB 1.8 KB
host/host-sw.js 3.0 KB (-57 B) 1.2 KB (-23 B) 1.3 KB (-19 B)
host/icon-192.png 12.5 KB 12.5 KB 12.5 KB
host/icon-512.png 42.8 KB 42.8 KB 42.8 KB
host/index.html 33.1 KB (+98 B) 6.9 KB (+58 B) 8.4 KB (+56 B)
host/manifest.webmanifest 441 B 441 B 441 B
host/workbox.js 14.8 KB 4.6 KB 5.1 KB
sandbox/app-sw.js 11.3 KB (+1.4 KB) 3.5 KB (+322 B) 4.0 KB (+378 B)
sandbox/assets/bitswap-bridge.js 840 B 840 B 840 B
sandbox/assets/fetch.js 3.4 KB 1.2 KB 1.4 KB (+1 B)
sandbox/assets/index.css 55.9 KB (+931 B) 8.7 KB (+121 B) 10.0 KB (+170 B)
sandbox/assets/index.js 181.1 KB (+57.7 KB) 50.9 KB (+16.0 KB) 59.3 KB (+18.6 KB)
sandbox/favicon.svg 1.8 KB 1.8 KB 1.8 KB
sandbox/index.html 1.7 KB (+56 B) 605 B (+22 B) 819 B (+29 B)
sandbox/polkavm-runtime/LICENSE-MPL-2.0 16.3 KB 16.3 KB 16.3 KB
sandbox/polkavm-runtime/PolkaVM-LICENSE-APACHE 10.6 KB 10.6 KB 10.6 KB
sandbox/polkavm-runtime/PolkaVM-LICENSE-MIT 1023 B 1023 B 1023 B
sandbox/polkavm-runtime/SHA256SUMS 631 B 631 B 631 B
sandbox/polkavm-runtime/SOURCE.json 502 B 502 B 502 B
sandbox/polkavm-runtime/polkavm-browser-runtime.wasm 1.07 MB 185.3 KB 248.7 KB
sandbox/polkavm-runtime/polkavm-gpu-worker.js 64.2 KB 11.0 KB 12.8 KB
sandbox/polkavm-runtime/polkavm-worker.js 106.3 KB 16.8 KB 20.3 KB
Total 22.96 MB (+2.31 MB) 13.36 MB (+453.1 KB) (-42%) 14.42 MB (+601.9 KB)

Commit: 2196fcc

@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

⚠️ E2E Product suite skipped — pairing/signing infrastructure is unavailable.

The truapi-host CLI could not complete pairing (testnet chains or
identity backend outage). This is not a dot.li test failure.
Re-run from the Actions tab once the infrastructure recovers.

Logs: https://github.com/paritytech/dotli-community/actions/runs/34511486187

@github-actions

Copy link
Copy Markdown
Contributor

⚡ Performance Report

⚠️ No baseline found on main. This PR's results are recorded but cannot be compared.
Merge to main to establish a baseline.

@replghost

Copy link
Copy Markdown
Collaborator Author

Integrated refreshed #185, including the #222/#227 timeout-attribution fix, at f738e7f. Verified ancestry contains both f3d3fb8 and 1710906; resolver 67/67, protocol 38/38, touched-package typechecks, and production build passed. Deployed this exact PR head to westendli.dev in run 34427247794; quality gate, deployment, and the live published-product smoke all passed.

@replghost

Copy link
Copy Markdown
Collaborator Author

Deployed 824581ce3b6de68ee16686d89df630741eee9acb only to the approved westendli.dev environment. Deployment workflow completed successfully, including Quality Gate and published-product smoke:
https://github.com/paritytech/dotli-community/actions/runs/34481565788

Generic runtime/clipboard changes came through PR185 (latest 52749974); this branch retains its Chat authority changes. Runtime provenance on the live Zed sandbox is 39603a5be834dd77d567d6e0dd8aee8d501b526b, with partitioned JIT (compiler) and webgpu-raster on application ABI 1.

Published shared Zed 0.3.1 to zed.paseo on paseo-next-v2, executable CID bafybeigsejy2em4lqkncxs5xi7aohh3tsrxllykmqhq6ngohivkndjlcem. Verified at https://zed.westendli.dev/ in a fresh Chromium process:

  • Native trusted Unicode paste using both Control and Command shortcuts.
  • Actual system-clipboard readback after Control-C and Command-C, including repeated identical copies after replacing the clipboard with sentinels.
  • Cold first copy succeeded after a 1,609 ms guest response; the prior one-second host cutoff rejected this path. Browser transient activation, iframe/origin validation, and one-shot consumption remain required.
  • Visually checked the rendered editor through GPU readback.

Host checks: 38/38 tasks passed. Runtime checks: 84 browser tests and 137 Rust tests passed. Shared guest release documentation is updated in polkavm-app-kit#50. Temporary verification helper and owned browser process were removed/stopped; evidence artifacts are retained. Workspace persistence remains session-only.

@replghost
replghost merged commit b8f9f84 into feat/pvm-wasm Sep 10, 2026
18 of 19 checks passed
@replghost
replghost deleted the feat/chat-v2-host-runtime branch September 10, 2026 20:14
@replghost

Copy link
Copy Markdown
Collaborator Author

Camera controls have been applied to the restored feat/chat-v2-host-runtime branch and deployed to westendli.dev. Because #226 is already merged and its recorded head is immutable, the refreshed branch is carried by #236 against feat/pvm-wasm. Deployment and published-product smoke passed in run https://github.com/paritytech/dotli-community/actions/runs/34708187227 at 412038f7c219998acc75b636893822f255310892.

@replghost

replghost commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator Author

Historical branch-separation checkpoint: #185 at a793cd2 removed Chat v2 authority UI and #709 APIs/artifacts from the runtime branch. The Chat branch at587c4b7e preserved application/runtime/vendor content from0dc07971 while adding direct branch deployment. Wallet integration present at that checkpoint is being separated into its own layer.

#236 has since been reopened as the active Chat integration PR above #185. #226 is a historical merged PR. Current branch comparison: feat/pvm-wasm...feat/chat-v2-host-runtime

Runtime checkpoint validation: formatting, lint, typecheck, unit tests, host/sandbox/protocol builds, runtime asset verification and local mobile gameplay smoke passed. Deployment record: https://github.com/paritytech/dotli-community/actions/runs/34718484298

@replghost

Copy link
Copy Markdown
Collaborator Author

Direct branch deployment completed successfully at 587c4b7: https://github.com/paritytech/dotli-community/actions/runs/34718484298 . Workflow event is workflow_dispatch on feat/chat-v2-host-runtime, not a new PR. Quality gate, production build/deploy, and published-product smoke all passed.

Manual live verification caveat: Private Chat renders, but this fresh browser session has no connected wallet and displays Protocol("Host rejected account"). The permission menu also reports "Permissions are unavailable for this app" (both Chat and Skyhook). The native permission-status request rejects; its underlying cause has not been established. This is not an authenticated messaging pass. Application/runtime/vendor files are unchanged from #236 head 0dc0797, so the branch-separation commits did not introduce an application-code change on the Chat variant. No further host/runtime changes or deployment substitutions have been made.

The runtime-only #185 variant separately passed a local real-browser smoke: permission menu loads without Chat Identity Authority and Skyhook movement/look/fire/cancellation work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant