Remove obsolete profile.dfrn_request field #87
No reviewers
Labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: friendica/friendica-directory#87
Loading…
Reference in a new issue
No description provided.
Delete branch "MrPetovan/friendica-directory:task/86-remove-dfrn_request"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #86
This PR replaces the zrl query parameter with the srl parameter which is supposed to contain the subscribe URL as described in the requesting Friendica node XRD output.
@heluecht Should I keep the zrl parameter around for backward compatibility or is the subscribe URL old enough to skip this?
Friendica is providing this "subscribe" functionality for many, many years.
But I have got a question: Why don't we perform a webfinger request via
/.well-known/webfinger?resource={uri}
with{uri}
set to the value ofzrl
and fetch the value forhttp://ostatus.org/schema/1.0/subscribe
from there? This would provide support for most of the Friendica servers.I see what you mean, but with your idea this would also deteriorate the frontend experience that would depend on a remote node lookup.
Instead I think we can store the subscribe URL for each server, and replace the zrl parameter with the srl parameter by matching the profile URL with the server base. This way the remote lookup will be done in the background as part of the server polling.
Couldn't it be a security issue when we pass that value without processing?
Unfortunately, you are right, I guess we have to use the XRD fetch then, which will prevent accounts coming from nodes the directory doesn't know about to have a direct follow link.
Remove obsolete profile.dfrn_request fieldto WIP: Remove obsolete profile.dfrn_request fieldWhen someone is calling the directory directly, we could do it like Mastodon does: https://social.network.europa.eu/explore
When you click on "follow", some window opens where you enter your handle. Then the system performs this XRD request and the follow action is executed.
It looks like we could open the target server's
/remote_follow
page to do this instead of having to create a directory page for it, it's been available since February 2020.And
/dfrn_request
has been available until July 2021, so I could check the version tag to show either.69f08e68d1
to46083b2a49
46083b2a49
to9e1984e3d6
9e1984e3d6
tobd6c9e20b0
WIP: Remove obsolete profile.dfrn_request fieldto Remove obsolete profile.dfrn_request fieldbd6c9e20b0
toe65bb660ce
I feel better about this new version. No more SRL parameter, we just use the ZRL as before, from which we try to get the relevant subscribe URL from the data the directory has. If we don't have it, we show the
/remote_follow
URL if the target node's version allows it.No changes required in the base Friendica repository for maximum backward compatibility.