Feat: Qt keycard support with nfc and pcsc#19545
Merged
Conversation
Member
Member
✔️ status-desktop/prs/linux/x86_64/tests-ui/PR-19545#1 🔹 ~13 min 🔹 8bb7613 🔹 📦 tests/ui package |
Member
Member
Member
Member
✔️ status-desktop/e2e/prspr19545 🔹 ~15 min 🔹 8bb7613 🔹 📦 tests/e2e package |
Member
Member
Member
✔️ status-desktop/prs/linux/x86_64/tests-ui/PR-19545#2 🔹 ~14 min 🔹 450a51f 🔹 📦 tests/ui package |
Member
Member
Member
Member
Member
✔️ status-desktop/e2e/prspr19545 🔹 ~16 min 🔹 450a51f 🔹 📦 tests/e2e package |
This was referenced Dec 10, 2025
Member
✔️ status-desktop/prs/android/arm64/package/PR-19545#3 🔹 ~11 min 🔹 77b27f38 🔹 📦 android/arm64 package |
Member
Member
✔️ status-desktop/prs/linux/x86_64/tests-ui/PR-19545#3 🔹 ~13 min 🔹 adadfcd 🔹 📦 tests/ui package |
Member
Member
Member
Member
This commit adds the status-keycard-qt submodule and updates the build configuration to support it. In this initial version the `status-keycard-qt` option can be enabled by using the `USE_STATUS_KEYCARD_QT` flag. - desktop: `USE_STATUS_KEYCARD_QT` will enable/disable the qt implementation. By default the go version is used - ios: `USE_STATUS_KEYCARD_QT` will enable/disable the qt implementation - android: the qt implementation is enabled by default to squash - first commit
- squash: bump status-keycard-qt bump - squash to squash - bump
GlobalPlatform crypto needs the legacy providers. While it will potentially work OOTB with android since we're using dynamic linking, for IOS we need to compile with `no-module`. This will bundle the providers in the lib.
+ Fix lib extention
- src/app/modules/main/wallet_section/send_new/module.nim Verify if both password and pin are empty before emitting the `authenticationCancelled` signal - handle card disconnect/reconnect when the user input is needed (enter pin, puk etc) - treat keycard message with empty error as successful - src/app_service/service/keycard/service.nim - avoid modifying the json container with itself. We're currently iterating the container and modifying the service member - leading to a freeze.
this commit updates the makefile to determine some of the keycard lib link params based on a single argument - the lib path
This is a fix for the mobile platforms that will show a drawer when the keycard is needed. We'll need to avoid showing the drawer every time at app start.
The keycard channel events will inform the app of the channel state (waiting for keycard, reading, error, idle). This will be used on mobile platforms to control a drawer that informs the user when it's required to tap the keycard.
…keycard interactions Adding a `KeycardChannelDrawer` that's guiding the user whenever the keycard is needed. On IOS the system drawer is used
…ponents - use a single KeycardStateDisplay instance with the necessary states - The state queue, transitions and entire logic moved to KeycardChannelStateManager component
The constants are moved from nim to qml
- Adding states for HW adaptor states - Implement `Dismiss` action
…ing blocked This commit updates parts of the login flows. Adds a new `Scan keycard` button to trigger keycard detection on demand. + Update keycard states in the login flow + Show digits only on soft keyboard for pin input to squash - fix: User needs to be able to dismiss the keycard drawer without getting blocked
…ger keycard detection
95ea926 to
1b4bb69
Compare
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.
What does the PR do
PRs included
#19546
#19547
#19548
#19549
Add https://github.com/status-im/status-keycard-qt lib as a keycard integration option.
This commit adds the status-keycard-qt submodule and updates the build configuration to support it.
In this initial version the
status-keycard-qtoption can be enabled by using theUSE_STATUS_KEYCARD_QTflag.USE_STATUS_KEYCARD_QTwill enable/disable the qt implementation. By default the go version is usedUSE_STATUS_KEYCARD_QTwill enable/disable the qt implementation. On IOS the developer experience is quite bad and I've tried not to make it worse here. When compiling the app with keycard support a paid apple developer account is needed to sign the app. For this reason theUSE_STATUS_KEYCARD_QTis disabled by default in the mobile makefile. People with apple accounts can use theDEVELOPMENT_TEAMflag to configure the signing before running the app.USE_STATUS_KEYCARD_QTAcceptance criteria
NOTE: Tests can be done in the final PR #19549