Toby Zerner
4edb95e9e2
Sync the discussion model/post stream when posts are added/removed
2015-05-29 18:56:29 +09:30
Toby Zerner
cafa6c7b5d
New and improved post stream.
2015-05-29 18:17:50 +09:30
Toby Zerner
2741923714
Improvements to change/forgot password
2015-05-27 16:25:44 +09:30
Toby Zerner
6fed357605
Allow ActionButtons to be disabled
2015-05-27 16:21:15 +09:30
Toby Zerner
85ba97ed5c
Improve appearance/behaviour of login/signup/forgot modals
2015-05-26 16:25:25 +09:30
Toby Zerner
5fc2f3aeee
Better handling of API server errors
2015-05-26 11:43:20 +09:30
Toby Zerner
feb4676aa0
Very rough implementation of forgot password
2015-05-26 11:14:06 +09:30
Toby Zerner
3c7078b423
New user activity feed API.
...
Originally the user activity feed was implemented using UNIONs. I was
looking at make an API to add activity “sources”, or extra UNION
queries (select from posts, mentions, etc.) but quickly realised that
this is too slow and there’s no way to make it scale.
So I’ve implemented an API which is very similar to how notifications
work (see previous commit). The `activity` table is an aggregation of
stuff that happens, and it’s kept in sync by an ActivitySyncer which is
used whenever a post it created/edited/deleted, a user is
mentioned/unmentioned, etc.
Again, the API is very simple (see Core\Activity\PostedActivity +
Core\Handlers\Events\UserActivitySyncer)
2015-05-20 12:30:27 +09:30
Toby Zerner
1b4b03356a
Better API error handling
2015-05-18 18:13:16 +09:30
Toby Zerner
e879a65a0c
Show composer after discussion is reloaded following login
2015-05-18 15:38:19 +09:30
Toby Zerner
8cba7ad3f2
Clicking on an index nav item should always refresh the discussion list
2015-05-18 15:27:39 +09:30
Toby Zerner
3462dd68d2
Set document.title on every page
2015-05-18 14:28:15 +09:30
Toby Zerner
7f48a98af8
Make discussion edit permission specific to renaming
2015-05-18 12:34:03 +09:30
Toby Zerner
aa2bc23039
Drastically improve how the composer looks and behaves
...
- New, cleaner, more prominent look
- Make it statically positioned down the bottom on mobile, so you can
still scroll up to look at posts
- Fix some bugs with animation, jumping between views
2015-05-18 10:40:14 +09:30
Toby Zerner
a8a2596228
Properly initialise subtree retainers
2015-05-18 10:35:12 +09:30
Toby Zerner
fe81f71d73
Note for the future
2015-05-14 22:41:08 +09:30
Toby Zerner
be6b620457
Transform post time into a date
2015-05-14 22:41:06 +09:30
Toby Zerner
bb04d91b08
Add helper function for punctuating a list
...
e.g. [1,2,3] ⇒ [1, ‘, ‘, 2, ‘, and’, 3]
2015-05-14 22:41:06 +09:30
Toby Zerner
28aa7ed62f
Add methods for doing stuff in text editor
...
Used by the mentions extension
2015-05-14 22:41:06 +09:30
Toby Zerner
a06a973d89
Only give dropdown menu items padding if they have an icon
2015-05-14 22:41:06 +09:30
Toby Zerner
dbf6a043a6
Automatically hook up onload/config functions
...
So that every component's DOM can be config'd by extensions
2015-05-14 22:41:06 +09:30
Toby Zerner
781dc2ef0c
New component for post excerpts, which will be shown in search results
...
Perhaps also in user activity stream. They are used in the mentions
extension.
In order to generate the excerpt, each formatter can implement a
“strip” method which basically converts block formatting into inline
formatting.
2015-05-14 22:41:05 +09:30
Toby Zerner
0f3d7ceafe
Don't let a discussion have an empty slug as it messes with the router
2015-05-07 16:53:57 +09:30
Toby Zerner
16c6bd4f23
Clean up discussion list retaining mechanism
2015-05-07 10:27:29 +09:30
Toby Zerner
ad042fb0ef
Fix discussion list pagination
2015-05-07 08:58:04 +09:30
Toby Zerner
54f731942e
Add user group badges
2015-05-06 11:25:19 +09:30
Toby Zerner
8e1ba5a2af
Dasherize post/notification type class names
2015-05-06 08:32:33 +09:30
Toby Zerner
762137c6df
Move discussion controls out of lib and into forum
2015-05-05 17:06:46 +09:30
Toby Zerner
e0936d8100
Add convenience method to get a record by a property
2015-05-05 17:05:16 +09:30
Toby Zerner
1eef01da05
Simplify model registration
2015-05-05 17:05:02 +09:30
Toby Zerner
220c1ac2d1
Change extend function so that a value doesn't have to be returned
...
override should be used instead to override the return value.
2015-05-05 17:04:42 +09:30
Toby Zerner
45ab262547
API for syncing added/removed posts after a discussion is updated
2015-05-04 12:17:26 +09:30
Toby Zerner
ae2930dc35
Show login modal if replying as guest; disable button if no permission
...
Also hide the first item in dropdown-split menus
2015-05-04 11:08:45 +09:30
Toby Zerner
538784744c
Show login modal when starting a discussion as a guest
2015-05-04 10:44:03 +09:30
Toby Zerner
ebcf045ca1
Ability to clear a retained subtree
2015-05-04 10:43:40 +09:30
Toby Zerner
95c192c380
Fix logout redirection
2015-05-04 10:30:38 +09:30
Toby Zerner
f31973981c
Fix override util super context
2015-05-04 10:30:29 +09:30
Toby Zerner
3ff0b806a4
All method should return an array, not an object
2015-05-02 08:47:10 +09:30
Toby Zerner
58833b9fdb
Allow list items to specify a wrapper class
2015-05-02 08:46:52 +09:30
Toby Zerner
ea9d49b15e
Allow extensions to easily override a function and call super
2015-05-02 08:46:38 +09:30
Toby Zerner
74bd697de9
Cleanup
2015-05-02 08:45:52 +09:30
Toby Zerner
b829edb07c
Redraw after hiding modal
2015-05-02 08:45:24 +09:30
Toby Zerner
7d12f7853b
Allow components to initialise props
2015-05-02 08:45:11 +09:30
Toby Zerner
5fad4acd76
Use new config keys
2015-05-02 08:44:03 +09:30
Toby Zerner
ffc2863f70
Extensibility: discussion list params
...
Also give the root controller the name of the current route so they can
easily route back to it
2015-05-02 08:43:38 +09:30
Toby Zerner
8bc09551bb
Extract discussion controls into the model
2015-05-02 08:36:59 +09:30
Toby Zerner
4d04d801d1
Unify icon class name, change the way icons are floated in menus
2015-05-02 08:32:45 +09:30
Toby Zerner
e4a880c4f4
Skin colour tweaks
2015-05-02 08:29:43 +09:30
Toby Zerner
ec343cb442
Ability to merge list items
2015-05-02 08:28:02 +09:30
Toby Zerner
68c0cdb1a9
Combine route/query params in route construction
...
One params object is passed, and then route params are extracted into
the route and the rest are appended as query params.
2015-05-02 08:21:40 +09:30
Toby Zerner
72be607a17
Preload session as the last step in initialisation before boot
...
Can’t remember why…
2015-05-02 08:18:45 +09:30
Toby Zerner
a0ade68d65
Fix pin button active state
2015-04-25 23:26:43 +09:30
Toby Zerner
b68a4711dc
Replace Ember app with Mithril app
2015-04-25 22:28:39 +09:30