Yamagishi Kazutoshi
8b68ca7e61
Add missing parenthesis ( #24238 )
2 years ago
Yamagishi Kazutoshi
e272fc91e4
Remove legacy decorators syntax ( #18357 )
2 years ago
Christian Schmidt
61e7fe2e2a
Fix broken links in account gallery ( #24218 )
2 years ago
Christian Schmidt
7583523bf0
Replace `Status#translatable?` with language matrix in separate endpoint ( #24037 )
2 years ago
Christian Schmidt
50b76430b4
Do not leave Mastodon when clicking “Back” ( #23953 )
2 years ago
Terry Garcia
f5fe444913
Switched bookmark and favourites around ( #23701 )
2 years ago
Claire
3faa229d8d
Fix duplicate “Publish” button on mobile ( #23804 )
2 years ago
Christian Schmidt
41655e16ea
Add `lang` attribute to media and poll options ( #23891 )
2 years ago
Christian Schmidt
e56145661c
Add `lang` attribute to preview card ( #23869 )
2 years ago
Claire
82c464d4d0
Add `lang` tag to native language names in language picker ( #23749 )
2 years ago
Claire
b5b0bc17e8
Change compose form checkbox to native input with `appearance: none` ( #22949 )
2 years ago
Renaud Chaput
ae3812d182
Rename JSX files with proper `.jsx` extension ( #23733 )
2 years ago
Nick Schonning
2663b421be
Enable ESLint import recommended rules ( #23315 )
2 years ago
Nick Schonning
1c2ca9557f
Enable ESLint no-useless-escape ( #23311 )
2 years ago
Claire
3c1e48d304
Fix attached media uploads not being cleared when replying to a post ( #23504 )
2 years ago
Christian Schmidt
059a055e65
Show spinner while loading follow requests ( #23386 )
2 years ago
Christian Schmidt
9b74ffa7e0
Spell check input fields ( #23395 )
2 years ago
Eugen Rochko
92e5feb621
Add setting for status page URL ( #23390 )
2 years ago
Akira Ouchi
bbcbb2dd7f
autofocus the compose form again on /share ( #23094 )
2 years ago
Nick Schonning
ffcd50da2b
Update hasOwnProperty calls for ESLint ( #23307 )
2 years ago
Nick Schonning
9a5233f107
Upgrade ESlint to v8 ( #23305 )
2 years ago
Nick Schonning
3874a3067d
Separate ESLint CI from Superlinter ( #23029 )
...
* Separate ESLint CI from Superlinter
* Correct JS indenting level
* Remove extra semicolons with ESLint autofix
2 years ago
Christian Schmidt
6f08e79465
Add lang attribute to image description textarea and poll option field ( #23293 )
2 years ago
Claire
6feec4fd18
Add lang attribute to compose textarea and CW field ( #23240 )
...
Fixes #19858
2 years ago
Mina Her
453b6eb2bd
Make <Audio> to handle volume change ( #23187 )
2 years ago
Claire
07ee9f2ed5
Fix missing filtering on some notification types ( #23211 )
...
* Fix missing warning-type filtering on some notification types
* Fix missing hide-type filtering on some notification types
2 years ago
Claire
0fdeb4d160
Fix confusing wording in the sign in banner ( #22490 )
...
* Fix confusing wording in the sign in banner
* Split into two sentences
2 years ago
Connor Shea
be280f10c5
Add listing of followed hashtags ( #21773 )
...
* 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>
2 years ago
Claire
340be8d706
Add option to make the landing page be /about even when trends are enabled ( #20808 )
...
* Add option to make the landing page be /about even when trends are enabled
* Restablish /explore as landing page by default
2 years ago
Claire
42aa864c84
Add support for editing media description and focus point of already-posted statuses ( #20878 )
...
* Add backend support for editing media attachments of existing posts
* Allow editing media attachments of already-posted toots
* Add tests
2 years ago
Jeong Arm
f4df1455ea
Make visible change for new post notification setting icon ( #22541 )
2 years ago
Claire
ff5f21d505
Remove hardcoded width from dropdown overlays ( #23062 )
...
* Remove hardcoded width from dropdown overlays
* Fix emoji picker position
2 years ago
Peter Simonsson
9d20c31f9c
Fix dropdown menu positions when scrolling ( #22916 )
...
* 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
2 years ago
Holden Foreman
c2b8b81052
Fix footer link circle dividers' screen reader accessibility by adding aria-hidden ( #22576 )
...
* Fix footer link circle dividers' screen reader accessibility by adding aria-hidden
* Remove a circle erroneously added in prev commit, and make code more DRY
2 years ago
Akira Ouchi
f57a144941
Add variable autoFocus to video ( #15281 ) ( #22778 )
...
* add variable autoFocus to video
* set autoFocus in video_modal.js
2 years ago
Claire
c78d61f21a
Add dropdown menu item to open admin interface for remote domains ( #21895 )
...
* Allow /admin/instances/:domain to handle IDNs
* Add dropdown menu item to open admin interface for remote domains
2 years ago
Holden Foreman
4515ec2696
Add aria-hidden to content warning field when dimmed so that it is not confusing to screen reader users ( #22568 )
2 years ago
Nick Schonning
507f2b4c1e
Enable eslint:recommended ruleset ( #22433 )
...
* Enable ESLint recommended ruleset
* Disable failing ESLint recommended rules
* Remove rules shadowed by eslint:recommended
2 years ago
Claire
cfeb01b17f
Add follow request banner on account header ( #20785 )
...
* Add requested_by to relationship maps
* Display whether an account has requested to follow you on their profile
2 years ago
Holden Foreman
cf06626067
Fix language surrounding disability in prompts for alt text and other media descriptions ( #20923 )
2 years ago
Bramus!
e6f386edf1
Fix media markup ( #21420 )
...
This brings the markup of the MediaItem component on par with the Item component from media_gallery.
Co-authored-by: Effy Elden <effy@effy.space>
2 years ago
Rens Groothuijsen
37e12ff0ae
Display search popout at fixed screen position ( #16463 )
...
* Display search popout at fixed screen position
* Attach search popout to search box
2 years ago
Arnout Engelen
18e78d2f5a
Don't autofocus the compose form ( #16517 )
...
When opening a page such as /web/timelines/home in a desktop browser, the
cursor was automatically placed in the textarea of the compose form.
When using the keyboard for navigation (using a browser plugin like vimium or
vim vixen, or just to hit 'space' to scroll down a page), you have remember to
leave the field before using that.
Since you only visit the page to write a new post some of the time, this PR
attempts to have nothing focused initially (and require the user to click or
e.g. use 'tab' to focus the textarea).
Tested:
* /web/timeslines/home no longer autofocuses the compose box
* pressing the 'n' hotkey still focuses the compose box
* clicking 'reply' for a post still focuses the compose box
* replying to a CW'ed post still focuses the compose box
* introducing the CW field still focuses the CW field
* introducing the CW field for a reply still focuses the CW field
* removing the CW field still focuses the compose box
* /web/statuses/new still autofocuses the compose box
fixes #15862
2 years ago
Meisam
272ae2baa8
set activation for tag follow button ( #21629 )
...
Co-authored-by: meisam <meisam@noreply.codeberg.org>
2 years ago
Nick Schonning
691a69adf5
Fix typo in handler function call name ( #21829 )
2 years ago
Yamagishi Kazutoshi
21ffc2340f
`FormattedMessage` must be used directly ( #20982 )
...
* `FormattedMessage` must be used directly
* rollback
2 years ago
Pleclown
8993b7d630
Adding 12 hours option for polls ( #21131 )
...
* Adding 12 hours option for polls
Adding 12 hours option for polls
* Adding 12 hours option for polls
Missing > on a line
2 years ago
Alex Stine
ce1103a154
Fix hidden label causing accessibility issue for search inputs ( #21275 )
...
* Try unhiding search label.
* Use aria-label. Remove label as empty labels are useless.
* Remove addition of package-lock.json.
2 years ago
cadars
40bf70b802
Make handle more easily selectable on profile page ( #21479 )
...
* Make handle more easily selectable on profile page
* Wrap handle in a span
* Add `user-select: all` to span
* remove whitespace
2 years ago
Claire
eb24df264f
Fix “Sign up” button with closed registrations not opening modal on mobile ( #22060 )
...
Fixes #20840
2 years ago
Claire
feaa152fcd
Fix expanded statuses not always being scrolled into view ( #21797 )
2 years ago
Connor Shea
2821d7aaa7
Make the 'Trending now' header a link to Explore. ( #21759 )
...
This keeps the same design that exists currently, but makes "Trending
now" into a link to the Hashtags section of "Explore".
Resolves #21758 .
2 years ago
Claire
e668be4cac
Fix infinite loading instead of soft 404 for non-existing remote accounts ( #21303 )
...
Fixes #21278 , #21021
2 years ago
James Adney
0a302f7673
fix gif autoplay on iOS ( #21422 )
2 years ago
Claire
f47fbb8729
Fix “Share @{name}'s profile” profile menu item ( #21490 )
2 years ago
Claire
41be06e4ec
Remove use of DOMParser in front-end emoji rewriting code ( #20758 )
...
* Add jstest for node ordering in emojify
* Remove use of DOMParser in front-end emoji rewriting code
2 years ago
Levi Bard
8f32b59570
Make the button that expands the publish form differentiable from the button that publishes a post ( #20864 )
2 years ago
nyura123dev
c18c565cb3
Fix safari explore disappearing tabs ( #20917 )
...
* fix disappearing Explore tabs on Safari
* fix lint
Co-authored-by: nyura <nyura@hidden.com>
2 years ago
Claire
97ac51901d
Fix nodes order being sometimes mangled when rewriting emoji ( #20677 )
...
* Fix front-end emoji tests
* Fix nodes order being sometimes mangled when rewriting emoji
2 years ago
Claire
bd267f6353
Fix emoji substitution not applying only to text nodes in Web UI ( #20640 )
...
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2 years ago
Eugen Rochko
ca6df7a68c
Fix dropdown menu on profiles not being accessible on narrow screens in web UI ( #20620 )
2 years ago
trwnh
1b9ad6fb4b
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
2 years ago
Claire
532fc2e361
Fix WebUI crash when listing server blocks and rationale is not available ( #20408 )
...
Regression from #20391
Fixes #20405
2 years ago
Claire
d55054b166
Add the ability to edit media attachment metadata for any unattached media ( #20402 )
2 years ago
Cutls
f22910ef4a
Do not show drag&drop dialog when not logined ( #20400 )
...
* Cannot upload until login
* and do not fire upload
* change username props to context
2 years ago
Claire
28ae058593
Remove “No description added” media warning in edit mode ( #20393 )
...
Editing media metadata is not currently possible in edit mode, the button would
open the modal but saving the changes would error out.
2 years ago
Eugen Rochko
609cb69251
Fix domain blocks on about page not working well on small screens in web UI ( #20391 )
2 years ago
Eugen Rochko
802416d2e9
Fix confusing wording in interaction modal in web UI ( #20302 )
2 years ago
Eugen Rochko
3ff5a02f65
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
2 years ago
Sasha Sorokin
f3339b4ba9
Remove aria-pressed where it's redundant ( #19912 )
...
This commit removes aria-pressed attribute from all elements which
contents or other descriptive attributes change in active state,
effectively replacing the meaning of the button, in which case
aria-pressed, an attribute specified whether the button is currently
pressed, would create a confusion. (Spoiler: it's everywhere).
See https://github.com/mastodon/mastodon/issues/13545#issuecomment-1304886969
2 years ago
Claire
ffef3ac03b
Fix opening the language picker scrolling the single-column view to the top ( #19983 )
...
Fixes #19915
2 years ago
Sunny Ripert
6dd0521788
Add form element on focal point modal ( #19834 )
...
* Add form element on focal point modal
* Add type="button" for detection button
2 years ago
Sunny Ripert
461d06bec8
Fix console log error on column settings load ( #19886 )
2 years ago
Eugen Rochko
786b5a7c49
Change design of new list form in web UI ( #19801 )
2 years ago
Eugen Rochko
8742e0000e
Fix missing interpolation of domain in disabled account banner in web UI ( #19788 )
2 years ago
Eugen Rochko
716696cd80
Change design of moved account banner in web UI ( #19790 )
2 years ago
Claire
3d24ef2967
Change sign-in banner to reflect disabled or moved account status ( #19773 )
2 years ago
Sunny Ripert
c91962983f
Fix JavaScript console warning when loading notifications ( #19772 )
2 years ago
Sunny Ripert
343099eafa
Fix JavaScript console error on upload editing status ( #19769 )
2 years ago
Claire
43629707c9
Fix compose form submission reloading web interface ( #19762 )
...
* Fix compose form submission reloading web interface
Fix regression introduced by #19742
* Fix various compose form buttons being handled like submit buttons
* Fix coding style issue
* Fix missing onClick prop check
2 years ago
Sunny Ripert
5404fa8bc0
A11y: Explicit <form> element around compose area ( #19742 )
2 years ago
Eugen Rochko
e75cab5d37
Add assets from Twemoji 14.0 ( #19733 )
2 years ago
Eugen Rochko
bd9c4ec16d
Fix limited account hint referencing "your" server when logged out ( #19711 )
2 years ago
Eugen Rochko
27f63cba4e
Fix design of verified links in web UI ( #19709 )
2 years ago
Claire
b0d4b7d956
Fix being unable to withdraw follow request when confirmation modal is disabled ( #19687 )
...
* Fix being unable to withdraw follow request when unfollow confirmation modal is disabled
Fixes #19569
* Fix “unfollow” being inadequately used for withdrawing follow requests from account card
2 years ago
Eugen Rochko
0b91816814
Change design of link footer ( #19562 )
2 years ago
Eugen Rochko
89ef2cf044
Fix upload progress not communicating processing phase in web UI ( #19530 )
2 years ago
Eugen Rochko
973d496b86
Fix logged out search and changed logged-in search placeholder ( #19514 )
2 years ago
Eugen Rochko
528f96e769
Fix closed registrations message not appearing in web UI ( #19508 )
...
Regression from #19486
2 years ago
Eugen Rochko
4b0d58f0ad
Fix missing delete and redraft link in web UI ( #19485 )
2 years ago
Eugen Rochko
35b5120c5d
Fix notifications about deleted reports not being also deleted ( #19475 )
...
* Fix notifications about deleted reports not being also deleted
* Fix notification with empty report crashing web UI
Fix #18909
2 years ago
Claire
d94b1c682a
Add closed registrations modal ( #19437 )
2 years ago
Eugen Rochko
85fc370638
Change post editing to be enabled in web UI ( #19103 )
2 years ago
Eugen Rochko
3e5588bf70
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
2 years ago
Claire
4a6fb0ea2a
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
2 years ago
Eugen Rochko
7cbab3e7fd
Change layout of posts in web UI ( #19423 )
2 years ago
Claire
0e682bbe24
Fix WebUI notification settings for new user and new report notifications ( #19436 )
...
Due to an error in operator priority, those settings would only show up if the
user role included the all-encompassing `administrator` permission and would
display `0` otherwise.
2 years ago
Eugen Rochko
14b27b92e2
Fix media, following and followers tabs in web UI ( #19426 )
2 years ago
Eugen Rochko
2e0f4c286f
Fix redirecting to `/publish` when compose form is visible in web UI ( #19427 )
2 years ago
Eugen Rochko
370f2609b8
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
2 years ago
Eugen Rochko
daaa66a2c2
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>
2 years ago
Claire
f272594be6
Change landing page to be /about instead of /explore when trends are disabled ( #19414 )
2 years ago
Eugen Rochko
e700e95246
Fix case-sensitive look-up for profiles in web UI ( #19397 )
2 years ago
Eugen Rochko
a51d8075b6
Fix too many featured tags causing navigation panel scroll in web UI ( #19398 )
2 years ago
Eugen Rochko
8e0daf2214
Fix error on profile in web UI ( #19396 )
2 years ago
Eugen Rochko
0fdfbe555e
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
2 years ago
Eugen Rochko
6ab724918b
Change featured hashtags to be displayed in navigation panel ( #19382 )
2 years ago
prplecake
2690a13d0e
Don't use "unfollow language" when cancelling follow requests ( #19363 )
...
* Don't use "unfollow language" when cancelling follow requests
- Adds two new i18n keys: `confirmations.cancel_follow_request.confirm`
and `confirmations.cancel_follow_request.message`
- Update the header container to use new language
* "Withdraw follow request" instead of "cancel follow request"
2 years ago
Eugen Rochko
0b84d15288
Fix missing rules in report modal in web UI ( #19387 )
2 years ago
Eugen Rochko
8723d322c7
Fix error while server rules are loading in report modal in web UI ( #19385 )
2 years ago
Takeshi Umeda
3e88e7ba20
Add featured tags selector for WebUI ( #19358 )
...
* Add featured tags selector for WebUI
* Add title to tag count
2 years ago
Eugen Rochko
e376f33207
Change about page to be mounted in the web UI ( #19345 )
2 years ago
Yamagishi Kazutoshi
f84bee7d78
Redirect non-logged-in user to owner statuses on single user mode ( #19333 )
2 years ago
Yamagishi Kazutoshi
bccb0db26b
Hide list panel from nav bar in mobile layout ( #19337 )
2 years ago
Yamagishi Kazutoshi
595d5744ae
Fix `ColumnLink` labels not disappearing in mobile UI ( #19334 )
2 years ago
Yamagishi Kazutoshi
fca4e2c284
Fix fedi/local timeline nav link always hide ( #19329 )
2 years ago
Eugen Rochko
e13d9e178c
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>
2 years ago
Claire
177683d8eb
Fix button to dismiss suggestions not showing up in search results ( #19325 )
...
Fix a typo. The scope of this fix is pretty minor as that view only ever
shows up in one corner case, now.
2 years ago
Eugen Rochko
aa2b4d5c4c
Add dismissable hints to various timelines in web UI ( #19315 )
...
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2 years ago
Yamagishi Kazutoshi
9762fe2475
Add title to pages with missing title in Web UI ( #19322 )
2 years ago
Yamagishi Kazutoshi
c312e0180b
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
2 years ago
Eugen Rochko
d706460933
Fix trying to connect to streaming API when logged out in web UI ( #19316 )
2 years ago
Eugen Rochko
378e00b59c
Change privacy policy to be rendered in web UI, add REST API ( #19310 )
...
Source string no longer localized, Markdown instead of raw HTML
2 years ago
Eugen Rochko
9b05f5b2bb
Add interaction modal to logged-out web UI ( #19306 )
2 years ago
trwnh
58fd523794
Fix #19304 ( #19305 )
2 years ago
Eugen Rochko
c603978cf6
Add server banner to web app, add `GET /api/v2/instance` to REST API ( #19294 )
2 years ago
Eugen Rochko
58c367fb47
Remove code for rendering public and hashtag timelines outside the web UI ( #19257 )
2 years ago
Eugen Rochko
2d634b669b
Fix logged-out web UI on smaller screens ( #19263 )
2 years ago
Claire
6c495231b2
Fix “Change subscribed languages” crashing in some situations ( #19268 )
2 years ago
Eugen Rochko
ab49ef4a74
Fix wrong logo on start screen in web UI ( #19254 )
2 years ago
Eugen Rochko
c04359a63b
Change path of privacy policy page ( #19249 )
2 years ago
Eugen Rochko
cd9a0f136d
Add sign-up button to logged-out web UI ( #19250 )
2 years ago
Eugen Rochko
babebc4e8a
Add logged-out access to the web UI ( #18961 )
2 years ago
Eugen Rochko
a593188ded
Add user content translations with configurable backends ( #19218 )
2 years ago
Claire
12cb437127
Add privacy icons to report modal ( #19190 )
2 years ago
Eugen Rochko
f4e91041b2
Add ability to filter followed accounts' posts by language ( #19095 )
2 years ago
Claire
522fbf9d13
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
2 years ago
Rens Groothuijsen
aced8820dd
Add warning for sensitive audio posts ( #17885 )
2 years ago
Eugen Rochko
9bbcd2e8a0
Add ability to follow hashtags in web UI ( #18862 )
2 years ago
Yamagishi Kazutoshi
a3eda85ff9
Bump react-redux-loading-bar from 4.0.8 to 5.0.4 ( #18562 )
2 years ago
Eugen Rochko
e164d6a687
Add customizable user roles ( #18641 )
...
* Add customizable user roles
* Various fixes and improvements
* Add migration for old settings and fix tootctl role management
2 years ago
Claire
90e5a9bd98
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.
2 years ago
Eugen Rochko
e6eb0a29b9
Add notifications for new reports ( #18697 )
2 years ago
Eugen Rochko
157bf44409
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>
2 years ago
Eugen Rochko
8ec66981da
Change label of publish button to be "Publish" again ( #18583 )
2 years ago
Eugen Rochko
c460fd0250
Remove unused assets ( #18541 )
3 years ago
Eugen Rochko
e4a9aa1ab4
Add language dropdown to compose in web UI ( #18420 )
3 years ago
Eugen Rochko
ac3d6f9a35
Add `limited` attribute to accounts in REST API and a warning in web UI ( #18344 )
3 years ago
Claire
917567567a
Fix block/mute lists showing a follow button when unblocking a user ( #18364 )
...
Fixes #601
3 years ago
Claire
82dcdc12f1
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