Commit Graph

842 Commits (c7bab3318e8cde0e088f8af7ec765cf6d29fe49d)

Author SHA1 Message Date
Eugen Rochko f8ca3bb2a1
Add ability to view previous edits of a status in admin UI (#19462)
* Add ability to view previous edits of a status in admin UI

* Change moderator access to posts to be controlled by a separate policy
3 years ago
Eugen Rochko 6f01111863
Fix wrong size of avatars in admin UI (#19457) 3 years ago
Eugen Rochko 0ca29eaa3f
Change layout of posts in web UI (#19423) 3 years ago
Eugen Rochko fcca781aae
Change design of translations in web UI (#19453) 3 years ago
Eugen Rochko 3ad0a2ae3d
Fix language dropdown causing zoom on mobile devices in web UI (#19428) 3 years ago
Eugen Rochko 1fd6460b02
Change floating action button to be a button in header in web UI (#19422)
- Fix theme color
- Fix elephant being too big on error page on small screens
- Remove "Follows and Followers" link from navigation panel
3 years ago
Eugen Rochko a43a823768
Add error boundary around routes in web UI (#19412)
* 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>
3 years ago
Eugen Rochko 56efa8d22f
Fix reply not opening compose page on certain screen sizes in web UI (#19417)
Fix ellipsis next to icons on navigation panel on some browsers
3 years ago
Eugen Rochko 7c152acb2c
Change settings area to be separated into categories in admin UI (#19407)
And update all descriptions
3 years ago
Eugen Rochko 839f893168
Change public accounts pages to mount the web UI (#19319)
* 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
3 years ago
Eugen Rochko aefa9253d6
Change featured hashtags to be displayed in navigation panel (#19382) 3 years ago
Takeshi Umeda 4c7b5fb6c1
Add featured tags selector for WebUI (#19358)
* Add featured tags selector for WebUI

* Add title to tag count
3 years ago
Eugen Rochko 1bd00036c2
Change about page to be mounted in the web UI (#19345) 3 years ago
Yamagishi Kazutoshi d787343325
Hide list panel from nav bar in mobile layout (#19337) 3 years ago
Eugen Rochko 0765324622
Fix intermediary responsive layout, accessibility on navigation in web UI (#19324)
* Fix intermediary responsive layout, accessibility on navigation in web UI

* `yarn test:jest -u`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
3 years ago
Eugen Rochko f41ec9af05
Add dismissable hints to various timelines in web UI (#19315)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
3 years ago
Eugen Rochko a2ba011326
Change privacy policy to be rendered in web UI, add REST API (#19310)
Source string no longer localized, Markdown instead of raw HTML
3 years ago
Eugen Rochko 7fb738c837
Add interaction modal to logged-out web UI (#19306) 3 years ago
Eugen Rochko 679274465b
Add server rules to sign-up flow (#19296) 3 years ago
Eugen Rochko 0e41d360c0
Change font size of active users in server banner to be larger in web UI (#19295) 3 years ago
Eugen Rochko d2528b26b6
Add server banner to web app, add `GET /api/v2/instance` to REST API (#19294) 3 years ago
Eugen Rochko e2b561e3a5
Fix logged-out web UI on smaller screens (#19263) 3 years ago
Eugen Rochko e623c302d5
Add sign-up button to logged-out web UI (#19250) 3 years ago
Eugen Rochko 43b5d5e38d
Add logged-out access to the web UI (#18961) 3 years ago
Eugen Rochko 546672e292
Change "Allow trends without prior review" setting to include statuses (#17977)
* Change "Allow trends without prior review" setting to include posts

* Fix i18n-tasks
3 years ago
Eugen Rochko 5b0e8cc92b
Add ability to select all accounts matching search for batch actions (#19053) 3 years ago
Claire 50487db122
Add ability to filter individual posts (#18945)
* 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
3 years ago
Rens Groothuijsen e6979aa6d4
Add warning for sensitive audio posts (#17885) 3 years ago
Eugen Rochko f5d8501138
Change hashtag numbers to have clearer labels in web UI (#18864) 3 years ago
Yamagishi Kazutoshi d5ca204e89
Bump react-redux-loading-bar from 4.0.8 to 5.0.4 (#18562) 3 years ago
Jeong Arm f248d95be2
Fix badge color not affected (#18826)
* Fix badge color not affected

* Generate user role css
3 years ago
Eugen Rochko 44b2ee3485
Add customizable user roles (#18641)
* Add customizable user roles

* Various fixes and improvements

* Add migration for old settings and fix tootctl role management
3 years ago
Claire 02851848e9
Revamp post filtering system (#18058)
* 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.
3 years ago
Eugen Rochko 2936f42a14
Add notifications for new reports (#18697) 3 years ago
mayaeh 65ad589848
Fixed the setting page's logo that is not displayed on the smartphone (#18710) 3 years ago
Eugen Rochko 0391b2a603
Fix contrast of some elements with new brand colors (#18691) 3 years ago
Claire 37cd984acf
Fix logo gradient not working on some Safari and Blink-based browsers (#18634)
Works around https://bugs.chromium.org/p/chromium/issues/detail?id=258029
3 years ago
Eugen Rochko 45aa5781ce
Change brand color and logotypes (#18592)
- Add rake task for generating Apple/Android icons and favicons from SVG
- Add rake task for generating PNG icons and logos for e-mails from SVG
- Remove obsolete Microsoft icons and configuration
- Remove PWA shortcut icons
3 years ago
Eugen Rochko a2871cd747
Add administrative webhooks (#18510)
* Add administrative webhooks

* Fix error when webhook is deleted before delivery worker runs
3 years ago
Yamagishi Kazutoshi 84266f87e7
Replace from Code Climate to Super-Linter (#18587) 3 years ago
Eugen Rochko d21251f8fe
Remove unused assets (#18541) 3 years ago
Yamagishi Kazutoshi e925b06721
Fix languages dropdown on light theme (#18460) 3 years ago
Eugen Rochko 0cdb077570
Add language dropdown to compose in web UI (#18420) 3 years ago
Eugen Rochko b4d373a3df
Add `limited` attribute to accounts in REST API and a warning in web UI (#18344) 3 years ago
Claire 5a448d0d71
Fix floating action button obscuring last element (#18332)
Fixes #18331

Add some padding below the last element of scrollable lists when the FAB is
shown in order for users to always be able to fully see the last element.
3 years ago
Eugen Rochko 7e244879fe
Change "Conversations" back to "Direct messages" and add warning in web UI (#18289)
Partially reverts #18146
3 years ago
Eugen Rochko a8e27ac4d1
Fix being able to scroll away from the loading bar in web UI (#18170) 3 years ago
Eugen Rochko 6221b36b27
Remove sign-in token authentication, instead send e-mail about new sign-in (#17970) 3 years ago
Claire 2de5128e66
Fix regression of status colors in actions modal in web UI (#17903)
Fixes #17900

Regression in #17844 (#17851 restored the code in the wrong place…)
3 years ago
Eugen Rochko 2de44d3e47
Fix regression of status colors in actions modal in web UI (#17851)
Regression in #17844
3 years ago