about summary refs log tree commit diff
path: root/app/javascript/mastodon/actions
AgeCommit message (Collapse)Author
2023-04-05SUBMIT doesn't exist on XMLHttpRequest (#24423)Nick Schonning
2023-04-03[Proposal] Make able to write React in Typescript (#16210)fusagiko / takayamaki
Co-authored-by: berlysia <berlysia@gmail.com> Co-authored-by: fusagiko / takayamaki <takayamaki@users.noreply.github.com>
2023-04-01Change search pop-out in web UI (#24305)Eugen Rochko
2023-03-25Change media upload limits and remove client-side resizing (#23726)Eugen Rochko
2023-03-16Replace `Status#translatable?` with language matrix in separate endpoint ↵Christian Schmidt
(#24037)
2023-02-19Fix focus point of already-attached media not saving after edit (#23566)Claire
2023-02-13Enable ESLint no-useless-escape (#23311)Nick Schonning
2023-01-29Separate ESLint CI from Superlinter (#23029)Nick Schonning
* Separate ESLint CI from Superlinter * Correct JS indenting level * Remove extra semicolons with ESLint autofix
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 support for editing media description and focus point of already-posted ↵Claire
statuses (#20878) * Add backend support for editing media attachments of existing posts * Allow editing media attachments of already-posted toots * Add tests
2023-01-11Fix dropdown menu positions when scrolling (#22916)Peter Simonsson
* Update react-overlays to latest version * Fix breaking changes in dropdown menus * Use react-overlays built-in arrow positioning feature * Re-implemented `.dropdown-menu__arrow` to have a defined width and height to improve positioning * Moved wrapping div (`.dropdown-menu` from `DropdownMenu` to `Dropdown`) * Wrap button in a span to solve issue with ref * Temporarily remove animations * Fix breaking changes in emoji picker * Wrap EmojiPickerMenu in a div where react-overlays’ ref is added * Fix breaking changes in language dropdown * Fix breaking changes in privacy dropdown * Fix breaking changes in search form * Add animations back using `@keyframes` * Fix arrow color in light theme * Fix linting issue * Remove unused `mounted` state * Remove `placement` state from components and redux And remove the placement state from props of the menu components. * Remove abolution position to fix flip issue * Remove z-index to fix modals and overlay positions * Fix lint issues * Set placement in privacy and language components Copy the placement state into the `PrivacyDropdown` and `LanguageDropdown` components, to apply correct styling to the buttons depending on which placement the Overlay has. * Move `placement` state to correct component
2022-12-19Enable eslint:recommended ruleset (#22433)Nick Schonning
* Enable ESLint recommended ruleset * Disable failing ESLint recommended rules * Remove rules shadowed by eslint:recommended
2022-12-15Fix being unable to react with the keycap number sign emoji (#22231)Jeremy Kescher
#⃣ This bug is caused by the emoji consisting of: U+23 # U+FE0F U+20E3 ⃣ Because it starts with a #, it's interpreted as an anchor link, which is not passed to the API. Therefore, the API sees no emoji to react with and answers correctly with a 404.
2022-11-14Move V2 Filter methods under /api/v2 prefix (#20622)trwnh
* Move V2 Filter methods under /api/v2 prefix * move over the tests too
2022-11-02Fix edits not being immediately reflected (#19673)Claire
Fixes #19546
2022-10-29Fix upload progress not communicating processing phase in web UI (#19530)Eugen Rochko
2022-10-29Fix logged out search and changed logged-in search placeholder (#19514)Eugen Rochko
2022-10-22Fix reply not opening compose page on certain screen sizes in web UI (#19417)Eugen Rochko
Fix ellipsis next to icons on navigation panel on some browsers
2022-10-16Add featured tags selector for WebUI (#19358)Takeshi Umeda
* Add featured tags selector for WebUI * Add title to tag count
2022-10-14Fix missing `isCancel` (#19354)Yamagishi Kazutoshi
2022-10-14Replace `CancelToken` to `AbortSignal` (#19352)Yamagishi Kazutoshi
2022-10-13Change about page to be mounted in the web UI (#19345)Eugen Rochko
2022-10-05Add server banner to web app, add `GET /api/v2/instance` to REST API (#19294)Eugen Rochko
2022-10-03Disable push notification when not logged in (#19272)Yamagishi Kazutoshi
2022-09-29Add logged-out access to the web UI (#18961)Eugen Rochko
2022-09-23Add user content translations with configurable backends (#19218)Eugen Rochko
2022-08-25Fix quickly switching notification filters resulting in empty or incorrect ↵Claire
list (#19052) Follow-up to #18960 The aforementioned PR fixed an issue in which switching notification filters while notifications were loading prevented the query for the new filter from running, but another issue remained: if the first query completed after the second one, its results would override the second one, thus leading to the same issue. This commit cancels the first request if it is still running, before issuing the second one.
2022-08-25Fix action type for unfollowHashtag (#18924)Takeshi Umeda
2022-08-25Fix quickly switching notification filters resulting in empty or incorrect ↵Claire
list (#18960)
2022-08-25Add ability to filter individual posts (#18945)Claire
* Add database table for status-specific filters * Add REST endpoints, entities and attributes * Show status filters in /filters interface * Perform server-side filtering for individual posts filters * Fix filtering on context mismatch * Refactor `toServerSideType` by moving it to its own module * Move loupe and delete icons to their own module * Add ability to filter individual posts from WebUI * Replace keyword list by warnings (expired, context mismatch) * Refactor server-side filtering code * Add tests
2022-07-22Add ability to follow hashtags in web UI (#18862)Eugen Rochko
2022-07-13Change how hashtags are normalized (#18795)Eugen Rochko
* Change how hashtags are normalized * Fix tests
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-06-27Add notifications for new reports (#18697)Eugen Rochko
2022-05-16Add language dropdown to compose in web UI (#18420)Eugen Rochko
2022-05-10Add `limited` attribute to accounts in REST API and a warning in web UI (#18344)Eugen Rochko
2022-05-07Fix streaming notifications not using quick filter logic (#18316)Claire
Fixes #18309 The quickFilter logic was used on display and to request new notification pages, but not for live updates. The main issue this caused is bump the unread notifications count regardless of the quickFilter setting. Since notifications are re-fetched when changing quickFilter settings, it is safe to drop live notifications that do not match the selected filter.
2022-04-08Auto-fill timeline gaps when getting re-connecting to Websocket/EventSource ↵Claire
stream (#17987)
2022-04-07Fix potentially missing statuses when reconnecting to websocket (#17981)Claire
* Fix potentially missing statuses when reconnecting to websocket * Add gap on reconnect rather than maintaining it constantly
2022-04-06Add pagination for trending statuses in web UI (#17976)Eugen Rochko
2022-02-25Fix reply button on media modal not giving focus to compose form (#17626)Claire
* Avoid compose form and modal management fighting for focus * Fix reply button on media modal footer not giving focus to compose form
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
2022-02-23Fix reporting from profile (#17632)Claire
* Fix reporting from profile * Clean up dead code
2022-02-23Change report modal to include category selection in web UI (#17565)Eugen Rochko
* Change report modal to include category selection in web UI * Various fixes and improvements - Change thank you text to be different based on category - Change starting headline to be different for account and status reports - Change toggle components to have a checkmark when checked - Fix report dialog being cut off on small screens - Fix thank you screen offering mute or block if already muted or blocked - Refactor toggle components in report dialog into one component * Change wording on final screen * Change checkboxes to be square when multiple options are possible
2022-02-23Add notifications for new sign-ups (#16953)Eugen Rochko
2022-02-11Add notifications when a reblogged status has been updated (#17404)Eugen Rochko
* Add notifications when a reblogged status has been updated * Change wording to say "edit" instead of "update" and add missing controls * Replace previous update notifications with the most up-to-date one
2022-02-10Add editing for published statuses (#17320)Eugen Rochko
* Add editing for published statuses * Fix change of multiple-choice boolean in poll not resetting votes * Remove the ability to update existing media attachments for now
2022-02-09Add edit history to web UI (#17390)Eugen Rochko
* Add edit history to web UI * Change history reducer to store items per status * Fix missing loading prop
2022-01-19Add support for editing for published statuses (#16697)Eugen Rochko
* Add support for editing for published statuses * Fix references to stripped-out code * Various fixes and improvements * Further fixes and improvements * Fix updates being potentially sent to unauthorized recipients * Various fixes and improvements * Fix wrong words in test * Fix notifying accounts that were tagged but were not in the audience * Fix mistake
2022-01-10Gradually increase retry waiting for media processing (#17271)Jeong Arm