1
0
mirror of https://github.com/flarum/core.git synced 2025-07-22 09:11:19 +02:00
Commit Graph

457 Commits

Author SHA1 Message Date
Toby Zerner
d5296e9aa5 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
Toby Zerner
4c23a1e274 Only add posted activity if the post is visible publicly
This is very restrictive behaviour and we'll probably need to think of
something a bit more powerful in the future. But it's a good stopgap.
2015-08-04 17:47:46 +09:30
Toby Zerner
0b86f5cebc Use morphTo instead of mappedMorphTo
Turns out we don't need MappedMorphTo after all.
2015-08-04 17:33:58 +09:30
Toby Zerner
f8a02082ec Add admin client JS/LESS to extension stub 2015-08-04 17:18:45 +09:30
Toby Zerner
507262a58c Add API to add translations to admin client
Again, I'll split up these APIs soon enough
2015-08-04 17:16:34 +09:30
Toby Zerner
75c02acdde Include discussion last user relationship in response after creating post 2015-08-04 17:15:57 +09:30
Toby Zerner
e046373f7f Improve error handling somewhat
- Fix composer crashing/not showing alert on error
- Make a general ValidationException which takes an array of field ⇒
messages to be outputted nicely by the API
2015-08-04 13:03:46 +09:30
Toby Zerner
cf280e39b4 Move config/permission actions to API; clean up cache flushing 2015-08-04 10:40:04 +09:30
Toby Zerner
0657bf2d27 Rough implementation of appearance settings 2015-08-03 14:35:51 +09:30
Toby Zerner
299bfc0e0a Rough extension management implementation 2015-08-03 12:03:30 +09:30
Toby Zerner
5c1b62107c Convert permission IDs into strings 2015-08-02 18:02:35 +09:30
Toby Zerner
262cfb84f0 Add API methods to add POST/DELETE routes to the API 2015-08-02 17:26:30 +09:30
Toby Zerner
5b894dfade Clean up 2015-07-31 20:17:17 +09:30
Toby Zerner
50215cedfc Finish admin permissions page and clean up everything 2015-07-31 20:16:47 +09:30
Toby Zerner
973896c7ab Convert email/password token date fields 2015-07-31 20:14:19 +09:30
Toby Zerner
76e855246c Allow for the addition of admin assets
I think the `BuildClientView` event should ultimately be split into two
separate events for the forum/admin clients, but this is fine for now.
2015-07-31 20:13:13 +09:30
Toby Zerner
8a83d01bba Allow for the addition of new API endpoints 2015-07-31 20:11:44 +09:30
Toby Zerner
1d5586165c Add group management actions to API 2015-07-31 20:10:49 +09:30
Toby Zerner
9dd5a742e5 Refactor some model stuff out into traits 2015-07-31 20:09:31 +09:30
Toby Zerner
c067db09d1 Allow custom variables to be set on the client app 2015-07-31 20:08:27 +09:30
Toby Zerner
1ccc9bee5f Fix more aspects of the password reset process 2015-07-31 14:13:35 +09:30
Toby Zerner
ff0c117486 Fix password saving 2015-07-31 14:00:42 +09:30
Toby Zerner
6873f77012 Begin implementing permissions page 2015-07-29 21:00:27 +09:30
Toby Zerner
5f1db93e3d Implement basic settings page 2015-07-29 21:00:09 +09:30
Toby Zerner
f3ef5a123c Get admin area working again 2015-07-29 20:58:22 +09:30
Toby Zerner
51e72336ef Enable caching of minified formatter JS 2015-07-29 20:54:48 +09:30
Toby Zerner
22d322aa2a Don't display notifications with deleted subjects 2015-07-28 17:15:09 +09:30
Toby Zerner
c2771abeaa Fix email confirmation 2015-07-28 17:14:08 +09:30
Toby Zerner
864df225c2 Clean up 2015-07-28 15:35:03 +09:30
Toby Zerner
66cbbbc2c5 Supporting routing of URL with nothing after the discussion ID
closes flarum/core#181
2015-07-28 13:46:43 +09:30
Toby Zerner
1bad4b38cd Tweak TextFormatter JS settings 2015-07-28 12:44:58 +09:30
Toby Zerner
681135ac99 Make sure sort key exists 2015-07-28 12:27:59 +09:30
Toby Zerner
a9d4be8c0b Allow customisation of the client layout 2015-07-27 14:45:35 +09:30
Toby Zerner
798bcaa5f4 PERF: avoid reinstantiation of event subscribers 2015-07-27 11:53:47 +09:30
Toby Zerner
19ef6ed637 PERF: further simplify User::hasPermission() 2015-07-27 11:20:18 +09:30
Toby Zerner
5ae7bfefaa PERF: cache the results of User::hasPermssion() 2015-07-27 11:17:21 +09:30
Toby Zerner
372a159521 Cache model dates 2015-07-27 10:59:24 +09:30
Toby Zerner
fe545b2a2e Update LESS variable names 2015-07-24 10:03:11 +09:30
Toby Zerner
c9928855a7 Replace duplicate tags instead of erroring 2015-07-23 20:29:39 +09:30
Toby Zerner
419bf11bb1 Extract emoticons, BBCode, and Markdown into extensions 2015-07-23 20:24:41 +09:30
Toby Zerner
ed5733ed41 Various fixes to extension generator/stub 2015-07-23 20:24:28 +09:30
Toby Zerner
677e6b2ac8 Pass correct param to notification email views 2015-07-23 16:39:56 +09:30
Toby Zerner
fabc448572 Docblock cleanup 2015-07-23 14:35:17 +09:30
Toby Zerner
9b72a29607 Number is a filter, not page param 2015-07-23 14:34:19 +09:30
Toby Zerner
4817275f4e Notification one-per-user limit should work between instances 2015-07-23 14:33:58 +09:30
Toby Zerner
3533dfffc1 Ensure we don't preload index data on non-index pages 2015-07-23 14:33:31 +09:30
Toby Zerner
d0e7158379 Make formatter extensible 2015-07-23 14:29:33 +09:30
Toby Zerner
91010d1607 Move locale files 2015-07-22 16:05:24 +09:30
Toby Zerner
2e5cccd5e6 Fix post visibility scoping 2015-07-22 16:05:11 +09:30
Toby Zerner
8d89b4a776 Live preview of post editing/replying thanks to TextFormatter 👏 2015-07-22 16:05:00 +09:30