this post was submitted on 06 Aug 2023
1459 points (98.9% liked)

Announcements

23270 readers
125 users here now

Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.

You can also find major news on join-lemmy.org

founded 5 years ago
MODERATORS
 

This is an opportunity for any users, server admins, or interested third parties to ask anything they'd like to @nutomic@lemmy.ml and I about Lemmy. This includes its development and future, as well as wider issues relevant to the social media landscape today.

Note: This will be the thread tmrw, so you can use this thread to ask and vote on questions beforehand.

Original Announcement thread

you are viewing a single comment's thread
view the rest of the comments
[–] IronKrill@lemmy.ca 23 points 1 year ago* (last edited 1 year ago) (1 children)
  • Is there a plan to improve search and federating communities between instances? My biggest hurdle joining and using Lemmy was without a doubt the search functionality and subscribing to a community on my own instance, it was severely off-putting. Let me walk you through it: you find a community you like, say !vinyl@sopuli.xyz. You paste it into the search of your instance, as instructed. It immediately tells you "No results". If you don't click off, sometimes it changes it's mind within a few seconds. Sometimes it never loads. You try manually creating the URL by going to example.com/c/vinyl@sopuli.xyz but it gives you an error. If you're lucky it works the next day, if you're not then I don't actually know the next step. Not to mention the lack of feedback on subscribing to communities. I have "subscribed" to communities before then realised a week later that despite appearing in my list of subs it didn't actually work and I have to redo, the only feedback you get is "pending". This is the #1 issue that stops me from recommending Lemmy, or at least smaller instances that haven't federated with much yet. Is the search a priority?

  • I know you've been asked about splitting NSFW already, but is there any chance of a specific NSFL tag or a generic spoiler/blur tag? Gore and nudity are such different topics they really don't deserve to be under the same banner.

  • Are proper inline previews something on the roadmap? What I mean is items like YouTube videos, Streamable links, and just about anything that isn't a Lemmy image is not expandable and requires leaving the website. It's one of my most missed features from old Reddit with RES.

I read as much of the thread as possible, so hopefully these are new questions. Hope I didn't come across too negative here as I've been enjoying my time overall and I know y'all have been swamped these months and never expected this popularity.

[–] Limeey@lemmy.world 4 points 1 year ago* (last edited 1 year ago) (1 children)

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

[–] IronKrill@lemmy.ca 5 points 1 year ago* (last edited 1 year ago) (1 children)

Thanks for the explanation. I assumed most of that already, but it's nice to have a clearer picture. My main complaint here is that it should be extremely clear to the user what is happening. If it's fetching data it should say so. If that is going to take minutes or hours, it should say so. Because right now "no results" is meaningless. It could mean it doesn't exist, it could mean it's going to load in 3 seconds, or it could mean it will never load. And this is between two servers that are both on 0.18.3 (I was using sopuli.xyz and discuss.tchncs.de for testing). Actually, if I search for !vinyl@sopuli.xyz on tchncs.de right now, it doesn't show up. I wait and wait and it never shows. But it is clearly cached on the server because you can visit it directly via discuss.tchncs.de/c/vinyl@sopuli.xyz.

It needs improvements badly and I would say the same improvements should happen for a direct link. Instead of erroring out, it should query the remote server (or provide an option to do so) and tell the user to check back if it's loading.

[–] Limeey@discuss.tchncs.de 2 points 1 year ago

I just ran the search from this instance and it's working for me. The next time you encounter something like this you should check the developer tab. It's hard to diagnose these transient issues without a lot of details. You might also reach out to the instance admins who can check the lemmy server logs.