Skip to content

feat(android): funding overlay screens and provider frame - #1872

Open
filvecchiato wants to merge 3 commits into
hosts/android-funding-3a-pocketfrom
hosts/android-funding-3b-overlay
Open

filvecchiato wants to merge 3 commits into
hosts/android-funding-3a-pocketfrom
hosts/android-funding-3b-overlay

Conversation

@filvecchiato

@filvecchiato filvecchiato commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

The funding overlay: the sheet a product's funding request opens, and the provider frame.

  • Sheet: Crypto, Card and Bank amounts with the core's limits, country, providers and fees, summary with Change provider, and crypto deposit with QR and copy (presentation/funding/**). The session timeline and FundingLiveLine word the provider's latest detail on one line. Cancel asks the provider, with "Cancel anyway" before money moves and the offer after; an ended session gets its own screen.
  • Provider frame: the provider's App, or an external https page that shows its origin and answers Returned(url). closeFrame hands it back to the session sheet.
  • AppFundingOverlay binds FundingOverlay; FundingSessionPresenter, FundingOverlayContext and FundingFrameContext carry a session to its sheet and frame. FundingFlowInteractor gives the view models the CASH asset and balance, the session state, provider branding and the detected country.
  • ProductsRouter, ProductsNavigator and the root nav graph open the sheets.

Nothing opens the overlay yet: the CASH card and the core reach it through the wiring in #1355.

Tests: AppFundingOverlayTest, FundingViewModelTest, FundingCancelViewModelTest, FundingUiMapperTest, FundingLiveLineTest, FundingTimelineTest, FundingEndedMapperTest.

Stack (split out of #1355, mirroring the split requested on #1345):

  1. feat(android): load products from the app bundle; funding-only workers #1869 loading: bundled products, funding-only workers (base main)
  2. feat(android): funding core integration — bindings, session model, provider listing, worker exits #1870 core integration: bindings, session model, provider listing, worker exits (base funding/host-gaps, feat(truapi)!: crypto networks, learned limits, retrying, payout and refunds for the funding screens #1344)
  3. feat(android): Pocket UI for the CASH card #1871 Pocket UI for the CASH card
  4. feat(android): funding overlay screens and provider frame #1872 funding overlay screens and provider frame
  5. feat(android): wire the CASH card and the core to the funding overlay; remove the getcash path #1355 wiring: CASH card and core to the overlay; getcash path removed

@filvecchiato
filvecchiato requested review from a team as code owners November 3, 2026 16:52
@github-actions github-actions Bot added size:XXL 1000 lines or more; split it, or say in the description why it cannot be status:waiting-on-review Ready for a reviewer labels Nov 3, 2026
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

This pull request touches an app, which is not built by default. Add a label for each build you want:

  • Android build, ci:android-device: attaches an APK that installs on an Android phone or an emulator.

Each starts as soon as it is added and follows the branch from then on.

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Bundle size report

Compared with main at e92024d.

Raw Gzip Brotli
truapi-host 8.50 MiB (+69.3 KiB, +0.8%) 5.87 MiB (+23.8 KiB, +0.4%) 5.53 MiB (+17.6 KiB, +0.3%)
truapi-provider 4.04 MiB 1.27 MiB 961.4 KiB
truapi 7.91 MiB (+21.1 KiB, +0.3%) 1.10 MiB (+3.9 KiB, +0.3%) 920.0 KiB (+3.2 KiB, +0.4%)
trinity-stack 634.2 KiB 247.5 KiB 204.8 KiB
Total 21.07 MiB (+90.4 KiB, +0.4%) 8.49 MiB (+27.7 KiB, +0.3%) 7.57 MiB (+20.8 KiB, +0.3%)

WebAssembly modules

Raw Gzip Brotli
truapi-host/wasm/web/truapi_server_bg.wasm 3.38 MiB (+68.5 KiB, +2.0%) 1.17 MiB (+23.6 KiB, +2.0%) 894.9 KiB (+17.4 KiB, +2.0%)
truapi-host/wasm/web/truapi_verifiable_bg.wasm 4.89 MiB 4.64 MiB 4.61 MiB
truapi-provider/truapi_provider_bg.wasm 4.00 MiB 1.27 MiB 953.6 KiB
trinity-stack/wasm/trinity_stack_bg.wasm 564.4 KiB 230.5 KiB 190.0 KiB
Changed files (10)
Raw Gzip Brotli
truapi-host/wasm/web/truapi_server_bg.wasm 3.38 MiB (+68.5 KiB, +2.0%) 1.17 MiB (+23.6 KiB, +2.0%) 894.9 KiB (+17.4 KiB, +2.0%)
truapi/explorer/codegen/types.js 319.1 KiB (+9.7 KiB, +3.2%) 45.3 KiB (+1.7 KiB, +3.9%) 35.2 KiB (+1.4 KiB, +4.1%)
truapi/playground/codegen/truapi-dts.js 390.8 KiB (+7.5 KiB, +2.0%) 67.8 KiB (+1.6 KiB, +2.5%) 54.1 KiB (+1.3 KiB, +2.6%)
truapi/generated/types.js 88.4 KiB (+1.6 KiB, +1.8%) 10.9 KiB (+294 B, +2.7%) 9.1 KiB (+239 B, +2.6%)
truapi/playground/codegen/services.js 127.6 KiB (+971 B, +0.7%) 19.7 KiB (+159 B, +0.8%) 16.5 KiB (+145 B, +0.9%)
truapi/generated/client.js 95.5 KiB (+908 B, +0.9%) 14.7 KiB (+138 B, +0.9%) 12.2 KiB (+112 B, +0.9%)
truapi-host/wasm/web/truapi_server.js 59.9 KiB (+562 B, +0.9%) 10.8 KiB (+99 B, +0.9%) 9.3 KiB (+91 B, +1.0%)
truapi/generated/wire-decode.js 37.1 KiB (+318 B, +0.8%) 3.7 KiB (+24 B, +0.6%) 3.1 KiB
truapi-host/generated/host-callbacks.js 13.6 KiB (+241 B, +1.8%) 4.2 KiB (+71 B, +1.7%) 3.6 KiB (+65 B, +1.8%)
truapi/generated/wire-table.js 11.4 KiB (+100 B, +0.9%) 1.8 KiB (+9 B, +0.5%) 1.5 KiB (+8 B, +0.5%)

Commit: 4604536

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

CI Status: 24 required jobs green, 17 passed and 7 skipped by path filter.

All job results
job result
android-app success
android-bindings skipped
bundle-size success
changes success
changeset-guard skipped
cli-package skipped
codegen success
e2e skipped
explorer success
headless-install success
host-wasm success
ios-app skipped
ios-bindings success
licenses success
playground success
provider-android-bindings skipped
release-guard success
rust success
ts-client success
ts-debugger success
ts-host success
ts-trinity-stack success
wasm-provider success
workflow-lint skipped

Signing credentials: valid as of 2026-11-04

Commit 46045367 · run log

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

size:XXL 1000 lines or more; split it, or say in the description why it cannot be status:waiting-on-review Ready for a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant