Skip to content

Align web payments with Hub and preserve wallet and network context - #976

Draft
Zazawowow wants to merge 4 commits into
mainfrom
web-payment-polish
Draft

Zazawowow wants to merge 4 commits into
mainfrom
web-payment-polish

Conversation

@Zazawowow

@Zazawowow Zazawowow commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Web payments now retain the Hub's network, active indexer and theme, and provide one consistent Invest, Fund and Subscribe flow. Completed payments use a compact, vertically centered card with transaction and recovery actions instead of a full-width green banner.

Changes:

  • Match Hub navigation, surfaces, responsive payment layouts and funding-pattern cards; preserve fixed subscription amounts and require a valid offered plan.
  • Offer the desktop app for payments of 0.01 BTC or more before creating a browser wallet.
  • Preserve existing wallets on mismatched network links and prevent background health checks from overwriting newly selected connection settings.
  • Use asynchronous browser BIP-39 derivation, reuse the signing-key cache and yield between address derivations. Copy controls show inline success/retry feedback.
  • Keep initial connecting relays eligible for project discovery while excluding failed connections.

This branch is based on current main and contains only the web-payment work and its shared dependencies. Companion Hub change: block-core/angor-hub#43

Validation:

  • Debug build and Release publish passed with .NET 8.0.310.
  • Full Angor.Shared.Tests suite: 166 passed, zero failed or skipped. Full Angor.Sdk.Tests suite: 349 passed, 14 existing skips, zero failures.
  • Published-build completion, payment-dialog/threshold/keyboard-focus/backup and plan checks passed in Chromium 153, Firefox 155 and WebKit 26.6 on Linux, at desktop 1440×900 and phone 390×844. Both themes, all payment types, reload, transaction links, deletion guard, plan handoff, fixed prices and responsive widths were exercised.
  • A real Angornet Fund payment passed invoice funding, investment broadcast, independent indexer verification, reload persistence and access to the original recovery phrase. Investment transaction: b57b2d9424c75760794286b71f0f3841db865185a5550bb666e518b225bf8a8c.
  • Live Hub → testnet invoice, address-copy feedback, BIP-39 compatibility and preserving an existing wallet on a mismatched network link passed.

Remaining validation limits:

  • Live Lightning payment needs configured test payer credentials. Live Invest completion needs founder approval; neither is claimed as end-to-end verified. Subscribe is covered by UI and shared protocol tests, not a live payment.
  • Desktop recovery/import and real-device Safari were not exercised. Linux WebKit with phone viewport is not an iPhone test.
  • Existing compiler warnings and the existing HtmlSanitizer 8.0.843 NU1902 advisory remain. No mainnet funds, deployment or merge were involved.
  • Isolated Chromium Release wallet preparation passed the unchanged 1.5-second event-loop target: largest measured pause 1.18 seconds. An earlier run under concurrent browser/build load measured 1.65 seconds; this is a local measurement, not a guarantee for every device.

Browser scenarios, wallet state, recovery phrases and traces are kept outside the repository and are not uploaded.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant