Resolve Repo DIDs and Handles independently #115
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The default behavior for handling URI resolution was wrong. The process I was using was:
bsky.social
as the default for unauthenticated calls (Or whatever the Instance URI was set to in the options)This is wrong and would result in 404s when trying to resolve for records outside of bsky.social or the users logged in PDS: The correct behavior, as I understand it, is to resolve the users PDS based on the DID values. If it's a
did:plc
, it can be resolved from a service likeplc.directory
and if it'sdid:web
it can be gotten from the web address embedded in the DID.This PR adds that functionality, the new behavior is:
repo
lexicon requests) should resolve to get that users PDS first. If found, cache the PDS value so it doesn't need to resolve again.bsky.social
or the Instance URI set in the options.