Levi Bard and GitHub
654d348aac
Make the button that expands the publish form differentiable from the button that publishes a post ( #20864 )
2022-11-17 10:53:38 +01:00
trwnh and GitHub
07229089a6
Change in-app links to keep you in-app ( #20540 )
...
* Change in-app links to keep you in-app
* refactor Permalink into Link
* rewrite link hrefs in status content
* please linter
* please linter again
2022-11-13 21:10:20 +01:00
Cutls and GitHub
553b169d48
Do not show drag&drop dialog when not logined ( #20400 )
...
* Cannot upload until login
* and do not fire upload
* change username props to context
2022-11-11 21:19:48 +01:00
Eugen Rochko and GitHub
ef582dc4f2
Add option to open original page in dropdowns of remote content in web UI ( #20299 )
...
Change profile picture click to open profile picture in modal in web UI
2022-11-10 08:49:35 +01:00
Sunny Ripert and GitHub
8515bc7962
Add form element on focal point modal ( #19834 )
...
* Add form element on focal point modal
* Add type="button" for detection button
2022-11-07 15:41:42 +01:00
Eugen Rochko and GitHub
a442f481f8
Fix missing interpolation of domain in disabled account banner in web UI ( #19788 )
2022-11-05 21:11:35 +01:00
Claire and GitHub
312d616371
Change sign-in banner to reflect disabled or moved account status ( #19773 )
2022-11-05 18:28:13 +01:00
Eugen Rochko and GitHub
2d9a85db6e
Change design of link footer ( #19562 )
2022-10-31 13:06:17 +01:00
Claire and GitHub
2277913f3f
Add closed registrations modal ( #19437 )
2022-10-26 19:35:55 +02:00
Claire and GitHub
267978d4fe
Remove navigation links to /explore when trends are disabled ( #19415 )
...
* Remove navigation links to /explore when trends are disabled
* Do not display trends interface when trends are disabled
2022-10-25 19:03:16 +02:00
Eugen Rochko and GitHub
0ca29eaa3f
Change layout of posts in web UI ( #19423 )
2022-10-25 19:02:21 +02:00
Eugen Rochko and GitHub
5452af2188
Fix redirecting to /publish when compose form is visible in web UI ( #19427 )
2022-10-23 23:37:58 +02:00
Eugen Rochko and GitHub
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
2022-10-23 15:58:24 +02:00
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 >
2022-10-22 23:18:32 +02:00
Claire and GitHub
062b3c9090
Change landing page to be /about instead of /explore when trends are disabled ( #19414 )
2022-10-22 18:09:51 +02:00
Eugen Rochko and GitHub
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
2022-10-20 14:35:29 +02:00
Eugen Rochko and GitHub
aefa9253d6
Change featured hashtags to be displayed in navigation panel ( #19382 )
2022-10-19 11:30:59 +02:00
Takeshi Umeda and GitHub
4c7b5fb6c1
Add featured tags selector for WebUI ( #19358 )
...
* Add featured tags selector for WebUI
* Add title to tag count
2022-10-16 08:43:59 +02:00
Eugen Rochko and GitHub
1bd00036c2
Change about page to be mounted in the web UI ( #19345 )
2022-10-13 14:42:37 +02:00
Yamagishi Kazutoshi and GitHub
7afc6a630c
Redirect non-logged-in user to owner statuses on single user mode ( #19333 )
2022-10-12 21:07:30 +02:00
Yamagishi Kazutoshi and GitHub
d787343325
Hide list panel from nav bar in mobile layout ( #19337 )
2022-10-10 21:41:25 +02:00
Yamagishi Kazutoshi and GitHub
3eef8a7a81
Fix ColumnLink labels not disappearing in mobile UI ( #19334 )
2022-10-10 06:51:16 +02:00
Yamagishi Kazutoshi and GitHub
d3f1a010e5
Fix fedi/local timeline nav link always hide ( #19329 )
2022-10-09 19:26:14 +02:00
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 >
2022-10-09 15:55:32 +02:00
Yamagishi Kazutoshi and GitHub
a5112b51fd
Add title to pages with missing title in Web UI ( #19322 )
2022-10-09 03:55:09 +02:00
Yamagishi Kazutoshi and GitHub
e82467ca41
Remove timeline preview link from nav panel when not signed-in ( #19320 )
...
* Remove timeline preview link from nav panel when not signed-in
* Always enable server stats
2022-10-09 03:49:51 +02:00
Eugen Rochko and GitHub
a2ba011326
Change privacy policy to be rendered in web UI, add REST API ( #19310 )
...
Source string no longer localized, Markdown instead of raw HTML
2022-10-08 06:01:11 +02:00
Eugen Rochko and GitHub
7fb738c837
Add interaction modal to logged-out web UI ( #19306 )
2022-10-07 10:14:31 +02:00
Eugen Rochko and GitHub
d2528b26b6
Add server banner to web app, add GET /api/v2/instance to REST API ( #19294 )
2022-10-05 03:47:56 +02:00
Eugen Rochko and GitHub
e2b561e3a5
Fix logged-out web UI on smaller screens ( #19263 )
2022-10-04 20:13:23 +02:00
Eugen Rochko and GitHub
36f4c32a38
Change path of privacy policy page ( #19249 )
2022-09-29 06:22:12 +02:00
Eugen Rochko and GitHub
e623c302d5
Add sign-up button to logged-out web UI ( #19250 )
2022-09-29 06:21:51 +02:00
Eugen Rochko and GitHub
43b5d5e38d
Add logged-out access to the web UI ( #18961 )
2022-09-29 04:39:33 +02:00
Eugen Rochko and GitHub
50948b46aa
Add ability to filter followed accounts' posts by language ( #19095 )
2022-09-20 23:51:21 +02:00
Claire and GitHub
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
2022-08-25 04:27:47 +02:00
Yamagishi Kazutoshi and GitHub
d5ca204e89
Bump react-redux-loading-bar from 4.0.8 to 5.0.4 ( #18562 )
2022-07-20 20:56:44 +09:00
Eugen Rochko and GitHub
44b2ee3485
Add customizable user roles ( #18641 )
...
* Add customizable user roles
* Various fixes and improvements
* Add migration for old settings and fix tootctl role management
2022-07-05 02:41:40 +02:00
Claire and GitHub
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.
2022-06-28 09:42:13 +02:00
17ba5e1e61
New Crowdin updates ( #18561 )
...
* New translations en.yml (Portuguese)
* New translations en.yml (Lithuanian)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Turkish)
* New translations en.yml (Ukrainian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Urdu (Pakistan))
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Tamil)
* New translations en.yml (Macedonian)
* New translations en.yml (Korean)
* New translations en.yml (Georgian)
* New translations en.yml (Slovak)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Swedish)
* New translations en.yml (Hebrew)
* New translations en.yml (Italian)
* New translations en.yml (Japanese)
* New translations en.yml (Russian)
* New translations en.yml (Slovenian)
* New translations en.yml (Armenian)
* New translations en.yml (Vietnamese)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Occitan)
* New translations en.yml (Persian)
* New translations en.yml (Galician)
* New translations en.yml (Hungarian)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Irish)
* New translations en.json (Arabic)
* New translations en.json (Irish)
* New translations en.json (German)
* New translations en.yml (Spanish, Mexico)
* New translations en.json (Turkish)
* New translations en.yml (Kabyle)
* New translations en.yml (Ido)
* New translations en.yml (Taigi)
* New translations en.yml (Silesian)
* New translations en.yml (Standard Moroccan Tamazight)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Vietnamese)
* New translations en.json (Chinese Simplified)
* New translations en.yml (Sardinian)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Asturian)
* New translations en.json (Scottish Gaelic)
* New translations en.json (Welsh)
* New translations en.json (Galician)
* New translations en.json (Slovak)
* New translations en.json (Icelandic)
* New translations en.yml (Sanskrit)
* New translations en.yml (Corsican)
* New translations en.yml (Bengali)
* New translations en.yml (Esperanto)
* New translations en.yml (Marathi)
* New translations en.yml (Croatian)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Kazakh)
* New translations en.yml (Estonian)
* New translations en.yml (Latvian)
* New translations en.yml (Hindi)
* New translations en.yml (Malay)
* New translations en.yml (Telugu)
* New translations en.yml (Welsh)
* New translations en.yml (Uyghur)
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Tatar)
* New translations en.yml (Malayalam)
* New translations en.yml (Breton)
* New translations en.yml (Sinhala)
* New translations en.yml (Cornish)
* New translations en.yml (Kannada)
* New translations en.yml (Asturian)
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.json (Sorani (Kurdish))
* New translations en.json (Greek)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Afrikaans)
* New translations en.json (Bulgarian)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (Basque)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Spanish, Mexico)
* New translations en.json (Marathi)
* New translations en.json (Bengali)
* New translations en.json (English, United Kingdom)
* New translations en.json (Spanish, Argentina)
* New translations en.json (Tamil)
* New translations en.json (Croatian)
* New translations en.json (Persian)
* New translations en.json (Thai)
* New translations en.json (Malay)
* New translations en.json (Norwegian Nynorsk)
* New translations en.json (Kazakh)
* New translations en.json (Estonian)
* New translations en.json (Latvian)
* New translations en.json (Hindi)
* New translations en.json (Urdu (Pakistan))
* New translations en.json (Telugu)
* New translations en.json (Esperanto)
* New translations en.json (Indonesian)
* New translations en.json (Slovenian)
* New translations en.json (Chinese Traditional)
* New translations en.json (Dutch)
* New translations en.json (Norwegian)
* New translations en.json (Hungarian)
* New translations en.json (Armenian)
* New translations en.json (Italian)
* New translations en.json (Georgian)
* New translations en.json (Lithuanian)
* New translations en.json (Macedonian)
* New translations en.json (Punjabi)
* New translations en.json (Ukrainian)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Russian)
* New translations en.yml (English, United Kingdom)
* New translations en.json (Albanian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Swedish)
* New translations en.json (Uyghur)
* New translations en.json (Chinese Traditional, Hong Kong)
* New translations en.json (Corsican)
* New translations en.json (Silesian)
* New translations en.json (Taigi)
* New translations en.json (Ido)
* New translations en.json (Kabyle)
* New translations en.json (Sanskrit)
* New translations en.json (Sardinian)
* New translations en.json (Kurmanji (Kurdish))
* New translations en.json (Tatar)
* New translations en.json (Serbian (Latin))
* New translations en.json (Occitan)
* New translations en.json (Kannada)
* New translations en.json (Cornish)
* New translations en.json (Sinhala)
* New translations en.json (Breton)
* New translations en.json (Malayalam)
* New translations en.json (Standard Moroccan Tamazight)
* New translations en.json (Spanish, Argentina)
* New translations en.json (Galician)
* New translations en.json (Chinese Traditional)
* New translations en.json (Greek)
* New translations en.json (Swedish)
* New translations en.json (Russian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Catalan)
* New translations en.json (Polish)
* New translations en.json (Latvian)
* New translations en.yml (Turkish)
* New translations en.json (Turkish)
* New translations en.json (Czech)
* New translations en.json (Slovenian)
* New translations en.json (Icelandic)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Vietnamese)
* New translations en.yml (Russian)
* New translations doorkeeper.en.yml (Russian)
* New translations en.yml (Japanese)
* New translations en.json (Japanese)
* New translations en.json (Danish)
* New translations en.json (Dutch)
* New translations en.json (Portuguese)
* New translations en.json (Frisian)
* New translations en.yml (Frisian)
* New translations simple_form.en.yml (Frisian)
* New translations activerecord.en.yml (Frisian)
* New translations devise.en.yml (Frisian)
* New translations doorkeeper.en.yml (Frisian)
* New translations en.json (Frisian)
* New translations en.yml (Breton)
* New translations en.json (Breton)
* New translations en.yml (Polish)
* New translations en.yml (Russian)
* New translations en.yml (Catalan)
* New translations en.yml (Korean)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (Korean)
* New translations en.yml (Greek)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Ukrainian)
* New translations en.yml (Czech)
* New translations en.json (Ukrainian)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese)
* New translations en.yml (Latvian)
* New translations en.yml (Hungarian)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.json (Irish)
* New translations en.yml (Czech)
* New translations en.yml (Danish)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Galician)
* New translations en.yml (Galician)
* New translations simple_form.en.yml (Galician)
* New translations en.json (Frisian)
* New translations en.json (Frisian)
* New translations en.json (Frisian)
* New translations en.json (Frisian)
* New translations en.yml (Frisian)
* New translations en.json (Frisian)
* New translations en.yml (Frisian)
* New translations activerecord.en.yml (Frisian)
* New translations activerecord.en.yml (Frisian)
* New translations en.json (Frisian)
* New translations devise.en.yml (Frisian)
* New translations doorkeeper.en.yml (Frisian)
* New translations en.json (Frisian)
* New translations en.yml (Frisian)
* New translations en.yml (Slovenian)
* New translations en.json (Frisian)
* New translations en.yml (Frisian)
* New translations doorkeeper.en.yml (Frisian)
* New translations en.json (Frisian)
* New translations en.yml (Frisian)
* New translations simple_form.en.yml (Frisian)
* New translations en.json (Frisian)
* New translations en.yml (Frisian)
* New translations en.json (Frisian)
* New translations en.json (Frisian)
* New translations en.json (Frisian)
* New translations en.json (Frisian)
* New translations en.yml (Indonesian)
* New translations en.json (Indonesian)
* New translations en.json (Spanish)
* New translations en.yml (Spanish)
* New translations en.yml (Italian)
* New translations en.yml (Ido)
* New translations en.json (Ido)
* New translations en.json (French)
* New translations en.yml (Korean)
* New translations simple_form.en.yml (Korean)
* New translations simple_form.en.yml (Korean)
* New translations en.yml (Russian)
* New translations en.yml (Russian)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
* Fix default message
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh >
2022-06-04 13:44:49 +09:00
Claire and GitHub
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.
2022-05-06 21:40:49 +02:00
Stefano Pigozzi and GitHub
99d7684dfd
Replace leftover envelope icons with at icons ( #18305 )
2022-05-06 00:41:56 +02:00
Eugen Rochko and GitHub
7e244879fe
Change "Conversations" back to "Direct messages" and add warning in web UI ( #18289 )
...
Partially reverts #18146
2022-05-03 09:09:09 +02:00
Eugen Rochko and GitHub
be0bc9acbf
Change "Direct" status visibility to "Only people I mention" in web UI ( #18146 )
...
- Change name of conversations column in web UI
- Change hotkey for opening conversations column from `g d` to `g c` in web UI
- Remove shortcuts for creating direct-visibility statuses from web UI
2022-04-29 00:24:31 +02:00
Claire and GitHub
eed5a4bf9c
Fix empty “Server rules violation” report option ( #18165 )
2022-04-28 21:29:29 +02:00
Eugen Rochko and GitHub
fa47c37f13
Fix public timelines being inaccessible on one stage of responsive layout in web UI ( #17760 )
...
Fix #17756
2022-03-13 09:48:39 +01:00
mayaeh and GitHub
e38a01c41a
Change the "Explore" icon from fa-globe to fa-hashtag ( #17757 )
2022-03-13 05:15:19 +01:00
Eugen Rochko and GitHub
9f2791eb64
Add polls and media attachments to edit comparison modal in web UI ( #17727 )
2022-03-09 21:15:24 +01:00
Eugen Rochko and GitHub
54d4ece743
Remove profile directory link from main navigation panel ( #17688 )
2022-03-03 06:45:30 +01:00
Claire and GitHub
2cd31b3177
Fix reply button on media modal not giving focus to compose form ( #17626 )
...
* Avoid compose form and modal management fighting for focus
* Fix reply button on media modal footer not giving focus to compose form
2022-02-25 00:51:01 +01:00
Eugen Rochko and GitHub
d4592bbfcd
Add explore page to web UI ( #17123 )
...
* Add explore page to web UI
* Fix not removing loaded statuses from trends on mute/block action
2022-02-25 00:34:33 +01:00