ReadFn and ListFn married together I think is bad idea. Very inflexible code and the SQL is built without concern for JOIN limits in PostgreSQL
Lemmy Project Priorities Observations
I've raised my voice loudly on meta communities, github, and created new [email protected] and [email protected] communities.
I feel like the performance problems are being ignored for over 30 days when there are a half-dozen solutions that could be coded in 5 to 10 hours of labor by one person.
I've been developing client/server messaging apps professionally since 1984, and I firmly believe that Lemmy is currently suffering from a lack of testing by the developers and lack of concern for data loss. A basic e-mail MTA in 1993 would send a "did not deliver" message back to message sender, but Lemmy just drops delivery and there is no mention of this in the release notes//introduction on GitHub. I also find that the Lemmy developers do not like to "eat their own dog food" and actually use Lemmy's communities to discuss the ongoing development and priorities of Lemmy coding. They are not testing the code and sampling the data very much, and I am posting here, using Lemmy code, as part of my personal testing! I spent over 100 hours in June 2023 testing Lemmy technical problems, especially with performance and lost data delivery.
I'll toss it into this echo chamber.
"Multi-reddits as they exist on Reddit itself could be implemented entirely client-side, the server side stuff just syncs the behavior of multiple client apps." - gem of a quote.
Is this the reason the core Lemmy developers avoid discussing Lemmy development on Lemmy itself? Are there people who hang out on Lemmy for the purpose of negating technical topics about enhancing the code? To be the first ones to reply and try to derail it?
I've described it as "hazing" around here, but there seems to heavily cultivated that discussion on Lemmy is worthless and they all flee to Matrix chat to stay away from Lemmy regarding coding and PostgreSQL technical discussions. I mean, why would you keep join_collapse_limit a secret discussion, to avoid that keyword on Lemmy... seems like it should have been front and center. But maybe I'm not seeing just how much they avoid Lemmy and stay on Matrix for this reason...
Multi-reddits as they exist on Reddit could be implemented with postal mail service and stamps, why is that relevant to what is actually does and to trivialize it away with absolutely no demonstration that you have looked at the code or ever even thought of the discussion before it came across your screen.
I opted not to comment on GitHub about the proposed community attribute addition of local-only posting (sort of like moderator-only posting to a community now).
ADD COLUMN posting_restricted_to_local boolean
I encourage the project as a whole to move away from these single-bit flags, aka booleans. I suggest a SMALLINT postgresql type and define 0 or 1 for values. And name the field a little more generic such as "posting_restrictions" and let 1 = home community only.
Down the road.. lemmy may have the ability to have private members-only communities, and a multi-value field could control different behaviors (0 = normal as Lemmy is today, 1 = home instance only, 2 = approved members only).
It is taking 20 source code changes to lemmy_server to add one single boolean. [email protected] has the same level of concern when adding features... 20 source files.
Its' really hard to not conclude that there are people attracted to Lemmy because it is so constant-crashing unstable and so feature lacking compared to Reddit.
It gives them power, their instance importance, that errors in SQL update statements hit 1500 rows of site_aggregates - and the Rust community in general seems to ignore that Lemmy is written in Rust and how to make the best of fixing SQL issues in Diesel, etc.
Someone against multi-reddit / multi-community coding because they want to keep away the unwashed masses of Reddit.... instead of adding features to better acclimate users to their communities before posting/commenting, they want the entire Lemmy code base for all instances to be held back on a new feature to making switching Playlists more difficult.
It just doesn't seem to be in their imagination that the feature could have been coded 2 years ago... and how you manage the problem of engaging the audience of your community is one to address directly... not by trying to run off programmers trying to add obvious features to the code.