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
a7903bac3a
Pull discussion pane further off-screen so shadow is not visible
2015-08-04 17:19:01 +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
602d93db74
Make header slightly more compact
2015-08-04 17:15:05 +09:30
Toby Zerner
3b9278fa25
Tweak some text/comments
2015-08-04 17:14:54 +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
043767adcd
Sort out default dropdown caret icons
2015-08-04 11:42:24 +09:30
Toby Zerner
82e0f955e8
Implement basic bio formatting. closes flarum/core#203
2015-08-04 11:41:47 +09:30
Toby Zerner
7154558239
Responsive fixes
...
- Make composer absolutely positioned on mobile to work around iOS 8/9
bug
- Make search results dropdown appear on mobile
closes flarum/core#137
2015-08-04 11:27:51 +09:30
Toby Zerner
856ebe9d42
Change default dropdown caret icon
2015-08-04 11:01:11 +09:30
Toby Zerner
421a705b75
Fix mark as read sliding icon
2015-08-04 11:00:51 +09:30
Toby Zerner
740d41166c
Tweak some styles
2015-08-04 10:49:41 +09:30
Toby Zerner
a3e710b8a9
Change the way composer is aligned
...
Also ensure that the correct body class is applied on the user page
2015-08-04 10:49:33 +09:30
Toby Zerner
0fcc941a51
Fix user bio placeholder not showing up
2015-08-04 10:42:37 +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
95e45e8c7b
Validate color fields on appearance page
2015-08-04 10:38:49 +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
30700734e8
Tweak permissions page styles
2015-08-02 17:27:18 +09:30
Toby Zerner
b22746cc2c
Make badges smaller
2015-08-02 17:27:04 +09:30
Toby Zerner
2f3d9402c9
Make the back button a functional link
2015-08-02 17:26:57 +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
52125ce84c
Make sure the last form group doesn't have a bottom margin
2015-08-02 17:26:12 +09:30
Toby Zerner
14972a2b5b
Overflow discussion list info on mobile/in the pane
2015-08-02 17:25:54 +09:30
Toby Zerner
c6deafde0e
Remove modal responsibility for loading UI; using loading button state
2015-08-02 17:25:05 +09:30
Toby Zerner
3e7ddb96e1
Remove old code
2015-08-02 17:22:18 +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
87a8e4a137
Use System.get instead of System.import
...
All of the modules we import should already be loaded, and we don't
want to ever attempt to import them anyway because we do not include a
Promise polyfill.
2015-07-29 21:08:24 +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
9c6b1c0b21
Clean up route definition code style
2015-07-29 20:58:49 +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
e466fa2f7c
PERF: more efficient retaining of posts
2015-07-28 22:58:17 +09:30
Toby Zerner
459e428f4a
Prevent flicker when editing a post
2015-07-28 22:57:58 +09:30
Toby Zerner
f9fc9dfb72
PERF: more efficient retaining of discussion list items
2015-07-28 22:39:03 +09:30