Toby Zerner
98b3d0f89e
Simplify and improve notifications API.
...
It turns out that the idea of “sending” a notification is flawed. (What
happens if the notification subject is deleted shortly after? The
notified user would end up with a dud notification which would be
confusing. What about if a post is edited to mention an extra user? If
you sent out notifications, the users who’ve already been mentioned
would get a duplicate notification.)
Instead, I’ve introduced the idea of notification “syncing”. Whenever a
change is made to a piece of data (e.g. a post is created, edited, or
deleted), you make a common notification and “sync” it to a set of
users. The users who’ve received this notification before won’t get it
again. It will be sent out to new users, and hidden from users who’ve
received it before but are no longer recipients (e.g. users who’ve been
“unmentioned” in a post).
To keep track of this, we use the existing notifications database
table, with an added `is_deleted` column. The syncing/diffing is
handled all behind the scenes; the API is extremely simple (see
Core\Notifications\DiscussionRenamedNotification +
Core\Events\Handlers\DiscussionRenamedNotifier)
2015-05-20 12:24:01 +09:30
Toby Zerner
f2d1100ec3
Fix broken DeleteAction
2015-05-20 11:13:32 +09:30
Toby Zerner
80c0900388
Just being picky
2015-05-20 11:12:48 +09:30
Toby Zerner
5fede6fe6d
Limit notifications to one per user when dispatching events
2015-05-19 11:24:43 +09:30
Toby Zerner
248c19de73
Experimenting with some new ways to handle config
...
For now I’ve chucked it on Flarum\Core as a static method, but
ultimately I think we will need a ConfigRepository abstraction (whether
it replaces or sits underneath the Flarum\Core static method I’m not
sure).
Also starting to think about multisite scenarios, I think this is
important. The Forum model could actually end up with a database table
behind it, and each forum would have its own config settings? Haven’t
really thought about it too hard yet…
2015-05-19 10:59:57 +09:30
Toby Zerner
0724aec77e
Fix broken notification emailer
2015-05-19 10:53:17 +09:30
Toby Zerner
54c2eaff8e
Fix notification preferences not being enabled by default
2015-05-19 10:12:19 +09:30
Toby Zerner
03b47c3591
Prevent moment deprecation warning
2015-05-19 10:12:18 +09:30
Franz Liedke
7fe0fc46af
Travis: Send an email for the first failed build
...
This will notify the committer whenever a build starts failing,
but not on subsequent failures (in order not to annoy @tobscure).
2015-05-19 02:14:56 +02:00
Franz Liedke
fe9c85a527
Let's not test migrations for code style.
...
PHPCS (on Travis, not locally?) is complaining about these classes
not being namespaced. Meh.
2015-05-19 02:08:47 +02:00
Toby Zerner
278ff7b9c2
Give all users guest permissions as well
2015-05-19 09:36:20 +09:30
Toby Zerner
f35fe5d0e2
Actually implement persistent avatar removal in the front-end
2015-05-19 09:27:04 +09:30
Toby Zerner
811df6c278
Fix errors in DeleteAvatarAction/Command
2015-05-19 09:27:04 +09:30
Franz Liedke
1ab1631849
Fix the config table seeder
...
It should include the "extensions_enabled" key which is read
when initializing all extensions.
2015-05-19 01:53:37 +02:00
Toby Zerner
5fff4791f8
Disable composer textarea before it has fully slid up
...
Prevents early focusing of the textarea while it is still off the edge
of the viewport, which was causing scroll position to jump
2015-05-19 09:17:48 +09:30
Franz Liedke
9870960afc
Travis: Only test against PHP 5.4
...
This is enough for now since we don't have any unit tests, only
code standard checks.
2015-05-19 01:24:11 +02:00
Franz Liedke
119980e8ee
Update PHPCS dependency
2015-05-19 01:22:52 +02:00
Franz Liedke
dfc3a82ff6
Also check code style in migrations folder.
2015-05-19 01:22:34 +02:00
Franz Liedke
f7e241e410
Fix migrations to comply with PSR-2
2015-05-19 01:22:09 +02:00
Franz Liedke
dd54803aaf
Fix remaining PSR-2 issues.
2015-05-19 01:07:22 +02:00
Franz Liedke
7885c9a002
Fix coding standards to conform to PSR-2
2015-05-19 01:03:12 +02:00
Franz Liedke
6b4c27a944
Primary key for access tokens table
2015-05-19 00:46:04 +02:00
Franz Liedke
26c2761cbf
Explicitly specify length for string columns.
...
The missing length attributes caused problems with too long indices.
2015-05-19 00:20:36 +02:00
Franz Liedke
7e4693a855
Fix code error, static methods can not be abstract.
2015-05-18 17:17:10 +02:00
Toby Zerner
0102f31e06
Tweak notifications appearance
2015-05-18 18:56:11 +09:30
Toby Zerner
0dda55d06a
GitHub for Mac sucks, why does it leave out a file sometimes?
2015-05-18 18:50:43 +09:30
Toby Zerner
9135749bb4
Rename JS sub-components so that descriptors are before the noun, not after
...
To be consistent with the naming in PHP world.
e.g. ReplyComposer instead of ComposerReply
2015-05-18 18:50:24 +09:30
Toby Zerner
8e24e7197e
Rename ActivityPost to EventPost
2015-05-18 18:47:34 +09:30
Toby Zerner
1b4b03356a
Better API error handling
2015-05-18 18:13:16 +09:30
Toby Zerner
9f42fbe450
Make sure links never have an underline
2015-05-18 16:46:44 +09:30
Toby Zerner
4233723ff6
Tweak codeblock styles
2015-05-18 16:46:13 +09:30
Toby Zerner
cec8f0aa25
Stop emailing me, Travis! :)
...
Looks like the newlines were changed too?
2015-05-18 15:45:12 +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
10acb839cf
Correct composer position when pane is pinned but screen is too small to actually show it
2015-05-18 15:17:33 +09:30
Toby Zerner
921a75135f
Fix select-input appearance on Firefox 35+. Closes #43
2015-05-18 15:11:31 +09:30
Toby Zerner
4c3712f9b0
Refresh discussion after logging in. Fixes #68
2015-05-18 15:07:04 +09:30
Toby Zerner
cfd6873461
Only allow user profile to be edited if user has permission. Fixes #72
2015-05-18 14:58:59 +09:30
Toby Zerner
e4b15d72da
Make avatar edit menu extensible
2015-05-18 14:58:23 +09:30
Toby Zerner
4534d8ddda
Fix broken login/signup links
...
They’re still broken, hoping that
https://github.com/babel/babel/issues/1150#issuecomment-102881157 will
fix
2015-05-18 14:58:08 +09:30
Toby Zerner
9d8afce204
Don't affix the sidebar if it is taller than the viewport. fixes #79
2015-05-18 14:47:08 +09:30
Toby Zerner
3462dd68d2
Set document.title on every page
2015-05-18 14:28:15 +09:30
Toby Zerner
d904efb556
Actually fade out post when it is being edited
2015-05-18 14:27:29 +09:30
Toby Zerner
e605860e89
Fade out post when it is being edited
2015-05-18 14:24:18 +09:30
Toby Zerner
0e74bf4340
Update deps (including the addition of codesniffer, which should fix travis builds)
2015-05-18 14:09:05 +09:30
Toby Zerner
4dfe6ee1d1
Add some extra optional functionality to the Extend\Permission API
...
- Automatically serialise the attribute
- Apply Permissible grant callbacks
Need to consider splitting the $permission property into two arguments
(currently have to explode by ‘.’)
2015-05-18 13:51:30 +09:30
Toby Zerner
561645b0b4
Tweak discussion list badges positioning
2015-05-18 13:49:39 +09:30
Toby Zerner
7f48a98af8
Make discussion edit permission specific to renaming
2015-05-18 12:34:03 +09:30
Toby Zerner
50ea261c47
Update permissions table seeder with new structure
2015-05-18 12:31:38 +09:30
Toby Zerner
6522ecffbc
Fix permission query error for Guest model. Fixes #84
2015-05-18 12:29:31 +09:30