2

I'm creating an AGPL-licensed Lemmy web UI.

While working on the comment section I wondered: what's the best way to retrieve the total amount of direct descendants of a comment? I'm not talking about child_count as this appears to count descendants at any depth.

My use case is displaying a 'Load X more' button that for a given comment loads any direct descendants that are not yet being displayed.

you are viewing a single comment's thread
view the rest of the comments
[-] FrostySpectacles@lemmy.ml 0 points 1 year ago

It really doesn’t matter much to the user how many comments are going to be loaded next in my opinion, and that keeps it simple on our end.

Here's what trips me up: even if I don't display the number, I still need to know whether extra comments can be loaded on that depth. If not I don't want to display a "Load more". You could of course let the "Load more" load hidden comments at any level of that subtree, but I think that causes unexpected behavior.

Maybe this clarifies what I'm talking about:

In the case on the right, there's an unexpected downward shift of content which may disorient the user.

[-] silas@programming.dev 1 points 1 year ago

Ah, I wasn’t fully understanding, I see what you’re saying now. There’s no way to know the number of comments on a single level/depth as of now without some extra fetching. I think your best bet at this point would be preloading the next page of comments on the top level, and if no comments are return you then know not to show the “load more” button.

Then, each time the next page of top-level comments is fetched, you can also fetch the children of each comment. This will prevent unwanted layout shift and ensure all children are fetched. If you don’t do this, I’ve noticed sometimes child comments go missing when I try to fetch multiple levels of comments in one request from a larger comment tree (100+ comments)

this post was submitted on 06 Aug 2023
2 points (100.0% liked)

Lemmy App Development

714 readers
1 users here now

A place for Lemmy builders to chat about building apps, clients, tools and bots for the Lemmy platform.

On-Topic:

Off-Topic:

founded 1 year ago
MODERATORS