Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations. pdsmoover.com

Accept a DID in place of a handle everywhere the migrator resolves an identifier #53

Merged pds.dad
targeting main from pardy.at/pds-moover:did-as-identifier
Merged opened by and assigned to pds.dad
targeting main from pardy.at/pds-moover:did-as-identifier

You can log in to a PDS with a DID, and most of PDS MOOver already copes with one because handleAndPDSResolver() accepts DIDs. Two paths did not:

  • resolveSource() when a source PDS URL override is given forced the identifier through the handle resolver
  • Migrator.deactivateOldAccount() (the Turn Off page) did the same

Both now short-circuit on a did: prefix and use the DID directly, so the DID document is used to find the PDS instead of trying to resolve a handle. Also fixes deactivateOldAccount() never actually calling cleanHandle() (the call was stuck on the end of a comment line).

Labels on the three identifier fields now say "(or DID)". Tests: a mock-atmosphere test for both loginPreflight paths with a DID, and an e2e turn-off test entering the DID (needs the web-ui to pick up this moover build).

Commits 0