Skip to main content

2026-10-14-account-identifier-edit-hooks


title: Handle trusted identifier edits in exhaustive change-cause switches affects: dartway_core_server: "0.22.0-dev.0"​

Who is affected​

Projects with exhaustive switches over DwIdentifierChangeCause.

What to change​

Handle DwIdentifierChangeCause.updated in identifier hooks: trusted backend edits have no code proof, and all batch identity writes finish before the first hook.

The new optional DwAccountService.updateIdentifiers capability requires no other project change, no schema migration and no wire protocol bump. To adopt it for combined profile edits, write the profile inside its beforeChange callback, never lock the project profile first. Removing the final login method is the existing dw.invalid refusal on the composite identifiers field. See trusted administrative identifier edits.

How to check​

The server package analyzes with exhaustive switches complete. If adopting the API, test an occupied second identifier and a throwing hook: neither identifiers nor callback profile writes persist, and no partial live profile reaches subscribers.