You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The lexicon for getRelationships states that at-identifers can be used in the query for both actor and others, and that the response will return dids as the actor.
This is not true :)
(it also states others is optional, probably not what you intend either)
To Reproduce
Steps to reproduce the behavior:
Craft a request to getRelationships with a handle for actor, and an array of handles for others.
Note the return structure, the did property is not a did, it's a handle. If you specify more than one handle in the others parameter you will see them reflected back in did properties.
If you send either a handle that does not exist/resolve or a DID that does not exist then you still get a relationship back and not the notFoundActor as the lexicon describes.
Expected behavior
If I send handles I expect them work as handles, be reflected as handles coming back in the response with the relationships mapped and returned.
I expect non-resolvable handles, or non-existent dids sent in others to be returned as ActorNotFound
The text was updated successfully, but these errors were encountered:
Is this a bug in the lexicon specification here, or in the underlying bluesky server that composes the response? I'm wondering if this is even fixable from a pull request or if someone internal to bluesky/atproto needs to fix it.
For future reference - the endpoint does work if both the actor and others are provided as dids. I didn't realize this at first so it might be helpful to others.
Now I switched to just DIDs it does appear to semi work but
If I pass in a did in others which is followed by the current user and also follows the current user, it only populates followedBy, not following in the resulting relationship object,
Additionally if I pass in a DID that doesn't resolve I don't get back the promised app.bsky.graph.defs.notFoundActor - it just doesn't appear in the resulting return array at all.
Describe the bug
The lexicon for getRelationships states that at-identifers can be used in the query for both actor and others, and that the response will return dids as the actor.
This is not true :)
(it also states others is optional, probably not what you intend either)
To Reproduce
Steps to reproduce the behavior:
Craft a request to getRelationships with a handle for actor, and an array of handles for others.
Examine the response.
Note the return structure, the did property is not a did, it's a handle. If you specify more than one handle in the others parameter you will see them reflected back in did properties.
If you send either a handle that does not exist/resolve or a DID that does not exist then you still get a relationship back and not the notFoundActor as the lexicon describes.
Expected behavior
If I send handles I expect them work as handles, be reflected as handles coming back in the response with the relationships mapped and returned.
I expect non-resolvable handles, or non-existent dids sent in others to be returned as ActorNotFound
The text was updated successfully, but these errors were encountered: