about summary refs log tree commit diff
path: root/app/javascript/mastodon/features/ui/index.js
AgeCommit message (Collapse)Author
2023-02-20Rename JSX files with proper `.jsx` extension (#23733)Renaud Chaput
2023-01-30Upgrade ESlint to v8 (#23305)Nick Schonning
2023-01-18Add listing of followed hashtags (#21773)Connor Shea
* Add followed_tags route. This at least gets us to the point where the page can actually be rendered, although it doesn't display any hashtags (yet?). Attempting to implement #20763. * Fix minor issues. * I've got the followed tags data partially working But the Hashtag component errors for some reason. Something about the value of the history attribute being invalid. * Fix a mistake in the code * Minor change. * Get the followed hashtags list fully working. Still need to add the Follow/Unfollow buttons, though. * Resolve JS linter issues. * Add pagination logic to followed tags list view. However, it currently loads further pages immediately on page load, so that's not ideal. Need to figure that one out. * Appease the linter. * Apply suggestions from code review Co-authored-by: Claire <claire.github-309c@sitedethib.com> * Fixes and resolve some other feedback. * Use set/update instead of setIn/updateIn. Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18Add option to make the landing page be /about even when trends are enabled ↵Claire
(#20808) * Add option to make the landing page be /about even when trends are enabled * Restablish /explore as landing page by default
2022-11-11Do not show drag&drop dialog when not logined (#20400)Cutls
* Cannot upload until login * and do not fire upload * change username props to context
2022-10-23Change floating action button to be a button in header in web UI (#19422)Eugen Rochko
- Fix theme color - Fix elephant being too big on error page on small screens - Remove "Follows and Followers" link from navigation panel
2022-10-22Add error boundary around routes in web UI (#19412)Eugen Rochko
* Add error boundary around routes in web UI * Update app/javascript/mastodon/features/ui/util/react_router_helpers.js Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> * Update app/javascript/mastodon/features/ui/util/react_router_helpers.js Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> * Update app/javascript/mastodon/features/ui/components/bundle_column_error.js Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-10-22Change landing page to be /about instead of /explore when trends are ↵Claire
disabled (#19414)
2022-10-20Change public accounts pages to mount the web UI (#19319)Eugen Rochko
* Change public accounts pages to mount the web UI * Fix handling of remote usernames in routes - When logged in, serve web app - When logged out, redirect to permalink - Fix `app-body` class not being set sometimes due to name conflict * Fix missing `multiColumn` prop * Fix failing test * Use `discoverable` attribute to control indexing directives * Fix `<ColumnLoading />` not using `multiColumn` * Add `noindex` to accounts in REST API * Change noindex directive to not be rendered by default before a route is mounted * Add loading indicator for detailed status in web UI * Fix missing indicator appearing while account is loading in web UI
2022-10-16Add featured tags selector for WebUI (#19358)Takeshi Umeda
* Add featured tags selector for WebUI * Add title to tag count
2022-10-12Redirect non-logged-in user to owner statuses on single user mode (#19333)Yamagishi Kazutoshi
2022-10-09Add title to pages with missing title in Web UI (#19322)Yamagishi Kazutoshi
2022-10-08Change privacy policy to be rendered in web UI, add REST API (#19310)Eugen Rochko
Source string no longer localized, Markdown instead of raw HTML
2022-10-05Add server banner to web app, add `GET /api/v2/instance` to REST API (#19294)Eugen Rochko
2022-10-04Fix logged-out web UI on smaller screens (#19263)Eugen Rochko
2022-09-29Add logged-out access to the web UI (#18961)Eugen Rochko
2022-06-28Revamp post filtering system (#18058)Claire
* Add model for custom filter keywords * Use CustomFilterKeyword internally Does not change the API * Fix /filters/edit and /filters/new * Add migration tests * Remove whole_word column from custom_filters (covered by custom_filter_keywords) * Redesign /filters Instead of a list, present a card that displays more information and handles multiple keywords per filter. * Redesign /filters/new and /filters/edit to add and remove keywords This adds a new gem dependency: cocoon, as well as a npm dependency: cocoon-js-vanilla. Those are used to easily populate and remove form fields from the user interface when manipulating multiple keyword filters at once. * Add /api/v2/filters to edit filter with multiple keywords Entities: - `Filter`: `id`, `title`, `filter_action` (either `hide` or `warn`), `context` `keywords` - `FilterKeyword`: `id`, `keyword`, `whole_word` API endpoits: - `GET /api/v2/filters` to list filters (including keywords) - `POST /api/v2/filters` to create a new filter `keywords_attributes` can also be passed to create keywords in one request - `GET /api/v2/filters/:id` to read a particular filter - `PUT /api/v2/filters/:id` to update a new filter `keywords_attributes` can also be passed to edit, delete or add keywords in one request - `DELETE /api/v2/filters/:id` to delete a particular filter - `GET /api/v2/filters/:id/keywords` to list keywords for a filter - `POST /api/v2/filters/:filter_id/keywords/:id` to add a new keyword to a filter - `GET /api/v2/filter_keywords/:id` to read a particular keyword - `PUT /api/v2/filter_keywords/:id` to edit a particular keyword - `DELETE /api/v2/filter_keywords/:id` to delete a particular keyword * Change from `irreversible` boolean to `action` enum * Remove irrelevent `irreversible_must_be_within_context` check * Fix /filters/new and /filters/edit with update for filter_action * Fix Rubocop/Codeclimate complaining about task names * Refactor FeedManager#phrase_filtered? This moves regexp building and filter caching to the `CustomFilter` class. This does not change the functional behavior yet, but this changes how the cache is built, doing per-custom_filter regexps so that filters can be matched independently, while still offering caching. * Perform server-side filtering and output result in REST API * Fix numerous filters_changed events being sent when editing multiple keywords at once * Add some tests * Use the new API in the WebUI - use client-side logic for filters we have fetched rules for. This is so that filter changes can be retroactively applied without reloading the UI. - use server-side logic for filters we haven't fetched rules for yet (e.g. network error, or initial timeline loading) * Minor optimizations and refactoring * Perform server-side filtering on the streaming server * Change the wording of filter action labels * Fix issues pointed out by linter * Change design of “Show anyway” link in accordence to review comments * Drop “irreversible” filtering behavior * Move /api/v2/filter_keywords to /api/v1/filters/keywords * Rename `filter_results` attribute to `filtered` * Rename REST::LegacyFilterSerializer to REST::V1::FilterSerializer * Fix systemChannelId value in streaming server * Simplify code by removing client-side filtering code The simplifcation comes at a cost though: filters aren't retroactively applied anymore.
2022-04-28Fix empty “Server rules violation” report option (#18165)Claire
2022-02-25Add explore page to web UI (#17123)Eugen Rochko
* Add explore page to web UI * Fix not removing loaded statuses from trends on mute/block action
2021-09-27Add aliases for WebUI routes that were renamed in #16171 (#16772)Claire
* Add aliases for some WebUI routes that were renamed in #16171 Accounts and statuses routes need more work as they use different parameters. * Add aliases for /statuses/* routes * Add aliases for /accounts/* WebUI routes Does not correctly set the “active” state on the navigation tabs but this is a minor issue. * Fix some routes * Fix /accounts/:id/{media,followers,following} not loading on legacy routes
2021-09-26Change routing paths to use usernames in web UI (#16171)Eugen Rochko
2021-07-13Improve modal flow and back button handling (#16499)Claire
* Refactor shouldUpdateScroll passing So far, shouldUpdateScroll has been manually passed down from the very top of the React component hierarchy even though it is a static function common to all ScrollContainer instances, so replaced that with a custom class extending ScrollContainer. * Generalize “press back to close modal” to any modal and to public pages * Fix boost confirmation modal closing media modal
2021-05-19Fix unread notification count when polling (#16272)Claire
* Fix unread notification count when polling Fixes #16236 * Immediately fetch markers to avoid incorrect unread notification count
2021-05-07Change home timeline to reload after follow recommendations in web UI (#16160)Eugen Rochko
2021-04-19Change onboarding by replacing tutorial with follow recommendations in web ↵Eugen Rochko
UI (#16060)
2020-11-16Fix pop-out player appearing on mobile screens in web UI (#15157)Eugen Rochko
Fix #15092
2020-10-13Fix browser notification permission request logic (#13543)ThibG
* Add notification permission handling code * Request notification permission when enabling any notification setting * Add badge to notification settings when permissions insufficient * Disable alerts by default, requesting permission and enable them on onboarding
2020-10-05Ignore alt-key hotkeys in text fields (#14942)ThibG
Fixes #14862 This used to be the case until #13987, which introduced a hotkey to toggle the Content Warning field. Unfortunately, MacOS relies on the “alt” key for many things, including composing text (see #14862), therefore, even if that makes the CW toggle hotkey significantly less useful, it makes sense to not interfere with composing toots.
2020-10-01Fix mark as read in notifications to be saved immediately (#14907)Takeshi Umeda
* Fix mark as read in notifications to be saved immediately * fix code style
2020-09-28Add pop-out player for audio/video in web UI (#14870)Eugen Rochko
Fix #11160
2020-09-26Add unread notification markers (#14818)ThibG
* Add unread notification markers Fixes #14804 * Allow IntersectionObserverArticle's children to be updated
2020-06-09Add hotkey for toggling content warning composer field (#13987)ThibG
2020-05-31Fix unsent toot confirmation dialog not popping up in single column (#13888)ThibG
2020-05-29Fix timeline markers not working on Chrome (#13887)ThibG
* Periodically save timeline markers This saves timeline markers immediately upon message arrival, but not more than once every 5 minutes. This does not change how the markers are saved on closing the window, except that it avoids submitting them if there is no need for it. * Use the Fetch API when possible instead of XHR on window unload
2019-11-29Add hotkey for opening media files (#12498)ThibG
* [WiP] Add hotkey to open media * Give focus to play/pause button when opening video modal
2019-11-13Add bookmarks (#7107)ThibG
* Add backend support for bookmarks Bookmarks behave like favourites, except they aren't shared with other users and do not have an associated counter. * Add spec for bookmark endpoints * Add front-end support for bookmarks * Introduce OAuth scopes for bookmarks * Add bookmarks to archive takeout * Fix migration * Coding style fixes * Fix rebase issue * Update bookmarked_statuses to latest UI changes * Update bookmark actions to properly reflect status changes in state * Add bookmarks item to single-column layout * Make active bookmarks red
2019-11-04dont crash with null-ref (#12274)Hinaloe
2019-10-02Fix drag and drop link to composebox (#12055)Jeong Arm
2019-09-16Fix web UI allowing uploads past status limit via drag & drop (#11863)Eugen Rochko
Fix #11659
2019-09-06Add timeline read markers API (#11762)Eugen Rochko
Fix #4093
2019-08-30Add profile directory to web UI (#11688)Eugen Rochko
* Add profile directory to web UI * Add a line of bio to the directory
2019-08-25Change window resize handler to switch to/from mobile layout as soon as ↵ThibG
needed (#11656)
2019-08-13Add indicator of unread content to window title when web UI is out of focus ↵Eugen Rochko
(#11560) Fix #1288
2019-07-19Change single-column mode to scroll the whole page (#11359)Eugen Rochko
Fix #10840
2019-05-25Add a keyboard shortcut to hide/show media (#10647)ThibG
* Move control of media visibility to parent component * Add keyboard shortcut to toggle media visibility
2019-05-25Add responsive panels to the single-column layout (#10820)Eugen Rochko
* Add responsive panels to the single-column layout * Fixes * Fix not being able to save the preference * Fix code style issues * Set max-height on the compose textarea and add a link to relationship manager
2019-05-23Add `forceSingleColumn` prop to `<UI />` (#10807)Eugen Rochko
* Move TabsBar rendering logic from CSS to the ColumnsArea component * Add forceSingleColumn mode * Add unread notifications counter to tabs bar * Add toggle to control `forceSingleColumn` * Increase paddings in mobile layout responsively at large sizes
2019-05-04Minor account media gallery fixes (#10695)ThibG
* Make the cursor icon consistant across media types in account media gallery * Fix the video player modal causing scroll position to reset
2019-05-03When selecting a toot via keyboard, ensure it is scrolled into view (#10593)ThibG
2019-02-02Allow multiple files upload through web UI, including drag & drop (#9856)tmm576
* Allow drag and drop uploads of multiple files to compose * Calculate aggregate upload progress for single action * Allow multiple uploads to compose through traditional input, consolidate update file limit logic, provide file limit feedback