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.
What are your thoughts on this, and do you think this will be merged? https://github.com/LemmyNet/lemmy/pull/3799
No where does it say that the orangutan is well trained to either not kill you or play the xylophone. It’s a trap
Is adjusted for inflation?