mirror of
https://github.com/flarum/framework.git
synced 2025-06-29 15:41:22 +08:00
d5296e9aa5db0ac1db552fab570aa9ee534b522c

The activity system we were using was built around a separate table. Whenever the user posted something, or deleted a post, we would sync the table. The advantage of this was that we could aggregate activity of all different types very efficiently. It turns out that it came with a huge disadvantage: there was no efficient way to enforce permissions on activity. If a user posted something in a private tag, everyone could still see it on their activity feed. My stopgap solution was to only sync activity for posts that are viewable by guests, but that was way too limited. It also turns out that aggregating activity of different types is really not that useful, especially considering most of it is the user making posts. So I've gotten rid of that whole overly-complicated system, and just made the user profile display separate lists of posts and discussions, retrieved from those respective APIs. The discussions page is an actual discussion list too, which is pretty cool. It's still technically possible to aggregate different activity types (basically just aggregate API responses together), but we can do that later if there's a need for it. This is probably my favourite commit of the day :)
Description
Simple forum software for building great communities.
166 MiB
Languages
PHP
60.5%
TypeScript
26.2%
JavaScript
7.9%
Less
4.4%
Blade
0.8%
Other
0.2%