[Federation]: federation issues when Loops server is on a subdomain of Mastodon server
Description
I operate a server on Mastodon which is using the domain gayfr.social, and my Loops server is using a subdomain videos.gayfr.social
Federation does not seems to work properly between Loops and Mastodon:
- I follow my Loops user from Mastodon, but that Mastodon user does not appear in the profiles nor the instances of the Loops admin panel,
- If I post a video on Loops, that video will not show in Mastodon, even on the Loops user profile as seen from Mastodon,
- The only way to "force" Mastodon to fetch the post is to enter the full Loops video URL in the Mastodon search bar,
- After doing that, the post appears in Mastodon and on the Loops user profile as seen from Mastodon, however the Mastodon user and the Mastodon instance still do not appear in the Loops admin panel.
Additional info : I follow my Loops user from two different profiles from my Mastodon instance. From Mastodon, my Loops user appears to be followed at first (later, request pending), but from Loops, I cannot see either of those two Mastodon users in my followers.
Things work correctly from my Pixelfed server, which is using a different top domain : it is under pics.gayfr.online
If I follow a Loops user from Pixelfed, my Pixelfed user and instance immediately appear in the Loops admin panel, and all posts are visible from Pixelfed (without having to force-fetch them).
Same correct behavior from another account on mastodon.social
So I may be wrong but I believe this is due to the fact that my Loops server is on a subdomain of my Mastodon server. This should however work correctly as those subdomains are routed differently thru my reverse-proxy and are considered two separate domains altogether.
Since beta.3 and beta.4 upgrades: I tried to unfollow my Loops user from Mastodon, and re-follow again, no dice. My Mastodon user never appears in the Loops profiles in the admin panel, and videos posted from Loops do not appear in my Mastodon instance (unless I force fetch them from Mastodon by searching for their full URL).
Same issue as #54 for beta.3 and #106 for beta.4 which were marked as closed.
After upgrading to beta.5 and redeploying. Still not solved. There is an improvement which is, I can follow a Loops account from my Loops server now. But other issues remain.
So, remaining issues:
- From Loops, I cannot find my Mastodon account on [email protected] (I still wonder if it's linked to Loops being on a subdomain ? videos.gayfr.social vs. gayfr.social ?) and therefore cannot attempt to follow.
- From Mastodon, I can find my Loops account but cannot follow it: it seems to work at first when I press follow, but in fact does not, I am not following from Mastodon (request pending) and do not appear as a follower in Loops. Again, could this be linked to the subdomain thing ?
Steps to reproduce
- Set up Loops on a domain sub.example.net
- Set up Mastodon on the domain example.net
- Try following a Loops user from Mastodon : the follow in fact does not work (request pending)
- Post on Loops, the post is not seen from Mastodon unless force-fetched using its full URL in Mastodon search bar
- Expected behavior: a post from Loops should be automatically visible from Mastodon to a follower, and user follow should be effective.
Loops version
v1.0.0-beta.5
Acknowledgements
Yes
@Barbapulpe I just pushed a potential fix, can you update to 0b49135 and try searching your mastodon account?
Thanks @dansup
Updated to latest commit and redeployed. Unfortunately, no success.
From Loops from my account on videos.gayfr.social :
- Search for my Mastodon account on gayfr.social or my Friendica account on friends.gayfr.social, cannot find (enter either the full handle with or without the initial @ or the profile URL, same result).
From my Mastodon account on gayfr.social :
- Search for my Loops profile on videos.gayfr.social, can find the profile, can follow it, it apparently works from Mastodon (following), but if I go to Loops profile, no follower, and in the admin panel the profile user is not there. Going back to Mastodon, it is now in request following pending approval status.
From my Friendica account on friends.gayfr.social :
- Search for my Loops profile on videos.gayfr.social, can find the profile, can follow it, it apparently works from Friendica (following), but if I go to Loops profile, no follower, and in the admin panel the profile user is not there. Going back to Friendica, it is still in following mode, but not in reciprocal (which would be the case if the Loops profile had accepted the follow request).
Nothing to be seen in storage/logs/laravel.log
What is surprising is that I could follow my Loops user from my Pixelfed account which is on pics.gayfr.online (note the TLD is different, if that's of any importance) and see appropriate behaviour : following from Pixelfed, and from Loops I can search for my Pixelfed user and find it and subscribe to it. However, unsubscribing my Loops user from Pixelfed seems successful on Pixelfed side, but the follower still appears in my Loops profile.
All this happens from several different accounts on Loops, Mastodon, Friendica (same servers and domains listed above).
But if I do the same using a Mastodon account on mastodon.social, it all works fine (from Mastodon and from Loops), with the exception that if I unsubscribe to my Loops account from Mastodon, I still see the follower account in my Loops profile (same as for the Pixelfed test).
All this seems to point to a mixup of Loops when top-level domain is the same? (gayfr.social)?
Please let me know how I can further help. You can use test account on my Loops server as you wish (I can provide you one on my Mastodon server if you need).