Home / Cardano Foundation / cf-identity-wallet
Aug 16, 4-5 AM (0)
Aug 16, 5-6 AM (0)
Aug 16, 6-7 AM (0)
Aug 16, 7-8 AM (0)
Aug 16, 8-9 AM (0)
Aug 16, 9-10 AM (0)
Aug 16, 10-11 AM (0)
Aug 16, 11-12 PM (0)
Aug 16, 12-1 PM (0)
Aug 16, 1-2 PM (0)
Aug 16, 2-3 PM (0)
Aug 16, 3-4 PM (0)
Aug 16, 4-5 PM (0)
Aug 16, 5-6 PM (0)
Aug 16, 6-7 PM (0)
Aug 16, 7-8 PM (0)
Aug 16, 8-9 PM (0)
Aug 16, 9-10 PM (0)
Aug 16, 10-11 PM (0)
Aug 16, 11-12 AM (0)
Aug 17, 12-1 AM (0)
Aug 17, 1-2 AM (0)
Aug 17, 2-3 AM (0)
Aug 17, 3-4 AM (0)
Aug 17, 4-5 AM (0)
Aug 17, 5-6 AM (0)
Aug 17, 6-7 AM (0)
Aug 17, 7-8 AM (0)
Aug 17, 8-9 AM (0)
Aug 17, 9-10 AM (0)
Aug 17, 10-11 AM (0)
Aug 17, 11-12 PM (0)
Aug 17, 12-1 PM (0)
Aug 17, 1-2 PM (0)
Aug 17, 2-3 PM (0)
Aug 17, 3-4 PM (0)
Aug 17, 4-5 PM (0)
Aug 17, 5-6 PM (0)
Aug 17, 6-7 PM (0)
Aug 17, 7-8 PM (0)
Aug 17, 8-9 PM (0)
Aug 17, 9-10 PM (0)
Aug 17, 10-11 PM (0)
Aug 17, 11-12 AM (0)
Aug 18, 12-1 AM (0)
Aug 18, 1-2 AM (0)
Aug 18, 2-3 AM (2)
Aug 18, 3-4 AM (1)
Aug 18, 4-5 AM (0)
Aug 18, 5-6 AM (0)
Aug 18, 6-7 AM (2)
Aug 18, 7-8 AM (1)
Aug 18, 8-9 AM (0)
Aug 18, 9-10 AM (0)
Aug 18, 10-11 AM (2)
Aug 18, 11-12 PM (2)
Aug 18, 12-1 PM (0)
Aug 18, 1-2 PM (0)
Aug 18, 2-3 PM (1)
Aug 18, 3-4 PM (2)
Aug 18, 4-5 PM (0)
Aug 18, 5-6 PM (0)
Aug 18, 6-7 PM (0)
Aug 18, 7-8 PM (0)
Aug 18, 8-9 PM (0)
Aug 18, 9-10 PM (0)
Aug 18, 10-11 PM (0)
Aug 18, 11-12 AM (0)
Aug 19, 12-1 AM (0)
Aug 19, 1-2 AM (0)
Aug 19, 2-3 AM (0)
Aug 19, 3-4 AM (0)
Aug 19, 4-5 AM (0)
Aug 19, 5-6 AM (0)
Aug 19, 6-7 AM (0)
Aug 19, 7-8 AM (1)
Aug 19, 8-9 AM (1)
Aug 19, 9-10 AM (1)
Aug 19, 10-11 AM (4)
Aug 19, 11-12 PM (5)
Aug 19, 12-1 PM (1)
Aug 19, 1-2 PM (3)
Aug 19, 2-3 PM (4)
Aug 19, 3-4 PM (5)
Aug 19, 4-5 PM (0)
Aug 19, 5-6 PM (0)
Aug 19, 6-7 PM (0)
Aug 19, 7-8 PM (0)
Aug 19, 8-9 PM (0)
Aug 19, 9-10 PM (0)
Aug 19, 10-11 PM (0)
Aug 19, 11-12 AM (0)
Aug 20, 12-1 AM (0)
Aug 20, 1-2 AM (0)
Aug 20, 2-3 AM (2)
Aug 20, 3-4 AM (1)
Aug 20, 4-5 AM (0)
Aug 20, 5-6 AM (0)
Aug 20, 6-7 AM (1)
Aug 20, 7-8 AM (1)
Aug 20, 8-9 AM (1)
Aug 20, 9-10 AM (1)
Aug 20, 10-11 AM (0)
Aug 20, 11-12 PM (1)
Aug 20, 12-1 PM (0)
Aug 20, 1-2 PM (0)
Aug 20, 2-3 PM (0)
Aug 20, 3-4 PM (1)
Aug 20, 4-5 PM (0)
Aug 20, 5-6 PM (0)
Aug 20, 6-7 PM (0)
Aug 20, 7-8 PM (0)
Aug 20, 8-9 PM (0)
Aug 20, 9-10 PM (0)
Aug 20, 10-11 PM (0)
Aug 20, 11-12 AM (0)
Aug 21, 12-1 AM (0)
Aug 21, 1-2 AM (0)
Aug 21, 2-3 AM (1)
Aug 21, 3-4 AM (2)
Aug 21, 4-5 AM (0)
Aug 21, 5-6 AM (0)
Aug 21, 6-7 AM (1)
Aug 21, 7-8 AM (2)
Aug 21, 8-9 AM (3)
Aug 21, 9-10 AM (2)
Aug 21, 10-11 AM (0)
Aug 21, 11-12 PM (0)
Aug 21, 12-1 PM (0)
Aug 21, 1-2 PM (0)
Aug 21, 2-3 PM (3)
Aug 21, 3-4 PM (0)
Aug 21, 4-5 PM (0)
Aug 21, 5-6 PM (0)
Aug 21, 6-7 PM (0)
Aug 21, 7-8 PM (0)
Aug 21, 8-9 PM (0)
Aug 21, 9-10 PM (0)
Aug 21, 10-11 PM (0)
Aug 21, 11-12 AM (0)
Aug 22, 12-1 AM (0)
Aug 22, 1-2 AM (0)
Aug 22, 2-3 AM (0)
Aug 22, 3-4 AM (0)
Aug 22, 4-5 AM (0)
Aug 22, 5-6 AM (0)
Aug 22, 6-7 AM (0)
Aug 22, 7-8 AM (6)
Aug 22, 8-9 AM (4)
Aug 22, 9-10 AM (2)
Aug 22, 10-11 AM (0)
Aug 22, 11-12 PM (0)
Aug 22, 12-1 PM (0)
Aug 22, 1-2 PM (0)
Aug 22, 2-3 PM (1)
Aug 22, 3-4 PM (0)
Aug 22, 4-5 PM (0)
Aug 22, 5-6 PM (0)
Aug 22, 6-7 PM (0)
Aug 22, 7-8 PM (0)
Aug 22, 8-9 PM (0)
Aug 22, 9-10 PM (0)
Aug 22, 10-11 PM (0)
Aug 22, 11-12 AM (0)
Aug 23, 12-1 AM (0)
Aug 23, 1-2 AM (0)
Aug 23, 2-3 AM (0)
Aug 23, 3-4 AM (0)
Aug 23, 4-5 AM (0)
74 commits this week Aug 16, 2025 - Aug 23, 2025
Feature/vt20 2036 refactor identifier service.delete identifier for single responsibility (#1310)
* feat(core): implement cloud migrations base

* feat(core): update logic core migration base

* feat(core): add account-based connection migration logic

* chore(core): updte cloud migration handling

* chore(core): updte cloud migration handling

* chore: local draft change

* feat: add migration peer connection v.0.0.3

* fix: app wrapper devPreload mock

* Revert "fix: app wrapper devPreload mock"

This reverts commit f8fd98b81ce25400e83e745da48cfe4a5dcac28d.

* Revert "feat: add migration peer connection v.0.0.3"

This reverts commit 9990674747a4d0f56dfdddaa6ca43b883615f577.

* refactor: update hybrid migration logic for account-based connections

- Adjusted the local migration statements to streamline the handling of connections.
- Updated cloud migration logic to ensure proper association with identifiers.
- Enhanced error handling during contact updates in the cloud migration process.

* feat(core): update migration connections per account logic

* feat(core): relate each connection to all non-deleted identifiers

* refactor(core): update migration logic

- Updated migration logic to handle contact versioning and ensure proper association of history items with identifiers.

* refactor(core): improve contact update logic in migration

- Changed the type of contactUpdates to use 'unknown' for better type safety.
- Updated the identifier extraction for history items to use the correct property.
- Refactored the deletion of keys to ensure proper handling of contact updates.

* refactor(core): enhance migration logic for connections and contact records

- Refactored contactRecord and connectionPairsToInsert to use object literals instead of class instances.
- Improved handling of history items by refining key checks and ensuring correct identifier extraction.

* refactor(core): update connection history types for migration logic

* fix(core): update connection history type mapping for migration logic

* fix(core): enhance connection history handling in migration logic

* test: update connection history types in fixtures and tests for consistency

* feat(core): updating connections detail to align with new schema

* fix(core): enhance item tag insertion logic

- Refactored item insertion functions to improve clarity and added functionality for inserting item tags.
- Adjusted connection handling to ensure proper deletion and insertion of records in the migration process.

* feat(core): integrate connection pair and contact storage into agent and connection service

- Added ConnectionPairStorage and ContactStorage to the Agent class for improved data management.
- Updated ConnectionService to utilize the new storage classes, enhancing connection retrieval logic.
- Refactored connection handling to include contact details in connection responses.

* chore(core):  migrate  connectionPair createAt

* feat(core): enhance connection creation and deletion with identifier handling

- Added identifier to connection creation for better tracking.
- Implemented deleteConnectionByIdAndIdentifier method to manage connection deletions based on identifier.
- Updated resolveOobi method to share identifier when resolving OOBIs.

* chore: prettier

* fix(core): correct function name and improve connection ID handling in migration

* feat(core): enhance connection deletion and management with identifier support

* feat(core): implement pagination for identifier retrieval in migration process

* feat(core): add key deletion for shared identifiers in migration process

* feat(core): enhance connection event types and service with identifier support
- Updated resolveOobi method to accept an options object for wait behavior and identifier handling.

* fix(core): update key deletion logic to use identifier instead of sharedIdentifier

* feat(core): update keriaNotificationService to handle pending operation

* refactor(core): rename connection metadata retrieval to use contact storage

* chore(core): update key deletion logic to use "sharedIdentifier" string constant

* feat(core): add identifier support to connection management and update related methods

* feat(core): enhance connection management by updating deletion methods to use contactId and identifier

* chore(core): enforce identifier as a required

* test(core): integrate connectionPairStorage into keriaNotificationService tests for improved connection management

* chore(core): update getConnectionsPending to return nullable ContactRecord

* chore(core): rename markContactPendingDelete to markConnectionPendingDelete for consistency

* refactor(core): simplify contact updates logic in connectionService by removing unnecessary key deletion array

* feat(core): add findExpectedById method to ContactStorage and update getConnectionsPending to ensure non-null ContactRecords

* refactor(core): simplify resolveOobi method by removing unnecessary parameters and updating related calls

* feat(core): update connection pair deletion logic

* feat(core): enforce shared identifier requirement for non-multi-sig invites and update contact version handling

* feat(core): implement deleteMultisigConnectionById method and update connection retrieval logic to use contact storage

* chore(core): use connection.id instead of contactId for multisig connection deletion

* fix(core): rollback to use groupCreationId when create multisig connections

* chore(core): directly assigning groupId from record

* chore(core): update connectionService to use groupCreationId consistently in contact updates

* refactor(core): streamline connection pair insertion logic by consolidating conditions for shared identifiers

* refactor(core): update error message for shared identifier requirement in normal connections

* refactor(core): update resolveOobi calls to include new parameter for connection resolution

* test(core): enhance connectionService tests by integrating connectionPairStorage and contactStorage for improved clarity and functionality

* fix(core): adjust connection pair insertion logic to ensure pairs are created only when valid identifiers are present, improving migration reliability

* chore: prettier

* feat(core): enhance connection details structure by adding contactId and identifier fields

* fix(core): ensure contact insertion occurs only when valid connection pairs are present

* test(core): add comprehensive tests for connectionPairStorage and contactStorage to validate CRUD operations and error handling

* test(core): update keriaNotificationService tests to validate identifier handling in connection pairs

* fix(core): refine connection pair insertion logic to ensure contact records are only added when no groupId is present

* test(core): add test for error handling when creating normal connection without shared identifier

* test(core): add tests for handling multiple pairs to cover the loop

* fix(core): update contact retrieval method to use findExpectedById

* chore: remove unused property

* test(core): update connection service tests

* test(core): update test after merging

* test(core): enhance connection service tests with identifier validation

* fix(core): adjust connection pair insertion logic to allow for insertion when groupId is absent or connection pairs exist

* chore: prettier

* chore: remove redudant exclamation mark

* feat: add deleteAllConnectionsForIdentifier and deleteAllConnectionsForGroup, remove deleteGroupLinkedConnections

* fix: fix vuln id

* fix: mock deleteAllConnectionsForGroup

* fix: add unit tests for deleteAllConnectionsForIdentifier and deleteAllConnectionsForGroup

* feat: refactor deleteIdentifier

* fix: new vuln

* fix: rename to deleteProfile

* fix: agent unit tests

* chore: resolved merge missing changes

* feat(core): align connection note and connection history item IDs… (#1289)

* refactor(core): align connection note and connection history item IDs in the cloud with new schema

* feat(core): enhance connection service to support identifier for connection details retrieval and deletion

* fix(core): enforce required fields for connection details and update related tests

* fix(core): ensure identifier is always defined in connection details

* feat(core): add identifier parameter and verification tests for getConnectionById in IPEX communication service

* refactor(core): update deleteStaleLocalConnectionById to always require identifier and enhance related tests

* refactor(ui): replace ConnectionShortDetails with RegularConnectionDetails in CredentialDetailModule, ConnectionDetails, and Connections components for improved type safety

* refactor(ui): update Connections component to use RegularConnectionDetails for improved type safety and consistency

* refactor(ui): consistently use RegularConnectionDetails across Connections components for enhanced type safety

* refactor(core): update getConnectionById calls to include identifier parameter across notification and communication services

* refactor(ui):  implemented function overloads to tighten type safety and removed the usage of as type assertions in the connection-related code.

* refactor(core): rename id to contactId

* chore: prettier

* feat(core): handle wallet recovery of connections (#1291)

* feat: recovery contacts per identifier

* fix: getAllIdentifiers

* fix: vuln id

* fix: contact.createdAt

* fix: date in unit test

* refactor(core): update connection pair retrieval methods and remove deprecated getContactMetadataById function

* chore(core): remove unused static constants

* chore: fix tests

---------

Co-authored-by: Jaime Caso <[email protected]>

* fix: expected call

* fix: unit test

* fix: fix conflicts and unit tests

* fix: fix conflicts and unit tests

* fix: fix conflicts and unit tests

* fix: unit tests

---------

Co-authored-by: Sotatek-DucPhung <[email protected]>
Co-authored-by: Sotatek-DucPhung <[email protected]>
feat(core) refactor of hybrid migrations (#1296)
* feat(core): implement cloud migrations base

* feat(core): update logic core migration base

* feat(core): add account-based connection migration logic

* chore(core): updte cloud migration handling

* chore(core): updte cloud migration handling

* chore: local draft change

* feat: add migration peer connection v.0.0.3

* fix: app wrapper devPreload mock

* Revert "fix: app wrapper devPreload mock"

This reverts commit f8fd98b81ce25400e83e745da48cfe4a5dcac28d.

* Revert "feat: add migration peer connection v.0.0.3"

This reverts commit 9990674747a4d0f56dfdddaa6ca43b883615f577.

* refactor: update hybrid migration logic for account-based connections

- Adjusted the local migration statements to streamline the handling of connections.
- Updated cloud migration logic to ensure proper association with identifiers.
- Enhanced error handling during contact updates in the cloud migration process.

* feat(core): update migration connections per account logic

* feat(core): relate each connection to all non-deleted identifiers

* refactor(core): update migration logic

- Updated migration logic to handle contact versioning and ensure proper association of history items with identifiers.

* refactor(core): improve contact update logic in migration

- Changed the type of contactUpdates to use 'unknown' for better type safety.
- Updated the identifier extraction for history items to use the correct property.
- Refactored the deletion of keys to ensure proper handling of contact updates.

* refactor(core): enhance migration logic for connections and contact records

- Refactored contactRecord and connectionPairsToInsert to use object literals instead of class instances.
- Improved handling of history items by refining key checks and ensuring correct identifier extraction.

* refactor(core): update connection history types for migration logic

* fix(core): update connection history type mapping for migration logic

* fix(core): enhance connection history handling in migration logic

* test: update connection history types in fixtures and tests for consistency

* feat(core): updating connections detail to align with new schema

* fix(core): enhance item tag insertion logic

- Refactored item insertion functions to improve clarity and added functionality for inserting item tags.
- Adjusted connection handling to ensure proper deletion and insertion of records in the migration process.

* feat(core): integrate connection pair and contact storage into agent and connection service

- Added ConnectionPairStorage and ContactStorage to the Agent class for improved data management.
- Updated ConnectionService to utilize the new storage classes, enhancing connection retrieval logic.
- Refactored connection handling to include contact details in connection responses.

* chore(core):  migrate  connectionPair createAt

* feat(core): enhance connection creation and deletion with identifier handling

- Added identifier to connection creation for better tracking.
- Implemented deleteConnectionByIdAndIdentifier method to manage connection deletions based on identifier.
- Updated resolveOobi method to share identifier when resolving OOBIs.

* chore: prettier

* fix(core): correct function name and improve connection ID handling in migration

* feat(core): enhance connection deletion and management with identifier support

* feat(core): implement pagination for identifier retrieval in migration process

* feat(core): add key deletion for shared identifiers in migration process

* feat(core): enhance connection event types and service with identifier support
- Updated resolveOobi method to accept an options object for wait behavior and identifier handling.

* fix(core): update key deletion logic to use identifier instead of sharedIdentifier

* feat(core): update keriaNotificationService to handle pending operation

* refactor(core): rename connection metadata retrieval to use contact storage

* chore(core): update key deletion logic to use "sharedIdentifier" string constant

* feat(core): add identifier support to connection management and update related methods

* feat(core): enhance connection management by updating deletion methods to use contactId and identifier

* chore(core): enforce identifier as a required

* test(core): integrate connectionPairStorage into keriaNotificationService tests for improved connection management

* chore(core): update getConnectionsPending to return nullable ContactRecord

* chore(core): rename markContactPendingDelete to markConnectionPendingDelete for consistency

* refactor(core): simplify contact updates logic in connectionService by removing unnecessary key deletion array

* feat(core): add findExpectedById method to ContactStorage and update getConnectionsPending to ensure non-null ContactRecords

* refactor(core): simplify resolveOobi method by removing unnecessary parameters and updating related calls

* feat(core): update connection pair deletion logic

* feat(core): enforce shared identifier requirement for non-multi-sig invites and update contact version handling

* feat(core): implement deleteMultisigConnectionById method and update connection retrieval logic to use contact storage

* chore(core): use connection.id instead of contactId for multisig connection deletion

* fix(core): rollback to use groupCreationId when create multisig connections

* chore(core): directly assigning groupId from record

* chore(core): update connectionService to use groupCreationId consistently in contact updates

* refactor(core): streamline connection pair insertion logic by consolidating conditions for shared identifiers

* refactor(core): update error message for shared identifier requirement in normal connections

* refactor(core): update resolveOobi calls to include new parameter for connection resolution

* test(core): enhance connectionService tests by integrating connectionPairStorage and contactStorage for improved clarity and functionality

* fix(core): adjust connection pair insertion logic to ensure pairs are created only when valid identifiers are present, improving migration reliability

* chore: prettier

* feat(core): enhance connection details structure by adding contactId and identifier fields

* fix(core): ensure contact insertion occurs only when valid connection pairs are present

* test(core): add comprehensive tests for connectionPairStorage and contactStorage to validate CRUD operations and error handling

* test(core): update keriaNotificationService tests to validate identifier handling in connection pairs

* fix(core): refine connection pair insertion logic to ensure contact records are only added when no groupId is present

* test(core): add test for error handling when creating normal connection without shared identifier

* test(core): add tests for handling multiple pairs to cover the loop

* fix(core): update contact retrieval method to use findExpectedById

* chore: remove unused property

* test(core): update connection service tests

* test(core): update test after merging

* test(core): enhance connection service tests with identifier validation

* fix(core): adjust connection pair insertion logic to allow for insertion when groupId is absent or connection pairs exist

* chore: prettier

* chore: remove redudant exclamation mark

* refactor(core): align connection note and connection history item IDs in the cloud with new schema

* feat(core): enhance connection service to support identifier for connection details retrieval and deletion

* fix(core): enforce required fields for connection details and update related tests

* fix(core): ensure identifier is always defined in connection details

* feat(core): add identifier parameter and verification tests for getConnectionById in IPEX communication service

* refactor(core): update deleteStaleLocalConnectionById to always require identifier and enhance related tests

* refactor(ui): replace ConnectionShortDetails with RegularConnectionDetails in CredentialDetailModule, ConnectionDetails, and Connections components for improved type safety

* refactor(ui): update Connections component to use RegularConnectionDetails for improved type safety and consistency

* refactor(ui): consistently use RegularConnectionDetails across Connections components for enhanced type safety

* refactor(core): update getConnectionById calls to include identifier parameter across notification and communication services

* refactor(ui):  implemented function overloads to tighten type safety and removed the usage of as type assertions in the connection-related code.

* refactor(core): rename id to contactId

* chore: prettier

* refactor(core): refactor of hybrid migrations

* chore: prettier

* chore: remove unused

* refactor(core): improve migration logging and streamline migration execution logic

* chore: remove unsued import

* refactor(core): restructure cloud migration handling and improve migration execution logic

* refactor(core): remove cloud migration validation during recovery process

* refactor(core): update contact version import paths and consolidate migration exports

* chore(core): executing cloud migrations before performing other tasks

* refactor(core): update migration logic to utilize cloud migrations

- Changed import paths for LATEST_IDENTIFIER_VERSION to point to cloudMigrations.
- Introduced new cloud migration for version 1.2.0.3 to handle group scoped usernames.
- Refactored local migration logic to streamline item tag insertion and improve type safety.
- Enhanced error handling and logging during migration processes.

* refactor(core): enhance type safety and error handling in migration logic

---------

Co-authored-by: J Caso <[email protected]>