Behind the scenes at lemmy when you bring in a remote community ( i.imgur.com )

Hello,

Quick video to demonstrate the things that happen when you access a community that your instance has no prior knowledge of.

  1. WebFinger the account @community@instance to get it's url - turns out it's at instance/c/community but it could be anywhere really.

  2. GET the details of the community

  3. GET the details of the site

  4. GET the contents of the community's outbox (typically the original Announcements for the last 20 posts)

  5. GET the user details for the uploader of each post (you can see it get /u/admin from lemmon.website, but it would have to get the details for the other 19 posts too)

  6. Get the list of moderators and their user details

  7. Get the subscriber count

You can see that lemmy-ui gives the backend about 1 second to do this, but - for this case - it took about 12 seconds to be ready.

So the 'error: unknown' message is really unhelpful, but you're likely to get it if you click on link in these lists, and your instance hasn't heard of the community before. It's not ideal, but if wait 10 or so seconds and press refresh, it should have come through.


Once you get to the community and press Subscribe, the UI is actually a bit more useful in indicating that it's not an instant process. It's maybe about 30 seconds for the Accept to come back (because the remote community has to get your user details first), and a few more seconds for lemmy to process it, so you have to do a dance of Subscribe, wait a minute or 2, Subscribe again if it's still at 'Pending'.


Hope this helps, freamon.

walden ,

This is helpful to see. I've gotten to that screen many times before and I often give up because I can't be bothered to find a community the only other way I know how -- through search with the "!" and everything.

Glad to see I can wait and refresh. I can handle that workload.

freamon ,

Bonus video illustrating the 15 second gap between a lemmy instance sending out a Follow (to subscribe to something) and receiving the Accept back that'll move the status from 'Pending' to 'Joined'

Lots of non-real-world factors here: the lemmy instance is running on an VM, it's connecting via a tunnel to a home DSL connection, and lemmon.website isn't running lemmy, but it hopefully demonstrates how subscribing is 2 distinct actions, and how it can get stuck on 'Pending'

https://i.imgur.com/UEpMzqH.mp4

Valmond ,

I love this stuff, what about making a community about the innards of lemmy (and the fediverse)?

I'd love to know how the pictrs service works (and why I have lots of doubles for example) and also compile lemmy from scratch instead of depending on a docker image.

freamon ,

I didn't bother with picts-rs, but I found compiling lemmy to be fairly straight-forward (following the instructions on join-lemmy. Rust is difficult for me though, and lemmy's code seems like a labyrinth. So I've no idea what lemmy's up to most of the time (spinning its wheels randomizing the Hot sort, would be my guess).

I was about to say that communities for the innards of lemmy maybe already exist on programming.dev or at !lemmy, and then I looked at that community, and the first post I saw was promoting !learningrustandlemmy, spookily enough.

Valmond ,

Thanks, subbed to the communities :-)

brbposting ,

pict-rs discussions on Matrix!

Valmond ,

"subbed" !

Blaze ,
@Blaze@discuss.online avatar

Very interesting, thanks!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • trendingcommunities@feddit.nl
  • test
  • worldmews
  • mews
  • All magazines