Hi. I am excited about waveform.social.
I already use have an account at mastodon.social, which is another ActivityPub application. In theory, Lemmy and Mastodon should be able to “see” each other. It should be possible to look up a Lemmy user or community from Mastodon, see the posts, and reply to them. This will be ugly in the interfaces but it is expected to work.
If I go to mastodon.social, and I type @mcc@waveform.social into the search box, it does not recognize @mcc@waveform.social as a Fediverse address.
This is not a problem I have with other Lemmy servers. Other Lemmy servers I can at minimum look up the users and see their profiles (sometimes I cannot see the posts without following first). This makes me believe it is not a problem with the Lemmy software. Also, the problem is not limited to mastodon.social. Users on other Mastodon servers see the same problem. So this makes me believe it is not a problem with mastodon.social’s moderation setup.
In a discussion on mastodon.social, we came to the conclusion this problem may be (1) on waveform.social’s end, and (2) due to your frontend caching/CDN/WAF setup. Of course edge caching is a good idea. But it appears you need to configure it a certain way to be compatible with Fediverse servers. As is, waveform.social might not even be fully compatible with other Lemmy servers.
Explanation thread: https://social.treehouse.systems/@megmac/110527459896730724
Thread related to waveform.social particularly: https://mastodon.social/@megmac@treehouse.systems/110527420111615988 (link goes to end)
The one sentence explanation is “The webfinger URL for a user needs to know how to accept the Accept: application/activity+json
header.”
I do not fully understand all of these issues (my Mastodon development has been in mobile clients only) and I don’t know what your server-side setup looks like. If I am describing this wrong I apologize. All I know for sure is it does not work. If you can identify that the “no visibility” problem is happening at the side of Mastodon.social or the Mastodon software, I can go raise the issue at that end. I am good at pestering the Mastodon devs :)
Thanks!
ah cool, so it is trying to find things on your server I guess, I wonder what it doesn’t like about it.
I just disabled the https redirect, does that fix anything?
doesn’t seem to have
In a little while I should be in a position to spelunk some logs from the other side and see if there’s anything explaining what it’s not seeing there.
Alright, do you want me to restore the https redirect before then or should I wait?
I don’t think http/https redirects are likely to be involved, so you should probably put that back (and the cdn too if you haven’t for the sake of your bank balance)
I will leave the CDN out for tonight, I need to go catch some sleep. I will check tomorrow to see if you found anything. 🤞
ok so the thing is that rails isn’t just sending
Accept: application/activity+json
and your server is returning html for pretty much anything that isn’t exactly that. I’m not sure what part of your stack would be doing that, but the bad behaviour can be seen by giving an accept header the way rails sends it which is:curl -H 'Accept: application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1' https://waveform.social/u/megan
(note: you can take text/html out of that altogether and it’ll still return html, just to avoid a red herring there)
You can also see that lemmy.ml does this correctly, if you replace the url above with
https://lemmy.ml/u/lemmy
for eg., so it seems that lemmy is capable of doing this correctly and it might be something at your webserver level (but I guess not your cdn if that’s still off?).Now that’s interesting… it’s the default nginx config that comes with lemmy that does this: https://github.com/LemmyNet/lemmy/blob/main/docker/nginx.conf#L40
I will try and change that to be slightly more lenient.
Seems to work now, was able to follow @mcc@waveform.social from treehouse :)
Good, finally. It’s kind of a hack though… I don’t really want my proxy to be doing regular expressions…
But oh well, I will probably let the Lemmy devs know.
Change deployed