Skip to content

[WAL-1372] feat(wallet): add runtime proximity controls - #2172

Closed
szijpeter wants to merge 18 commits into
feature/wal-1347-nfc-wallet-demosfrom
feature/wal-1372-proximity-settings
Closed

[WAL-1372] feat(wallet): add runtime proximity controls#2172
szijpeter wants to merge 18 commits into
feature/wal-1347-nfc-wallet-demosfrom
feature/wal-1372-proximity-settings

Conversation

@szijpeter

@szijpeter szijpeter commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

Closed as superseded — do not merge standalone. Its complete runtime-profile delta was transplanted into WAL-1347 integration PR #2166 with transplant proof and integrated ReaderAuth-provider composition. WAL-1372 is superseded by the integration ownership.

Adds runtime proximity transport controls to the Compose wallet demo Settings screen so one installed build can switch between the existing production-default path and the two provisional NFCv2 qualification profiles.

This PR is stacked on WAL-1347 wallet integration PR #2166. The default selection preserves the existing QR/NFC negotiated engagement and conventional retrieval behavior.

What Changed

  • Adds three typed, persisted profiles: default, provisional NFCv2 hybrid over BLE, and provisional NFCv2 direct over NFC.
  • Exposes the profiles under a dedicated Proximity Presentation Settings section on proximity-capable mobile demos.
  • Snapshots the selected profile when a session starts, so changing Settings cannot mutate an active session.
  • Shares the same preference and configuration mapping across Compose Android and Compose iOS.
  • Falls back safely to the default profile when an unknown persisted value is encountered.

Architecture Notes

  • Settings select a constrained demo profile rather than exposing arbitrary SDK configuration.
  • Platform and transport capability checks remain owned by the proximity SDK before engagement.
  • The demo UI does not duplicate protocol-state or fallback decisions.

Caveats and Follow-Ups

  • Both NFCv2 choices are explicitly provisional and intended for qualification work.
  • The underlying direct and hybrid mappings have bounded physical evidence in WAL-1349 architecture PR #61. A physical pass through this new Settings selector remains open on WAL-1372; this PR does not broaden protocol semantics.
  • The profile remains a demo-app preference and is not a new public wallet SDK API.

Breaking

None. The default behavior is unchanged.

Refs WAL-1372

@linear-code

linear-code Bot commented Aug 31, 2026

Copy link
Copy Markdown

WAL-1372

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: e59a42dc-7e72-4a84-93a3-f461dddb9ff4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@szijpeter szijpeter self-assigned this Aug 31, 2026
@szijpeter szijpeter added the ci:mobile Run mobile related CI workflows for this PR label Aug 31, 2026
@szijpeter szijpeter closed this Sep 1, 2026
@szijpeter szijpeter reopened this Sep 1, 2026
@sonarqubecloud

sonarqubecloud Bot commented Sep 1, 2026

Copy link
Copy Markdown

@szijpeter
szijpeter force-pushed the feature/wal-1347-nfc-wallet-demos branch from f10ccee to 060a028 Compare September 1, 2026 10:45
@szijpeter

Copy link
Copy Markdown
Contributor Author

Superseded by #2166 at 060a028569b3be26bf9b7ec0bace5025f00e1bbc. Both donor commits were absorbed (d37aa47a8→d673fe6cc, 445ede325→5767e0726); the range-diff differences are the intentional composition with #2160 ReaderAuth settings so transport and trust are snapshotted together. Compose host tests and the focused native suite pass on the consolidated head. Closing without merge.

@szijpeter szijpeter closed this Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:mobile Run mobile related CI workflows for this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant