1
0
mirror of https://github.com/flarum/core.git synced 2025-07-21 00:31:17 +02:00
Commit Graph

135 Commits

Author SHA1 Message Date
Toby Zerner
fab2146a31 Hide "mark all as read" button from guests 2015-05-27 16:19:40 +09:30
Toby Zerner
cb0a47d5a1 Add unread indicator to scrubber. closes #94 2015-05-27 16:18:21 +09:30
Toby Zerner
d6bd6356e3 Retain relevant data when switching between login/signup modals 2015-05-26 18:05:07 +09:30
Toby Zerner
b6be2cddab Roughly implement change password/email, delete account modals 2015-05-26 18:03:02 +09:30
Toby Zerner
5a266ed305 Fix error when rendering deleted user 2015-05-26 18:02:04 +09:30
Toby Zerner
652e41a235 Redraw discussion list items if user marks all as read 2015-05-26 18:01:05 +09:30
Toby Zerner
b3623449c8 Don't show load more button unnecessarily 2015-05-26 18:00:41 +09:30
Toby Zerner
95e5a2d69d Improve appearance/behaviour of login/signup/forgot modals 2015-05-26 16:25:25 +09:30
Toby Zerner
17e57c9baa Better handling of API server errors 2015-05-26 11:43:20 +09:30
Toby Zerner
e47678f403 Very rough implementation of forgot password 2015-05-26 11:14:06 +09:30
Toby Zerner
37fd81c80b Prevent composer from accidentally redrawing when reply button is clicked 2015-05-23 08:36:00 +09:30
Toby Zerner
e86b796fa4 Only do double redraw if there is a component we need to get rid of 2015-05-23 08:35:12 +09:30
Toby Zerner
25ca1135b2 Make the invoker responsible for positioning the composer cursor 2015-05-23 08:34:54 +09:30
Toby Zerner
7232c51290 Fix notification grid row/column not toggling when first cell is disabled 2015-05-21 15:59:35 +09:30
Toby Zerner
e272ae77e1 Force redraw of composer component when switching in a new one 2015-05-21 13:08:33 +09:30
Toby Zerner
c95b8838ac Maintain scroll position relative to bottom of hero when switching categories 2015-05-21 08:15:58 +09:30
Toby Zerner
8f7e563036 Performance improvements 2015-05-21 06:49:07 +09:30
Toby Zerner
500c279fb3 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
8edb684ea9 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
8095809c3f Prevent moment deprecation warning 2015-05-19 10:12:18 +09:30
Toby Zerner
9fd5995703 Actually implement persistent avatar removal in the front-end 2015-05-19 09:27:04 +09:30
Toby Zerner
9fdafcc014 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
Toby Zerner
9befc68ea3 GitHub for Mac sucks, why does it leave out a file sometimes? 2015-05-18 18:50:43 +09:30
Toby Zerner
58adcfa3c4 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
00be36ad16 Better API error handling 2015-05-18 18:13:16 +09:30
Toby Zerner
96c3c2cc25 Show composer after discussion is reloaded following login 2015-05-18 15:38:19 +09:30
Toby Zerner
8b7e7c0afd Clicking on an index nav item should always refresh the discussion list 2015-05-18 15:27:39 +09:30
Toby Zerner
b11595de06 Refresh discussion after logging in. Fixes #68 2015-05-18 15:07:04 +09:30
Toby Zerner
a7ff92cbff Only allow user profile to be edited if user has permission. Fixes #72 2015-05-18 14:58:59 +09:30
Toby Zerner
3fcf8f3da5 Make avatar edit menu extensible 2015-05-18 14:58:23 +09:30
Toby Zerner
82dc0cdd7b 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
c9b971bdf8 Don't affix the sidebar if it is taller than the viewport. fixes #79 2015-05-18 14:47:08 +09:30
Toby Zerner
d7facbd90a Set document.title on every page 2015-05-18 14:28:15 +09:30
Toby Zerner
39dd2f9b9b Actually fade out post when it is being edited 2015-05-18 14:27:29 +09:30
Toby Zerner
9004aff630 Make discussion edit permission specific to renaming 2015-05-18 12:34:03 +09:30
Toby Zerner
d9e97bc149 Fix broken composer extensibility 2015-05-18 10:55:07 +09:30
Toby Zerner
0037383d9f Oops duplicate method name 2015-05-18 10:48:48 +09:30
Toby Zerner
b1cbfe0186 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
c0bf5f81fe Fix sometimes trying to jump to NaN in the stream 2015-05-18 10:37:47 +09:30
Toby Zerner
e77d0e0786 Add a space between avatar/username for better display on mobile 2015-05-18 10:37:24 +09:30
Toby Zerner
a80ae5c400 Minimise composer when exiting a page, rather than entering it 2015-05-18 10:37:07 +09:30
Toby Zerner
72e9205b50 Properly initialise subtree retainers 2015-05-18 10:35:12 +09:30
Toby Zerner
a5f4e10f79 Make discussion list includes extensible 2015-05-14 23:10:11 +09:30
Toby Zerner
6aa0765bb4 Note for the future 2015-05-14 22:41:08 +09:30
Toby Zerner
614a75a497 New look for notifications 2015-05-14 22:41:08 +09:30
Toby Zerner
a77303a473 Add pulsate/flash animations for drawing attention to posts 2015-05-14 22:41:07 +09:30
Toby Zerner
106f5df771 Transform post time into a date 2015-05-14 22:41:06 +09:30
Toby Zerner
8156f23968 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
a8ad5a1ac8 Add methods for doing stuff in text editor
Used by the mentions extension
2015-05-14 22:41:06 +09:30
Toby Zerner
a2049feddf Only give dropdown menu items padding if they have an icon 2015-05-14 22:41:06 +09:30