If you want to federate, then yes. Your instance needs to accept the activity pub messages sent by the instances you federate with. You would also need to send out the apub notices whenever you do activity on your instances
ITT a bunch of fuckheads who don't understand how federation works, and thinks that lemmy should be a free-for-all with infinite 'freedom of speech'
Jesus, go host your own instances, there's literally nothing stopping you. it's as easy as editing a config file and running a single command. Why people find defederation some major sleight i'll never understand.
I look forward to tronicsfix tearing one down and seeing just how “refurbished” they really are. I expect great things from Valve but I still remain skeptical
The search process basically works by looking for the "@" sign in the search term, if the name isn't found locally, then it uses the apub process called "webfinger" to identify the instance and request the information from it. This process relies on the host server being online, correctly receiving the request, correctly responding, and then your server correctly ingesting that response before emitting the reply to you.
So if no one on your instance has already gone through this process, then there's a couple chances for the chain of actions to fail, but once that community is "subscribed" and created locally, then your search without the "@" will fetch the "local copy". Once that local copy exists, it "announces" itself to the home instance, this then tells the home instance to start emitting all the apub info to your local instance (new posts, comments, votes, etc).
So I believe what you're seeing is first the get_communities takes a while to go through all of that. Because of that, while waiting the UI sets the results to "empty" until the actual return comes in, once the results come back and the UI updates the state, you see the community in the list. But until that community is "copied" locally, you can't manually go that community from your local instance url simply because it doesn't exist locally yet.
The issue also comes down to the fact that no instance needs to update. So if you're requesting a v0.17.x instance community from a v0.18.x instance, the api's changed and they may not communicate properly to your home instance. I'm sure there are other points of failure too.
But I believe the lingering "pending" state should be mostly fixed, if you're using an instance that's on 18.3 then I don't think you should encounter that much...
EDIT: It should be noted, that once you search for the remote community, it will fetch the entire community, including all posts and comments, and populate the cache (which I believe lasts for 3 days as of 18.3 unless someone subscribes to it, at which point it's effectively "saved" locally). This means big communities might be extremely slow to respond to the apub request
It would be better to replicate the db into a purpose built search engine like elasticsearch or TypeSense, and then modify the UI to use that. It's dumb for lemmy to implement a search engine when there are better more supported systems out there. This isn't really a lemmy feature, imo, outside of supporting deployments using those types of products.
I recently submitted a PR for stopping pictrs image federation. IMO the images themselves do not need to be downloaded when served by another pictrs instance. This would reduce the amount of diskspace and reduce the burden of hosting images that are unwanted by the instance owners.
It depends on the source. Lemmy uses “pict-rs” as the built in image hosting mechanism, this includes a way to fetch small thumbnails. But other hosts, like catbox.moe or Imgur or anywhere else might not be being fetched efficiently.
Additionally, pict-rs uses imagemagik to transform the image on request. If that transformation doesn’t already exist (cached), or the host is over-loaded or under-spec’d, then you might see a delay in the request response
Your best bet is to use your developer tools to check network usage and response times if you are interested
If you want to federate, then yes. Your instance needs to accept the activity pub messages sent by the instances you federate with. You would also need to send out the apub notices whenever you do activity on your instances