Lemmy Lead Developer and father of two children.

I also develop Ibis, a federated wiki.

  • 40 Posts
  • 271 Comments
Joined 6 years ago
cake
Cake day: January 17th, 2020

help-circle
  • With 4500 posts per minute you will probably get a lot of other scaling issues too, like with your database or the processing of incoming and outgoing activities. In any case its a good way to learn how Activitypub works. Is the code open source? Dont see it on your codeberg.

    Using the plugin system you basically just need a way to get notified about each new post and comment, right? I expect that will be one of the major use cases for plugins. We will likely provide various official plugins, eg push notifications for Android and iOS. The same thing should also work for you.Version 1.0 will let you subscribe to communities to get notifications for all new posts and comments (code).


  • To get new posts and comments for all known communities you only need to make regular requests to /api/v3/post/list?limit=50&sort=New&type_=All and /api/v3/comment/list?limit=50&sort=New&type_=All. Its not necessary to make separate requests for each community. The default rate limit allows 180 read requests per minute so you can comfortably poll this every second (in practice every 30s or so should be enough). If you miss an item (ie post or comment id was skipped) just load the following page.

    The plugin system in 1.0 would be another option. It will still take some time until that is released, but there shouldnt be any reliability issues.

    Youre right that federation solves these problems, but instead you get another problem of writing all this federation code and making sure it is compatible with different platforms. Lemmy’s federation code has around 12k lines so that is a lot. It seems much simpler to use the API for Lemmy, Piefed etc and write abstractions for common functionality.

    Anyway this is my opinion. Its your project so in the end its your decision how to implement it.








  • Adding a new sort type is not a big deal, so dont worry about it. And a new admin setting for this would also require UI changes, so the new sort type is easier overall.

    The current sort options calculate the rank for each post only from the data on that post (number of votes, creation time). Your suggested algorithm looks much more complicated than that, as it requires two iterations and needs to access data from multiple posts at once. Im not sure if this can really be implemented in a way thats performant enough for production use. Anyway feel free to open a pull request, then hopefully other contributors can help you to get it working.