Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

web => AP: webmention follows aren't resolving URLs to actor ids #1172

Open
snarfed opened this issue Jul 9, 2024 · 3 comments
Open

web => AP: webmention follows aren't resolving URLs to actor ids #1172

snarfed opened this issue Jul 9, 2024 · 3 comments

Comments

@snarfed
Copy link
Owner

snarfed commented Jul 9, 2024

When a web user follows via the web UI and IndieAuth, we resolve the AP @-@ handle or profile URL they enter to an actor id. Good. We evidently don't do it for follows via webmention though. We still do discovery and deliver the Follow to their inbox successfully, but we store the follow internally with the URL, not the actor id, so when a followed user delivers us a post, we don't route it internally.

Thanks to uxbrad.com for reporting!

@snarfed
Copy link
Owner Author

snarfed commented Jul 9, 2024

Temporary workaround until this is fixed: either follow with the UI, or if you follow via webmention, use the actor id (eg https://indieweb.social/users/snarfed) as the u-follow-of, not the profile URL (eg https://indieweb.social/@snarfed).

@snarfed
Copy link
Owner Author

snarfed commented Jul 9, 2024

This will be tricky internally, it's unclear where the best place is to do this.

  • Implement ActivityPub.key_for, detect when it couldn't load the user and fell through to the last return cls(id=id).key? That detection is awkward at best.
  • Special case Web to do this resolution, assume ids from other protocols come from the protocol level and not user input like here? Not ideal, but maybe ok?
@snarfed
Copy link
Owner Author

snarfed commented Jul 9, 2024

Also included here: cleanup for all of the existing bad stored follows. Sadly can't just replace /@ with /users/ because many servers use opaque ids instead of usernames in actor ids, eg https://misskey.yukineko.me/users/9ev3sgq0t0 / https://misskey.yukineko.me/@ddquino . (Good!...even if it makes life more difficult for us here.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant