Merge from develop to main (#1636)
* chore: rename passcode
* fix: UI issue in RecoverySeedPhraseModule
* feat(core): Cleaner way to provide group name to UI (#1408)
* refactor: rename userName to proposedUsername in group metadata
* feat: add groupUsername to IdentifierMetadataRecord and related services
* refactor(EditProfile): streamline parameter handling for displayName and groupMetadata updates
* refactor(ui): simplify username handling and remove unused groupMetadata updates
* chore: fix type error after merge develop
* test: add unit test for updating identifier groupUsername
* refactor(ui): enhance username handling in various components and streamline identifier retrieval
* feat(ui): add setProfileMultisigConnections action and update group creation handler to refresh multisig connections
* test: enhance group creation handler tests
* feat(ui): update addGroupProfileAsync to fetch and dispatch multisig connections for group members
* refactor(core): simplify groupId filtering logic
* chore(ui): remove outdated comment
* refactor(core): streamline profilesCache logic and remove unused setProfileMultisigConnections action
* refactor(core): update connection types to use MultisigConnectionDetails for improved type safety
* test(ui): update ProfileSetup tests to utilize MultisigConnectionDetails
* fix(core): Notifications and operation tracking not restarting properly on error (#1420)
* fix(core): Update error handling in KeriaNotificationService to use arrow functions for polling methods
* test(core): Enhance context preservation tests
* Fix/delete wallet bug (#1417)
* fix: delete wallet
* feat: add agent initilized flags
* fix: unit tests
* feat(ui): Initial basic push notifications (#1410)
* wip: add basic notifications
* feat: adding cold start and performance optimization
* fix: cold start won't switch profile
* wip: fix persistent notifications bug
* test(jest): fix unit test
* fix: replaced timeout-based workaround with event-driven state machine solution
* fix: update package-lock
* fix: mock a basic IonIcon
* fix: updated the lock file to match the current state
* wip: troubleshooting profile switch
* fix: duplicate notification bug
* chore: bring back react-hooks/exhaustive-deps deleted by mistake
* fix: review PR comments
* fix: add NSUserNotificationsUsageDescription
* chore: service relocation
* chore: remove MultiSigExn
* wip: simplify & refactor
* chore: cleanup
* fix: remove dynamic imports in handleNotificationReceived
* fix: Android cold start and failing tests
* feat: add CapacitorLocalNotifications.release.xcconfig
* wip: fix PR comments
* fix: handleNotificationNavigation
* wip: fix PR comments
* fix: navigate first and then clear in the background
* wip: fix PR comments
* fix: PR comments & clearDeliveredNotificationsForProfile
* fix: failing test
* fix: PR suggestions
* fix: wrong validation
* fix: no need for type casting
---------
Co-authored-by: J Caso <[email protected]>
* fix(ui): read groupUsername instead of proposedUsername for IPEX details (#1424)
* fix(ui): read groupUsername instead of proposedUsername for IPEX details
* test(ui): add groupUsername to fixture
* fix(ui): Fix hidden profile details after profile deletion (#1426)
Co-authored-by: Vu Van Duc <[email protected]>
* fix(core): reliability of getInceptionStatus (#1422)
* fix(core): reliable groupInceptionStatus (fix in KERIA)
* chore: update compose file keria
* fix(core): wallet cannot receive credentials with multiple acdc edge hops (#1421)
* fix(core): recursively resolve schemas
* fix(core): recursive schema resolve should return correctly with no edges too
* feat(core): enhance recursiveschemaresolve with better errors and saidification support
* refactor(core): extract edge parsing to separate function
* feat(core): use allSettled for recursive schema resolutions
* Revert "feat(core): use allSettled for recursive schema resolutions"
This reverts commit a3208174ea01ca08a3ffbfaba9e7d462957b33f4.
* fix(core): add role to group OOBI so that KERIA treats it as a wallet (#1423)
* fix(core): add role to group OOBI so that KERIA treats it as a wallet for one-way scanning
* test(core): update multisig oobi test
* feat(ui): Code cleanup (#1418)
* feat(ui): remove scan
* feat(ui): update UI, remove operation type, fix password module not working
* feat(ui): update UT
* feat(ui): update save password method
* chore: remove unecessary type
* feat(ui): remove credential filter
* fix(ui): remove unecessary message
* fix(ut): remove unecessary test
* feat(ui): remove create singleton notification func
* feat(ui): resolve review comments
---------
Co-authored-by: Vu Van Duc <[email protected]>
* fix(core): ensure connection date always stored if connecting 2 wallets or multiple profiles to a wallet (#1428)
* fix(core): ensure completed connection handled correctly for multiple profiles
* feat(core): use notification processsing time as connection date instead of OOBI resolution
* refactor(core): remove unused string constant
* test(core): advance jest timers to show delay in processing notification
* fix(core): align saved connection history items with profile (#1429)
* chore(gha): enable PR docker images push for gchr.io
* chore(gha/docker-publish): fix typo
* fix(core): failed credential operations not handle correctly (#1419)
* feat(core): enhance credential handling with error management and retry logic
* test(core): enhance ACDC action tests with detailed credential metadata handling
* test(core): add unit test for OOBI resolution error handling
* test(core): add tests for credential availability checks in KERIA during ACDC processing
* fix(core): add TODO comment for improving credential availability handling in KERIA
* feat(core): add OnlineOnly decorator to markAcdc method and refine error handling for 404 status
* refactor(core): remove unused credential availability handling
* chore: rollback changes in ipex service
* test(core): update credentialService tests
* chore: remove empty if block
* chore: fix docker-compose image repo
* chore(gha/cf-gha-baseline): pin a newer version
* chore(gha/cf-gha-baseline): pin a newer version (for the rest of steps :)
* chore: use correct image this time
* chore(gha): fix typo while setting DOCKER_REGISTRIES_OVERRIDE
* chore(gha): fix multi-platform manifest push
* chore(gha): fix multi-platform manifest push
* chore(gha): fix multi-platform manifest push
* feat(core): Alternative schema discovery mechanism (#1425)
* feat(core): Alternative schema discovery mechanism
* refactor(core): Simplify schema OOBI resolution
* refactor(core): Update OOBI URL handling
* fix(core): update OOBI URL handling in agent communication fixtures
* refactor(core): streamline schema URL resolution
* fix(ui): set signers box missing (#1433)
Co-authored-by: Vu Van Duc <[email protected]>
* feat(core): cleanup queued identifier or group creations when deleting profile (#1435)
* feat(ui): Swiping notifications (#1427)
* wip: swiping notifications
* fix: activated button color
* feat(ui): KERIA Error after SSI Agent screen (#1432)
* feat(ui): KERIA Error after SSI Agent screen
* feat(ui): remove z-index
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat(ui): Home tab (#1436)
* wip: initial tab & route setup
* wip: home header & profile
* wip: tiles
* wip: tiles colors
* wip: tiles translation and scan modal
* wip: tile coming soon badge
* wip: dapp - connections - rotate
* fix: rotate - split section - new tests
* fix: group selector for split section
* fix: remove responsive grid from small screens
* Feature/android 16 compliance (#1431)
* fix: test android 16 page size 16kb
* Remove generated output-metadata.json from version control
* Add output-metadata.json to .gitignore
* fix: remove xcconfig
* fix: remove comment
* fix: revert remove safe area plugin
* fix: add missing .gradle and Podfile for capacitor-plugin-safe-area
* feat(ui): Removal and migration of dApps and Rotate key options (#1440)
* wip: initial tab & route setup
* wip: home header & profile
* wip: tiles
* wip: tiles colors
* wip: tiles translation and scan modal
* wip: tile coming soon badge
* wip: dapp - connections - rotate
* fix: rotate - split section - new tests
* fix: group selector for split section
* fix: remove responsive grid from small screens
* wip: remove dapps
* feat: remove and refactor RotateKeyModal
* feat: update rotate key modal & info card
* chore: update rotate key modal
* fix: profile details header in small screens
* feat(ui): update onboarding slide image (#1437)
* feat(ui): update onboarding slide image
* feat(ui): fix review comment
* feat(ui): fix review comment
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat: include mailbox and controller in regex (#1439)
* feat: include mailbox and controller in regex
* feat: Add support for witness OOBI URLs and simplify OOBI regex usage
* feat(ui): Update Recovery Wallet - SSI Agent Details Flow (#1412)
* feat(ui): update UI for recovery SSI agent
* fix(ut): update UT
* feat(ui): update onboarding button text
* feat(ui): update recovery flow
* fix(ui): update UI
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat(ui): Remove Recovery Phrase from Onboarding (#1442)
* feat(ui): add term and privacy page
* feat(ui): add term and policy page
* fix(ut): fix UT
* fix(ui): fix flow recovery wallet
* feat(ui): remove advance setting when recovery wallet
* feat(ui): fix test and rename
* fix(ut): fix UT
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat(ui): Implement push notifications preferences (#1443)
* wip: implement push notifications preferences
* feat: android messages
* fix: string conversion
* fix: ensure groupUsername is added on recovery (#1446)
* feat(core): seed phrase verification tracking (#1441)
* feat: Add seed phrase verification status tracking and mark as verified during dev wallet creation.
* feat: add tests for seed phrase verification methods in Agent
* feat: Add critical action state tracking and remove decorator from various service methods
* refactor: replace decorator with explicit seed phrase verification checks and correct critical action recording order in IdentityWalletConnect
* refactor: relocate Agent.agent.recordCriticalAction() calls from multiSigService to identifierService
* fix: unconditionally delete notification record after processing
* fix: Centralize critical action recording within the decorator and update seed phrase verification checks to use
* feat: add `@SeedPhraseVerified` decorator to critical agent methods and remove redundant `recordCriticalAction` calls.
* fix: Remove unused `SeedPhraseVerified` import from wallet connect and credential services.
* fix: replace explicit seed phrase verification and critical action recording with SeedPhraseVerified decorator
* fix: mark seed phrase as verified and remove critical action state initialization during agent setup
* feat: add seed phrase verification cache to optimize `isSeedPhraseVerified` calls
* feat: make isSeedPhraseVerified private and add unit tests
* feat: Add SeedPhraseVerified decorator to admitAcdcFromGrant method
* fix: remove unnecessary agent method mocks from credentialService tests
* fix: improve agent method mocking in identifier service tests
* fix: remove unused Agent import
* feat: Adjust `@SeedPhraseVerified` and `@OnlineOnly` decorator placement for IPEX communication methods
* fix: add missing mock agent online status in `joinMultisigOffer` test cases
* feat(ui): Filtering of profiles could be more efficient (#1434)
* feat(ui): refactor filter data
* feat(ui): update filter
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat(core): implement pending identifier updates functionality (#1438)
* feat(core): implement pending identifier updates functionality
- Added `pendingUpdate` flag to `IdentifierMetadataRecord` to track updates.
- Introduced `getIdentifiersPendingUpdate` method in `IdentifierStorage` to retrieve identifiers marked for updates.
- Implemented `processPendingIdentifierUpdates` in `IdentifierService` to handle updates for identifiers with the `pendingUpdate` flag.
- Updated relevant tests to cover new functionality and ensure correct behavior.
- Created migration script to add `pendingUpdate` flag to existing records in the database.
* feat(core): add mock for processPendingIdentifierUpdates in tests
* refactor(core): streamline identifier update logic and remove unused methods
- Removed the `resolveGroupUsername` method as it was redundant.
- Simplified the handling of `pendingUpdate` in the `pushIdentifierStateToKeria` method.
- Updated tests to reflect changes in identifier metadata handling and removed unnecessary assertions.
- Enhanced the logic for updating group metadata and username in the identifier service.
* chore(core): revert the migration script for identifier updates
* test(core): add test for updating identifier pendingUpdate flag
* fix(core): enhance identifier state update logic
* refactor(core): update identifier metadata update logic
* refactor(core): simplify identifier metadata update process
* test(core): enhance tests for processing multiple pending identifier updates
* test(core): add tests IdentifierMetadataRecord
* refactor(core): rename methods for clarity in identifier update process
* chore(core): rename method for processing identifier updates
* fix: rename `isVerificationMandatory` to `isVerificationEnforced` and make `isSeedPhraseVerified` public (#1448)
* fix: rename `isVerificationMandatory` to `isVerificationEnforced` and make `isSeedPhraseVerified` public
* fix: rename `isVerificationMandatory` to `isVerificationEnforced` in test mocks
* fix(ui): display setting icons (#1450)
Co-authored-by: Vu Van Duc <[email protected]>
* chore(ui): Replace onboarding images with better quality ones (#1451)
* feat: Add content type validation for DOOBI URLs in connection servic… (#1445)
* feat: Add content type validation for DOOBI URLs in connection service and update tests
* feat: update INVALID_DOOBI_CONNECTION_CONTENT_TYPE
* fix: remove keria-src directory (#1456)
* feat(ui): Verify Seed Phrase from the Wallet Home screen (#1447)
* feat(ui): update recovery screen
* fix(ut): update UT
* feat(ui): update UI
* feat(ui): using core func to check and verify seed phrase
* feat(ui): clear name
* fix(ui): fix review comment
* fix(ui): update content of recovery phrase modal
* feat(ui): fix review comment
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat(ui): Set individual name in legacy multisig identifiers (#1449)
* feat(ui): set individual name for legacy group identifier
* feat(ui): update placeholder
---------
Co-authored-by: Vu Van Duc <[email protected]>
* fix(core): various 1.2 recovery fixes (#1454)
* fix(core): correctly set deleted identifier hab name format
* fix(core): various recovery fixes
* feat(ui): update onboarding (#1457)
Co-authored-by: Vu Van Duc <[email protected]>
* fix(ui): fix load pending profile (#1452)
Co-authored-by: Vu Van Duc <[email protected]>
* feat(core): idempotent connection deletion (#1460)
* fix(ui): "Unable to get identifier details" when group initiator leaves (#1461)
* fix(ui): fix show unknown error
* fix(ui): fix issue open set groupName when create new group
---------
Co-authored-by: Vu Van Duc <[email protected]>
* fix(ui): fix keria not connect this moment (#1453)
Co-authored-by: Vu Van Duc <[email protected]>
Co-authored-by: Salvatore Di Salvo <[email protected]>
* fix: verify passcode and password (#1463)
* fix(ui): Provided group username instantly lost during group creation (#1462)
* fix(ui): fix display set group name after create group profile and connections is undefined after delete last profile
* fix(ui): show set group username for profile
* feat(ui): set user name for pending group
* feat(ui): rename component
* feat(ui): update group user name
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat(ui): redirect to homepage after switch profile (#1465)
Co-authored-by: Vu Van Duc <[email protected]>
* feat(ui): Duplicate Group Name Handling (#1466)
* feat(ui): make group name is not duplicate
* feat(ui): fix UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): allow connection name has space character (#1468)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Unable to delete profile after recovering a single profile and deleting immediately (#1469)
* fix(ui): fix a error when delete profile after recovery wallet
* fix(ui): fix UT
* fix(ut): update UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: eslint warns (#1459)
* refactor: Refine `admitExnToJoin` parameter type to `Record<string, unknown>` in `submitMultisigAdmit`
* chore: Fix unused variable ESLint errors in Capacitor mocks and ReadMore component
* fix: refine various type definitions from to or specific types, and address / dependency warnings.
* fix: merge develop
* fix(ui): fix error not display when input wrong display name (#1473)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): remove cardano connect from home when use grp (#1474)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: bind identityWalletConnect (#1472)
* fix: bind identityWalletConnect
* fix: remove redundant proj
* chore: update title (#1475)
* feat(ui): Verify Seed Phrase - Limit reached (#1464)
* feat(ui): add limit verify seed phrase reached modal
* fix(ut): fix UT
* feat(ui): fix app style
---------
Co-authored-by: Vu Van Duc <[email protected]>
* feat(ui): Handle offline mode screen mid-recovery (#1471)
* feat(ui): display offline screen when recovery wallet
* feat(ui): handle if wallet lost connection while sync data
* feat(ui): show offline screen when sync data after open app
* feat(ui): Fix review comment
* feat(ui): check network error by using isNetworkError
* feat(ui): add loading screen when syncing
* feat(ui): fix review comments
* fix(ui): fix UT
* feat(ui): fix UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): Error when initiator sends a request (#1476)
* feat(ui): fix error when initiator sends a request
* feat(ui): fix setup profile screen still display when group complete
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): SSI Agent - Manual input not clearing out on close (#1477)
* fix(ui): clear input after modal close
* feat(ui): remove error after close modal
* feat(ui): fix review comment
* feat(ui): fix input error
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Invalid connect URL if KERIA is down (#1467)
* feat(ui): handle network issue
* feat(ui): check network error by isNetworkError func
* feat(ui): update error message
* feat(ui): fix UT
* feat(ui): update error message
* feat(ui): update catch
* feat(ui): update error message for ssi agent screen
* feat(ui): remove toast
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Error on Android biometrics setup (#1478)
* fix(ui): fix android onboarding biometric setup
* feat(ui): biometric on ios
* feat(ui): update UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix cannot join group when wallet have pending group profile (#1479)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): add rotate button to profile detail page (#1480)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* chore: podfile commit
* fix(migration): update tags handling in peer connection and group sco… (#1488)
* fix(migration): update tags handling in peer connection and group scoped migrations
* chore: update logic handle tags
* fix(): ensure proposedUsername is added only for group members in migration
* fix: skip adding proposedUsername for non-group members in migration v1.2.0.2
* fix(ui): update alert text of recovery phrase (#1482)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): display notification description (#1484)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix infinite load notifications (#1485)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Verify password style mismatch and not disabled button (#1486)
* fix(ui): enable confirm button when password length greater than 8
* fix(ui): update styles
* fix(ui): fix UT
* fix(ui): update styles
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix issue when join other group when setup a group profile (#1489)
* fix(ui): fix issue when join other group when setup a group profile
* fix(ui): fix close scan
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* Fix/receive group credential (#1492)
* feat: refactor credential acceptance UI state.
* feat: add race condition test
* fix: merge develop fix conflicts
* fix: remove duplicated IpexCommunicationService
* fix(ui): New password screen styles and text mismatch (#1483)
* feat(ui): update style and text for forgot password modal
* feat(ui): update UT
* feat(ui): update password style
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(core): upsert records used in connect/recover flow for agent (#1487)
* feat(core): upsert records used in connect/recover flow for agent
* test(core): updates to agent tests
* fix(ui): Update verify button height (#1493)
* fix: create variant for button slim
* fix: responsiveness issues
* fix(ui): Failed profile creation screen not showing (#1490)
* fix(ui): show failed profile creation screen
* fix(ui): update toast message
* fix(ui): fix UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* chore(ui): Update scan to login modal text (#1494)
* chore: text adjustment
* fix: improve types
* chore(deps): bump qs from 6.1[34].0 to 6.14.1 (#1497)
* chore(deps): bump qs from 6.14.0 to 6.14.1
* chore(deps): bump qs from 6.13.0 to 6.14.1
* chore(deps): bump some more qs-6.13.0 ocurrencies (appium ones) to 6.14.1
* feat(ui): Adding verify phrase to Settings page (#1499)
* wip: refactoring and adding verify card
* fix: margin
* test(jest): fix old tests
* test(jest): add new unit tests
* fix(ui): fix display pending state modal when group profile is in pending stage and waiting other members accept (#1500)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* chore(build/android): set target/max sdk version to 36 to enable android 16 support (#1501)
* chore(deps): fix qs-6.14.1 as override depend (#1503)
* fix(ui): Cannot set username of group before creation after migrating from 1.1 (#1491)
* fix(ui): fix issue cannot set username
* fix(ui): add UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* chore(deps): make qs-6.14.1 an overriden depend so it's not downgraded by any new install (#1505)
* fix(ui): Multisig Setup: Forgotten to scan someone’s QR code in the process (#1498)
* fix(ui): handle issue about user forgot scan
* fix(ui): update UI for error page
* fix(ui): add UT
* fix(ui): update UI
* fix(ui): add UT for getGroupSizeFromIcpExn
* fix(core): member introduction process to share OOBI before group inception (#1506)
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: Sotatek-DucPhung <[email protected]>
* feat(ui): remove OK button (#1510)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(migration): refactor connection pair handling and tag management (#1496)
* fix(core): Cannot recover a group post migration if the name was not set after migration (#1507)
* fix(core): Improve proposedUsername validation
* fix(core): remove unneed if block
* feat(ui): Connection name in Revoked credential (#1502)
* feat(ui): update revoke cred list ui
* fix(ui): update UI
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): extend timeout for recovery seed copy & verification (#1509)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix wrong error message when input ssi url (#1511)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(core): remove critical action count for joining grant (only offer counted) (#1515)
* fix(ui): Recovery spinner not shown after reconnecting to KERIA while syncing (#1508)
* fix(ui): fix missing spinner when recovery data from KERIA
* fix(ui): fix review comment
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Misconfigured cloud screen has a check again button that simply closes the screen (#1514)
* fix(ut): handle check witness
* fix(ui): fix review comment
* fix(ut): fix UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): update text for learn more (#1516)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): update delete wallet message (#1517)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): remove cancel button on verify seed phrase modal when time is up (#1518)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): set revoke tab is default when has no active credential (#1520)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(core): only recover held credentials (not chained etc) (#1519)
* feat(core): credentials filter with identifier
* fix: filter credentials by local identifiers during sync to prevent chained ACDC errors
* test: update identifier sync test description for clarity
* fix(core): Core onboarding does not correctly capture boot and connect URL mismatch (#1512)
* fix(core): throw KERIA_NOT_BOOTED error
* fix(core): refine KERIA_NOT_BOOTED error handling and update test descriptions
* chore: remove redundant KERIA_NOT_BOOTED error tests
* fix(ui): fix toggle button is not working when drag (#1523)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat: ensure OOBI connection createdAt syncs between KERIA and local (#1525)
* feat: ensure OOBI connection createdAt syncs between KERIA and local storage
* fix(test): ensure createdAt matches between local storage and KERIA updates
* fix(ui): Display network errors correctly (#1526)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): update change password subtitle (#1524)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: class names - colors - animation (#1528)
* fix(ui): fix black screen when biometric scan (#1529)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): add toast message when connect duplicate connection (#1531)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: prevent error popup when deleting wallet (#1521)
* fix: prevent error popup when deleting wallet
Add guards to check Agent.agent.dependenciesInitialized before accessing
storage. This fixes a race condition during wallet deletion where React
effects would try to access uninitialized Agent.
Changes:
- Added dependenciesInitialized check in syncNotificationsPreferences effect
- Added guard in persistNotificationsPreferences callback
- Added guard in setProfileSwitcher callback
This ensures operations are either completed fully or not at all when
the Agent is being reset during wallet deletion.
* refactor: remove redundant comments
* fix: remove unnecessary comments
* feat: allow async OOBI resolution and clean up schema connections (#1527)
* fix(ui): allow DOOBI
* feat(core): allow async OOBI resolution and clean up schema connections
* test(core): async OOBI resolution
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix open advance modal on profile detail (#1534)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): update style for connection title (#1533)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(core): revise onlineonly decorators and cleanup test mocks (#1522)
* fix(core): revise onlineonly decorators and cleanup test mocks
* test(core): post merge fixes
* test(core): remove last onlineonly negative test
* fix(ui): update error message when input group oobi to connection scan (#1535)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: icon size (#1536)
* fix(ui): Pending Connection Chip #1538
* fix: Connection details labels (#1539)
* fix(ui): I can add connection notes that do not have a title or note (#1540)
* fix(ui): fix validate connection note
* fix(ui): display error message when touched
* fix(ui): fix ut
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat: more appropraite toast messages for negative boot/connect onboarding/recovery flows (#1542)
* feat: more appropraite toast messages for negative boot/connect onboarding/recovery flows
* fix(core): protect connect URL discover from case of domain starting with http like httptest.com
* fix(ui): ensure connectUrl defined to be considered discovered
* feat(ci): add E2E PR check workflow for onboarding-intro test
* refactor(tests): clean up onboarding step definitions and helpers
- Remove unnecessary console.log statements from step files
- Simplify complex logic where possible
- Remove duplicate step definitions
- Fix misplaced steps (moved password/biometric navigation steps to correct files)
- Clean up ssi-agent-urls.helper.ts: remove console.logs, extract constants, simplify logic
* refactor(tests): split onboarding tests into separate feature files
- Split onboarding.feature into separate feature files:
- onboarding-intro.feature
- onboarding-terms.feature
- onboarding-pin.feature
- onboarding-biometrics.feature
- onboarding-password.feature
- onboarding-ssi-agent.feature
- onboarding-individual-profile.feature
- onboarding-new-wallet-e2e.feature
- Split step definitions into separate files per feature
- Add new screen objects for onboarding screens
- Add helper for SSI agent URLs
- Update documentation for testing and emulator setup
- Add network security config for Android HTTP support
- Update onboarding actions and constants
- Remove debug console.log statements and unused imports
* fix(ci): update Node.js version to 20 for Capacitor CLI requirement
* fix(ci): update Java version to 21 to match Capacitor requirements
* fix(ci): add Java 21 verification steps and ensure JAVA_HOME is preserved
* fix(ci): handle uiautomator2 driver already installed case
* fix(ci): replace timeout command with bash loop for macOS compatibility
* fix(ci): add Android emulator startup and boot wait steps
* chore(ci): use emulator-runner, pin actions, increase timeout
* chore(ci): set APP_PATH via GITHUB_ENV and pin setup-android
* chore(ci): use setup-java tag to fix action download
* chore(ci): use setup-android v3 tag to avoid missing tarball
* fix(ui): clear error of ssi input when new error appear (#1546)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): Improve error messages when adding connections (#1545)
* feat(ui): improve error message when adding connections
* fix(ui): fix review comment
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(core): connection name should be profile scoped (#1530)
* feat: add alias support to connection pair records and related services
* feat: enforce alias as a required field in connection pair records and related services
* test: add validation for missing identifier alias when fetching connection by id
* feat: update connection migration scripts to use alias directly and define IdentifierMetadataRecordProps type
* feat: update IdentifierMetadataRecordProps to use CreationStatus enum
* chore: update type
* fix(ci): increase emulator boot timeout, align API levels, add device profile
* fix(ui): Stale connection and Connection details design mismatch (#1547)
* wip: connection details patch
* fix: apply same style to credential cloud error
* fix: replace assets with svg (#1548)
* feat(ui): Add PIN/Password fallback for biometric-protected in-app actions (#1544)
* feat(ui): show PIN screen after user cancel biometric screen
* fix(ui): allow biometric auth in password manager
* feat(ui): move biometric overlay outsite app.tsx
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): redirect to connection tab after scan (#1550)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: Align recovery phrase screens with designs (#1551)
* fix: correct db query for cleaning up pending operations for ipex notification deletion (#1552)
* fix(android): prevent infinite retry loop for pending credentials by unblocking notification cleanup
* fix(android): replace unsupported regex query with in-memory filtering to prevent sqlite crash
* fix: remove regex filter and use getAll
* refactor(android): use explicit query for pending operations with maintenance warning
* test(android): update utils tests to expect explicit query
* revert(android): restore blocking notification cleanup flow as sqlite crash is fixed
* fix: revert notifi service
* chore: remove accidental submodule tracking of signify-ts
* chore: add signify-ts to gitignore
* chore: add debug logging to verify pending operation cleanup
* fix: remove debugs
* fix: implement handling for broken 1.1.X deleted mHab format and reso… (#1549)
* fix: implement handling for broken 1.1.X deleted mHab format and resolve group initiator
* fix: remove handling for broken 1.1.X deleted mHab format and default groupInitiator to false
* test(core): refactor identifier service test (#1555)
* updated yaml
* feat(core): Clean up long-running operations when profiles are deleted (#1543)
* feat(core): Clean up long-running operations when profiles are deleted
* test(core): Cleam up long-runningoperaionts when profiles are deleted
* test(core): add tests for cleanupPendingOperationsForIdentifier
* feat: more appropraite toast messages for negative boot/connect onboarding/recovery flows (#1542)
* feat: more appropraite toast messages for negative boot/connect onboarding/recovery flows
* fix(core): protect connect URL discover from case of domain starting with http like httptest.com
* fix(ui): ensure connectUrl defined to be considered discovered
* fix(ui): clear error of ssi input when new error appear (#1546)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): Improve error messages when adding connections (#1545)
* feat(ui): improve error message when adding connections
* fix(ui): fix review comment
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(core): connection name should be profile scoped (#1530)
* feat: add alias support to connection pair records and related services
* feat: enforce alias as a required field in connection pair records and related services
* test: add validation for missing identifier alias when fetching connection by id
* feat: update connection migration scripts to use alias directly and define IdentifierMetadataRecordProps type
* feat: update IdentifierMetadataRecordProps to use CreationStatus enum
* chore: update type
* fix(ui): Stale connection and Connection details design mismatch (#1547)
* wip: connection details patch
* fix: apply same style to credential cloud error
* fix: replace assets with svg (#1548)
* feat(ui): Add PIN/Password fallback for biometric-protected in-app actions (#1544)
* feat(ui): show PIN screen after user cancel biometric screen
* fix(ui): allow biometric auth in password manager
* feat(ui): move biometric overlay outsite app.tsx
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): redirect to connection tab after scan (#1550)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: Align recovery phrase screens with designs (#1551)
* fix: correct db query for cleaning up pending operations for ipex notification deletion (#1552)
* fix(android): prevent infinite retry loop for pending credentials by unblocking notification cleanup
* fix(android): replace unsupported regex query with in-memory filtering to prevent sqlite crash
* fix: remove regex filter and use getAll
* refactor(android): use explicit query for pending operations with maintenance warning
* test(android): update utils tests to expect explicit query
* revert(android): restore blocking notification cleanup flow as sqlite crash is fixed
* fix: revert notifi service
* chore: remove accidental submodule tracking of signify-ts
* chore: add signify-ts to gitignore
* chore: add debug logging to verify pending operation cleanup
* fix: remove debugs
* fix: implement handling for broken 1.1.X deleted mHab format and reso… (#1549)
* fix: implement handling for broken 1.1.X deleted mHab format and resolve group initiator
* fix: remove handling for broken 1.1.X deleted mHab format and default groupInitiator to false
* test(core): refactor identifier service test (#1555)
* test(core): Cleam up long-runningoperaionts when profiles are deleted
* test(core): revert private function tests
* test(core): add Happy path test for OperationRemoved
* test(core): remove Happy path from private function tests and keep it from interface
---------
Co-authored-by: Fergal <[email protected]>
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: Sotatek-DucPhung <[email protected]>
Co-authored-by: Salvatore Di Salvo <[email protected]>
Co-authored-by: Jaime Caso <[email protected]>
* updated yaml
* refactor(tests): improve onboarding SSI Agent tests and webview handling
- Add webview.helper.ts with robust context switching and retry logic
- Simplify onboarding-ssi-agent.steps.ts by removing redundant context switching
- Add 'user is on Connect to Veridian screen' step definition with proper webview handling
- Improve SsiAgentScanScreen.clickAdvancedSetup() with JavaScript-native click for Shadow DOM
- Update wdio configs with improved ADB and ChromeDriver settings
- Remove emojis from console logs across test files
- Simplify ProfileSetupScreen.loads() method
- Update feature files for better test organization
* chore(ci): disable E2E tests on PR checks
- Comment out entire e2e-pr-check.yaml workflow
- Prevents E2E tests from running on pull requests
* updated tests
* fixed build issues
* fix(core): use correct hab name format when deleting wallet identifiers (#1556)
* fix(core): use correct hab name format when deleting wallet identifiers
* fix: replace IdentifierService.DELETED_IDENTIFIER_THEME with direct reference
* chore: fix test
* chore: replace IdentifierService.DELETED_IDENTIFIER_THEME
* fix(core): update theme check to use parseHabName function
* fix(core): update mock name in notification service tests
* refactor(core): cleanup formatToV1_2_0_2 (undefined is not possible here)
---------
Co-authored-by: iFergal <[email protected]>
* fix(core): properly migrate connections from 1.0.0 wallet (#1557)
* addressing review comments, added group file tests
* fix(ui): Handle push notification navigation when the target profile no longer exists (#1553)
* fix(ui): prevent switch profile when open deleted profile
* fix(ui): add UT for switchProfileFromNotification
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(core): ensure users migrating do not have to re-verify their recover phrase (#1560)
* feat(core): add migration for marking existing users' seed phrase as verified (v1.2.0.3)
* chore: remove debug logs
* fix(core): update migration logic to check for onboarding completion
* Review feedback: debug-only Android network config, KERIA_IP in e2e workflow and docs, revert configurationService to develop
* fix(ui): hide biometric prompt when screen is locked (#1559)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* Revert ipexCommunicationService to develop per review
* fix(core): remove duplicate calls of deleteCredentialMetadata (#1567)
* fix: Ionic 8 scroll ensure dhadow DOM scroll container has explicit height (#1566)
* chore(gha/e2e-pr-check): pinning versions (commits) for gh-actions dependencies
* fix(ui): Opening a push notification does not close settings menu/profile switcher (#1554)
* fix(ui): close profiles page after open push notification
* fix(ui): close all modal after change profile
* fix: use static key for Profile Setup and Group Profile Setup
* feat: add dismissAllModals function and BLOCKING_MODALS
* fix: disable backdrop dismissal for VerifySeedPhraseAlert modal
* feat: Implement pending navigation in notification service to queue and process navigation blocked by modals.
* fix(ui): update dismiss
* fix(ui): dismiss all modal and keep blocking modal is present
* feat(ui): switch profile and nav to notification after user tap to local notification
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: J Caso <[email protected]>
* fix(ui): Changing PIN uses biometric authentication instead of requiring current PIN (#1562)
* fix(ui): open confirm passcode/password after successful biometric authentication when make the changing
* fix(ui): remove biometric auth when change passcode/password
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Incorrect share modal opens from profile details screen (#1563)
* fix(ui): replace old share modal by share profile modal
* feat(ui): get oobi from outside of share profile modal
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): update setup group UI (#1564)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): hide delete button on notification's profile detail (#1565)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): update behavior of credential request (#1570)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): show connection detail on request individual cred (#1572)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): remove group member in propose cred (#1573)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fear(ui): Profile Details - Signers modal (#1558)
* fear(ui): update UI signers modal
* fix(ui): fix review comment
* fix(ui): add UT and update i18n
* fix(ui): update member text on profile detail
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Favourite credential cards not rendered properly (#1569)
* fix(ui): fix UI styles of favourite credentials
* fix(ui): remove shadow box
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* chore(gha/e2e-pr-check): switch to ubuntu as base system
* chore(gha/e2e-pr-check): fix typo on runs-on
* chore(gha/e2e-pr-check): add pr trigger
* fix(ui): Biometric Lockout Alerts – Missing i18n & Test Coverage (#1571)
* fix(ui): update lockout biometric modal
* fix(ui): fix review comment
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* chore(gha/e2e-pr-check): introducing some base system optimizations
* chore(gha/e2e-pr-check): rework appium wait
* fix(ui): show section title of archived cred and revoked cred (#1575)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Group IPEX refresh notifications are duplicated in Redux if we are in another profile (#1574)
* fix(ui): fix issue delete notification when current profile is not notification's wallet
* fix(ui): improve func remove notification
* feat(ui): clean notification service
* fix(ui): revert pod file
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Login attempts not reset after successful biometrics login (#1577)
* fix(ui): reset login attemp after successful biometrics login
* fix(ut): update UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): remove releated profile in credential detail (#1580)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix style for pending cred section (#1581)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Omitted profiles shown in group list while setting group up (#1568)
* fix(ui): fix display group members
* fix(ui): fix review comment
* fix(ui): use local state instead of selected connection from root state when display group member
* fix(ui): remove unecessary method
* fix(ui): Simple member mapping logic
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Group Creation - Overall Improvements (#1578)
* fix(ui): fix review comment of old PR
* fix(ui): reset threshold when close init modal
* refactor(ui): review tweaks
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: iFergal <[email protected]>
* chore(gha): rename workflow to e2e-pr-check
* fix(ui): fix issue about unable to delete connection when it's connecting (#1583)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ut): add missing UT for threshold (#1584)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: prevent premature seeding of critical action state (#1585)
* fix: prevent premature seeding of critical action state
* fix: comments
* fix(ui): disable verify password CTA when password is wrong (#1588)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): update label of input in change profile username label (#1589)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: only your signing key should be shown in the group details view (#1591)
* fix: show only the relevant signing key in profile details
* fix: refactor unit tests
* fix: testId in CardDetailsItem prop
* fix(ui): prevent get oobi of current profile when it's pending (#1579)
* fix(ui): prevent get oobi of current profile when it's pending
* fix(ui): remove joinedCredRequestMembers prop
* fix(ui): remove i18n and fix infitinite loop when load oobi fail
* fix(ui): add retry to get oobi hook
* fix(ui): allow infinity retry
* fix(ui): fix issue about delay time
* fix(ui): fix get oobi retry
* fix(ui): fix UT
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(core): Incorrect fallback icon for CIP-45 stored in DB (#1587)
* fix(core): save connection icon when connect first time
* fix(ui): revert change and update base64 logo
* chore(ui): rename icon
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Scanner should stay open when scanning an existing group OOBI (#1576)
* fix(ui): keep scan screen display after scan wrong url
* fix(ui): reload scan after scan wrong url
* fix(ui): fix review comment
* fix(ui): fix display toast message to fast when scan wrong link
* fix(ui): fix UT
* fix(ui): fix review comment
* fix(ui): fix review comment
* fix(ui): reload when scan a url is not part of group
* fix(ui): fix scan not working after scan wrong url
* test(ui): revert toastMsgs redux setup for tests (unused now)
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: iFergal <[email protected]>
* feat(ui): Show Feedback When Adding the Same Member Twice to a Group (#1582)
* feat(ui): close and display toast message when user scan exist member
* fix(ui): show error when user scan self oobi
* fix(ui): fix review comment
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: J Caso <[email protected]>
* fix(ui): fix add cred button fall off (#1590)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Large gap in group credential acceptance screen while pending (#1586)
* fix(ui): fix gap of receive credetial notification
* fix(ui): fix gap of icon in receive cred notification
* fix(ui): fix style for small screen
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): update toast message when user try to add 6 cred to favourite list (#1593)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): display issued date in revoke cred card (#1595)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Issuer is blank instead of Unknown on credential card (#1596)
* fix(ui): display issuer name is unknown if cred is unknown cred card
* fix(ui): add unknown text for revoke and archived card when connection is missing
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: Jaime Caso <[email protected]>
* fix(ui): add connection name to credential list view (#1598)
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: J Caso <[email protected]>
* fix: skip signers modal if group members are unchanged during edit (#1592)
* fix: skip signers modal if group members are unchanged during edit
* fix: avoid unnecessary signer setup when members don't change
* fix: update InitializeGroup test expectation for no changes
* fix(ui): prevent scanner tabs from scrolling during group setup (#1600)
* fix: start duplicate group naming at #2 (#1601)
* fix: start duplicate group naming at #2
* fix: comment
* fix: test MockGroup # 2
* fix: refine ForgotAuthInfo success callback to pass `true`. (#1602)
* fix: Synchronize `ManagePassword` component state with Redux (#1603)
* fix: Synchronize `ManagePassword` component state with Redux store and add corresponding test
* fix: Streamline password state management with Redux
* fix: remove setPasswordIsSet prop from CreatePassword, use Redux dispatch directly
* feat(ui): use safe-area inset instead of fixed margin value (#1606)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): adjust layout to avoid scrolling to access Archived & Revoked button (#1607)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): reduce gap at the bottom of the modal (#1610)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): close notificatio swipe after read or unread (#1614)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): add margin top when user finish scan all missing member (#1616)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): add separator in profile switcher (#1617)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): remove arrow icon of propose from field in request cred notification (#1615)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): standardise QR code loading screen across the app (#1618)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Outdated designs for resetting PIN via recovery phrase (#1612)
* feat(ui): remove out of date PIN screen
* feat(ui): update UI for small screen
* fix(ui): fix review comment
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* Vt20 2474 no search results for connections text is scrollable (#1604)
* feat: dynamically control ConnectionsBody scroll based on search resultsand add component tests
* feat: Dynamically control Connections page scrolling based on search results by adding a `scrollY` prop to `TabLayout`.
* fix: connection search filtering
* fix: Adjust Connections page layout
* refactor(connections): simplify search map/filter chain into single pass reduce
* refactor: Adjust connections UI layout ande remove scrollY
* fix: Remove unused `scrollY` prop from `TabLayout`
* fix: restore CSS regressions and fix scroll on connections list
* fix: center search empty state and fix unwanted scroll
* fix: Relocate connection search filtering logic to SearchConnectionContent
* fix(ui): Recovery phrase CTA is not fixed to the bottom of the screen (#1609)
* fix(ui): adjust recovery seedphrase modal
* fix(ui): fix review comments
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): Review and replace blurry images (#1611)
* feat(ui): replace blurry images
* fix(ui): update blurry image
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* chore: add the empty state message for earlier notifications. (#1605)
* chore: add the empty state message for earlier notifications.
* fix: refine notification UI logic
* fix: unify notification empty state logic and resolve UI regressions in NotificationSection
* chore: update button color (#1623)
* feat(ui): keep password module display after user input existing password (#1624)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): Standardize Toast Messages (#1620)
* feat(ui): standardize toast messages
* fix(ui): fix review comments
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): CIP-45 UI Alignment with App Designs (#1622)
* feat(ui): wallet connect ui alignment
* feat(ui): update UT
* fix(ui): fix review comments
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix flickering to home page while joining a group (#1625)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): Update sign request (#1627)
* wip: update stringify JSON logic
* fix: i18n - copy btn - style
* test(jest): add new and improve old unit tests
* feat(ui): Add Close button to Misconfigured cloud Pop-up (#1619)
* feat(ui): show close button when missing witness outside onboarding
* fix(ui): add max zindex for no witness alert
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix set pincode screen pushes up the number keyboard (#1630)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* feat(ui): Review and Standardize Text Capitalization Across App (#1629)
* fix(ui): Review and Standardize Text Capitalization Across App
* feat(ui): standardize text
* feat(ui): update text for scan peer id
* fix(ui): update message that metion in slack chat
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix: npm vulnerabilities (#1631)
* fix: Update biometric plugin and other dependencies, adjust biometric hook types
* fix(deps): update @types/node and sync lockfile to resolve CI failures
* fix: update biometrics hook to use full AvailableResult object
* feat: update biometric tests and mocks to include authentication strength and device security properties
* fix: security vulnerabilities in package-lock.json
* fix(ui): Fix Animation and Vertical Centering in Credential Acceptance Screen (#1632)
* feat(ui): fix animation centering in credential acceptance screen
* fix(ui): fix wrong translateY position when keyboard is showing
* fix(ui): fix review comments
---------
Co-authored-by: Sotatek-DukeVu <[email protected]>
* fix(ui): fix flickering to homepage while joining a group (#1633)
Co-authored-by: Sotatek-DukeVu <[email protected]>
* test(e2e): group profile setup as initiator (#1626)
* Add group profile onboarding E2E: feature files, remote-initiator helper, ssi-agent-urls
* updated the helper, steps
* updated the test
* added contract
* test: split group profile features and backend step definitions
* chore(test): added createBackendUser and createRemoteInitiator interfaces
* chore: add support for witness config
* fixed getOObi, added agent role in init
* chore: eventual acceptGroupInvitation fix
* fix: Joiner business logic
* fix: add endRole sign from remoteJoiner aafter group creation
* test: normalize tests for Initiator creates multisig group and it becomes active
* test: fix the step "all members accept the group invitation"
* test(e2e): address PR comments
---------
Co-authored-by: Ankit Shukla <[email protected]>
Co-authored-by: Ankit Shukla <[email protected]>
Co-authored-by: Ankit Shukla <[email protected]>
* chore: vulnerability scanning updates (#1444)
* chore: ignore mostly irrelevant vulnerabilities for now and remove unneeded ones
* chore(cred-serv): audit fixes
* chore: update ignore list for osv scanner
* chore(gha/depcheck): ignore osv-scanner dev depends until end of 01/2026 when they can be re-reviewed
* chore(gha/depcheck-owasp): added owasp depcheck for package[-lock].json
* chore(gha/depcheck-owasp): changed android specific job to scan any jar file in the repo/depends
* chore(gha/depcheck-owasp): changed ios specific job to check Podfile.lock only (tho currently it checks zero depends for some reason)
* chore(gha/depcheck-owasp): change android job to only look into jar files in android/ and node_modules/
* chore(gha/depcheck-owasp-ios): fix report upload
* fix: package-lock.json
* fix: resolve high-severity vulnerabilities for qs and axios
* feat: update JavaScript dependencies to allow minor versions
* fix: resolve production vulnerabilities and stabilize CI scanners
* fix: resolve CI vulnerabilities and fix lockfile synchronization
* fix: CI lockfile sync and OWASP dependency-check failures
* fix: extend OSV scanner vulnerability ignore dates
* feat: relax Appium dependency version constraints.
* ifx: update dependency vulnerability suppression rules
* fix: CI lockfile sync, OWASP scan failures, and configuration cleanup
* fix: fix vulnerabilities and repair broken CI scans
* fix: vulnerabilities and repair broken CI scans
* fix: override dep @types/qs
---------
Co-authored-by: Roberto C. Morano <[email protected]>
Co-authored-by: J Caso <[email protected]>
* fix: flatted vulnerability (GHSA-25h7-pfq9-p65f) (#1637)
* fix: update npm audit allowlist for undici and yauzl advisories (#1639)
* fix: resolve undici and yauzl vulnerabilities via npm overrides (#1640)
---------
Co-authored-by: Salvatore Di Salvo <[email protected]>
Co-authored-by: Sotatek-DucPhung <[email protected]>
Co-authored-by: Salvatore Di Salvo <[email protected]>
Co-authored-by: Fergal <[email protected]>
Co-authored-by: Sotatek-DukeVu <[email protected]>
Co-authored-by: Vu Van Duc <[email protected]>
Co-authored-by: Roberto C. Morano <[email protected]>
Co-authored-by: Achraf Belkhiria <[email protected]>
Co-authored-by: Ankit Shukla <[email protected]>
Co-authored-by: Ankit Shukla <[email protected]>
Co-authored-by: Ankit Shukla <[email protected]>