Simple forum software for building great communities.
Go to file
Toby Zerner e091b037f3 Radically simplify user activity system
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 :)
2015-08-04 18:44:22 +09:30
js Radically simplify user activity system 2015-08-04 18:44:22 +09:30
less Radically simplify user activity system 2015-08-04 18:44:22 +09:30
locale Change discussion list activity language 2015-07-28 21:13:14 +09:30
migrations Implement TextFormatter for posts 2015-07-22 16:03:48 +09:30
public/fonts Don't ignore FontAwesome fonts 2015-03-30 15:50:36 +10:30
spec/Flarum/Core/Settings Rename caching setting repository implementation 2015-07-16 00:10:52 +02:00
src Radically simplify user activity system 2015-08-04 18:44:22 +09:30
stubs/extension Add admin client JS/LESS to extension stub 2015-08-04 17:18:45 +09:30
views Allow custom variables to be set on the client app 2015-07-31 20:08:27 +09:30
.editorconfig Tweak editorconfig settings 2015-05-06 11:26:47 +09:30
.eslintignore Add JavaScript eslint config 2015-07-05 21:25:09 +09:30
.eslintrc Massive JavaScript cleanup 2015-07-15 14:01:11 +09:30
.gitignore Don't ignore FontAwesome fonts 2015-03-30 15:50:36 +10:30
.travis.yml Run PhpSpec on TravisCI 2015-07-15 23:52:03 +02:00
codeception.yml add codeception, update gitignore 2014-12-22 08:28:01 -05:00
composer.json Implement TextFormatter for posts 2015-07-22 16:03:48 +09:30
composer.lock Update dependencies 2015-07-28 10:14:03 +09:30
LICENSE.txt I don't think we need this, the text in their CLA is everywhere 2015-05-11 10:38:18 +09:30
README.md Move bulk of readme to flarum/flarum 2015-05-07 12:43:23 +09:30

Flarum Core

This repository contains the core code of Flarum. If you want to install Flarum, visit the main Flarum repository.

Contributing

Interested in contributing to Flarum? Read the Contribution Guide!