Add support for Digital Credentials on iOS#416
Add support for Digital Credentials on iOS#416gp-iaik wants to merge 122 commits intodevelopmentfrom
Conversation
2aaaf57 to
c146b7f
Compare
9417aae to
1f27b75
Compare
|
Requires update of multipaz to latest release |
bcf68cd to
74b5d3c
Compare
|
TODO: fix proximity |
This comment was marked as outdated.
This comment was marked as outdated.
a3b4eee to
2b8c0f5
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This reverts commit bff96d2.
This comment was marked as outdated.
This comment was marked as outdated.
* Xcode 26 * remove xcode <26 workarounds * no standalone simulator * Raise the iOS target version to 18.6
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
| koin = "4.1.1" | ||
| testballoon = "0.7.1-K2.3.0" | ||
| # TestBallon has to be the same version as in vck, otherwise tests in composite builds may fail | ||
| testballoon = "0.8.2-K2.3.0" |
This comment was marked as outdated.
This comment was marked as outdated.
This reverts commit 7bf6476.
…us/compose-wallet-app into feature/ios_digital_credentials
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
💡 Codex Review
valera/shared/src/commonMain/kotlin/ui/navigation/WalletNavigation.kt
Lines 891 to 893 in dd1aae7
ProvisioningIntentViewModel now returns an optional route on success (including AddCredentialDcApiSuccessRoute when handling CREATE_CREDENTIAL flows), but this callback ignores the route and always calls navigateBack(). In issuer flows that require browser auth (resumeWithAuthCode), the app will return to the previous screen instead of the DCAPI success screen, so the wallet never sends the final create-credential response back to the invoker.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Should be irrelevant for DC API. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 25a54d4660
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <key>com.apple.security.application-groups</key> | ||
| <array> | ||
| <string>group.Compose.Wallet</string> | ||
| </array> |
There was a problem hiding this comment.
Add keychain-access-groups to extension entitlements
The extension entitlement file only declares com.apple.security.application-groups, but the app target now uses an explicit keychain-access-groups entry (iosApp/iosApp/iosApp.entitlements), and the extension runs the shared wallet stack (MainViewController/KeystoreService) during DCAPI presentation. Without the same keychain access group on the extension, it cannot read the app’s existing signing keys, so extension-based presentations can fail for already-issued credentials or silently create unusable key material in a separate keychain domain.
Useful? React with 👍 / 👎.
…us/compose-wallet-app into feature/ios_digital_credentials
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b11f259a51
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } catch (e: Throwable) { | ||
| Napier.e("Error while invoking Swift code", e) | ||
| } |
There was a problem hiding this comment.
Resume coroutine after Swift bridge failures
When DigitalCredentials.storeDocumentWithId throws synchronously, this catch block only logs and exits without resuming cont, so storeDocumentFromSwift never completes. In that case registerWithDigitalCredentialsAPI can hang on the first failing entry and skip processing remaining credentials, leaving iOS DCAPI registration partially or fully stuck. Resume the continuation in the error path (for example with false or an exception) so the suspend function always completes.
Useful? React with 👍 / 👎.
Closes #163
Requires a-sit-plus/vck#538
Closes #432