Repository navigation
Conversation
Contributor
Bundle Size ReportEager path (module entry + modulepreloaded chunks):
Chunks over 500 KB:
All files
Commit: f15d14b |
Contributor
⚡ Performance ReportCold StartOverall: 🔴 regressed | p50: 10.72s → 12.18s (+13.6%) | p95: 11.79s → 12.71s (+7.8%) | Mann-Whitney: z=3.92 ✅ significant Phase breakdown
Warm StartOverall: 🔴 regressed | p50: 424ms → 573ms (+35.1%) | p95: 451ms → 596ms (+32.2%) | Mann-Whitney: z=4.41 ✅ significant Phase breakdown
Lukewarm Start (different site, same session)Overall: 🔴 regressed | p50: 13.82s → 15.02s (+8.6%) | p95: 14.69s → 15.77s (+7.4%) | Mann-Whitney: z=4.18 ✅ significant Phase breakdown
Commit: f15d14b | Outliers (>2x best) discarded before stats |
replghost
added a commit
that referenced
this pull request
Oct 12, 2026
Merges #367 (feat/pwa-wallet 7a65763: wallet creation, single-tab owner lock and handover, identity proxy, allowances, username claim, light-client submit fallback) into the Media integration layer. Resolution: - Local wallet boot: the owner lease is acquired before native Chat custody is requested, so a handover pauses this tab's cores (disposing Chat and releasing its custody) before the next tab acquires either. - Protocol frame: localWalletOwner and coreCustody both served by the local wallet handler; their messages, method sets and client calls kept side by side. - Chain pool: #367's trusted submit fallback wraps light-client transports; Media's advertisement lookup and vox presence routes stay per connection. Broker and watch guard merged cleanly: #185's resolver guarantees plus #367's legacy author_submitAndWatchExtrinsic routing. - Settings: PolkaVM apps and Local wallet switches both kept beside Background receiving; tests extended for both. - Debug panel: Runtime tab (PolkaVM diagnostics) and Wallet tab (local wallet) both gated. - nginx: identity proxy and Media TURN both on the root and shell servers, both 404 elsewhere; deploy-nginx keeps receiving CSP/proxy, TURN private include and #367's per-site snippet isolation. deploy.yml keeps both parents' steps here; they are unified in the next commit. - package-lock refreshed with npm 12.2.0.
replghost
added a commit
that referenced
this pull request
Oct 12, 2026
…iving The merges left deploy.yml with two nginx steps for paseo.fyi: #367's identity proxy rollout (ci-deploy-nginx, per-site snippets) and #291's receiving rollout (plain deploy-nginx, shared snippets), each rewriting the same site config with a different snippet directory. Now one 'Deploy nginx config' step runs make ci-deploy-nginx for the opted-in paseoli.dev and paseo.fyi environments with SENTRY_DSN, the Media TURN secret pair and the receiving CSP/push origin/proxy port, so one rendered config carries the identity proxy, Media TURN route and receiving CSP/proxy over main's nginx. This follows the previous #335 rollout (identity environments only); receiving rollouts to paseo.li/testnet.li stay with make deploy-nginx. - Smokes after the frontend upload: identity attester, Media TURN credential (when the key id is set) and a new receiving smoke (relay healthz through the product-host proxy, and the worker CSP on that host's /host-sw.js naming the relay). - The manual Deploy nginx workflow no longer offers paseoli.dev or paseo.fyi: a shared-snippet dispatch would overwrite their per-site config, empty the TURN include and drop the receiving CSP. - DEPLOYMENT.md documents the single rollout, its inputs and the three smokes.
replghost
added a commit
that referenced
this pull request
Oct 12, 2026
… wallet off #367's Local wallet switch in Settings makes the next boot fall back to Polkadot App, logging the local account out as #291's switchToPolkadotApp does, but without revoking that account's retained receiving registrations. applyAndReset now runs the same local-first revocation (as for a network change) when the switch turns off a wallet that is signing, and keeps the preference and page unchanged if revocation fails. A Polkadot App session with an unused local wallet is left alone.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Experimental local wallet: creation, handover, usernames, allowances
Everything here is behind the Experimental local wallet setting (
packages/config/src/mode.ts). It builds on the local signer from #362: protocol-frame storage,local-wallet-handler, and the signing worker.Creation (55731f2)
One signing tab per browser profile
packages/protocol/src/wallet-owner.ts) and runs a handover over BroadcastChannel. The new requestlocalWalletOwneris only accepted from host and landing origins.local-wallet-changedto the others. Their wallet mode or keys are now out of date, so they pause until reloaded.Usernames through the identity proxy
scripts/identity-proxy.tsandnginx/snippets/dotli-identity-proxy.confadd a same-origin proxy on root and shell origins only, with a fixed list of routes. Product, app and protocol origins get 404.ci-deploy-nginx), and an opt-in step in the deploy workflow. Documented in README, DEPLOYMENT and docs/docker.identityBackendBaseUrl..##) checks availability and claims the name.truapi_verifiablemodule. Only public keys and signatures leave the browser.Usage & allowances
TransactionStorage.Authorizationsfor the product's storage account.Temporary light-client submit fallback
author_submitAndWatchExtrinsicwatch endsdropped, the same bytes are sent again through the trusted RPC node. This works around smoldot'sMissingProofEntryon PGASclaim_pgas.author_extrinsicUpdatewatches again.Verification
npm run typecheck,npm run lint,npm run format:check: pass.npm test: every package passes. Under parallel load, three timing-sensitive debug-panel tests (early-buffer, panel-work, panel) failed once. They pass when run on their own (85/85).truapi_verifiablelazily, and its wasm stays out of the service worker precache.local-wallet.spec.ts, including the new two-tab handover test, passes 3/3 against Paseo Next V2. The banner appears in the tab that lost the wallet; a click takes the wallet back and pauses the other tab.… · verified on People) and the live Usage & allowances section for the product.