Skip to content

feat: wire smoldot lifecycle events to the loading bar - #146

Open
BigTava wants to merge 35 commits into
mainfrom
feat/smoldot-lifecycle
Open

feat: wire smoldot lifecycle events to the loading bar#146
BigTava wants to merge 35 commits into
mainfrom
feat/smoldot-lifecycle

Conversation

@BigTava

@BigTava BigTava commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Subscribe to smoldot's new lifecycle_unstable_follow JSON-RPC method and sample system_health on the chains the loading screen shows, reading both back through the chain tap so polkadot-api never sees our traffic.
  • Expose one onChainSync stream carrying sync milestones and peer counts, keyed by logical chain, and forward it to the host shell through the protocol client's origin- and source-gated listener.
  • Advance the loading bar on real signals instead of scraping log prose, and show a live peer count under the headline while the Asset Hub syncs, with honest stall and recovery copy in a theme-aware detail line.
  • Pin the smoldot dependency to the 3.3.3-dev-20260805.0 dev release that ships the feature (light-base: add lifecycle_unstable_follow RPC subscription smoldot#3317). The stable bump is tracked in Bump smoldot to stable 3.3.3 once it is released #147 and blocks the next release.

Follow-ups: #148 (typed tap primitives), #149 (SharedWorker forwarding), #150 (loading-screen accessibility).

Note: the E2E suite fails identically on this branch and on its merge-base (32 failed, 30 did not run, all at waitForHostPlaygroundFrame), so it is a pre-existing signer-bot pairing failure rather than a regression here.

@socket-security

socket-security Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedsmoldot@​3.4.1 ⏵ 3.4.1-dev-20260813.0100 +11001009670

View full report

@github-actions

github-actions Bot commented Aug 5, 2026

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.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Report

Chunks over 500 KB:

File Raw Brotli Gzip
host/assets/paseo.smol-DboPaEh1.json 1.84 MB 941.7 KB 1019.4 KB
host/assets/paseo-people-next.smol.json 3.36 MB 1.68 MB 1.82 MB
host/assets/previewnet.smol.json 547.1 KB 92.2 KB 101.2 KB
host/assets/smoldot.js 3.07 MB (+16.7 KB) 2.28 MB (+12.8 KB) 2.29 MB (+11.7 KB)
host/assets/smoldot_worker.js 3.03 MB (+14.2 KB) 2.27 MB (+10.7 KB) 2.28 MB (+10.7 KB)
host/assets/wasm/web/truapi_server_bg.wasm 7.06 MB 5.25 MB 5.52 MB
Total 19.92 MB (+9.5 KB) 12.83 MB (+16.4 KB) (-36%) 13.37 MB (+14.8 KB)
All files
File Raw Brotli Gzip
host/.well-known/apple-app-site-association 1.0 KB 1.0 KB 1.0 KB
host/.well-known/assetlinks.json 2.1 KB 343 B 427 B
host/assets/bridge.js 69.4 KB (-58 B) 19.1 KB (+63 B) 22.0 KB (+126 B)
host/assets/browser.js 22.9 KB 7.5 KB (-15 B) 8.6 KB (-1 B)
host/assets/client.js 100.1 KB (-32 B) 29.4 KB (-107 B) 32.4 KB (+2 B)
host/assets/dist.js 37.5 KB (-1.5 KB) 12.4 KB (-501 B) 14.0 KB (-550 B)
host/assets/dist.js 1.1 KB (-37.9 KB) 588 B (-12.3 KB) 653 B (-13.9 KB)
host/assets/dotli-debug-bus.js 710 B 710 B 710 B
host/assets/errors.js 862 B 862 B 862 B
host/assets/get-sync-provider.js 2.8 KB 1.1 KB 1.2 KB (-1 B)
host/assets/hex.js 154 B 154 B 154 B
host/assets/index.css 48.4 KB (+383 B) 7.7 KB (+118 B) 8.6 KB (+152 B)
host/assets/index.js 208.8 KB (+6.6 KB) 52.9 KB (+2.2 KB) 63.3 KB (+2.7 KB)
host/assets/manifest.js 22.6 KB (+66 B) 7.3 KB (+23 B) 8.0 KB (+17 B)
host/assets/panel.js 76.2 KB 20.6 KB (-1 B) 23.3 KB (+13 B)
host/assets/paseo.smol-DboPaEh1.json 1.84 MB 941.7 KB 1019.4 KB
host/assets/paseo-people-next.smol.json 3.36 MB 1.68 MB 1.82 MB
host/assets/paseo.smol.json 23.4 KB 5.4 KB 6.2 KB
host/assets/previewnet.smol.json 547.1 KB 92.2 KB 101.2 KB
host/assets/resolve.js 156 B 156 B 156 B
host/assets/rpc-resolve.js 2.5 KB 1.0 KB (-3 B) 1.2 KB (-1 B)
host/assets/smoldot.js 3.07 MB (+16.7 KB) 2.28 MB (+12.8 KB) 2.29 MB (+11.7 KB)
host/assets/smoldot_worker.js 3.03 MB (+14.2 KB) 2.27 MB (+10.7 KB) 2.28 MB (+10.7 KB)
host/assets/spans.js 2.6 KB (-34 B) 1.1 KB (-15 B) 1.3 KB (-22 B)
host/assets/src.js 1.9 KB (+37 B) 852 B (-2 B) 953 B (+7 B)
host/assets/styles.css 15.3 KB 3.3 KB 3.8 KB
host/assets/wasm/web/README.md 11.9 KB 11.9 KB 11.9 KB
host/assets/wasm/web/package.json 371 B 371 B 371 B
host/assets/wasm/web/truapi_server.d.ts 8.1 KB 8.1 KB 8.1 KB
host/assets/wasm/web/truapi_server.js 38.2 KB 6.6 KB 7.6 KB
host/assets/wasm/web/truapi_server_bg.wasm 7.06 MB 5.25 MB 5.52 MB
host/assets/wasm/web/truapi_server_bg.wasm.d.ts 3.0 KB 3.0 KB 3.0 KB
host/assets/web.js 13.3 KB 3.6 KB (-4 B) 4.0 KB
host/assets/worker-runtime.js 6.4 KB (+6.3 KB) 1.7 KB (+1.5 KB) 1.8 KB (+1.7 KB)
host/assets/worker-runtime.js 106 B 106 B 106 B
host/assets/ws.js 23.1 KB (+23 B) 7.5 KB (+27 B) 8.2 KB (+2 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 2.8 KB (+94 B) 1.1 KB (+16 B) 1.3 KB (+24 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 26.1 KB (+1.8 KB) 5.0 KB (+268 B) 6.1 KB (+312 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 9.7 KB 3.2 KB (+2 B) 3.6 KB
sandbox/assets/bitswap-bridge.js 840 B 840 B 840 B
sandbox/assets/fetch.js 3.4 KB 1.2 KB (+1 B) 1.4 KB
sandbox/assets/index.css 48.4 KB (+383 B) 7.7 KB (+118 B) 8.6 KB (+152 B)
sandbox/assets/index.js 122.1 KB (+1.7 KB) 34.9 KB (+667 B) 41.1 KB (+784 B)
sandbox/favicon.svg 1.8 KB 1.8 KB 1.8 KB
sandbox/index.html 1.7 KB 580 B (+1 B) 788 B (+3 B)
Total 19.92 MB (+9.5 KB) 12.83 MB (+16.4 KB) (-36%) 13.37 MB (+14.8 KB)

Commit: 07ba165

@BigTava BigTava self-assigned this Aug 5, 2026
…a system_health polling and widened lifecycle events
…e debug log stream, poll only the Asset Hub, and address the loading review feedback
…d report only on the chains the loading screen shows
@BigTava
BigTava deployed to testnet.li August 11, 2026 11:34 — with GitHub Actions Active
@BigTava
BigTava deployed to testnet.li August 11, 2026 12:12 — with GitHub Actions Active
@BigTava
BigTava deployed to testnet.li August 11, 2026 12:26 — with GitHub Actions Active
@BigTava
BigTava deployed to testnet.li August 11, 2026 12:47 — with GitHub Actions Active
@BigTava
BigTava deployed to testnet.li August 12, 2026 13:17 — with GitHub Actions Active
@BigTava
BigTava deployed to testnet.li August 13, 2026 20:06 — with GitHub Actions Active
@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

E2E Product suite failed on ddcb1af66a49febb071f00a65188cbac5a51ff68 — 29 passed, 32 failed, 1 skipped.

Failed tests:

  • Product is ready
  • Get Product Account
  • Product Signer
  • Account Connection Status
  • Product Account Alias
  • Request Login
  • Get User Identity
  • Subscribe Theme
  • Derive Entropy
  • Well-Known Chains
  • StatementStore Allowance
  • Bulletin Allowance
  • Smart-Contract Allowance
  • All Allowances
  • String Write & Read
  • Bytes Write & Read
  • JSON Write & Read
  • Clear
  • Factory
  • Feature Check
  • Remote: HTTP/WS
  • Remote: WebRTC
  • Remote: Chain Submit
  • Remote: Preimage Submit
  • Remote: Statement Submit
  • As a product user, I can create an authorized statement proof
  • As a product user, I can submit a statement
  • Subscribe Match All
  • Subscribe Match Any
  • HTTP URL
  • Polkadot URL
  • As a product user, I can navigate within the current product

Logs: https://github.com/paritytech/dotli-community/actions/runs/31809060981
Artifacts: e2e-product-results (uploaded above) — open the failed test's trace.zip with npx playwright show-trace.

# Conflicts:
#	apps/host/src/main.ts
#	bun.lock
#	package.json
@BigTava
BigTava deployed to testnet.li August 17, 2026 16:54 — with GitHub Actions Active
@BigTava
BigTava deployed to testnet.li August 17, 2026 17:07 — with GitHub Actions Active
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.

2 participants