lemmy icon indicating copy to clipboard operation
lemmy copied to clipboard

Changes for LemmyBB

Open Nutomic opened this issue 3 years ago • 4 comments

To make LemmyBB work without compromises, i believe the following changes would be necessary in Lemmy:

  • api calls ListCommunities and ListPosts should include title, author and datetime of last post/comment (example, see rightmost column)
  • admins can manually organize communities into categories
  • admins can manually approve/reject new federated communities (because this interface will stop working with more than a dozen or so communities)
  • config option to disable votes entirely (though they dont have any effect in lemmybb, so maybe not necessary)
  • possibly a config option to disable nested comments (this would mean that not all comments could federate from lemmy-ui instances to lemmybb instances)

Nutomic avatar Jul 18 '22 21:07 Nutomic

For the first one, you could do (limit: 1, sort:new) calls to get that info.

Disabling votes ur right probably isn't necessary, just don't display them. That's what we do with the user setting hide_scores.

You can also do paging for the community list to prevent showing too many of them.

dessalines avatar Jul 19 '22 16:07 dessalines

For the first one, you could do (limit: 1, sort:new) calls to get that info.

~~On which endpoint? With GetComments it would only work for the latest comment for the most recently commented thread. For older threads, getting the latest comment would mean calling GetPost, which would return all of the comments and seems inefficient. Maybe a param GetComments.post_id would help, but that would still require a lot of api calls.~~

You can also do paging for the community list to prevent showing too many of them.

Traditional forums generally have only a limited number of subforums, which you can easily view on a single page. Like i said, this issue is about making it work without compromises.

Nutomic avatar Jul 19 '22 20:07 Nutomic

I think it'd work like:

  • GetPosts (sort: NewComments) - this is the forum-sort: it fetches posts with new comments no matter how old the comments are.
  • (The post_id on GetComments something I'm adding rn, since its necessary for comment trees anyway) `GetComments (post_id = X, limit: 1)

Traditional forums generally have only a limited number of subforums, which you can easily view on a single page. Like i said, this issue is about making it work without compromises.

You can also limit new community creation to moderators, so as to prevent there being too many. Forget if we have a Local filter for GetCommunities, but if not, that should fix the problem.

dessalines avatar Jul 20 '22 13:07 dessalines

I think it'd work like:

GetPosts (sort: NewComments) - this is the forum-sort: it fetches posts with new comments no matter how old the comments are. (The post_id on GetComments something I'm adding rn, since its necessary for comment trees anyway) `GetComments (post_id = X, limit: 1)

Youre right, i misunderstood it at first, but now i got it implemented. For community it works without real problems (though making lots of api requests). But for index page (community list), it ran into rate limits a lot, so i had to decrease the number of communities shown from 50 to 10. Even now it will run into rate limits easily if you browse a couple of communities.

See these commits for the changes: https://github.com/LemmyNet/lemmyBB/commit/75190ad2418c740a2f03d06ca9788de1e6c193bc https://github.com/LemmyNet/lemmyBB/commit/bc6c50a220bccd35b3ed43603c8166cdbf4d72a5

You can also limit new community creation to moderators, so as to prevent there being too many. Forget if we have a Local filter for GetCommunities, but if not, that should fix the problem.

There are workarounds, but at some point i definitely want to implement this properly.

Nutomic avatar Jul 20 '22 16:07 Nutomic

Closing this and opening some separate issues instead. Some of these things are also not that important after all.

Nutomic avatar Nov 03 '22 11:11 Nutomic