Skip to content

fix(ui): keep preimage lookup polling#74

Closed
pgherveou wants to merge 1 commit into
codex/bulletin-preimage-in-core-dotlifrom
codex/dotli-preimage-lookup-resilience
Closed

fix(ui): keep preimage lookup polling#74
pgherveou wants to merge 1 commit into
codex/bulletin-preimage-in-core-dotlifrom
codex/dotli-preimage-lookup-resilience

Conversation

@pgherveou

Copy link
Copy Markdown
Contributor

Summary

Keep the host-side preimage lookup stream alive after transient IPFS gateway or bitswap failures.

The Rust core treats lookup as a subscription and performs hash-integrity verification. Ending that stream on a single backend error prevents later replication from ever becoming visible. This layer logs transient backend failures and lets the existing polling interval try again.

It also makes the bitswap startup warning accurate in RPC gateway mode.

Base

Stacked on #70. This behavior fix is intentionally outside the architecture migration diff.

Verification

  • bun run test tests/preimage.test.ts
  • bunx eslint src/bulletin-bitswap.ts src/host-callbacks/Preimage.ts

@github-actions

github-actions Bot commented Jul 15, 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 1.78 MB 137.2 KB 333.5 KB
host/assets/smoldot.js 2.95 MB 2.20 MB 2.21 MB
host/assets/smoldot_worker.js 2.92 MB 2.19 MB 2.20 MB
host/assets/wasm/web/truapi_server_bg.wasm 1.98 MB 619.4 KB 815.5 KB
Total 15.74 MB (+5.09 MB) 8.03 MB (+2.86 MB) (-49%) 8.68 MB (+3.07 MB)
All files
File Raw Brotli Gzip
host/.well-known/apple-app-site-association 738 B 738 B 738 B
host/.well-known/assetlinks.json 1.3 KB 317 B 391 B
host/assets/bridge.js 51.5 KB (+46.2 KB) 14.3 KB (+12.5 KB) 16.1 KB (+14.0 KB)
host/assets/browser.js 22.9 KB (-10 B) 7.5 KB (-19 B) 8.6 KB (-9 B)
host/assets/client.js 100.1 KB (+7.1 KB) 29.4 KB (+2.1 KB) 32.4 KB (+2.3 KB)
host/assets/dist.js 30.3 KB (+5.5 KB) 10.5 KB (+2.8 KB) 11.7 KB (+3.1 KB)
host/assets/dotli-debug-bus.js 710 B (+215 B) 710 B (+215 B) 710 B (+215 B)
host/assets/get-sync-provider.js 2.8 KB 1.1 KB 1.2 KB
host/assets/hex.js 154 B 154 B 154 B
host/assets/index.css 44.8 KB (-3.1 KB) 7.1 KB (-382 B) 7.9 KB (-423 B)
host/assets/index.js 150.5 KB (+43.9 KB) 41.5 KB (+12.4 KB) 48.8 KB (+14.8 KB)
host/assets/manifest.js 22.5 KB (-130 B) 7.2 KB (-97 B) 7.9 KB (-65 B)
host/assets/panel.js 72.6 KB (-12.2 KB) 19.7 KB (-3.3 KB) 22.3 KB (-4.0 KB)
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 19.7 KB 4.8 KB 5.4 KB
host/assets/previewnet.smol.json 1.78 MB 137.2 KB 333.5 KB
host/assets/resolve.js 128 B (-24 B) 128 B (-24 B) 128 B (-24 B)
host/assets/rpc-resolve.js 2.4 KB (-71 B) 1.0 KB (-14 B) 1.1 KB (-34 B)
host/assets/shared-mode.js 1.8 KB (-82 B) 751 B (-42 B) 853 B (-44 B)
host/assets/smoldot.js 2.95 MB 2.20 MB 2.21 MB
host/assets/smoldot_worker.js 2.92 MB 2.19 MB 2.20 MB
host/assets/src.js 1.8 KB (-119 B) 859 B (-31 B) 946 B (-53 B)
host/assets/styles.css 15.1 KB 3.2 KB 3.8 KB
host/assets/wasm/web/README.md 10.9 KB 10.9 KB 10.9 KB
host/assets/wasm/web/package.json 371 B 371 B 371 B
host/assets/wasm/web/truapi_server.d.ts 6.9 KB 6.9 KB 6.9 KB
host/assets/wasm/web/truapi_server.js 35.6 KB 6.2 KB 7.2 KB
host/assets/wasm/web/truapi_server_bg.wasm 1.98 MB 619.4 KB 815.5 KB
host/assets/wasm/web/truapi_server_bg.wasm.d.ts 2.5 KB 2.5 KB 2.5 KB
host/assets/web.js 13.2 KB 3.5 KB 4.0 KB
host/assets/worker-runtime.js 6.3 KB 1.6 KB 1.8 KB
host/assets/worker-runtime.js 106 B 106 B 106 B
host/assets/ws.js 23.1 KB (-2.8 KB) 7.5 KB (-857 B) 8.2 KB (-921 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.7 KB (-110 B) 1.1 KB (-14 B) 1.3 KB (-9 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 19.9 KB (-320 B) 4.4 KB (-63 B) 5.4 KB (-70 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.6 KB 3.1 KB (+2 B) 3.5 KB (+5 B)
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 (-2 B)
sandbox/assets/index.css 44.8 KB (-3.1 KB) 7.1 KB (-382 B) 7.9 KB (-423 B)
sandbox/assets/index.js 118.0 KB 33.7 KB (-40 B) 39.6 KB (+2 B)
sandbox/favicon.svg 1.8 KB 1.8 KB 1.8 KB
sandbox/index.html 1.7 KB 578 B (-4 B) 783 B (-4 B)
Total 15.74 MB (+5.09 MB) 8.03 MB (+2.86 MB) (-49%) 8.68 MB (+3.07 MB)

Commit: c67ede0

@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.

@pgherveou pgherveou force-pushed the codex/dotli-preimage-lookup-resilience branch 3 times, most recently from 15a7569 to f003f70 Compare July 15, 2026 08:44
@pgherveou pgherveou force-pushed the codex/bulletin-preimage-in-core-dotli branch from ff8115e to 95b810c Compare July 15, 2026 09:03
@pgherveou pgherveou force-pushed the codex/dotli-preimage-lookup-resilience branch 2 times, most recently from e3568dd to 68b7853 Compare July 15, 2026 09:26
@pgherveou pgherveou force-pushed the codex/dotli-preimage-lookup-resilience branch from 68b7853 to 344ac80 Compare July 15, 2026 12:06
@pgherveou

Copy link
Copy Markdown
Contributor Author

Consolidated into #77 together with the hardening extracted from #70; this change is preserved there as its own commit.

@pgherveou pgherveou closed this Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant