Commit Graph

758 Commits

Author SHA1 Message Date
Baptiste Lemoine b872c1c7c0 Merge branch 'master' of https://github.com/tootsuite/mastodon
Signed-off-by: Baptiste Lemoine <contact@cipherbliss.com>

# Conflicts:
#	app/javascript/mastodon/components/status_action_bar.js
#	app/javascript/mastodon/features/status/components/action_bar.js
2020-02-12 10:03:28 +01:00
Baptiste Lemoine 895295e16e 🎨 cleaner data on approval requests 2020-02-03 11:29:32 +01:00
Baptiste Lemoine 5eb8d00f25 count statuses on approvals 2020-02-03 09:57:56 +01:00
Baptiste Lemoine c246d20d80 fix mess footer 2020-02-01 17:29:30 +01:00
Eugen Rochko 0fcc4b1c56
Change announcements to be collapsed on page load in web UI (#12990) 2020-01-28 02:20:47 +01:00
Eugen Rochko dd4eec6bf6
Add animations to announcement reactions (#12970) 2020-01-27 11:03:45 +01:00
Eugen Rochko b9d74d4076
Add streaming API updates for announcements being modified or deleted (#12963)
Change `all_day` to be a visual client-side cue only

Publish immediately if `scheduled_at` is in the past

Add `published_at` and `updated_at` to announcements JSON
2020-01-26 20:07:26 +01:00
ThibG 90b13ffd00 Fix “new items glow” being displayed above settings and announcements (#12958) 2020-01-25 19:40:36 +01:00
ThibG 48c55b6392 Improve announcements design (#12954)
* Move announcements above scroll container; add button to temporarily hide them

* Remove interface for dismissing announcements

* Display number of unread announcements

* Count unread announcements accurately

* Fix size of announcement box not fitting the currently displayed announcement

* Fix announcement box background color to match button color
2020-01-25 16:35:33 +01:00
Eugen Rochko f816da9c64
Add limit of 8 different reaction types per announcement (#12950) 2020-01-25 05:23:33 +01:00
Eugen Rochko 76f1ed834e
Add number animations (#12948) 2020-01-25 05:23:05 +01:00
Sasha Sorokin 1268e3b572 Fix unlocalized dropdown button title (#12947)
In detailed status component, "More" action bar button wasn't
localized. This commit fixes it according to previously used code.
2020-01-24 22:37:04 +01:00
Eugen Rochko f52c988e12
Add announcements (#12662)
* Add announcements

Fix #11006

* Add reactions to announcements

* Add admin UI for announcements

* Add unit tests

* Fix issues

- Add `with_dismissed` param to announcements API
- Fix end date not being formatted when time range is given
- Fix announcement delete causing reactions to send streaming updates
- Fix announcements container growing too wide and mascot too small
- Fix `all_day` being settable when no time range is given
- Change text "Update" to "Announcement"

* Fix scheduler unpublishing announcements before they are due

* Fix filter params not being passed to announcements filter
2020-01-23 22:00:13 +01:00
ThibG 43daeccccb Add “account timeline” filter category (#12918)
* Add “account timeline” filter category

Previously, no filter category applied to account timelines.

* Rename “Account timelines” into “Profiles”
2020-01-23 21:32:00 +01:00
ThibG ec3ee67564 Fix unfollow confirmations in account directory (#12922)
Fixes #12921
2020-01-22 16:26:47 +01:00
Eugen Rochko baa3db3001
Change audio/video playback to stop playback when out of view (#12486)
Change video player to not loop, since the audio player doesn't

Change playback and mute buttons to feel snappier
2020-01-11 02:02:21 +01:00
ThibG 12a9813a0c Fix reuse of detailed status components (#12792)
Fixes #12770
2020-01-06 18:22:17 +01:00
Baptiste Lemoine d7a17f9834 fix some columns show on smaller screens 2020-01-04 16:27:50 +01:00
Matt Panaro 9cbbc50fcd Fix 12661 (#12744)
* Revert "persist last-intersected status update and restore when ScrollableList is restored"

This reverts commit 07e26142ef6a8e74bd2ac5e9b461a5a1699bd4c8.

accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661.  https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list

* Revert "cache currently-viewing status id to avoid calling redux with identical value"

This reverts commit c93df2159fbd3888a5c48d8a8b8ae61dbbc54b89.

accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661.  https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list
2020-01-02 22:46:42 +01:00
Matt Panaro 31f7c3fc5d Summary: fix slowness due to layout thrashing when reloading a large … (#12661)
* Summary: fix slowness due to layout thrashing when reloading a large set of status updates

in order to limit the maximum size of a status in a list view (e.g. the home timeline), so as to avoid having to scroll all the way through an abnormally large status update (see https://github.com/tootsuite/mastodon/pull/8205), the following steps are taken:
•the element containing the status is rendered in the browser
•its height is calculated, to determine if it exceeds the maximum height threshold.
Unfortunately for performance, these steps are carried out in the componentDidMount(/Update) method, which also performs style modifications on the element.  The combination of  height request and style modification during javascript evaluation in the browser leads to layout-thrashing, where the elements are repeatedly re-laid-out (see https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing & https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Performance_best_practices_for_Firefox_fe_engineers).
The solution implemented here is to memoize the collapsed state in Redux the first time the status is seen (e.g. when fetched as part of a small batch, to populate the home timeline) , so that on subsequent re-renders, the value can be queried, rather than recalculated.  This strategy is derived from https://github.com/tootsuite/mastodon/pull/4439 & https://github.com/tootsuite/mastodon/pull/4909, and should resolve https://github.com/tootsuite/mastodon/issues/12455.

Andrew Lin (https://github.com/onethreeseven) is thanked for his assistance in root cause analysis and solution brainstorming

* remove getSnapshotBeforeUpdate from status

* remove componentWillUnmount from status

* persist last-intersected status update and restore when ScrollableList is restored

e.g. when navigating from home-timeline to a status conversational  thread and <Back again

* cache currently-viewing status id to avoid calling redux with identical value

* refactor collapse toggle to pass explicit boolean
2019-12-29 05:39:48 +01:00
Baptiste Lemoine 248e22cf6c style and place footer links 2019-12-28 11:19:51 +01:00
Baptiste Lemoine 3008f5e026 links and tags 2019-12-23 17:09:56 +01:00
Baptiste Lemoine 5175059c24 🎨 styling timelines
Signed-off-by: Baptiste Lemoine <contact@cipherbliss.com>
2019-12-23 17:00:57 +01:00
Baptiste Lemoine 948e2e5e9b automatically enable snow on the 3 last weeks of the year, add links to external utilities 2019-12-23 15:04:13 +01:00
Baptiste Lemoine a43f67dd03 🎨 big answering buttons for conversations in direct messages 2019-12-23 12:41:49 +01:00
Baptiste Lemoine 879a6ef656 factorize maxTootCharsLimit to only have one setting in the compose form 2019-12-23 12:10:55 +01:00
Baptiste Lemoine 26002f4b67 airmail style for notifications about direct messages 2019-12-23 11:44:49 +01:00
Baptiste Lemoine 03fd10d068 Merge branch 'master' of https://github.com/tootsuite/mastodon into messaging
 add snow effect conditionnally

# Conflicts:
#	package.json
#	yarn.lock
2019-12-23 11:01:09 +01:00
Baptiste Lemoine 8661eb28a4 split conversation example 2019-12-22 18:48:13 +01:00
Baptiste Lemoine 0b5c3dba2a debug info in threads 2019-12-22 18:30:22 +01:00
Baptiste Lemoine a572fd707a 🎨 staff only link to manage trending tags and administrate user 2019-12-21 17:20:44 +01:00
Baptiste Lemoine 9c968a0b23 refacto messaging into several components 2019-12-21 17:03:26 +01:00
Baptiste Lemoine 15a9f2633f stuff for messaging box 2019-12-21 15:16:13 +01:00
Baptiste Lemoine efe3acd0c5 todo on messaging 2019-12-18 16:16:08 +01:00
Baptiste Lemoine 4e336c8e6b fix account admin info, and links in the footer on the left 2019-12-18 12:52:46 +01:00
Baptiste Lemoine c0c704652c creation time for message 2019-12-18 12:37:42 +01:00
Acid Chicken (硫酸鶏) 09a72add0e Fix tooltip messages of multiple poll switcher are reversed (#12616) 2019-12-16 23:55:02 +01:00
Baptiste Lemoine 7e30a3a575 demo structure for message stream 2019-12-15 22:48:15 +01:00
Baptiste Lemoine acdac0c88a add link to moderation hashtags 2019-12-15 22:42:42 +01:00
Baptiste Lemoine f38213fc9d pseudo code for messaging box 2019-12-13 17:19:37 +01:00
Baptiste Lemoine f76462ade2 Merge remote-tracking branch 'tk/master' into messaging 2019-12-13 16:33:46 +01:00
Eugen Rochko 77e7b33dea
Revert "Fix an eslint warning (#12426)" (#12596)
This reverts commit 054ef83fc5.
2019-12-10 19:39:02 +01:00
Baptiste Lemoine ab8e381e3c Merge remote-tracking branch 'gh/master' 2019-12-10 12:05:30 +01:00
Jeong Arm 76adde4fe2 Fix media open hotkey (#12546) 2019-12-05 00:50:51 +01:00
Takeshi Umeda f43f1e0184 Add basic support for group actors (#12071)
* Show badge on group actor in WebUI

* Do not notify in case of  by following group actor

* If you mention group actor, also mention group actor followers

* Relax characters that can be used in username (same as Application)

* Revert "Relax characters that can be used in username (same as Application)"

This reverts commit 7e10a137b878d0db1b5252c52106faef5e09ca4b.

* Delete display_name method
2019-12-04 20:36:33 +01:00
ThibG c05ed8a625 Fix poll options not being selectable via keyboard (#12538)
* Fix poll options not being selectable via keyboard

Fixes #12384

* Improve styling of poll option checkboxes/radio buttons

* Use more appropriate ARIA roles for poll options

* Allow switching between single and multiple choice from keyboard

* Coding style

* Avoid using .bind()
2019-12-03 19:53:16 +01:00
ThibG 27d5d02925 Fix blocking/unblocking users from status dropdown menu (#12535)
Fixes #12511
2019-12-02 18:25:24 +01:00
Baptiste Lemoine 11418ca8a9 merge with gh master 2019-12-02 16:35:37 +01:00
ThibG 911cc14481 Add follow_request notification type (#12198)
* Add follow_request notification type

The notification type already existed in the backend but was never pushed
to the front-end. This also means translation strings were also available
for the backend, from the notification mailer.

Unlike other notification types, these are off by default, to match what
I remember of Gargron's view on the topic: that follow requests should not
clutter notifications and should instead be reviewed at the user's own
leisure in the dedicated column.

Since follow requests have their own column, I've deemed it unnecessary to
add a specific tab for them in the notification quick filter.

* Show follow request link in single-column if there are pending requests, even if account isn't locked

* Push follow requests from notifications to the follow_requests list

* Offer to accept or reject follow request from the notification

* Redesign follow request notification
2019-12-01 17:25:29 +01:00
Eugen Rochko ed73376f1c
Fix conversations not having an unread indicator in web UI (#12506) 2019-12-01 07:06:20 +01:00