Currently, middle-clicking on a hashtag search result will open a new
instance of the WebUI, which is inconsistent with middle-clicking on
an account result, or a hashtag in a toot.
* Allow to show a specific status in the admin interface
* Let the front-end know the current account is a moderator
* Add admin links to status and account menus
If the current logged-in user is an admin, add quick links to the admin
interface in account and toot dropdown menu. Suggestion by @ashkitten
* Use @statuses.first instead of @statuses[0]
The modal-handling code gives back focus to the element focused when the
modal opened. However, in the case of reply confirmation, it would do so
*after* the composer code itself requested focus.
* Always use the scrollable class for the ScrollList component
Fixes#9499 as well as empty timelines' scrollbar “blinking”
between loading state and empty state.
* Do not display empty message when the list is known to have more elements
Fixes#9500
* Fix LoadMore usage in account media gallery
(Even though that codepath is probably never actually used…)
* Make account media gallery more consistent with account timeline
Fixes#9498
Display “load more” more consistently, add a loading indicator on first load.
* Fix “load more” button when no data has been fetched
So that opening a profile feels faster. Also, pinned toots are not
shown before other toots have loaded. Also, if no toots are loaded,
added empty message
- Use object properties rather than component state for
mouseMovedRecently and scrollToTopOnMouseIdle flags
- Remove redundant scrollToTop prop call, also fixing an attempt to call
an undefined prop.
Fixes#9217
- On recent mouse movement, hold timeline position so statuses remain in
place for interactions in progress.
- If the timeline had been scrolled to the top before mouse movement,
restore scroll on mouse idle.
Reminder: Suggestions were added in #7918 and are based on who you
interact with who you do not follow. E.g. if you boost someone a lot
from seeing other people's boosts of that person, it makes sense you
might be interested in following the original source; or if you reply
to someone a lot, maybe you'd want to follow them
Each suggestion can be dismissed
* Add conversations API
* Add web UI for conversations
* Add test for conversations API
* Add tests for ConversationAccount
* Improve web UI
* Rename ConversationAccount to AccountConversation
* Remove conversations on block and mute
* Change last_status_id to be a denormalization of status_ids
* Add optimistic locking
* Revert "Fix some icon names changed by the Font Awesome 5. (#8796)"
This reverts commit c8a1e945d9.
* Revert "Migrate to font-awesome 5.0. (#8799)"
This reverts commit ae20afbc80.
* Revert "Fix some icons names, unavailable in fontawesome5 (free license). (#8792)"
This reverts commit 30b1bb0704.
* Revert "Update the icon name changed by the Font Awesome 5. (#8776)"
This reverts commit 84bcf89764.
* Revert "Add bot icon to bot avatars and migrate to newer version of Font Awesome (#8484)"
This reverts commit cc784f3c16.
* Make dropdown animations respect their placement
Also fix the corner radius on the privacy dropdown button when using top placement
* Fix code style issue
This includes clicks on hashtags, mentions, display names and media in the
timeline; and usernames in reply-indicator, detailed status, and the boost
modal.
* Add keyword filtering
GET|POST /api/v1/filters
GET|PUT|DELETE /api/v1/filters/:id
- Irreversible filters can drop toots from home or notifications
- Other filters can hide toots through the client app
- Filters use a phrase valid in particular contexts, expiration
* Make sure expired filters don't get applied client-side
* Add missing API methods
* Remove "regex filter" from column settings
* Add tests
* Add test for FeedManager
* Add CustomFilter test
* Add UI for managing filters
* Add streaming API event to allow syncing filters
* Fix tests