Skip to content

fix(host): a subname opens by its path on the bare host - #394

Merged
johnthecat merged 1 commit into
mainfrom
fix/subname-path-route
Oct 16, 2026
Merged

johnthecat merged 1 commit into
mainfrom
fix/subname-path-route

Conversation

@johnthecat

@johnthecat johnthecat commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

paseo.li/pr16.back-me-up fell through to the landing page. nginx served the shell, but the path route accepted a single dotNS label only, so a subname was refused. Its sandbox origin would also have been pr16.back-me-up.app.paseo.li, which the *.app.<domain> wildcard certificate does not cover.

The path route now accepts a subname, with each label checked. A subname's sandbox origin is one DNS label, sn-- plus a sha256 of the name, so the existing certificate covers it. A single label keeps its origin and storage. No registered label may start with sn--, so none can take a subname's origin.

@github-actions

Copy link
Copy Markdown
Contributor

Bundle Size Report

Eager path (module entry + modulepreloaded chunks):

Path Raw Brotli Gzip
host/(eager path) 389.6 KB (+4.8 KB) 137.3 KB (+2.3 KB) 155.4 KB (+2.7 KB)
host/landing/(eager path) 300.2 KB (+8.3 KB) 105.3 KB (+3.6 KB) 119.5 KB (+4.2 KB)
sandbox/(eager path) 232.4 KB 66.1 KB (-21 B) 76.1 KB (+7 B)

Chunks over 500 KB:

File Raw Brotli Gzip
host/assets/truapi_server_bg.wasm 2.76 MB 740.9 KB 982.9 KB
host/assets/truapi_signing_bg.wasm 2.99 MB 803.7 KB 1.04 MB
host/assets/truapi_verifiable_bg.wasm 4.89 MB 4.61 MB 4.64 MB
Total 12.44 MB (+1.1 KB) 6.71 MB (+1.1 KB) (compression rate: 46%) 7.30 MB (+1.2 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/Accordion.js 981 B 981 B 981 B
host/assets/AccountAvatar.js 1.5 KB 738 B (-11 B) 834 B
host/assets/AccountButton.js 4.6 KB 1.9 KB (-11 B) 2.1 KB (-2 B)
host/assets/AccountContent.js 2.4 KB 1.1 KB (+3 B) 1.2 KB (+2 B)
host/assets/AlertTriangleIcon.js 606 B 606 B 606 B
host/assets/AuthModal.js 9.1 KB (+18 B) 3.1 KB (-4 B) 3.5 KB (+8 B)
host/assets/BellIcon.js 515 B 515 B 515 B
host/assets/ChainsContent.js 9.0 KB 3.1 KB (-1 B) 3.4 KB (+2 B)
host/assets/ChatPanel.js 20.7 KB 6.2 KB (-4 B) 7.1 KB (-2 B)
host/assets/ChatPanel.css 6.1 KB 1.3 KB (+4 B) 1.5 KB (-3 B)
host/assets/ChevronDownIcon.js 462 B 462 B 462 B
host/assets/Chip.js 367 B 367 B 367 B
host/assets/CloseIcon.js 470 B 470 B 470 B
host/assets/DrawIcon.js 136 B 136 B 136 B
host/assets/FloatingLayer.js 2.6 KB 1.1 KB (-1 B) 1.2 KB (+2 B)
host/assets/InfoIcon.js 501 B 501 B 501 B
host/assets/LandingAuth.js 241 B 241 B 241 B
host/assets/LandingNav.js 3.1 KB (+39 B) 1.4 KB (+3 B) 1.6 KB (+6 B)
host/assets/LandingPart.js 617 B 617 B 617 B
host/assets/LandingRecents.js 2.7 KB 1.1 KB (+6 B) 1.3 KB (+1 B)
host/assets/LoadingScreen.js 4.3 KB (-15 B) 1.8 KB (-5 B) 2.2 KB (+2 B)
host/assets/Modal.js 2.6 KB 1.0 KB 1.2 KB (+1 B)
host/assets/ModalLayer.css 6.3 KB 1.5 KB (+1 B) 1.7 KB (+1 B)
host/assets/ModalLayer.js 8.6 KB 3.2 KB (+5 B) 3.6 KB (-2 B)
host/assets/Overlays.css 23.1 KB (+25 B) 4.0 KB (-1 B) 4.5 KB (+16 B)
host/assets/Overlays.js 8.9 KB 3.1 KB (+3 B) 3.5 KB (-3 B)
host/assets/PermissionsContent.js 9.1 KB 3.3 KB (-5 B) 3.7 KB (-4 B)
host/assets/Popover.js 5.8 KB 2.0 KB (-8 B) 2.2 KB (+2 B)
host/assets/ReloadIcon.js 525 B 525 B 525 B
host/assets/SectionLabel.js 1.1 KB 394 B 453 B
host/assets/SegmentedControl.js 1.7 KB 797 B 909 B (+1 B)
host/assets/SettingsContent.js 9.6 KB 2.9 KB (+14 B) 3.3 KB (+2 B)
host/assets/StatusDot.js 559 B 559 B 559 B
host/assets/Surface.js 1.5 KB 647 B (+2 B) 729 B (-3 B)
host/assets/TopbarActions.js 13.7 KB 4.6 KB (+7 B) 5.1 KB (+2 B)
host/assets/TopbarReveal.js 1.1 KB 575 B (-1 B) 620 B
host/assets/UrlPillShield.js 6.2 KB 2.0 KB (-16 B) 2.3 KB (-2 B)
host/assets/Well.js 1.0 KB 471 B (+1 B) 542 B
host/assets/_md.js 1.6 KB (-2 B) 799 B (+1 B) 867 B (-1 B)
host/assets/_u64.js 768 B 768 B 768 B
host/assets/abort.js 143 B 143 B 143 B
host/assets/auth-controller.js 5.6 KB 2.1 KB 2.4 KB (+1 B)
host/assets/auth.js 319 B 319 B 319 B
host/assets/base.js 4.6 KB 1.9 KB 2.0 KB
host/assets/blake2.js (×2) 12.7 KB (-485 B) 4.9 KB (-181 B) 5.6 KB (-183 B)
host/assets/bridge.js 43.5 KB (+70 B) 13.4 KB (+14 B) 14.9 KB (+25 B)
host/assets/browser.js 22.6 KB 7.4 KB 8.4 KB
host/assets/byte-size.js 189 B 189 B 189 B
host/assets/capture.js 3.8 KB 1.5 KB (+2 B) 1.7 KB (+2 B)
host/assets/chain.js 28.6 KB 8.2 KB 9.0 KB (+1 B)
host/assets/client.js (×2) 15.6 KB 6.0 KB (+1 B) 6.5 KB
host/assets/config.js 609 B 609 B 609 B
host/assets/debug-panel-host.js 83.4 KB (+32 B) 24.1 KB (-22 B) 28.2 KB (+16 B)
host/assets/debug-wire.BgOLThNZ.js 55.3 KB 10.4 KB 13.2 KB
host/assets/device.js 235 B 235 B 235 B
host/assets/dist.js 65 B 65 B 65 B
host/assets/dot-label.js 868 B (+386 B) 868 B (+386 B) 868 B (+386 B)
host/assets/dotli-debug-bus.js 750 B 750 B 750 B
host/assets/drag.js 881 B 881 B 881 B
host/assets/error-copy.js 259 B 259 B 259 B
host/assets/errors.js 11.8 KB 3.9 KB 4.2 KB
host/assets/focusables.js 419 B 419 B 419 B
host/assets/hex.js 160 B 160 B 160 B
host/assets/host-callbacks.js 2.7 KB 1.0 KB 1.2 KB
host/assets/idle.js 442 B 442 B 442 B
host/assets/in-sheet.js 64 B 64 B 64 B
host/assets/index.css 12.3 KB (-23 B) 2.7 KB (-4 B) 3.0 KB (-11 B)
host/assets/index.astro_astro_type_script_index_0_lang.js 35.9 KB (+38 B) 12.1 KB (+17 B) 13.4 KB (+30 B)
host/assets/landing.css 7.4 KB 1.5 KB (+7 B) 1.8 KB (+2 B)
host/assets/landing.js 646 B 646 B 646 B
host/assets/landing.astro_astro_type_script_index_0_lang.js 254 B 254 B 254 B
host/assets/layer-context.js 1.0 KB 481 B 586 B
host/assets/lazy.js 4.9 KB (+107 B) 1.8 KB (+22 B) 2.1 KB (+45 B)
host/assets/listener-set.js 2.6 KB 1.0 KB 1.1 KB
host/assets/loading.js 271 B 271 B 271 B
host/assets/local-wallet-core.js 2.9 KB 1.2 KB (-7 B) 1.3 KB (-1 B)
host/assets/log.js 3.7 KB 1.2 KB (+11 B) 1.4 KB
host/assets/manifest-types.js 3.6 KB 1.2 KB (+2 B) 1.3 KB (+2 B)
host/assets/mode.js 1.3 KB 522 B 585 B
host/assets/mount.js 3.3 KB 1.5 KB (+2 B) 1.7 KB (-1 B)
host/assets/network-monitor.js 8.7 KB 2.8 KB (-2 B) 3.1 KB (+1 B)
host/assets/network.js 3.9 KB 1.5 KB 1.7 KB
host/assets/notification.js 1019 B 1019 B 1019 B
host/assets/page-client.js 3.3 KB 1.4 KB (+5 B) 1.6 KB (+1 B)
host/assets/page-notifications.js 10.9 KB (+56 B) 4.2 KB (+17 B) 4.7 KB (+28 B)
host/assets/page-permissions.js 4.3 KB 1.7 KB (+4 B) 1.9 KB (+2 B)
host/assets/page-screen.js 525 B 525 B 525 B
host/assets/pending-reset.js 4.3 KB 1.5 KB (-2 B) 1.7 KB (-1 B)
host/assets/perf.js 148 B 148 B 148 B
host/assets/permission-icons.js 5.2 KB 996 B 1.1 KB
host/assets/permissions.js 2.1 KB 803 B 911 B
host/assets/phone.C-fYxhc7.js 292 B 292 B 292 B
host/assets/preload-helper.js 1.6 KB 714 B 841 B
host/assets/product-frame-layout.js 1.3 KB 569 B 647 B
host/assets/product.js 283 B 283 B 283 B
host/assets/proofs.js 26.0 KB 7.5 KB (-1 B) 8.3 KB
host/assets/random-id.js 157 B 157 B 157 B
host/assets/recent-labels.js 1.6 KB 706 B 777 B (-1 B)
host/assets/reduced-motion.js 97 B 97 B 97 B
host/assets/resolve.js 23.9 KB 7.9 KB (-1 B) 8.6 KB (-1 B)
host/assets/rolldown-runtime.js 716 B 716 B 716 B
host/assets/root.B9vmthfp.js 338 B 338 B 338 B
host/assets/root.js 292 B 292 B 292 B
host/assets/safe-storage.js 299 B 299 B 299 B
host/assets/sandbox.DonuVd6y.js 1.3 KB 489 B 567 B
host/assets/scale-ts.js 4.8 KB 1.9 KB 2.1 KB
host/assets/settings-actions.js 10.1 KB 3.5 KB (-3 B) 3.9 KB
host/assets/settings-intent.js 7.3 KB 2.7 KB (+2 B) 3.0 KB (+2 B)
host/assets/settings.js 352 B 352 B 352 B
host/assets/sha2.js 1.9 KB 968 B 1.1 KB
host/assets/shared-mode.js 1.7 KB 693 B (-7 B) 803 B (+1 B)
host/assets/show-error-page.js 4.8 KB 1.7 KB (+15 B) 1.9 KB (+3 B)
host/assets/signing-worker.js (×2) 41.6 KB 9.2 KB 10.5 KB
host/assets/src.js 80.0 KB (+42 B) 25.1 KB (+20 B) 27.8 KB (+11 B)
host/assets/startup.css 5.8 KB 1.7 KB 1.9 KB
host/assets/startup.js 104.5 KB 32.0 KB (-25 B) 35.5 KB (-1 B)
host/assets/status-cell.js 380 B 380 B 380 B
host/assets/sync-store.js 846 B 846 B 846 B
host/assets/timeouts.js 126 B 126 B 126 B
host/assets/toasts.js 3.0 KB 1.3 KB (-5 B) 1.4 KB (-3 B)
host/assets/topbar.B7cS0r3B.js 2.7 KB 1.0 KB 1.2 KB
host/assets/topbar.Bq-n4Klp.js 196 B 196 B 196 B
host/assets/topbar.js 458 B 458 B 458 B
host/assets/truapi-debug-panel.css 18.1 KB 4.1 KB (+24 B) 4.6 KB (-1 B)
host/assets/truapi-debug-panel.js 127.2 KB 35.0 KB (+24 B) 40.6 KB (-4 B)
host/assets/truapi_server_bg.wasm 2.76 MB 740.9 KB 982.9 KB
host/assets/truapi_signing_bg.wasm 2.99 MB 803.7 KB 1.04 MB
host/assets/truapi_verifiable.js 14.3 KB 2.8 KB 3.2 KB
host/assets/truapi_verifiable_bg.wasm 4.89 MB 4.61 MB 4.64 MB
host/assets/twoX.js 8.5 KB 3.0 KB (-1 B) 3.3 KB
host/assets/types.js 25.6 KB 6.4 KB 8.6 KB
host/assets/url-pill.js 385 B 385 B 385 B
host/assets/use-store.js 366 B 366 B 366 B
host/assets/utils.js 3.5 KB 1.4 KB 1.5 KB
host/assets/verify.js (×2) 1.2 KB (-1.9 KB) 681 B (-902 B) 768 B (-1.1 KB)
host/assets/wallet-boot.js 29.5 KB 9.6 KB (+7 B) 10.5 KB (+2 B)
host/assets/wallet-mode.js 182 B 182 B 182 B
host/assets/wallet-switch.js 2.5 KB 1.0 KB (+1 B) 1.1 KB (+3 B)
host/assets/web.js (×2) 96.0 KB 30.2 KB 33.4 KB
host/assets/wire-table.js 17.7 KB 4.6 KB 5.4 KB
host/assets/workbox-window.prod.es5.js 5.5 KB 1.9 KB 2.1 KB
host/assets/worker-runtime.js (×2) 38.0 KB 9.0 KB 10.1 KB
host/favicon.svg 1.8 KB 1.8 KB 1.8 KB
host/host-sw.js 8.5 KB (+92 B) 2.4 KB (-6 B) 2.7 KB (+13 B)
host/host_version.json 109 B 109 B 109 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 48.4 KB (-14 B) 11.7 KB (-34 B) 13.7 KB (-8 B)
host/landing.html 42.9 KB (-1 B) 10.4 KB (+24 B) 12.2 KB (-4 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 7.4 KB 2.7 KB (-1 B) 3.1 KB
sandbox/assets/index.js 232.4 KB 66.1 KB (-21 B) 76.5 KB (+2 B)
sandbox/assets/index.css 6.3 KB 1.9 KB 2.1 KB
sandbox/assets/page-ui.js 81.0 KB 26.3 KB (+40 B) 29.3 KB (-2 B)
sandbox/assets/page-ui.css 19.0 KB (-17 B) 3.5 KB (+5 B) 3.9 KB (+7 B)
sandbox/favicon.svg 1.8 KB 1.8 KB 1.8 KB
sandbox/host_version.json 108 B 108 B 108 B
sandbox/index.html 1.9 KB 451 B 671 B (-2 B)
Total 12.44 MB (+1.1 KB) 6.71 MB (+1.1 KB) (compression rate: 46%) 7.30 MB (+1.2 KB)

Commit: 31753c0

@johnthecat
johnthecat merged commit a7cc6b4 into main Oct 16, 2026
15 checks passed
@johnthecat
johnthecat deleted the fix/subname-path-route branch October 16, 2026 18:57
@github-actions

Copy link
Copy Markdown
Contributor

⚡ Performance Report

Cold Start

Overall: 🟢 improved  |  p50: 11.21s to 10.26s (-8.4%)  |  p95: 12.44s to 11.48s (-7.7%)  |  Mann-Whitney: z=3.61 ✅ significant

Phase breakdown
Phase Base p50 PR p50 p50 Δ Base p95 PR p95 p95 Δ Verdict
End-to-end 11.21s 10.26s -944ms (-8.4%) 12.44s 11.48s -953ms (-7.7%) 🟢 improved
Host total 8.32s 7.70s -624ms (-7.5%) 8.94s 8.08s -867ms (-9.7%) 🟢 improved
Name resolution 8.08s 7.45s -635ms (-7.9%) 8.76s 7.82s -944ms (-10.8%) 🟢 improved
App total 2.84s 2.48s -358ms (-12.6%) 3.95s 3.66s -293ms (-7.4%) 🟢 improved

Warm Start

Overall: 🔴 regressed  |  p50: 367ms to 432ms (+17.7%)  |  p95: 411ms to 477ms (+16.1%)  |  Mann-Whitney: z=4.40 ✅ significant

Phase breakdown
Phase Base p50 PR p50 p50 Δ Base p95 PR p95 p95 Δ Verdict
End-to-end 367ms 432ms +65ms (+17.7%) 411ms 477ms +66ms (+16.1%) 🔴 regressed
Host total 93ms 117ms +24ms (+25.8%) 134ms 142ms +8ms (+6.0%) 🔴 regressed
App total 255ms 300ms +45ms (+17.6%) 273ms 316ms +43ms (+15.8%) 🔴 regressed

Lukewarm Start (different site, same session)

Overall: 🟢 improved  |  p50: 14.14s to 12.52s (-11.5%)  |  p95: 15.04s to 13.89s (-7.7%)  |  Mann-Whitney: z=3.92 ✅ significant

Phase breakdown
Phase Base p50 PR p50 p50 Δ Base p95 PR p95 p95 Δ Verdict
End-to-end 14.14s 12.52s -1622ms (-11.5%) 15.04s 13.89s -1152ms (-7.7%) 🟢 improved
Host total 9.49s 8.20s -1295ms (-13.6%) 10.21s 8.40s -1814ms (-17.8%) 🟢 improved
Name resolution 7.55s 6.42s -1127ms (-14.9%) 8.12s 6.62s -1500ms (-18.5%) 🟢 improved
App total 4.49s 4.37s -118ms (-2.6%) 5.62s 5.63s +6ms (+0.1%) ⚪ unchanged

Commit: 31753c0  |  Outliers (>2x best) discarded before stats

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