Commit graph

8143 commits

Author SHA1 Message Date
alfe 20e85c0e83
Rewrite <ShortNumber /> as FC and TS (#25492) 2023-07-08 11:11:58 +02:00
fusagiko / takayamaki e0d230fb37
simplify counters (#25541) 2023-07-08 11:11:22 +02:00
Renaud Chaput 9f078e238d
Fix translate button position (#25807) 2023-07-08 00:12:31 +02:00
Claire b6d173b459
Fix crash in admin interface when viewing a remote user with verified links (#25796) 2023-07-07 18:10:17 +02:00
Claire 94fbac77e7
Fix processing of media files with unusual names (#25788) 2023-07-07 13:35:22 +02:00
Claire 610731b03d
Merge pull request from GHSA-55j9-c3mp-6fcq 2023-07-06 15:06:49 +02:00
Claire c5929798bf
Merge pull request from GHSA-9pxv-6qvf-pjwc
* Fix timeout handling of outbound HTTP requests

* Use CLOCK_MONOTONIC instead of Time.now
2023-07-06 15:06:23 +02:00
Claire dc8f1fbd97
Merge pull request from GHSA-9928-3cp5-93fm
* Fix attachments getting processed despite failing content-type validation

* Add a restrictive ImageMagick security policy tailored for Mastodon

* Fix misdetection of MP3 files with large cover art

* Reject unprocessable audio/video files instead of keeping them unchanged
2023-07-06 15:05:05 +02:00
Claire 6d8e0fae3e
Merge pull request from GHSA-ccm4-vgcc-73hp
* Tighten allowed HTML in oEmbed-based preview cards

* Sanitize preview cards at render time

* Add `sandbox` attribute to preview card iframes
2023-07-06 15:03:33 +02:00
Eugen Rochko 000b835803
Add canonical link tags in web UI (#25715) 2023-07-05 11:25:27 +02:00
Eugen Rochko b7910bc751
Add button to see results for polls in web UI (#25726) 2023-07-05 10:32:04 +02:00
Claire eb2417ce99
Fix OAuth apps page crashing when listing apps with certain admin API scopes (#25713) 2023-07-04 18:58:23 +02:00
Claire 4658263b4a
Fix re-activated accounts being deleted by AccountDeletionWorker (#25711) 2023-07-04 18:36:24 +02:00
Trevor Wolf 182fd93a07
fix read more button overlapping thread line bug (#25706) 2023-07-04 14:57:46 +02:00
mogaminsk 6268188543
Fix local live feeds does not expand (#25694) 2023-07-04 00:37:57 +02:00
forsamori d9a5c1acfa
Add at-symbol prepended to mention span title (#25684)
Co-authored-by: Sam BC <samuel.balbirnie-cumming@xdesign.com>
2023-07-03 22:58:10 +02:00
Eugen Rochko 54a10523e2
Change labels of live feeds tabs in web UI (#25683) 2023-07-03 22:57:18 +02:00
Daniel M Brasil 383c00819c
Fix /api/v2/search not working with following query param (#25681) 2023-07-03 18:06:57 +02:00
Eugen Rochko 69e124e2ed
Fix regression of icon button colors in web UI (#25679) 2023-07-03 16:51:04 +02:00
Trevor Wolf 54cb679c19
Change button colors to increase hover/focus contrast and consistency (#25677) 2023-07-03 11:32:31 +02:00
Claire e6a8faae81
Add users index on unconfirmed_email (#25672) 2023-07-02 19:41:35 +02:00
Claire 180f0e6715
Fix inefficient query when requesting a new confirmation email from a logged-in account (#25669) 2023-07-02 16:08:58 +02:00
Eugen Rochko ba06a2f104
Revert "Rails 7 update" (#25667) 2023-07-02 11:14:22 +02:00
mogaminsk 5b46345459
Prevent duplicate concurrent calls of /api/*/instance in web UI (#25663) 2023-07-02 11:12:16 +02:00
Eugen Rochko 0512537eb6
Change dropdown icon above compose form from ellipsis to bars in web UI (#25661) 2023-07-02 10:39:55 +02:00
Matt Jankowski 50c2a03695
Rails 7 update (#24241) 2023-07-02 10:38:53 +02:00
Daniel M Brasil 4fe2d7cb59
Fix HTTP 500 in /api/v1/emails/check_confirmation (#25595) 2023-07-02 00:05:44 +02:00
Claire cea9db5a0b
Change local and federated timelines to be in a single firehose column (#25641) 2023-07-02 00:05:10 +02:00
Matt Jankowski 683ba5ecb1
Fix rails rewhere deprecation warning in directories api controller (#25625) 2023-07-01 21:48:16 +02:00
Renaud Chaput 78ba12f0bf
Use an Immutable Record as the root state (#25584) 2023-06-30 17:03:25 +02:00
Claire 9934949fc4
Fix onboarding prompt being displayed because of disconnection gaps (#25617) 2023-06-30 16:32:12 +02:00
Claire a209d1e683
Fix ResolveURLService not resolving local URLs for remote content (#25637) 2023-06-29 14:48:54 +02:00
jsgoldstein 4581a528f7
Change account search to match by text when opted-in (#25599)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-06-29 13:05:21 +02:00
Claire 285a691936
Remove the search button from UI header when logged out (#25631) 2023-06-28 14:57:51 +02:00
Claire c7c6f02ae6
Fix suspending an already-limited domain (#25603) 2023-06-27 12:32:51 +02:00
Claire 0ccf6c0eb7
Fix batch attachment deletion leaving empty directories (#25587) 2023-06-27 09:36:11 +02:00
S.H 7a25af64dd
Remove media attachment only when file was exist (#25586) 2023-06-26 16:38:19 +02:00
Eugen Rochko bb4756c823
Change files to be deleted in batches instead of one-by-one (#23302) 2023-06-26 14:17:41 +02:00
Renaud Chaput ae30a60b1f
Improve dismissable banner buttons when they dont fit on 1 line (#25580)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-26 12:31:48 +02:00
Claire ed96e28c9e
Fix compose form not being shown when clicking “Make your first post” on mobile (#25581) 2023-06-26 12:30:35 +02:00
Eugen Rochko 7b024baf50
Change header backgrounds to use fewer different colors in web UI (#25577) 2023-06-26 05:27:07 +02:00
Eugen Rochko 65aa04647a
Fix onboarding prompt flashing while home feed is loading in web UI (#25579) 2023-06-26 05:26:54 +02:00
Eugen Rochko 2b78c07ef1
Fix search not being easily findable on smaller screens in web UI (#25576) 2023-06-26 05:26:41 +02:00
Claire 55e7c08a83
Fix verified badge in account lists potentially including rel="me" links (#25561) 2023-06-24 17:24:31 +02:00
Eugen Rochko a985d587e1
Change labels and styles on the onboarding screen in web UI (#25559) 2023-06-23 16:34:27 +02:00
Claire 0842a68532
Remove unique accounts condition from Home onboarding prompt (#25556) 2023-06-23 14:44:54 +02:00
Eugen Rochko 00ec43914a
Add onboarding prompt when home feed too slow in web UI (#25267) 2023-06-22 23:48:40 +02:00
Claire 1d622c8033
Add POST /api/v1/conversations/:id/unread (#25509) 2023-06-22 18:46:43 +02:00
Claire a8c1c8bd37
Fix j/k keyboard shortcuts on some status lists (#25554) 2023-06-22 17:54:43 +02:00
Claire a5b6f6da80
Change /api/v1/statuses/:id/history to always return at least one item (#25510) 2023-06-22 14:56:14 +02:00
Claire 602c458ab6
Add finer permission requirements for managing webhooks (#25463) 2023-06-22 14:52:25 +02:00
mogaminsk 8d2c26834f
Fix custom signup URL may not loaded (#25531) 2023-06-22 12:10:49 +02:00
Ian 69db507924
Change emoji picker icon (#25479) 2023-06-21 17:58:00 +02:00
Claire ebfeaebedb
Fix /api/v1/conversations sometimes returning empty accounts (#25499) 2023-06-20 18:32:26 +02:00
Claire ec91ea4457
Fix missing validation on default_privacy setting (#25513) 2023-06-20 18:32:14 +02:00
Claire fd23f50243
Fix wrong view being displayed when a webhook fails validation (#25464) 2023-06-20 18:15:35 +02:00
Claire c78280a8ce
Add translate="no" to outgoing mentions and links (#25524) 2023-06-20 18:10:19 +02:00
Emelia Smith 3a91603b15
Prevent UserCleanupScheduler from overwhelming streaming (#25519) 2023-06-20 18:04:35 +02:00
Claire dd07393e75
Fix user settings not getting validated (#25508) 2023-06-19 14:06:06 +01:00
たいち ひ 804488d38e
Rewrite <AutosuggestHashtag /> as FC and TS (#25481) 2023-06-19 14:11:46 +02:00
Matt Jankowski e1c9d52e91
Reduce sleep time in request pool spec (#25470) 2023-06-19 13:48:25 +02:00
Matt Jankowski 155ec185b2
Remove unused picture_hint helper method (#25485) 2023-06-19 09:04:15 +02:00
Daniel M Brasil b9bc9d0bda
Fix incorrect pagination headers in /api/v2/admin/accounts (#25477) 2023-06-19 08:53:05 +02:00
Claire 64f7a11658
Fix cross-origin loading of locales (#25498) 2023-06-18 15:47:04 +02:00
Claire c9d06d10d4
Fix non-interactive upload container being given a button role and tabIndex (#25462) 2023-06-16 12:03:06 +02:00
Daniel M Brasil d9c6f70cc6
Fix ArgumentError in /api/v1/admin/accounts/:id/action (#25386) 2023-06-14 15:21:36 +02:00
Eugen Rochko f20698000f
Fix always redirecting to onboarding in web UI (#25396) 2023-06-14 09:05:03 +02:00
Claire ec59166844
Fix ArgumentError when loading newer Private Mentions (#25399) 2023-06-14 08:54:52 +02:00
Eugen Rochko bca649ba79
Change edit profile page (#25413) 2023-06-14 04:38:07 +02:00
Eugen Rochko 39110d1d0a
Fix CAPTCHA page not following design pattern of sign-up flow (#25395) 2023-06-13 22:30:40 +02:00
たいち ひ 3b5e302f7f
Rewrite emoji_mart_data_light as TS (#25138) 2023-06-13 19:28:31 +02:00
alfe a86886b1fd
Rewrite <LoadingIndicator/> as FC and TS (#25364) 2023-06-13 19:26:25 +02:00
Renaud Chaput 1cb4514d0e
Add missing report category translation (#25400) 2023-06-13 15:05:40 +02:00
Eugen Rochko 6637ef7852
Add unsubscribe link to e-mails (#25378) 2023-06-12 14:22:46 +02:00
alfe dfaf59d99a
Rewrite <LoadPending /> as FC and TS (#25363) 2023-06-11 04:47:18 +02:00
Eugen Rochko 432a5d2d4b
Change "bot" label to "automated" (#25356) 2023-06-11 04:47:07 +02:00
Eugen Rochko 4c9406bdb0
Add time zone preference (#25342) 2023-06-10 03:29:37 +02:00
Matt Jankowski 75e299f440
Remove unused redis_info method Admin::Dashboard (#25345) 2023-06-09 14:03:35 +02:00
jsgoldstein 18f092d927
Fix translations for changing theme (#25340) 2023-06-08 17:12:41 +02:00
Eugen Rochko 67d17ce194
Add legal as report category (#23941) 2023-06-06 23:41:59 +02:00
Eugen Rochko e4fd9503ec
Change design of dropdowns in web UI (#25107) 2023-06-06 21:49:49 +02:00
Nick Schonning c66250abf1
Autofix Rubocop Regex Style rules (#23690)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-06 14:50:51 +02:00
alfe fb5bf5cbf8
Rewrite <LoadMore /> as FC and TS (#25259) 2023-06-06 11:28:50 +02:00
Claire 6833732852
Fix autocomplete suggestions being cut off in compose form (#25275) 2023-06-06 11:05:25 +02:00
Eugen Rochko 4eda233e09
Add webhook templating (#23289)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-06 10:42:47 +02:00
Eugen Rochko 0ddc895282
Change follow button in account row to be more obvious in web UI (#24956) 2023-06-06 04:14:28 +02:00
Matt Jankowski af135bddd0
Update Admin::Metrics::Measure classes for Rails 7 (#25236) 2023-06-05 20:46:04 +02:00
Claire 1483a3ddfe
Add data-nosnippet so Google doesn't use trending posts in snippets for / (#25279) 2023-06-05 17:32:24 +02:00
Matt Jankowski 3b21c13dcc
Rails 7 compatibility fix for Admin::Metrics::Dimension classes (#25277) 2023-06-05 16:52:33 +02:00
S.H a6c898f501
Fix not shown announcements in hometimeline. (#25251) 2023-06-05 14:49:51 +02:00
Claire c2c396157f
Fix design issues with recent react-intl upgrade (#25272) 2023-06-05 09:52:36 +02:00
Darius Kazemi bacb674921
Add exclusive lists (#22048)
Co-authored-by: Liam Cooke <liam@liamcooke.com>
Co-authored-by: John Holdun <john@johnholdun.com>
Co-authored-by: Effy Elden <effy@effy.space>
Co-authored-by: Lina Reyne <git@lina.pizza>
Co-authored-by: Lina <20880695+necropolina@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-05 09:37:02 +02:00
Matt Jankowski 0daf78f903
Add allow_other_host: true to backups controller (#25266) 2023-06-05 08:22:03 +02:00
Eugen Rochko 4a5464f360
Change "Follow 7 people" to "Find at least 7 people to follow" in web UI (#24954) 2023-06-05 01:42:17 +02:00
Jed Fox 768b00c4d0
Consistently use middle dot (·) instead of bullet (•) to separate items (#25248) 2023-06-02 19:58:18 +02:00
Claire 0766c9a631
Add card with who invited you to join when displaying rules on sign-up (#23475) 2023-06-02 18:35:37 +02:00
Claire 94329f28e1
Change wording of “Content cache retention period” setting to highlight destructive implications (#23261) 2023-06-02 18:09:08 +02:00
Jed Fox acc419b81b
Fix spacing of middle dots in the detailed status meta section (#25247) 2023-06-02 15:40:23 +02:00
Renaud Chaput b0780cfeed
Fix /share and cleanup and reorganize frontend locale loading (#25240) 2023-06-02 15:00:27 +02:00
Claire 5fae2de454
Fix overflow behavior of account rows (#25131) 2023-06-01 14:47:55 +02:00
Claire 8884d1ece0
Add support for importing lists (#25203) 2023-06-01 14:47:31 +02:00
S.H b3f9a0da52
Fix using Date.now() instead of intl.now() (#25234) 2023-06-01 13:46:19 +02:00
Matt Jankowski f84037ae2b
Remove unused #hash_to_object method in SettingsHelper (#25213) 2023-06-01 09:47:05 +02:00
Claire e9385e93e9
Add a confirmation screen when suspending a domain (#25144) 2023-06-01 09:37:38 +02:00
Claire b922ad7a1b
Fix crash when S3_ALIAS_HOST or S3_CLOUDFRONT_HOST have a path component (#25018) 2023-06-01 09:23:28 +02:00
Claire 2b45fecde1
Fix multiple N+1s in ConversationsController (#25134) 2023-06-01 02:41:51 +02:00
Renaud Chaput 675672feb6
Fix prev/next buttons color in media viewer (#25231) 2023-06-01 02:25:38 +02:00
Christian Schmidt 69057467cb
Translate CW, poll options and media descriptions (#24175)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-01 00:10:21 +02:00
Renaud Chaput 44cd88adc4
Upgrade react-intl (#24906) 2023-05-31 23:43:39 +02:00
Matt Jankowski 00c222377d
Remove unused Settings::Extend module (#25214) 2023-05-31 23:34:48 +02:00
Renaud Chaput b7d995cb00
Disable some metrics cops (#25215) 2023-05-31 23:33:10 +02:00
Claire b6519ab3f5
Fix inconsistent naming of Instance.by_domain_and_subdomain (#25159) 2023-05-31 09:57:24 +02:00
dependabot[bot] 89d6341c80
Bump eslint-plugin-jsdoc from 44.2.5 to 45.0.0 (#25172)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-05-31 09:27:21 +02:00
Claire 14bb6bb29a
Fix null signUp URL in various places (#25190) 2023-05-30 19:01:42 +02:00
S.H 8c183a9831
Align argument type to keyword argument for private process method in FetchResourceService (#25189) 2023-05-30 09:28:01 +02:00
y.takahashi 64b960b6b3
Handle Surrogate Pairs in truncate() (#25148) 2023-05-29 11:55:16 +02:00
fusagiko / takayamaki 38c6216082
Rewrite actions/modal and reducers/modal with typescript (#24833) 2023-05-25 15:42:37 +02:00
たいち ひ 4197b5e4c8
Fix export style of <LoadGap /> based on <Domain /> (#25128) 2023-05-25 13:03:37 +02:00
Claire 1d588d58f1
Improve various queries against account domains (#25126) 2023-05-25 09:27:16 +02:00
Renaud Chaput e58c36d308
Update inconsistent defaultMessage (#25114) 2023-05-24 12:38:50 +02:00
Eugen Rochko 1caa5ff39e
Change share action from being in action bar to being in dropdown in web UI (#25105)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-24 11:04:43 +02:00
Renaud Chaput 40b948a1fb
Fix null signUp URL handling from #25014 (#25108) 2023-05-24 09:49:26 +02:00
たいち ひ 7336f3648b
Rewrite <LoadGap /> as FC and TS (#25042) 2023-05-24 09:20:39 +02:00
Renaud Chaput d27216dc46
Enforce import order with ESLint (#25096) 2023-05-23 17:15:17 +02:00
Claire ca66e61b93
Add support for custom sign-up URLs (#25014) 2023-05-23 15:17:09 +02:00
Claire dfa5889fc0
Change Identity to not destroy associated User on destroy (#25098) 2023-05-23 15:00:36 +02:00
Claire 100840c06e
Fix video player offering to expand in a lightbox when it's in an iframe (#25067) 2023-05-23 14:28:21 +02:00
Claire 9017df7178
Remove dead code in Api::V1::FeaturedTagsController (#25073) 2023-05-23 14:27:37 +02:00
Claire fea0830614
Remove invalid X-Frame-Options: ALLOWALL (#25070) 2023-05-23 14:27:17 +02:00
Renaud Chaput 5a16bd7bf4
Use JSX syntax for Fragments (#25093) 2023-05-23 11:47:36 +02:00
Renaud Chaput 8f66126b10
Use the new JSX transform (#25064) 2023-05-23 10:52:27 +02:00
Matt Jankowski 9f5deb310b
Fix Performance/MapCompact cop (#24797)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-23 10:49:12 +02:00
Matt Jankowski 0664704cd9
Fix Performance/StartWith cop (#24818) 2023-05-23 10:16:50 +02:00
たいち ひ 9a472efe7c
Rewrite <TimelineHint /> as FC and TS (#25091) 2023-05-23 10:04:10 +02:00
たいち ひ 8066118d1f
Rewrite <Skeleton/> as FC and TS (#25055) 2023-05-23 08:58:08 +02:00
Claire 711a037660
Allow scripts in post embed previews (#25071) 2023-05-22 21:18:21 +02:00
Daniel M Brasil 785e650ab4
Fix uncaught TypeError in POST /api/v1/featured_tags (#25072)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-22 19:14:54 +02:00
Daniel M Brasil 45d98959ac
Fix uncaught NoMethodError in POST /api/v1/featured_tags (#25063) 2023-05-22 18:11:28 +02:00
Claire 2a61f14753
Fix account confirmation flow not returning to app after captcha validation (#25057) 2023-05-22 17:38:05 +02:00
Renaud Chaput 8d6aea3326
Upgrade to React 18 (#24916) 2023-05-22 15:48:01 +02:00
Claire e13d2edd47
Fix “Authorized applications” inefficiently and incorrectly getting last use date (#25060) 2023-05-22 14:03:38 +02:00
Daniel M Brasil ce8b5899ae
Fix POST /api/v1/admin/domain_allows returning 200 when no domain is specified (#24958) 2023-05-22 13:44:49 +02:00
Emelia Smith 19f9098551
Allow reports with long comments from remote instances, but truncate (#25028) 2023-05-22 13:15:21 +02:00
Nick Schonning 23a4ecf444
Remove duplicate JPG type (#25054) 2023-05-22 12:46:20 +02:00
Claire 7bb8030cc1
Change OpenGraph-based embeds to allow fullscreen (#25058) 2023-05-22 12:25:56 +02:00
Frankie Roberto 36a77748b4
Order sessions by most-recent to least-recently updated (#25005) 2023-05-22 11:40:00 +02:00
Nick Schonning 99e2e9b81f
Fix minor typos in comments and spec names (#21831) 2023-05-19 17:13:29 +02:00
Essem 5fd8d1e417
Fix oversight in backup service (#25034) 2023-05-19 11:27:10 +02:00
Claire 45ba9ada34
Fix race condition when reblogging a status (#25016) 2023-05-17 00:09:21 +02:00
Claire 5cd55d8aaf
Fix being able to vote on your own polls (#25015) 2023-05-17 00:08:42 +02:00
Claire bec6a1cad4
Add hCaptcha support (#25019) 2023-05-16 23:27:35 +02:00
Claire e60414792d
Add polling and automatic redirection to /start on email confirmation (#25013) 2023-05-16 18:03:52 +02:00
Claire 7b54e47d03
Fix being unable to load past a full page of filtered posts in Home timeline (#24930) 2023-05-16 15:36:25 +02:00
Claire aa4c9730f6
Change composer highlight border size to be more noticeable (#25010) 2023-05-16 14:59:44 +02:00
Claire 3ed3d54bf3
Fix reports not being closed when performing batch suspensions (#24988) 2023-05-16 14:56:49 +02:00
Steven Munn 52d36f0f98
Fix spelling of "Lets" on the onboarding page after clicking the confirmation email (#24959)
Co-authored-by: Steven Munn <stevenjmunn@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-15 22:42:07 +02:00
Daniel M Brasil 433ab0c9a3
Fix uncaught NoMethodError error in /api/v1/admin/canonical_email_blocks/test (#24947)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-12 13:46:16 +02:00
Claire 9015c2d646
Change profile updates to be sent to recently-mentioned servers (#24852) 2023-05-12 13:13:04 +02:00
Christian Schmidt 5241f7b2fd
Fix UI crash in moderation interface when opening the media modal (#24816) 2023-05-11 12:41:55 +02:00
Emelia Smith b8a2430642
Fix Onboarding Errors (#24883) 2023-05-11 07:55:10 +02:00
Claire 6b0942d107
Change AccessTokensVacuum to also delete expired tokens (#24868) 2023-05-11 04:40:03 +02:00
Eugen Rochko 3869e8c210
Change "Sign in" to "Login" (#24942) 2023-05-10 20:17:55 +02:00
Claire 0eed06073f
Fix videos being improperly positioned on safari (#24943) 2023-05-10 17:22:34 +02:00
Renaud Chaput 5eeb40bdbe
Add stricter ESLint rules for Typescript files (#24926) 2023-05-10 12:59:29 +02:00
Nick Schonning b878e3d8df
Enable ESLint react/no-deprecated (#24471) 2023-05-10 09:05:32 +02:00
たいち ひ 2d5e257938
Rewrite logo.tsx as FC (#24909) 2023-05-10 08:58:21 +02:00
Renaud Chaput 6f8db56a01
Disable RTK safety middlewares (#24936) 2023-05-10 08:38:02 +02:00
fusagiko / takayamaki 349cae0b57
Add type annotation for DisplayName component (#24752) 2023-05-09 23:08:54 +02:00
fusagiko / takayamaki ab7716cff4
Rename Image component to ServerHeroImage (#24894) 2023-05-09 23:08:28 +02:00
Nick Schonning 51b83ed195
Use Prettier for ESLint formatting TypeScript (#23631) 2023-05-09 19:02:12 +02:00
Renaud Chaput 6aeb162927
Type Redux store and middleware (#24843) 2023-05-09 16:56:26 +02:00
Claire e1f466fbbe
Fix javascript on moderation interface (#24933) 2023-05-09 16:42:02 +02:00
Renaud Chaput 224d458f7e
Remove unused iOS agent sniffing function (#24931) 2023-05-09 15:48:53 +02:00
Renaud Chaput a3a2414f0e
Rework polyfills loading (#24907) 2023-05-09 14:55:35 +02:00
fusagiko / takayamaki 6579e3af7d
Add more detailed type annotation for Account (#24815) 2023-05-09 12:09:32 +02:00
Renaud Chaput c8181eb0a4
Enforce stricter rules for Typescript files (#24910) 2023-05-09 03:11:56 +02:00
Renaud Chaput d9b93bd15e
Enforce React Rules of Hooks with eslint (#24911) 2023-05-09 03:09:11 +02:00
Renaud Chaput 955179fc55
Dont use CommonJS (require, module.exports) anywhere (#24913) 2023-05-09 03:08:47 +02:00
Renaud Chaput 89269e4b71
Mark wheel events on scrollable list as passive (#24914) 2023-05-09 03:07:13 +02:00
fusagiko / takayamaki 9818f34273
Rewrite Domain component as function component (#24896) 2023-05-08 15:12:12 +02:00
fusagiko / takayamaki 5bc8e2d1fd
Use LayoutType from is_mobile in actions/app (#24863) 2023-05-08 15:10:21 +02:00
たいち ひ 7c1305b3a4
Add TypeScript support for mastodon alias and image imports (#24895) 2023-05-08 11:28:36 +02:00
たいち ひ 76264e3fe8
Rewrite RadioButton component as FC (#24897) 2023-05-08 11:12:53 +02:00
たいち ひ a65d2d1045
Rewrite Image component as function component (#24893) 2023-05-08 11:12:44 +02:00
たいち ひ 490ccbf40b
Rewrite <NotSignedInIndicator /> as FC (#24903) 2023-05-08 11:12:13 +02:00
たいち ひ 6fdbee240c
Rewrite <Check /> as FC (#24901) 2023-05-08 08:26:02 +02:00
fusagiko / takayamaki 140aa6b054
Rewrite VerifiedBadge component as function component (#24892) 2023-05-07 09:10:58 +02:00
Claire 746979f75d
Fix compose textarea scroll behavior (#24872) 2023-05-05 18:58:58 +02:00
mogaminsk c9e040fb24
Fix import data field type (#24874) 2023-05-05 18:10:10 +02:00
S.H 5811ccc611
Fix column back button error (#24867) 2023-05-05 15:13:28 +02:00
zunda c0ea33e3fc
Make it possible to upload audio and video to Heroku app (#24866) 2023-05-05 14:41:07 +02:00
Matt Jankowski 0b249ebdb0
Extract StatusSafeReblogInsert concern from Status (#24821) 2023-05-04 14:06:20 +02:00
Nick Schonning 569b39256b
Bump rubocop-rails 2.19.1 with update .rubocop_todo.yml (#24469) 2023-05-04 11:56:24 +02:00
Claire c3c7d59072
Fix infinite loop in AccountsStatusesCleanupScheduler (#24840) 2023-05-04 10:13:00 +02:00
Nick Schonning f95125bd04
Fail ESLint for Warnings in CI (#24836) 2023-05-04 09:48:50 +02:00
Florin 27bafabb64
Fix Back button going outside the app (#24835) 2023-05-04 08:14:04 +02:00
Nick Schonning ff3b7069cf
Autofix Rubocop Style/ConcatArrayLiterals (#23755) 2023-05-04 05:57:40 +02:00
Nick Schonning da3bd913ae
Autofix Rubocop Style/HashSyntax (#23754) 2023-05-04 05:54:26 +02:00
Nick Schonning d5a185d721
Autofix Rubocop Style/CaseLikeIf (#23756) 2023-05-04 05:51:18 +02:00
Matt Jankowski 08fb9d300a
Spec coverage for settings/preferences/* controllers (#24825) 2023-05-04 05:44:27 +02:00
Matt Jankowski 2c6c398c60
Fix Performance/CollectionLiteralInLoop cop (#24819) 2023-05-04 05:33:55 +02:00
Claire a2a22bad23
Fix various edge cases with local moves (#24812) 2023-05-03 19:19:25 +02:00
Claire 1e75eb690d
Fix own posts not getting delivered to own lists (#24810) 2023-05-03 19:17:40 +02:00
Renaud Chaput 45579a26cf
Fixes build errors from some previous TS-related commits (#24811) 2023-05-03 16:28:14 +02:00
fusagiko / takayamaki 0999cb4601
Rewrite actions/app.ts and reducers/missed_updates.ts with createAction (#24801) 2023-05-03 15:28:39 +02:00
Claire c98b012583
Change Move handler to also move list memberships (#24808) 2023-05-03 14:03:38 +02:00
Renaud Chaput 9a52a7f7a0
Remove MastodonMap TS type (#24807) 2023-05-03 13:32:11 +02:00
fusagiko / takayamaki e38b391940
Add type annotation for some js files (#24787) 2023-05-03 11:43:29 +02:00
Claire 8b636a29c6
Improve automatic post cleanup worker performances (#24785) 2023-05-03 10:31:40 +02:00
Matt Jankowski a0c9f2447e
Fix Performance/MethodObjectAsBlock cop (#24798) 2023-05-03 10:30:54 +02:00
Claire 9c1929efad
Fix incorrect import of redux store (#24805) 2023-05-03 10:29:45 +02:00
Claire d37c0a1060
Fix incorrect box shadow on avatar in thread view (#24800) 2023-05-03 09:11:20 +02:00
Matt Jankowski 668a19a2f3
Fix Performance/DeletePrefix cop (#24796) 2023-05-02 21:07:45 +02:00
fusagiko / takayamaki 8227af8dcc
use configureStore of redux-toolkit instead of createStore of redux (#24790) 2023-05-02 20:39:06 +02:00
Matt Jankowski b5c4b47746
Fix Rails/ActiveRecordCallbacksOrder cop (#24689) 2023-05-02 18:23:35 +02:00
Matt Jankowski 38b2974a83
Extract AccountSearch concern from Account (#24716) 2023-05-02 18:21:36 +02:00
Matt Jankowski f1c1dd0118
Rename with_lock to with_redis_lock to avoid confusion with ActiveRecord's method (#24741) 2023-05-02 18:16:07 +02:00
Matt Jankowski a7df578f97
ApplicationHelper spec coverage, unused removal, tiny refactor (#24762) 2023-05-02 18:10:39 +02:00
Matt Jankowski bae694108a
Fix Performance/Count cop (#24793) 2023-05-02 18:06:43 +02:00
Claire 9189e90ff2
Add fallback redirection when getting a webfinger query LOCAL_DOMAIN@LOCAL_DOMAIN (#23600)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-05-02 17:42:42 +02:00
Matt Jankowski 5e060e1f44
Fix Performance/Sum cop (#24788) 2023-05-02 16:10:40 +02:00
Claire a89b02af92
Check domain suspensions before trying to fetch resources (#24535) 2023-05-02 15:22:19 +02:00
Claire b233da5996
Optimize archive export service and export zip files instead of gzipped tar files (#23360) 2023-05-02 15:09:43 +02:00
Eugen Rochko 8131a5b330
Add ALT badges to media that has alternative text in web UI (#24782) 2023-05-02 14:47:04 +02:00
Claire 6693a4fe7c
Change lists to be able to include accounts with pending follow requests (#19727) 2023-05-02 14:40:36 +02:00
Claire 598e63dad2
Change media elements to use aspect-ratio rather than compute height themselves (#24686) 2023-05-02 13:58:48 +02:00
Matt Jankowski 88d33f361f
Fix Lint/DuplicateBranch cop (#24766) 2023-05-02 12:57:11 +02:00
fusagiko / takayamaki f50105779b
Add type annotation for Blurhash component (#24750) 2023-05-02 12:54:00 +02:00
fusagiko / takayamaki 5a5975d7f7
Add type annotation for IconButton component (#24753) 2023-05-02 12:53:32 +02:00
Claire 32a030dd74
Rewrite import feature (#21054) 2023-05-02 12:08:48 +02:00
Nick Schonning fc56eda94b
Bump stylelint-config-standard-scss from 7.0.1 to 9.0.0 (#24755)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-05-01 18:23:57 +09:00
fusagiko / takayamaki 15fd712464
Add type annotation for RelativeTimestamp component (#24749) 2023-05-01 00:51:31 +02:00
fusagiko / takayamaki 81f75b1e0e
Rewrite Icon and IconWithBadge with typescript (#24747) 2023-05-01 00:51:00 +02:00
Matt Jankowski d902a707a3
Fix Rails/CompactBlank cop (#24690) 2023-04-30 14:07:21 +02:00
Matt Jankowski af824db398
Fix Rails/InverseOf cop (#24732) 2023-04-30 14:06:53 +02:00
Eugen Rochko 0a08e9d3d3
New Crowdin updates (#24678)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-30 17:02:11 +09:00
dependabot[bot] fa14976a5d
Bump connection_pool from 2.3.0 to 2.4.0 (#24290)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-04-30 15:45:02 +09:00
Matt Jankowski bdc74086e6
Fix Rails/ContentTag cop (#24691) 2023-04-30 06:47:15 +02:00
Matt Jankowski 6e226f5a32
Fix Rails/ActionOrder cop (#24692) 2023-04-30 06:46:39 +02:00
Claire 678d836c7d
Fix pop-in player placeholder layout in thread view (#24715) 2023-04-30 06:42:43 +02:00
Claire cf1bc4bb93
Fix audio player width in thread view (#24713) 2023-04-30 06:42:22 +02:00
Nick Schonning f22b4e556c
Add eslint-plugin-jsdoc (#24719) 2023-04-30 02:29:54 +02:00
Christian Schmidt bfeccf6748
Fix media description not being cleared (#24720) 2023-04-30 02:29:24 +02:00
Claire 105f8687e4
Fix thread lines in right-to-left locales (#24714) 2023-04-28 13:12:35 +02:00
Claire 2a3a110f00
Fix wrong classes audio and video instead of audio-player and video-player in CSS (#24711) 2023-04-28 11:15:43 +02:00
Claire faa336e3f7
Change logged-out WebUI HTML pages to be cached for a few seconds (#24708) 2023-04-28 10:27:26 +02:00
Eugen Rochko 8979b70975
Add default post text to onboarding flow in web UI (#24705) 2023-04-28 10:05:34 +02:00
Claire 1c61869eed
Fix /api/v1/custom_emojis being cached even when unauthenticated API access is disallowed (#24665) 2023-04-28 10:01:38 +02:00
Eugen Rochko 6028d047b9
Change logo version in header based on screen size in web UI (#24707) 2023-04-28 10:00:33 +02:00
Eugen Rochko 2b0f1f365a
Remove display name input from sign-up form (#24704) 2023-04-28 08:54:43 +02:00
Eugen Rochko 7cf963eec2
Change label from "For you" to "People" on explore screen in web UI (#24706) 2023-04-28 08:54:20 +02:00
Claire a5bc4ea550
Fix refering to unused preview-card CSS class instead of status-card (#24696) 2023-04-28 07:50:31 +02:00
Matt Jankowski ece38b9318
Remove duplicate react helper method definitions (#24700) 2023-04-28 06:35:25 +02:00
Nick Schonning 49fad26eca
Drop EOL Ruby 2.7 (#24237) 2023-04-27 01:46:18 +02:00
Claire d8a06c1375
Fix preview cards layout in thread view (#24677) 2023-04-27 01:45:19 +02:00
Eugen Rochko d4511f2a76
New Crowdin updates (#24617)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-27 04:55:06 +09:00
Matt Jankowski 91a8cd21d8
React component helper specs (#24072) 2023-04-26 18:21:32 +02:00
Claire b0bf6216e6
Fix /api/v1/instance/domain_blocks being unconditionally cached (#24662) 2023-04-26 11:42:47 +02:00
Claire 62ab7506d6
Fix /actor needlessly reading session cookie and varying on Signature (#24664) 2023-04-26 11:42:26 +02:00
Claire 1527b02c6d
Fix sass warning about deprecated slash as division (#24653)
Co-authored-by: Nick Schonning <nschonni@gmail.com>
2023-04-25 22:15:00 +02:00
Claire 1419f90ef2
Fix some user-independent endpoints potentially reading session cookies (#24650) 2023-04-25 22:14:44 +02:00
Claire 276c39361b
Fix anonymous visitors getting a session cookie on first visit (#24584) 2023-04-25 16:51:38 +02:00
Eugen Rochko 6084461cd0
Change unauthenticated responses to be cached in REST API (#24348) 2023-04-25 15:41:34 +02:00
Eugen Rochko c35e3cb6ac
Add more tips to onboarding flow in web UI (#24646) 2023-04-25 11:12:37 +02:00
Eugen Rochko 8099ba04be
Change hashtags and mentions in bios to open in-app in web UI (#24643) 2023-04-25 06:33:21 +02:00
Claire e9a79d46cd
Fix crash when SSO_ACCOUNT_SETTINGS is not defined (#24628) 2023-04-24 20:26:04 +02:00
Eugen Rochko 804aa8d501
Fix cutting off first letter of hashtag links sometimes in web UI (#24623) 2023-04-24 09:53:54 +02:00
Nick Schonning 2daa5a1549
Enable formatjs/prefer-pound-in-plural (#24622) 2023-04-24 08:07:19 +02:00
Eugen Rochko 290e4aba31
Add lines to threads in web UI (#24549) 2023-04-24 08:07:03 +02:00
Christian Schmidt 5141697323
Remove tai locale (#23880) 2023-04-23 22:49:07 +02:00
Nick Schonning ef3675d688
Remove empty Kushubian (csb) local files (#24151) 2023-04-23 22:43:12 +02:00
Matt Jankowski 0a5f0a8b20
Remove instance variables from helper usage (#24203) 2023-04-23 22:35:54 +02:00
Chike Nwaenie e1b4eeb636
Change styling of the recommended accounts to allow bio to be more visible (#24480) 2023-04-23 22:33:08 +02:00
Christian Schmidt e713c545b8
Use CSS to trim long card descriptions (#24265) 2023-04-23 22:32:47 +02:00
Claire 58a1b2e330
Fix caching logic with regards to Accept-Language, Cookie, and Signature (#24604) 2023-04-23 22:27:24 +02:00
Claire 5dc3173ef8
Fix AccountsStatusesCleanupScheduler not spreading deletes across accounts correctly (#24607) 2023-04-23 22:25:40 +02:00
Eugen Rochko 0461f83320
Add new onboarding flow to web UI (#24619) 2023-04-23 22:24:53 +02:00
Eugen Rochko 9d75b03ba4
New Crowdin updates (#24517)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-22 19:37:41 +09:00
Claire 501d6197c4
Change automatic post deletion thresholds and load detection (#24614) 2023-04-21 18:14:19 +02:00
Claire fbb4de3dbc
Fix infinite loop in emoji replacement code (#24615) 2023-04-21 18:08:28 +02:00
Claire b0eba1a060
Minor clean up and optimization of the automatic post deletion code (#24613) 2023-04-21 16:53:50 +02:00
Claire 37886c28da
Fix characters being emojified even when using Variation Selector 15 (text) (#20949) 2023-04-20 16:43:55 +02:00
fusagiko / takayamaki c1a7e38d2b
Allow == when null checking (#24593) 2023-04-19 17:46:46 +02:00
Eugen Rochko e98c86050a
Refactor Cache-Control and Vary definitions (#24347) 2023-04-19 16:07:29 +02:00
Robert R George 4db8230194
Add trend management to admin API (#24257) 2023-04-18 11:33:30 +02:00
Heitor de Melo Cardozo bc75e62ca6
Change moderation search an account using the username with @ (#24242) 2023-04-17 14:16:36 +02:00
fusagiko / takayamaki ab740f464a
Rewrite AnimatedNumber component with React hooks (#24559) 2023-04-17 13:25:15 +02:00
Claire 85b1b45820
Fix crash in NotifyService when trying to send an email notification for polls (#24558) 2023-04-17 13:13:36 +02:00
Heitor de Melo Cardozo 4601e0dcbb
Add user handle to notification mail recipient address (#24240)
Co-authored-by: luccamps <luccamps@users.noreply.github.com>
Co-authored-by: Leonardo Negreiros de Oliveira <negreirosleo12@gmail.com>
Co-authored-by: Marcio Flavio <mflaviof1995@gmail.com>
Co-authored-by: Gabriel Quaresma <j.quaresmasantos_98@hotmail.com>
2023-04-17 11:06:06 +02:00
Claire bc4745f482
Fix crash when trying to open the filter modal (#24556) 2023-04-17 10:15:21 +02:00
fusagiko / takayamaki 9f8d34620b
Rewrite AvatarOverlay component with React hooks (#24543) 2023-04-17 07:07:27 +02:00
fusagiko / takayamaki cf3fa1e814
Rewrite GIFV component with React hooks (#24552) 2023-04-16 16:09:04 +02:00
Eugen Rochko e5c0b16735
Add progress indicator to sign-up flow (#24545) 2023-04-16 07:01:24 +02:00
Eugen Rochko 955ec252a4
Add client-side validation for taken username in sign-up form (#24546) 2023-04-16 02:10:48 +02:00
Ivan Rodriguez f05fb51ecb
Fix status title for statuses without text (#24359) 2023-04-14 17:29:09 +02:00
Nick Schonning d02aa274be
typo: collapsable -> collapsible (#24521) 2023-04-14 11:01:23 +02:00
Claire af49d93fd6
Fix tab arrows on RTL layouts (#24520) 2023-04-12 16:01:49 +02:00
Claire 8f0b0435ab
Fix missing translation strings in en.json and defaultMessages.json (#24518) 2023-04-12 15:24:45 +02:00
Claire 86ad43173f
Add “In Memoriam” banner back to profiles (#23614) 2023-04-12 14:50:02 +02:00
Eugen Rochko c5eba06d8c
New Crowdin updates (#24447)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-12 20:21:32 +09:00
Claire f53d009778
Refactor Status._insert_record slightly and tighten the test around reblogs of discarded statuses (#24516) 2023-04-12 12:47:05 +02:00
Eugen Rochko cee357d538
Change all components to use the same error page in web UI (#24512) 2023-04-12 12:44:58 +02:00
Kuba Suder aca2cd1528
fixed typo in a constant name (#24511) 2023-04-12 10:06:57 +02:00
Claire 99e3e152cd
Fix crash in NotifyService when trying to send an email notification for post edits (#24460) 2023-04-08 12:51:14 +02:00
Christian Schmidt aa136cf2fa
Fix tooltip for dates without time (#24244) 2023-04-07 16:19:43 +02:00
Christian Schmidt 9ef9974ff2
Fix loading spinner + infinite scroll for private mentions (#24446) 2023-04-07 15:44:31 +02:00
Matt Jankowski d193bc8c5c
Remove unused methods in 2FA OTP Auth Controller (#24220) 2023-04-07 14:13:53 +02:00
Nick Schonning c0886dee14
Remove Array.prototype.includes polyfill (#24234) 2023-04-07 13:03:42 +02:00
Christian Schmidt d7b8c6db7e
Fix account header image missing in low-res (#24433) 2023-04-07 11:57:43 +02:00
Eugen Rochko c9f3438efe
New Crowdin updates (#24378)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-06 23:24:31 +09:00
Claire 9d08b81193
Fix user archive takeouts when using OpenStack Swift (#24431) 2023-04-05 19:31:49 +02:00
Christian Schmidt ffd5b2eea4
Fix height of announcements not being updated when using reduced animations (#24354) 2023-04-05 14:58:10 +02:00
Nick Schonning 17b2fd2177
Update display_media typing to string (#24416) 2023-04-05 13:20:21 +02:00
Nick Schonning 927b2fd138
Set marginRight as string (#24422) 2023-04-05 10:57:36 +02:00
Nick Schonning ab3f23da91
SUBMIT doesn't exist on XMLHttpRequest (#24423) 2023-04-05 10:56:55 +02:00
Nick Schonning cd14f712ad
Enable Stylelint property-no-unknown (#24404) 2023-04-05 09:04:08 +02:00
Claire 45848d6547
Fix styling regressions from RTL layout refactor (#24415) 2023-04-04 16:48:34 +02:00
Nick Schonning ec0c104bf2
Ensure tabIndex is number instead of string (#24409) 2023-04-04 16:33:44 +02:00
Nick Schonning a425915ce7
HTML string attributes set as booleans (#24408) 2023-04-04 16:33:33 +02:00
Claire 0e919397db
Fix unescaped user input in LDAP query (#24379) 2023-04-04 12:42:38 +02:00
Rubicon Rowe fa98363a27
Fix inconsistent radius in drawer (#24407) 2023-04-04 11:41:05 +02:00
Nick Schonning 8e19c44b2c
Align typings with installed versions (#24410) 2023-04-04 10:48:26 +02:00
Christian Schmidt 77bd32a26a
Add colour to follow button when hashtag is being followed (#24361) 2023-04-03 16:25:15 +02:00
Eugen Rochko 4909c2e718
New Crowdin updates (#24276)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-04-03 14:44:43 +02:00
Nick Schonning 373e4a8ff0
Move ESLint configs to overrides (#24370) 2023-04-03 12:41:10 +02:00
fusagiko / takayamaki 4520e6473a
[Proposal] Make able to write React in Typescript (#16210)
Co-authored-by: berlysia <berlysia@gmail.com>
Co-authored-by: fusagiko / takayamaki <takayamaki@users.noreply.github.com>
2023-04-03 03:31:39 +02:00
Eugen Rochko 2b11376411
Change search pop-out in web UI (#24305) 2023-04-01 09:59:10 +02:00
Eugen Rochko 46483ae849
Fix regressions from change in account row design in web UI (#24343) 2023-04-01 09:27:23 +02:00
Vyr Cossont d5ad8b6422
Fix Redis client and type errors introduced in #24285 (#24342) 2023-04-01 08:28:35 +02:00
Claire 280fa3b2c0
Fix invalid/expired invites being processed on sign-up (#24337) 2023-03-31 21:42:28 +02:00
Nick Schonning cb2ce842b0
Autofix Rubocop Rails/IgnoredColumnsAssignment (#23761) 2023-03-31 15:07:22 +02:00
Vyr Cossont 7646ad8a2b
IndexingScheduler: fetch and import in batches (#24285)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-31 14:38:47 +02:00
Christian Schmidt b4f38edf74
Wrong type for user setting when default is defined by lambda (#24321) 2023-03-31 07:33:17 +02:00
Eugen Rochko 68a192e718
Change "direct message" nomenclature to "private mention" in web UI (#24248) 2023-03-30 15:16:20 +02:00
Eugen Rochko a9b5598c97
Change user settings to be stored in a more optimal way (#23630)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-30 14:44:00 +02:00
Tdxdxoz 74f56c64fc
Fix: set multiColumn value for /explore Statuses (#24314) 2023-03-30 10:14:49 +02:00
mogamin 9c84563008
Fix missing translation in pagination gap tags (#24262)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-03-29 13:54:33 +02:00
Christian Schmidt eb38e9df31
Requeue expiration notification (#24311) 2023-03-29 10:52:40 +02:00
Claire e084b5b82d
Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (#24200) 2023-03-27 17:07:37 +02:00
Nick Schonning ddb769f0b8
Move marky to devDependency (#24258) 2023-03-27 16:11:45 +02:00
Eugen Rochko cf12621e37
New Crowdin updates (#24130)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-03-27 20:01:47 +09:00
Eugen Rochko babd86e594
Refactor styles to use logical properties for positioning (#23944) 2023-03-27 10:56:25 +02:00
Vyr Cossont 88fc04d3d7
Serialize status webhook events in REST API format (#24243) 2023-03-27 09:14:21 +02:00
mogamin 63a6808ee1
Fix typo in _login_activity.html.haml (#24263) 2023-03-26 10:59:14 +02:00
Matt Jankowski 0663803348
Move link header setting to after_action (#24251) 2023-03-26 00:40:01 +01:00
Matt Jankowski e633b26f4f
Add allow_other_host in redirects which may go outside app (#24252) 2023-03-26 00:38:32 +01:00
Matt Jankowski e63524f457
Update retention model sql query (#24249) 2023-03-26 00:37:57 +01:00
Eugen Rochko 9bda933740
Change media upload limits and remove client-side resizing (#23726) 2023-03-25 10:00:03 +01:00
Eugen Rochko ef127c964a
Change design of account rows in web UI (#24247) 2023-03-25 08:46:32 +01:00
Yamagishi Kazutoshi 6e8711ff91
Add missing parenthesis (#24238) 2023-03-24 04:35:43 +01:00
Yamagishi Kazutoshi d1b057a0ac
Remove legacy decorators syntax (#18357) 2023-03-24 03:17:53 +01:00
Nick Schonning b46125224c
Remove isNaN polyfill (#24224) 2023-03-23 09:47:13 +01:00
Christian Schmidt 16da4a09e8
Fix broken links in account gallery (#24218) 2023-03-23 05:17:29 +01:00
Claire 2626097869
Fix Rails cache namespace being overriden with v2 for cached statuses (#24202) 2023-03-22 15:47:44 +01:00
Matt Jankowski a7a578a055
Remove unused InstancePresenter methods (#24206) 2023-03-22 14:15:22 +01:00
Takeshi Umeda 38c84f57b6
Refactoring relations_map (#24195) 2023-03-21 10:32:58 +01:00
mogamin 0a9def5498
Fit the max-width of media in .prose to parent box (#24180) 2023-03-20 20:04:25 +01:00
Matt Jankowski 7bef11630d
Remove references to non-existent actions (#24183) 2023-03-20 20:03:44 +01:00
Vyr Cossont 94cbd808b5
Webhooks for local status.create, status.update, account.update (#24133) 2023-03-19 07:47:54 +01:00
Jean byroot Boussier 160f38f03d
Workaround the ActiveRecord / Marshal serialization bug on Ruby 3.2 (#24142)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-03-17 14:37:30 +01:00
Nick Schonning b22b4bac03
Include config/ and update all rubcop deps (#23963) 2023-03-17 10:13:28 +01:00
CSDUMMI d75a1e5054
Link to the Identity provider's account settings from the account settings (#24100)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-17 10:09:01 +01:00
Claire 8fdf49b11d
Add warning for object storage misconfiguration (#24137) 2023-03-16 22:47:01 +01:00
Eugen Rochko 75e5a6e437
Change user backups to use expiring URLs for download when possible (#24136) 2023-03-16 22:46:52 +01:00
Eugen Rochko a085901108
New Crowdin updates (#23904)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-03-16 21:02:00 +09:00
Christian Schmidt bd047acc35
Replace Status#translatable? with language matrix in separate endpoint (#24037) 2023-03-16 11:07:24 +01:00
Eugen Rochko 630436ab2d
Refactor monkey-patching of PrivateAddressCheck (#24122) 2023-03-16 04:33:38 +01:00
Nick Schonning 25d36b6edd
Autofix Rubocop Style/RedundantArgument (#23798) 2023-03-16 10:34:00 +09:00
Nick Schonning 65669d3c57
Fix more haml-lint Rubocop (#24107) 2023-03-15 20:07:43 +01:00
Nick Schonning 75131e7bf7
Setup haml-lint CI with todo config (#23524) 2023-03-15 04:15:36 +01:00
Claire a232a1feb8
Fix misleading error code when receiving invalid WebAuthn credentials (#23568) 2023-03-15 04:15:20 +01:00
Claire cf50667e26
Fix incorrect post links in strikes when the account is remote (#23611) 2023-03-15 04:14:47 +01:00
Claire 9875be09fe
Fix dashboard crash on ElasticSearch server error (#23751) 2023-03-15 04:01:49 +01:00
CSDUMMI 39c7236649
Redirect users to SLO at the IdP after logging them out of Mastodon. (#24020) 2023-03-15 03:52:40 +01:00
Claire 1d0ad558ff
Change sidekiq-bulk's batch size from 10,000 to 1,000 jobs in one Redis call (#24034) 2023-03-15 03:45:15 +01:00
CSDUMMI d258ec8e3b
Prefer the stored location as after_sign_in_path in Omniauth Callback Controller (#24073) 2023-03-13 00:06:27 +01:00
Rodion Borisov a52ccd7ad9
Center the text itself in upload area (#24029) 2023-03-09 14:35:44 +01:00
Christian Schmidt 684a970b3c
Unescape HTML entities (#24019) 2023-03-08 19:56:41 +01:00
Matt Jankowski dfa1be4ab4
Remove unused TOCGenerator (#23986) 2023-03-06 17:33:58 +01:00
PauloVilarinho 8770473dbb
add modal message when editing toot (#23936)
Co-authored-by: PauloVilarinho <paulotarsobranco@hotmail.com>
2023-03-06 17:33:09 +01:00
Claire 21db91a0a8
Remove sidebar dead code (#23984) 2023-03-06 16:25:35 +01:00
Claire 86f8aa2db2
Fix unconfirmed accounts being registered as active users (#23803) 2023-03-06 16:00:08 +01:00
Christian Schmidt c4cf92094e
Do not strip tags from Setting.site_short_description (#23975) 2023-03-06 15:37:19 +01:00
Nick Schonning 82a6cf4012
Enable Rubocop for app/views (#23874) 2023-03-05 00:33:52 +01:00
Christian Schmidt cb868228bd
Do not leave Mastodon when clicking “Back” (#23953) 2023-03-04 23:18:19 +01:00
Matt Jankowski 7f4412eeeb
User mailer spec coverage improvements (#23905) 2023-03-04 17:16:11 +01:00
Matt Jankowski c40d5e5a8f
Misc coverage improvements for validators (#23928) 2023-03-04 17:00:00 +01:00
Jean byroot Boussier 922837dc96
Upgrade to latest redis-rb 4.x and fix deprecations (#23616)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-03-04 16:38:28 +01:00
Nick Schonning b00f945d92
Remove implied StandardError rescue (#23942) 2023-03-03 22:49:16 +01:00
Claire 050f1669c6
Fix original account being unfollowed on migration before the follow request could be sent (#21957) 2023-03-03 21:13:55 +01:00
Claire ddde4e0d95
Change ActivityPub::DeliveryWorker retries to be spread out more (#21956) 2023-03-03 21:08:22 +01:00
Christian Schmidt 5a8c651e8f
Only offer translation for supported languages (#23879) 2023-03-03 21:06:31 +01:00
Claire 6b16b77ab0
Fix external authentication not running onboarding code for new users (#23458) 2023-03-03 20:45:55 +01:00
Claire d6679d1751
Add mail headers to avoid auto-replies (#23597) 2023-03-03 20:44:46 +01:00
Claire f94aa70b81
Fix error when displaying post history of a trendable post in the admin interface (#23574) 2023-03-03 20:44:02 +01:00
Terry Garcia a1347f456e
Switched bookmark and favourites around (#23701) 2023-03-03 20:37:49 +01:00
Claire f8bb4d0d6b
Fix server error when failing to follow back followers from /relationships (#23787) 2023-03-03 20:36:18 +01:00
Claire b55fc883b6
Fix duplicate “Publish” button on mobile (#23804) 2023-03-03 20:25:36 +01:00
Claire c2a046ded1
Fix “Remove all followers from the selected domains” being more destructive than it claims (#23805) 2023-03-03 20:25:15 +01:00
Claire 3a6451c867
Add support for incoming rich text (#23913) 2023-03-03 20:19:29 +01:00
Matt Jankowski af578e8ce0
Fix deprecation warning about merging conditions (#23618) 2023-03-02 16:21:04 +01:00
Matt Jankowski b6602f68eb
Spec coverage for HomeHelper (#23907) 2023-03-02 10:04:14 +01:00
Eugen Rochko cb97ba7a2f
New Crowdin updates (#23802)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-28 23:01:05 +09:00
Nick Schonning 56489cdc4f
Autofix Rubocop Style/HashConversion (#23852) 2023-02-28 22:59:19 +09:00
Matt Jankowski cc3633539e
Remove unused admin/announcements helper (#23899) 2023-02-28 11:56:50 +01:00
Matt Jankowski 055ed5a616
Remove unused InstancePresenter#sample_accounts method (#23900) 2023-02-27 19:03:35 +01:00
Matt Jankowski 4bb39ac3c3
Fix single-record invalid condition on PollVote (#23810) 2023-02-27 09:31:15 +01:00
Christian Schmidt d3eefead30
Add lang attribute to media and poll options (#23891) 2023-02-26 20:13:27 +01:00
Matt Jankowski 730bb3e211
Remove unused HTML Validator (#23866) 2023-02-24 20:06:32 +01:00
Christian Schmidt 8000a8f230
Add lang attribute to preview card (#23869) 2023-02-24 20:04:38 +01:00
Claire 20b80c62ff
Change auto-deletion throttling constants to better scale with server size (#23320) 2023-02-23 16:52:40 +01:00
Tim Lucas f4f91bc295
Increase contrast of upload progress background (#23836) 2023-02-23 12:58:42 +01:00
Eugen Rochko 2564117131
New Crowdin updates (#23625)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-22 21:16:02 +09:00
Claire f682478de8
Fix inefficiency when searching accounts per username in admin interface (#23801) 2023-02-22 11:53:13 +01:00
Nick Schonning 4ff44be134
Autofix Rubocop Rails/Blank (#23765) 2023-02-22 09:57:56 +09:00
Nick Schonning 0cfdd1a401
Enable Rubocop Style/StringConcatenation defaults (#23792) 2023-02-22 09:54:36 +09:00
Botao Wang 7adde24a95
Fix sidebar cut-off on small screens in admin UI (#23764) 2023-02-21 10:06:13 +01:00
Claire 7207a98d39
Add lang tag to native language names in language picker (#23749) 2023-02-21 09:23:39 +01:00
Nick Schonning 434770f580
Autofix Rubocop Rails/FindById (#23762) 2023-02-21 10:21:48 +09:00
Nick Schonning 9909b4b653
Autofix Rubocop Rails/WhereEquals (#23759) 2023-02-21 03:20:56 +09:00
Claire d3b4d4d4f3
Change compose form checkbox to native input with appearance: none (#22949) 2023-02-20 11:32:27 +01:00
Nick Schonning 59c8d43d94
Autofix Rubocop Style/RescueStandardError (#23745) 2023-02-20 11:01:20 +01:00
Christian Schmidt 62c4aecf8f
Make larger part of status clickable (#23621) 2023-02-20 08:11:23 +01:00
Nick Schonning af4c95100c
Autofix Rubocop Style/FormatString (#23743) 2023-02-20 07:58:33 +01:00
Nick Schonning 717683d1c3
Autofix Rubocop remaining Layout rules (#23679) 2023-02-20 06:58:28 +01:00
Nick Schonning d2dcb6c45a
Autofix Rubocop Style/UnpackFirst (#23741) 2023-02-20 06:51:43 +01:00
Nick Schonning 38a1d8bb85
Autofix Rubocop RSpec/ImplicitSubject (#23721) 2023-02-20 05:00:48 +01:00
Nick Schonning 63e6353886
Autofix Rubocop Rails/EnumHash (#23737) 2023-02-20 05:00:36 +01:00
Renaud Chaput 44a7d87cb1
Rename JSX files with proper .jsx extension (#23733) 2023-02-20 03:20:59 +01:00
Nick Schonning f0e1b12c10
Autofix Rubocop Style/ExplicitBlockArgument (#23704) 2023-02-20 11:18:08 +09:00
Nick Schonning aef0051fd0
Enable Rubocop HTTP status rules (#23717) 2023-02-20 11:16:40 +09:00
Nick Schonning 21bf326356
Autofix Rubocop Rails/Pluck (#23730) 2023-02-20 02:28:40 +01:00
Nick Schonning 597767a9f7
Autofix Rubocop Rails/RedundantForeignKey (#23731) 2023-02-20 02:19:40 +01:00
Claire b2283b6838
Fix focus point of already-attached media not saving after edit (#23566) 2023-02-19 07:11:18 +01:00
Nick Schonning 81ad6c2e39
Autofix Rubocop Style/StringLiterals (#23695) 2023-02-19 07:38:14 +09:00
Nick Schonning 2177daeae9
Autofix Rubocop Style/RedundantBegin (#23703) 2023-02-19 07:09:40 +09:00
Nick Schonning c38bd17657
Autofix Rubocop Style/TrailingCommaInArguments (#23694) 2023-02-18 12:39:58 +01:00
Nick Schonning ab7816a414
Autofix Rubocop Style/Lambda (#23696) 2023-02-18 12:39:00 +01:00
Nick Schonning e2a3ebb271
Autofix Rubocop Style/IfUnlessModifier (#23697) 2023-02-18 12:37:47 +01:00
Nick Schonning 8aee4de034
Autofix Rubocop Style/PerlBackrefs (#23649) 2023-02-18 14:20:20 +09:00
Nick Schonning a6f77aa28a
Autofix Rubocop Lint/AmbiguousOperatorPrecedence (#23681) 2023-02-18 04:30:23 +01:00
Nick Schonning e2567df860
Enable Lint/RedundantCopDisableDirective (#23687) 2023-02-18 04:30:14 +01:00
Nick Schonning 634368c491
Autofix Rubocop Lint/SymbolConversion (#23683) 2023-02-18 03:23:49 +01:00
Nick Schonning 669f6d2c0a
Run rubocop formatting except line length (#23632) 2023-02-18 06:56:20 +09:00
Christian Schmidt cde13349cb
Fix bad type for spellCheck attribute (#23638) 2023-02-17 09:51:27 +01:00
Nick Schonning 5e1c0c3d94
Enable ESLint Promise plugin defaults (#22229) 2023-02-16 15:30:56 +09:00
Eugen Rochko 630975bf41
New Crowdin updates (#23527)
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-16 10:23:03 +09:00
Aaron Patterson fb8503e861
Upgrade to Ruby 3.2 (#22928)
Co-authored-by: Matthew Ford <matt@bitzesty.com>
2023-02-15 08:30:27 +01:00
Claire 66f715550e
Add memorial attribute to REST API (#23591) 2023-02-14 13:50:55 +01:00
Claire d6930b3847
Add API parameter to safeguard unexpect mentions in new posts (#18350) 2023-02-13 16:36:29 +01:00
Nick Schonning eddfb33dfe
Enable ESLint import recommended rules (#23315) 2023-02-13 15:12:31 +01:00
Nick Schonning db2c58d47a
Enable ESLint no-useless-escape (#23311) 2023-02-13 15:12:14 +01:00
Dean Bassett 4da5f77d92
Fix case-sensitive check for previously used hashtags (#23526) 2023-02-13 14:54:08 +01:00
Jeong Arm 5f56818f9e
Change followed_by link to location=all if account is local on /admin/accounts/:id page (#23467) 2023-02-13 14:39:00 +01:00
Nick Schonning 0c9d455ea5
Upgrade to Stylelint 15 with Prettier (#23558) 2023-02-13 04:57:03 +01:00
Claire 0c9eac80d8
Fix unbounded recursion in post discovery (#23506)
* Add a limit to how many posts can get fetched as a result of a single request

* Add tests

* Always pass `request_id` when processing `Announce` activities

---------

Co-authored-by: nametoolong <nametoolong@users.noreply.github.com>
2023-02-10 22:16:37 +01:00
Claire bae17ebe5e
Fix attached media uploads not being cleared when replying to a post (#23504) 2023-02-10 22:03:35 +01:00
Eugen Rochko 71ae17e8f5
New Crowdin updates (#23413)
* New translations en.json (Esperanto)

* New translations en.yml (Slovak)

* New translations en.json (Burmese)

* New translations en.yml (Korean)

* New translations en.json (Burmese)

* New translations en.json (Burmese)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.json (Burmese)

* New translations en.yml (Burmese)

* New translations en.yml (Burmese)

* New translations en.json (Burmese)

* New translations activerecord.en.yml (Burmese)

* New translations en.yml (Burmese)

* New translations activerecord.en.yml (Burmese)

* New translations en.json (German)

* New translations simple_form.en.yml (German)

* New translations en.json (Catalan)

* New translations en.yml (Burmese)

* New translations en.yml (Burmese)

* New translations en.yml (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations simple_form.en.yml (Russian)

* New translations en.json (Russian)

* New translations en.json (Belarusian)

* New translations en.json (Belarusian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Korean)

* New translations en.json (Burmese)

* New translations en.yml (Slovak)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.yml (Burmese)

* New translations en.yml (Burmese)

* New translations en.yml (Burmese)

* New translations en.json (Silesian)

* New translations en.yml (Occitan)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.json (Occitan)

* New translations activerecord.en.yml (Turkish)

* New translations doorkeeper.en.yml (Turkish)

* Normalize

* Remove unused locales

---------

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-11 05:42:08 +09:00
Claire a9c220242b
Fix admin-set follow recommandations being case-sensitive (#23500)
Fixes #23472
2023-02-10 11:14:58 +01:00
Claire 67de888bad
Fix server status URL being a required server setting (#23499) 2023-02-10 10:20:43 +01:00
Claire 832595d1e7
Remove posts count and last posts from ActivityPub representation of hashtag collections (#23460) 2023-02-08 17:57:25 +01:00
Nick Schonning 0592937264
Apply Rubocop Rails/WhereNot (#23448)
* Apply Rubocop Rails/WhereNot

* Update spec for where.not
2023-02-08 10:39:57 +01:00
Nick Schonning 0d1f192c54
Apply Rubocop Performance/BlockGivenWithExplicitBlock (#23441)
* Apply Rubocop Performance/BlockGivenWithExplicitBlock

* Unprefix used block parameter
2023-02-08 10:36:23 +01:00
Nick Schonning 26ac2447b4
Apply Rubocop Style/EmptyElse (#23449) 2023-02-08 07:08:39 +01:00
Nick Schonning f68bb52556
Apply Rubocop Style/NegatedIfElseCondition (#23451) 2023-02-08 07:07:36 +01:00
Nick Schonning 8c1b65c7dd
Apply Rubocop Style/RedundantAssignment (#23452) 2023-02-08 07:06:50 +01:00
Nick Schonning d3f59f52c3
Apply Rubocop Performance/StringReplacement (#23445) 2023-02-08 03:21:21 +01:00
Nick Schonning 203739dd3a
Apply Rubocop Performance/StringIdentifierArgument (#23444) 2023-02-08 02:36:20 +01:00
Nick Schonning 2e652aa81c
Apply Rubocop Performance/RedundantSplitRegexpArgument (#23443)
* Apply Rubocop Performance/RedundantSplitRegexpArgument

* Update app/controllers/concerns/signature_verification.rb
2023-02-08 02:25:20 +01:00
Nick Schonning ef8988aef2
Apply Rubocop Performance/DoubleStartEndWith (#23442) 2023-02-08 10:06:48 +09:00
Nick Schonning cec005068f
Apply Rubocop Performance/RedundantBlockCall (#23440) 2023-02-08 00:58:18 +01:00
Nick Schonning ed570050c6
Autofix Rails/EagerEvaluationLogMessage (#23429)
* Autofix Rails/EagerEvaluationLogMessage

* Update spec for debug block syntax
2023-02-07 03:44:36 +01:00
Claire 9edefc779f
Fix UserCleanupScheduler crash when an unconfirmed account has a moderation note (#23318)
* Fix `UserCleanupScheduler` crash when an unconfirmed account has a moderation note

* Add tests
2023-02-07 01:14:44 +01:00
Jeong Arm 523a86618f
Fix account serializer crash if account doesn't have a user (#23428) 2023-02-07 01:03:26 +01:00
Claire bb89f0af8a
Fix ActivityPub::ProcessingWorker error on incoming malformed JSON-LD (#23416) 2023-02-06 21:00:58 +01:00
Eugen Rochko e2207af3d7
New Crowdin updates (#23393)
* New translations en.yml (Portuguese)

* New translations en.yml (Romanian)

* New translations en.yml (Spanish)

* New translations en.yml (Afrikaans)

* New translations en.yml (Arabic)

* New translations en.yml (Belarusian)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (Greek)

* New translations en.yml (Basque)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Italian)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Polish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Georgian)

* New translations en.yml (Korean)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Punjabi)

* New translations en.yml (Slovenian)

* New translations en.yml (Albanian)

* New translations en.yml (Serbian (Cyrillic))

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Urdu (Pakistan))

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Thai)

* New translations en.yml (Croatian)

* New translations en.yml (Kazakh)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

* New translations en.yml (Burmese)

* New translations en.yml (Welsh)

* New translations en.yml (Faroese)

* New translations en.yml (Uyghur)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Hebrew)

* New translations en.json (Japanese)

* New translations en.json (Romanian)

* New translations en.json (Afrikaans)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Irish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* 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 (Latin)

* New translations en.yml (Bosnian)

* New translations en.yml (French, Quebec)

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Kannada)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations en.yml (Aragonese)

* New translations en.yml (Serbian (Latin))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Scots)

* New translations en.yml (Igbo)

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Uzbek)

* New translations en.yml (Uzbek)

* New translations en.json (Kashubian)

* New translations en.yml (Kashubian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.json (Georgian)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Norwegian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Slovenian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Galician)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (Burmese)

* New translations en.json (Faroese)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Catalan)

* New translations en.json (German)

* New translations en.json (Korean)

* New translations en.json (Portuguese)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Spanish, Argentina)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Hungarian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.yml (German)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (German)

* New translations en.json (German)

* New translations en.json (Italian)

* New translations en.json (Albanian)

* New translations en.yml (German)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Albanian)

* New translations simple_form.en.yml (Latvian)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Italian)

* New translations en.json (French)

* New translations en.json (Czech)

* New translations simple_form.en.yml (French)

* New translations en.json (Slovak)

* New translations simple_form.en.yml (Slovak)

* New translations en.json (German)

* New translations en.json (English, United Kingdom)

* New translations en.json (Esperanto)

* New translations en.yml (German)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Slovak)

* New translations simple_form.en.yml (German)

* New translations en.json (Spanish)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Spanish)

* New translations en.json (Basque)

* New translations en.json (Belarusian)

* New translations en.json (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Faroese)

* New translations en.json (Faroese)

* New translations en.json (Korean)

* New translations en.json (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.json (Korean)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Galician)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Polish)

* New translations en.json (French)

* New translations en.yml (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations activerecord.en.yml (French)

* New translations devise.en.yml (French)

* New translations doorkeeper.en.yml (French)

* New translations en.json (Icelandic)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations doorkeeper.en.yml (French)

* New translations en.json (French)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Danish)

* New translations en.json (Danish)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Asturian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Frisian)

* New translations en.json (Frisian)

* Normalize

---------

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-07 02:41:31 +09:00
cadars e8cb3ee827
Add scrolling to Compare history modal (#23396)
* Compare history modal: allow vertical scrolling

* Update app/javascript/styles/mastodon/components.scss

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

---------

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-02-06 16:53:31 +01:00
Christian Schmidt c1f32c9c14
Show spinner while loading follow requests (#23386) 2023-02-06 16:50:08 +01:00
Christian Schmidt 67744ee779
Spell check input fields (#23395) 2023-02-04 16:34:21 +01:00
Eugen Rochko 8651ef751e
New Crowdin updates (#23356)
* New translations en.json (Korean)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Korean)

* New translations en.yml (Esperanto)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.yml (French)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Korean)

* New translations en.json (French)

* New translations en.json (French)

* New translations simple_form.en.yml (French)

* New translations en.json (French)

* New translations en.yml (Danish)

* New translations en.yml (Slovak)

* New translations en.yml (Japanese)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (Chinese Traditional)

* New translations simple_form.en.yml (Icelandic)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (Afrikaans)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Belarusian)

* New translations simple_form.en.yml (Czech)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Irish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Italian)

* New translations en.json (Japanese)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Albanian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Chinese Simplified)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Indonesian)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

* New translations simple_form.en.yml (Spanish, Argentina)

* New translations simple_form.en.yml (Spanish, Mexico)

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Croatian)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Malay)

* New translations simple_form.en.yml (Faroese)

* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)

* New translations simple_form.en.yml (Tatar)

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Breton)

* New translations simple_form.en.yml (French, Quebec)

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Aragonese)

* New translations simple_form.en.yml (Occitan)

* New translations simple_form.en.yml (Serbian (Latin))

* New translations simple_form.en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Sorani (Kurdish))

* New translations simple_form.en.yml (Scots)

* New translations simple_form.en.yml (Corsican)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Chinese Traditional)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Chinese Simplified)

* New translations simple_form.en.yml (Spanish, Mexico)

* Normalize

---------

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-04 15:46:08 +09:00
Eugen Rochko 8f590b0a21
Add setting for status page URL (#23390) 2023-02-04 04:56:06 +01:00
Eugen Rochko f98e4c662e
Change link previews for statuses to never use avatar as fallback (#23376) 2023-02-03 10:16:47 +01:00
Elizabeth Martín Campos 7e04b15ad8
fix(web-push-notifications): fix favourite push notifications (#23286)
Fix a bug where clicking in a favourite push notification would result in a 404 (not found) error, since we were redirecting the user to the wrong URL (we were redirecting to /@<user who favourited>/<favourited status id>, when it should be /@<favourited status author>/<favourited status id>)
2023-02-03 09:29:32 +01:00
Claire 20a479ff7c
Change POST /settings/applications/:id to regenerate token on scopes change (#23359)
Fixes #23096
2023-02-02 12:03:49 +01:00
Nick Schonning 6a5e447753
Address check-i18n warnings (#23313)
* Address check-i18n warnings

* Add language names to language helpers
2023-02-02 10:14:19 +09:00
Eugen Rochko b8c31f8110
New Crowdin updates (#23221)
* New translations en.yml (Serbian (Cyrillic))

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* 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 (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Thai)

* New translations en.yml (Croatian)

* New translations en.yml (Kazakh)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

* New translations en.yml (Burmese)

* New translations en.yml (Welsh)

* New translations en.yml (Faroese)

* New translations en.yml (Uyghur)

* 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 (Latin)

* New translations en.yml (Bosnian)

* New translations en.yml (French, Quebec)

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Kannada)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations en.yml (Aragonese)

* New translations en.yml (Serbian (Latin))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Scots)

* New translations en.yml (Igbo)

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Finnish)

* New translations en.json (Albanian)

* New translations en.yml (Catalan)

* New translations en.yml (German)

* New translations en.yml (Finnish)

* New translations en.yml (Hebrew)

* New translations en.yml (Japanese)

* New translations en.yml (Estonian)

* New translations en.yml (Portuguese)

* New translations doorkeeper.en.yml (Icelandic)

* New translations en.yml (Spanish)

* New translations en.yml (Albanian)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Faroese)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations en.json (Finnish)

* New translations en.yml (Catalan)

* New translations en.yml (German)

* New translations en.yml (Finnish)

* New translations en.yml (Japanese)

* New translations en.yml (Ukrainian)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.yml (Korean)

* New translations en.yml (Danish)

* New translations en.yml (Korean)

* New translations en.yml (Latvian)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Chinese Traditional)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Galician)

* New translations en.json (Finnish)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.yml (Galician)

* New translations en.yml (German)

* New translations en.yml (Faroese)

* New translations en.json (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations en.json (Italian)

* New translations en.yml (German)

* New translations en.yml (Italian)

* New translations en.yml (Finnish)

* New translations en.yml (Hebrew)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Frisian)

* New translations en.yml (Finnish)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Italian)

* New translations en.yml (Finnish)

* New translations en.yml (Turkish)

* New translations en.yml (Estonian)

* New translations en.yml (German)

* New translations en.yml (Estonian)

* New translations en.yml (Turkish)

* New translations en.yml (Thai)

* New translations en.json (Czech)

* New translations en.json (Armenian)

* New translations en.json (Thai)

* New translations doorkeeper.en.yml (Armenian)

* New translations en.yml (Basque)

* New translations en.yml (Armenian)

* New translations en.yml (Thai)

* New translations en.yml (Basque)

* New translations en.yml (Belarusian)

* New translations en.yml (Hungarian)

* New translations en.json (Kazakh)

* New translations en.yml (Slovenian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Uzbek)

* New translations en.yml (Uzbek)

* New translations simple_form.en.yml (Uzbek)

* New translations activerecord.en.yml (Uzbek)

* New translations devise.en.yml (Uzbek)

* New translations doorkeeper.en.yml (Uzbek)

* New translations en.json (Kashubian)

* New translations en.yml (Kashubian)

* New translations simple_form.en.yml (Kashubian)

* New translations activerecord.en.yml (Kashubian)

* New translations devise.en.yml (Kashubian)

* New translations doorkeeper.en.yml (Kashubian)

* New translations en.json (Uzbek)

* New translations en.json (Uzbek)

* New translations en.yml (Polish)

* New translations en.json (Uzbek)

* New translations activerecord.en.yml (Uzbek)

* New translations en.json (Catalan)

* New translations en.json (Uzbek)

* New translations en.yml (Uzbek)

* New translations en.json (Catalan)

* New translations activerecord.en.yml (Catalan)

* New translations en.json (Uzbek)

* New translations devise.en.yml (Uzbek)

* New translations en.json (Indonesian)

* New translations en.yml (Indonesian)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.yml (Czech)

* New translations en.yml (Slovak)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (Frisian)

* New translations en.yml (Frisian)

* New translations en.yml (Slovenian)

* New translations en.yml (Polish)

* New translations en.yml (Polish)

* New translations en.json (English, United Kingdom)

* New translations en.json (Vietnamese)

* New translations en.yml (French)

* New translations en.yml (Italian)

* New translations en.yml (French)

* New translations en.json (Catalan)

* New translations en.json (Belarusian)

* New translations en.yml (Dutch)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Basque)

* New translations doorkeeper.en.yml (Basque)

* New translations en.yml (Basque)

* New translations en.yml (Slovak)

* New translations simple_form.en.yml (Slovak)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations activerecord.en.yml (Korean)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Danish)

* New translations en.yml (Korean)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Spanish)

* New translations en.yml (Basque)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Spanish)

* New translations doorkeeper.en.yml (Spanish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Slovak)

* New translations en.json (Korean)

* New translations en.json (Indonesian)

* New translations en.yml (Korean)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Korean)

* New translations en.yml (Danish)

* New translations en.yml (German)

* New translations en.yml (Korean)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Uzbek)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations devise.en.yml (Dutch)

* New translations en.json (Dutch)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations doorkeeper.en.yml (Russian)

* New translations simple_form.en.yml (Dutch)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (English, United Kingdom)

* New translations en.json (Korean)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Bulgarian)

* New translations en.json (Korean)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Japanese)

* New translations en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Bulgarian)

* New translations en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* Normalize

---------

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-02-01 19:59:31 +09:00
Eugen Rochko 4c919812b9
Change number of stored items in home feed from 400 to 800 (#23349) 2023-02-01 11:24:22 +01:00
Eugen Rochko 21780c0204
Change notifications per page from 15 to 40 in REST API (#23348) 2023-02-01 11:23:54 +01:00
Akira Ouchi e73b55184b
autofocus the compose form again on /share (#23094) 2023-01-30 14:49:10 +01:00
Nick Schonning 131e6403cc
Update hasOwnProperty calls for ESLint (#23307) 2023-01-30 03:07:51 +01:00
Nick Schonning e6192eab9b
Remove unused ESLint disable directives (#22427) 2023-01-30 02:11:50 +01:00
Nick Schonning c49213f0ea
Upgrade ESlint to v8 (#23305) 2023-01-30 01:45:35 +01:00
Nick Schonning d9088ef327
Separate ESLint CI from Superlinter (#23029)
* Separate ESLint CI from Superlinter

* Correct JS indenting level

* Remove extra semicolons with ESLint autofix
2023-01-29 23:44:03 +01:00
TAKAHASHI Shuuji 9cdd643564
chore: remove intersection-observer for old Safari support (#23284) 2023-01-29 19:02:04 +01:00
Christian Schmidt 2a4f2216d6
Add lang attribute to image description textarea and poll option field (#23293) 2023-01-29 19:00:19 +01:00
Eugen Rochko d3f3810fe1
Fix unserialized role on account entities in admin API (#23290) 2023-01-29 15:59:58 +01:00
Claire 13a2abacc8
Add roles attribute to Account entities in REST API (#23255) 2023-01-25 19:55:40 +01:00
Claire e5ae75bf6a
Fix styling of featured tags in light theme (#23252)
* Fix styling of featured tags in light theme

Fixes #23251

* Remove broken highlighting on /settings/featured_tags
2023-01-25 16:28:29 +01:00
Claire a5a00d7f7a
Fix email with empty domain name labels passing validation (#23246)
* Fix email with empty domain name labels passing validation

`EmailMxValidator` would allow empty labels because `Resolv::DNS` is
particularly lenient about them, but the email would be invalid and
unusable.

* Add tests
2023-01-24 20:18:41 +01:00
Claire dd58db64d8
Change email address input to be disabled for logged-in users when requesting a new confirmation e-mail (#23247)
Fixes #23093
2023-01-24 20:18:25 +01:00
Claire 6883fddb19
Fix account activation being triggered before email confirmation (#23245)
* Add tests

* Fix account activation being triggered before email confirmation

Fixes #23098
2023-01-24 19:40:21 +01:00
Claire 4725191d3c
Fix moderation audit log items for warnings having incorrect links (#23242) 2023-01-24 18:50:13 +01:00
Claire 83a8efa9ca
Add lang attribute to compose textarea and CW field (#23240)
Fixes #19858
2023-01-24 18:49:21 +01:00
Mina Her 3cf60ba267
Make <Audio> to handle volume change (#23187) 2023-01-24 16:24:46 +01:00
Claire 54e798a5a0
Fix upload area display in single-column mode (#23217) 2023-01-23 17:42:58 +01:00
Eugen Rochko 958955cda4
New Crowdin updates (#23150)
* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* 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 (Malay)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Burmese)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations en.json (Spanish)

* New translations en.json (German)

* New translations en.json (Frisian)

* New translations en.json (Hebrew)

* New translations en.json (Italian)

* New translations en.json (Polish)

* New translations en.json (Slovak)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Faroese)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Spanish, Mexico)

* New translations en.json (Slovenian)

* New translations en.yml (Slovak)

* New translations en.yml (Slovenian)

* New translations en.json (Danish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Hindi)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

* New translations en.yml (Galician)

* New translations doorkeeper.en.yml (Galician)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.json (Estonian)

* New translations en.json (Hebrew)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (Portuguese)

* New translations en.yml (Slovak)

* New translations en.json (Hungarian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (French)

* New translations en.json (Slovak)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations doorkeeper.en.yml (French)

* New translations en.json (Slovak)

* New translations en.yml (Esperanto)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations doorkeeper.en.yml (French)

* New translations en.json (Norwegian)

* New translations en.json (Thai)

* New translations en.json (Basque)

* New translations en.json (Tatar)

* New translations en.json (Estonian)

* New translations en.json (Finnish)

* New translations en.json (Estonian)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.json (Basque)

* New translations en.json (Basque)

* New translations doorkeeper.en.yml (Japanese)

* New translations en.yml (Basque)

* New translations en.json (Arabic)

* New translations en.json (Slovak)

* New translations en.json (Kabyle)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Kabyle)

* New translations en.json (German)

* New translations en.json (Japanese)

* New translations en.json (German)

* New translations en.json (Tatar)

* New translations en.json (Occitan)

* New translations en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations simple_form.en.yml (Occitan)

* New translations en.json (Tatar)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.json (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (English, United Kingdom)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations doorkeeper.en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations en.json (Serbian (Latin))

* New translations en.json (Croatian)

* New translations en.json (Portuguese)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.yml (Galician)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.yml (Japanese)

* New translations en.json (Bulgarian)

* New translations en.yml (Japanese)

* New translations devise.en.yml (Bulgarian)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-01-24 00:37:35 +09:00
Claire 98779535fe
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
2023-01-23 13:21:50 +01:00
Markus Unterwaditzer f2a6e71bb6
Suppress AddressFamilyError in link verification (#23204)
* Suppress AddressFamilyError

* clarify comment
2023-01-23 13:05:54 +01:00
Claire 448be26b34
Add missing policy attribute to WebPushSubscriptionSerializer (#23210)
* Add missing `policy` attribute to `WebPushSubscriptionSerializer`

Fixes #23145

* Add tests
2023-01-23 13:05:30 +01:00
Claire 628dcbb732
Revert "Remove LDSignature on actor Delete activities (#21466)" (#23185)
This reverts commit f4f2b062ec.
2023-01-21 15:33:21 +01:00
Jeong Arm a1abda39dd
Fix Account Strike causing PG not null validation error (#23178) 2023-01-21 10:22:22 +01:00
Eugen Rochko 13e9d91ba7
Fix wrong text color on some buttons in light theme in web UI (#23156) 2023-01-19 15:51:27 +01:00
Eugen Rochko 4894deca7e
Fix wrong padding in RTL layout in web UI (#23157) 2023-01-19 15:51:14 +01:00
Eugen Rochko a3f176423f
New Crowdin updates (#23052)
* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Italian)

* New translations en.json (German)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Spanish, Argentina)

* New translations simple_form.en.yml (Spanish, Argentina)

* New translations simple_form.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Slovenian)

* New translations doorkeeper.en.yml (Chinese Traditional)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Slovenian)

* New translations simple_form.en.yml (Slovenian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Chinese Traditional)

* New translations en.json (Portuguese)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Slovenian)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Thai)

* New translations doorkeeper.en.yml (Turkish)

* New translations doorkeeper.en.yml (Thai)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Turkish)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations simple_form.en.yml (Galician)

* New translations en.yml (Galician)

* New translations en.json (Portuguese)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Catalan)

* New translations en.yml (German)

* New translations en.yml (Finnish)

* New translations en.yml (Polish)

* New translations en.yml (Italian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Aragonese)

* New translations doorkeeper.en.yml (Aragonese)

* New translations en.yml (Aragonese)

* New translations simple_form.en.yml (Aragonese)

* New translations en.yml (German)

* New translations en.yml (Hebrew)

* New translations simple_form.en.yml (German)

* New translations en.yml (Slovak)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations devise.en.yml (German)

* New translations en.yml (German)

* New translations en.yml (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.yml (Spanish)

* New translations en.yml (Czech)

* New translations simple_form.en.yml (Slovak)

* New translations en.yml (Slovenian)

* New translations en.yml (Albanian)

* New translations en.yml (Catalan)

* New translations en.yml (German)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Portuguese)

* New translations en.yml (Galician)

* New translations en.yml (Chinese Simplified)

* New translations doorkeeper.en.yml (Russian)

* New translations simple_form.en.yml (Russian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Chinese Simplified)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Hungarian)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Danish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Danish)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations doorkeeper.en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Thai)

* New translations en.yml (Finnish)

* New translations en.yml (Latvian)

* New translations en.yml (Portuguese)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Hungarian)

* New translations en.json (Kazakh)

* New translations en.yml (Frisian)

* New translations simple_form.en.yml (Frisian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Polish)

* New translations en.json (Irish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations simple_form.en.yml (Irish)

* New translations devise.en.yml (Irish)

* New translations en.json (Persian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Welsh)

* New translations doorkeeper.en.yml (English, United Kingdom)

* New translations simple_form.en.yml (Welsh)

* New translations en.json (Spanish, Argentina)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations simple_form.en.yml (German)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations en.json (Latin)

* New translations en.yml (Slovak)

* New translations en.yml (Slovak)

* New translations en.yml (Belarusian)

* New translations en.json (Estonian)

* New translations en.yml (Belarusian)

* New translations en.json (Albanian)

* New translations doorkeeper.en.yml (Albanian)

* New translations en.yml (Belarusian)

* New translations en.yml (Albanian)

* New translations simple_form.en.yml (Albanian)

* New translations activerecord.en.yml (Albanian)

* New translations devise.en.yml (Albanian)

* New translations en.json (Asturian)

* New translations en.json (Hindi)

* New translations en.yml (Dutch)

* New translations en.yml (Swedish)

* New translations en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Slovak)

* Normalize

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* 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 (Malay)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Burmese)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-01-19 02:31:13 +09:00
Claire 3588fbc766
Fix confusing wording in the sign in banner (#22490)
* Fix confusing wording in the sign in banner

* Split into two sentences
2023-01-18 17:15:23 +01:00
Claire 68dcbcb7bf
Add more specific error messages to HTTP signature verification (#21617)
* Return specific error on failure to parse Date header

* Add error message when preferredUsername is not set

* Change error report to be JSON and include more details

* Change error report to differentiate unknown account and failed refresh

* Add tests
2023-01-18 16:47:56 +01:00
Connor Shea 30e895299c
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>
2023-01-18 16:44:33 +01:00
Claire 3970a6f433
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
2023-01-18 16:43:58 +01:00
Claire 343e1fe8e9
Add confirmation screen when handling reports (#22375)
* Add confirmation screen on moderation actions

* Add flash notice when a report has been processed

* Refactor tests

* Add tests
2023-01-18 16:40:09 +01:00
Claire 4b92e59f4f
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
2023-01-18 16:33:55 +01:00
Claire d1387579b9
Fix situations in which instance actor can be set to a Mastodon-incompatible name (#22307)
* Validate internal actor

* Use “internal.actor” by default for the server actor username

* Fix instance actor username on the fly if it includes ':'

* Change actor name from internal.actor to mastodon.internal
2023-01-18 16:33:03 +01:00
Claire 9b3e22c40d
Change account moderation notes to make links clickable (#22553)
* Change account moderation notes to make links clickable

Fixes #22539

* Fix styling of account moderation note links
2023-01-18 16:32:23 +01:00
Peter Simonsson 7e6ffa085f
Add checkmark symbol to checkbox (#22795) 2023-01-18 16:30:46 +01:00
Jeong Arm 1b2ef60cec
Make visible change for new post notification setting icon (#22541) 2023-01-18 16:29:07 +01:00
Claire b034dc42be
Fix /api/v1/admin/trends/tags using wrong serializer (#18943)
* Fix /api/v1/admin/trends/tags using wrong serializer

Fix regression from #18641

* Only use `REST::Admin::TagSerializer` when the user can `manage_taxonomies`

* Fix admin trending hashtag component to not link if `id` is unknown
2023-01-18 16:28:18 +01:00
Claire 0405be69d2
Fix REST API serializer for Account not including moved when the moved account has itself moved (#22483)
Instead of cutting immediately, cut after one recursion.
2023-01-18 16:25:31 +01:00
Claire d4f590d6bb
Fix scheduled_at input not using datetime-local when editing announcements (#21896) 2023-01-18 16:23:39 +01:00
Claire 41517a4845
Fix spurious admin dashboard warning when using ElasticSearch 7.x (#23064)
Some 7.x ElasticSearch versions support some 6.x nodes, thus the version check
is inadequate. I am not sure there is a good way to check if a server
implements all the 7.x APIs, so check server version and minimum wire version
instead.
2023-01-18 16:21:48 +01:00
Claire fcc4c9b34a
Change domain block CSV parsing to be more robust and handle more lists (#21470)
* Change domain block CSV parsing to be more robust and handle more lists

* Add some tests

* Improve domain block import validation and reporting
2023-01-18 16:20:52 +01:00
Jeong Arm d66dfc7b3c
Change confirm prompt for relationships management (#19411)
* Change confirm prompt for relationships management

* Add Korean translations

* Apply suggestions from code review

Co-authored-by: TobyWilkes <tobylwilkes@gmail.com>

Co-authored-by: TobyWilkes <tobylwilkes@gmail.com>
2023-01-14 14:00:23 +01:00
Darius Kazemi 507e1d22f5
Allow admins to toggle public statistics API (#22833)
* Allow admins to toggle public statistics API

* Normalize i18n

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-01-13 17:14:39 +01:00
Darius Kazemi d35fe3d5e3
Add peers API endpoint toggle to Server Settings (#22810)
* Add peers endpoint toggle to Server Settings

This places the toggle under "Discovery" and expands the hint text to explain further what the endpoint is used for. Added a "Recommended" tag since it was recommended in v3 before it was removed.

Fixes https://github.com/mastodon/mastodon/issues/22222

* i18n normalize step
2023-01-13 16:43:17 +01:00
Carl Schwan f33e22ae4c
Allow changing hide_collections setting with the api (#22790)
* Allow changing hide_collections setting with the api

This is currently only possible with app/controllers/settings/profiles_controller.rb
and is the only difference in the allowed parameter between the two controllers

* Fix the lint issue

* Use normal indent
2023-01-13 16:40:21 +01:00
David Freedman ff70e50199
Don't crash on unobtainable avatars (#22462) 2023-01-13 16:40:06 +01:00
nametoolong 332a411fad
Remove title from mailer layout (#23078) 2023-01-13 15:12:26 +01:00
Claire f79c200f7e
Change wording of admin report handling actions (#18388)
* Change admin report handling UI to display appropriate text for remote reports

Change from “Decide which action to take to resolve this report. If you take a
punitive action against the reported account, an e-mail notification will be
sent to them, except when the Spam category is selected.” to “Decide which
action to take to resolve this report. This will only affect how your server
communicates with this remote account and handle its content.”

* Reword admin actions descriptions to make clear which admin actions close reports
2023-01-13 11:03:14 +01:00
Claire 21a1a8ee88
Fix crash when marking statuses as sensitive while some statuses are deleted (#22134)
* Do not offer to mark statuses as sensitive if there is no undeleted status with media attachments

* Fix crash when marking statuses as sensitive while some statuses are deleted

Fixes #21910

* Fix multiple strikes being created for a single report when selecting “Mark as sensitive”

* Add tests
2023-01-13 10:46:52 +01:00
Claire f4a6365f55
Remove hardcoded width from dropdown overlays (#23062)
* Remove hardcoded width from dropdown overlays

* Fix emoji picker position
2023-01-12 16:43:02 +01:00
Markus Unterwaditzer 0c689b9d01
fix: allow verification when page size exceeds 1MB (using HTML5 parser) (#22879)
* fix: allow verification when page size exceeds 1MB
Truncates the page after 1MB instead

Closes #15316

* switch to HTML5 parser, fix rubocop errors

* undo rubocop fixes

Co-authored-by: Chris Zubak-Skees <chriszs@gmail.com>
2023-01-11 21:59:13 +01:00
Peter Simonsson fd33bcb3b2
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
2023-01-11 21:58:46 +01:00
Kaspar V ae62e5fa53
Fix/remove calling private method with send in model (#22951)
* fix(status): remove send usage for private unlink_from_conversations

- make unlink_from_conversations public method
- rename unlink_from_conversations to unlink_from_conversations!
- fix send call on private method in statuses_vacuum and batched_remove_status_service

* fix(feeds_vacuum): replace find_in_batches with in_batches

because active record query results should be a little more efficient than
itterating with map and each. Postgres can grasp such lists of ids much quicker
than ruby can.
Will probably make allmost no difference, but cannot hurt either.
2023-01-11 21:57:24 +01:00
Claire 2ba14097ff
Change trending tags admin interface to always show batch actions (#23013)
Fixes #22565
2023-01-11 21:51:43 +01:00
Eugen Rochko f6e34ca134
New Crowdin updates (#22953)
* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.json (Belarusian)

* New translations en.json (Vietnamese)

* New translations en.json (Asturian)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations activerecord.en.yml (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (German)

* New translations activerecord.en.yml (German)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.json (Danish)

* New translations en.json (Arabic)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.json (Galician)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Hungarian)

* New translations en.yml (Russian)

* New translations en.json (Turkish)

* New translations devise.en.yml (Estonian)

* New translations en.json (Catalan)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Occitan)

* New translations en.yml (Occitan)

* New translations en.json (Finnish)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Czech)

* New translations en.json (Thai)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Estonian)

* New translations doorkeeper.en.yml (Spanish)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Finnish)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* 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 (Malay)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Irish)

* New translations en.json (Korean)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Irish)

* New translations en.json (Latvian)

* New translations en.json (Spanish)

* New translations en.json (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Belarusian)

* New translations en.json (Catalan)

* New translations en.json (Finnish)

* New translations en.json (Faroese)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.json (Czech)

* New translations en.json (Frisian)

* New translations en.json (Finnish)

* New translations en.json (Dutch)

* New translations en.json (Polish)

* New translations en.json (Icelandic)

* New translations en.json (German)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Portuguese)

* New translations en.json (Slovenian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Thai)

* New translations en.json (Estonian)

* New translations en.json (Serbian (Latin))

* New translations en.json (Bulgarian)

* New translations en.json (Swedish)

* New translations en.json (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Portuguese)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Danish)

* New translations en.json (French)

* New translations en.json (Albanian)

* New translations en.yml (French)

* New translations en.yml (Portuguese)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Portuguese)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Portuguese)

* New translations en.json (Belarusian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Vietnamese)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian Nynorsk)

* New translations devise.en.yml (Bulgarian)

* New translations en.yml (Galician)

* New translations en.json (Slovak)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Welsh)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Croatian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.yml (Portuguese)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations en.yml (Bulgarian)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-01-11 21:41:34 +09:00
Claire aefefc74c4
Change referrer-policy to no-referrer application-wide (#23014) 2023-01-10 05:18:43 +01:00
Holden Foreman 2bcb081ce8
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
2023-01-09 03:54:03 +01:00
Akira Ouchi 2195f21524
Add variable autoFocus to video (#15281) (#22778)
* add variable autoFocus to video
* set autoFocus in video_modal.js
2023-01-09 03:52:37 +01:00
n0toose 105e1f0ca6
Correct hashtag warning (#22827)
Posts with any visibility setting that is not 'Public' are prevented
from being listed under any hashtag.
2023-01-09 03:18:20 +01:00
Darius Kazemi 264655c53a
Fix account search not returning followed accounts first (#22956)
* Make autosuggest for mentions return followed accounts first

This makes it so that (when elasticsearch is disabled) when a user types '@foo' in the compose box, they are first going to get accounts they follow ordered by the ranking algorithm, and then second they will get accounts they do not follow, also ordered by the ranking algorithm.

This makes behavior more consistent with user expectation and also with results when elasticsearch is enabled.

* Fix ranking order to correct direction

* One more fixup per @gargron suggestion

* Tweak to ranking to no longer include following modifier
2023-01-06 07:35:52 +01:00
Eugen Rochko d11d15748c
New Crowdin updates (#22901)
* New translations en.json (Norwegian)

* New translations en.json (English, United Kingdom)

* New translations en.yml (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* New translations simple_form.en.yml (Norwegian)

* New translations doorkeeper.en.yml (Norwegian)

* New translations en.yml (Hebrew)

* New translations en.yml (German)

* New translations activerecord.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.yml (Finnish)

* New translations en.json (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Finnish)

* New translations en.yml (Finnish)

* New translations doorkeeper.en.yml (Finnish)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Bulgarian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Finnish)

* New translations en.json (Frisian)

* New translations en.json (Frisian)

* New translations en.yml (Frisian)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.yml (Esperanto)

* New translations en.json (Estonian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* 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 (Malay)

* New translations en.json (Telugu)

* New translations en.json (Burmese)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* Normalize

* New translations en.json (Catalan)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Dutch)

* New translations en.json (Slovenian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Indonesian)

* New translations en.json (Latvian)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Serbian (Latin))

* New translations simple_form.en.yml (Galician)

* New translations en.json (Danish)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.yml (Japanese)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-01-06 01:03:53 +09:00
Claire 18d00055f4
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
2023-01-05 14:03:46 +01:00
Claire 18fb01ef7c
Fix possible race conditions when suspending/unsuspending accounts (#22363)
* Fix possible race conditions when suspending/unsuspending accounts

* Fix tests

Tests were assuming SuspensionWorker and UnsuspensionWorker would do the
suspending/unsuspending themselves, but this has changed.
2023-01-05 13:47:21 +01:00
Sean Whalen 8cff96d94d
Replace hide toot with hide post (#22385)
* Change "Hide toot" to "Hide post"

* Update status_action_bar.js

Replace "Hide toot" with "Hide post"
2023-01-05 13:45:01 +01:00
Vyr Cossont 06f979098c
Check OpenSearch compatibility version instead of regular version (#22422)
Fixes #18535.
2023-01-05 13:44:31 +01:00
Claire a3b24d483e
Fix “Add new domain block” button using last submitted instead of current search value (#22485)
Fixes #22162
2023-01-05 13:42:38 +01:00
Claire acec1fb745
Fix site upload validations (#22479)
* Fix site settings media upload handling of DimensionsValidationError

Fixes #22234

* Fix underlying validations not being performed for site uploads
2023-01-05 13:42:03 +01:00
Claire 42f9693d00
Fix PermalinkRedirector not applying to users with moved accounts (#22497)
Fixes #22262
2023-01-05 13:40:27 +01:00
Holden Foreman 83888739fd
Add aria-hidden to content warning field when dimmed so that it is not confusing to screen reader users (#22568) 2023-01-05 13:39:58 +01:00
Holden Foreman c5da2f8c43
Add aria-hidden to 'Hide image' button in MediaGallery since the button is useless to screen reader users (#22513) 2023-01-05 13:36:42 +01:00
Effy Elden 4dc9152b3e
Be more lenient with OEmbed detection and validation (#22533) 2023-01-05 13:36:24 +01:00
Nikita Karamov 70b3207e33
Add a11y tags to the modal (#22549)
Closes #22547
2023-01-05 13:35:47 +01:00
Claire b8ad446f77
Fix incorrectly formatted datetime in account moderation note timestamp (#22555)
* Fix incorrectly formatted datetime in account moderation note timestamp

Fix oversight from #21878

* Fix use of non-existent translation string
2023-01-05 13:35:28 +01:00
Jed Fox b81b646e3b
Improve the contrast of the chart in “poll has ended” notifications (#22575)
* Improve the contrast of the chart in “poll has ended” notifications

* Further increase the contrast of non-leading poll options
2023-01-05 13:34:10 +01:00
Claire 3654c94583
Strip spaces around URL when adding a relay (#22655)
* Strip spaces around URL when adding a relay

Fixes #22650

* Gracefuly handle URL parsing errors in URL validator
2023-01-05 13:33:33 +01:00
TAKAHASHI Shuuji d68c12648c
Remove object-fit polyfill for the old Microsoft Edge (#22693)
* chore: remove object-fit-images and its postcss packages

* chore: update postcss config

* chore: remove object-fit-image from extra_polyfills.js

* chore: remove object-fit property check from load_polyfills.js
2023-01-05 13:32:02 +01:00
Jed Fox 0e7549b82d
Add reading:autoplay:gifs to /api/v1/preferences (#22706) 2023-01-05 13:31:05 +01:00
Jeong Arm fdd1facba1
Fix home TL could contain post from who blocked me (#22849)
* Fix home tl contains post from who blocked me

* Add test

* Fix feed_manager's build_crutches

blocked_by was not includes status' owner

* Add test for status from I blocked

* Fix typo
2023-01-05 13:30:38 +01:00
Alexander Ivanov 8eb29741b4
Add webhook account.approved (#22938)
* Webhook `account.approved` when preparing new user

* Update Webhook.EVENTS
2023-01-05 13:29:49 +01:00
dependabot[bot] 17f79082b0
Bump stylelint from 14.14.0 to 14.16.1 (#22910)
* Bump stylelint-config-standard-scss from 5.0.0 to 6.1.0

Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 5.0.0 to 6.1.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v5.0.0...v6.1.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard-scss
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump stylelint from 14.14.0 to 14.16.1

Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.14.0 to 14.16.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.14.0...14.16.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-01-04 21:13:57 +09:00
Partho Ghosh 115ab2869b
Fix ・ detection in hashtag regex to construct hashtag correctly (#22888)
* Fix ・ detection in hashtag regex to construct hashtag correctly

* Fixed rubocop liniting issues

* More rubocop linting fix
2023-01-04 02:12:48 +01:00
Eugen Rochko 41fe7576bf
New Crowdin updates (#22560)
* New translations devise.en.yml (Slovak)

* New translations devise.en.yml (Slovenian)

* New translations devise.en.yml (Albanian)

* New translations devise.en.yml (Serbian (Cyrillic))

* New translations devise.en.yml (Swedish)

* New translations devise.en.yml (Turkish)

* New translations devise.en.yml (Ukrainian)

* New translations devise.en.yml (Chinese Simplified)

* New translations devise.en.yml (Chinese Traditional)

* New translations devise.en.yml (Urdu (Pakistan))

* New translations devise.en.yml (Vietnamese)

* New translations devise.en.yml (Galician)

* New translations devise.en.yml (Icelandic)

* New translations devise.en.yml (Portuguese, Brazilian)

* New translations devise.en.yml (Indonesian)

* New translations devise.en.yml (Persian)

* New translations devise.en.yml (Tamil)

* New translations devise.en.yml (Spanish, Argentina)

* New translations devise.en.yml (Spanish, Mexico)

* New translations devise.en.yml (Bengali)

* New translations devise.en.yml (Thai)

* New translations devise.en.yml (Croatian)

* New translations devise.en.yml (Norwegian Nynorsk)

* New translations devise.en.yml (Kazakh)

* New translations devise.en.yml (Estonian)

* New translations devise.en.yml (Latvian)

* New translations devise.en.yml (Hindi)

* New translations devise.en.yml (Malay)

* New translations devise.en.yml (English, United Kingdom)

* New translations devise.en.yml (Welsh)

* New translations devise.en.yml (Faroese)

* New translations devise.en.yml (Chinese Traditional, Hong Kong)

* New translations devise.en.yml (Tatar)

* New translations devise.en.yml (Malayalam)

* New translations devise.en.yml (Breton)

* New translations devise.en.yml (French, Quebec)

* New translations devise.en.yml (Sinhala)

* New translations devise.en.yml (Kannada)

* New translations devise.en.yml (Scottish Gaelic)

* New translations devise.en.yml (Asturian)

* New translations devise.en.yml (Aragonese)

* New translations devise.en.yml (Occitan)

* New translations devise.en.yml (Serbian (Latin))

* New translations devise.en.yml (Kurmanji (Kurdish))

* New translations devise.en.yml (Sorani (Kurdish))

* New translations devise.en.yml (Scots)

* New translations devise.en.yml (Corsican)

* New translations devise.en.yml (Sardinian)

* New translations devise.en.yml (Kabyle)

* New translations devise.en.yml (Ido)

* New translations devise.en.yml (Standard Moroccan Tamazight)

* New translations doorkeeper.en.yml (Romanian)

* New translations doorkeeper.en.yml (French)

* New translations doorkeeper.en.yml (Spanish)

* New translations doorkeeper.en.yml (Afrikaans)

* New translations doorkeeper.en.yml (Arabic)

* New translations doorkeeper.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Catalan)

* New translations doorkeeper.en.yml (Czech)

* New translations doorkeeper.en.yml (Danish)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Greek)

* New translations doorkeeper.en.yml (Basque)

* New translations doorkeeper.en.yml (Finnish)

* New translations doorkeeper.en.yml (Irish)

* New translations doorkeeper.en.yml (Hebrew)

* New translations doorkeeper.en.yml (Hungarian)

* New translations doorkeeper.en.yml (Armenian)

* New translations doorkeeper.en.yml (Italian)

* New translations doorkeeper.en.yml (Japanese)

* New translations doorkeeper.en.yml (Georgian)

* New translations doorkeeper.en.yml (Korean)

* New translations doorkeeper.en.yml (Dutch)

* New translations doorkeeper.en.yml (Norwegian)

* New translations doorkeeper.en.yml (Portuguese)

* New translations doorkeeper.en.yml (Russian)

* New translations doorkeeper.en.yml (Slovak)

* New translations doorkeeper.en.yml (Slovenian)

* New translations doorkeeper.en.yml (Albanian)

* New translations doorkeeper.en.yml (Serbian (Cyrillic))

* New translations doorkeeper.en.yml (Swedish)

* New translations doorkeeper.en.yml (Turkish)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Chinese Simplified)

* New translations doorkeeper.en.yml (Chinese Traditional)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Galician)

* New translations doorkeeper.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Portuguese, Brazilian)

* New translations doorkeeper.en.yml (Indonesian)

* New translations doorkeeper.en.yml (Persian)

* New translations doorkeeper.en.yml (Tamil)

* New translations doorkeeper.en.yml (Spanish, Argentina)

* New translations doorkeeper.en.yml (Marathi)

* New translations doorkeeper.en.yml (Thai)

* New translations doorkeeper.en.yml (Croatian)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Kazakh)

* New translations doorkeeper.en.yml (Estonian)

* New translations doorkeeper.en.yml (Latvian)

* New translations doorkeeper.en.yml (Hindi)

* New translations doorkeeper.en.yml (Malay)

* New translations doorkeeper.en.yml (Welsh)

* New translations doorkeeper.en.yml (Faroese)

* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)

* New translations doorkeeper.en.yml (Tatar)

* New translations doorkeeper.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Breton)

* New translations doorkeeper.en.yml (French, Quebec)

* New translations doorkeeper.en.yml (Sinhala)

* New translations doorkeeper.en.yml (Scottish Gaelic)

* New translations doorkeeper.en.yml (Asturian)

* New translations doorkeeper.en.yml (Aragonese)

* New translations doorkeeper.en.yml (Occitan)

* New translations doorkeeper.en.yml (Serbian (Latin))

* New translations doorkeeper.en.yml (Kurmanji (Kurdish))

* New translations doorkeeper.en.yml (Sorani (Kurdish))

* New translations doorkeeper.en.yml (Scots)

* New translations doorkeeper.en.yml (Corsican)

* New translations doorkeeper.en.yml (Sardinian)

* New translations doorkeeper.en.yml (Kabyle)

* New translations doorkeeper.en.yml (Ido)

* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)

* New translations en.json (Kannada)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.json (Italian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.json (Arabic)

* New translations en.yml (Frisian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations simple_form.en.yml (Arabic)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Frisian)

* New translations en.yml (Frisian)

* New translations doorkeeper.en.yml (Indonesian)

* New translations en.yml (Estonian)

* New translations en.yml (Norwegian Nynorsk)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (Asturian)

* New translations en.yml (Vietnamese)

* New translations en.json (Bulgarian)

* New translations en.json (Estonian)

* New translations en.json (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Catalan)

* New translations simple_form.en.yml (Bulgarian)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Catalan)

* New translations en.yml (Asturian)

* New translations en.json (Catalan)

* New translations en.json (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations doorkeeper.en.yml (Latvian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.json (Estonian)

* New translations en.yml (Indonesian)

* New translations doorkeeper.en.yml (Indonesian)

* New translations en.json (Latvian)

* New translations en.yml (Galician)

* New translations doorkeeper.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (Esperanto)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (Estonian)

* New translations en.json (Hebrew)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (German)

* New translations en.yml (German)

* New translations activerecord.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (German)

* New translations en.yml (Polish)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Frisian)

* New translations en.yml (Frisian)

* New translations en.yml (German)

* New translations en.yml (Frisian)

* New translations en.yml (Frisian)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Frisian)

* New translations en.yml (Frisian)

* New translations en.json (Taigi)

* New translations en.yml (Frisian)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Frisian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Frisian)

* New translations en.json (Vietnamese)

* New translations en.json (English, United Kingdom)

* New translations en.yml (Frisian)

* New translations en.yml (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations doorkeeper.en.yml (English, United Kingdom)

* New translations en.yml (Ido)

* New translations activerecord.en.yml (Ido)

* New translations simple_form.en.yml (French, Quebec)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations devise.en.yml (Vietnamese)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-01-01 21:31:53 +09:00
Darius Kazemi ef4d29c879
Replace flex styling with sensible layout rules (#22803)
The old styling would cause multiple admin header buttons in a flex container to overflow the page on mobile. This new styling uses `flex-flow: wrap` along with a gap, which gets rid of the awkward `:not(:first-child)` pseudoselector and makes multiple buttons in a row flow nicely.
2022-12-28 10:21:10 +01:00
Eugen Rochko de21695162
New Crowdin updates (#22354)
* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Burmese)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Korean)

* New translations en.yml (Galician)

* New translations doorkeeper.en.yml (Korean)

* New translations doorkeeper.en.yml (Galician)

* New translations en.json (Spanish)

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Greek)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations en.json (German)

* New translations en.json (Italian)

* New translations en.json (Slovenian)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Estonian)

* New translations en.json (Welsh)

* New translations en.yml (Spanish)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Spanish)

* New translations en.json (Faroese)

* New translations en.json (Latin)

* New translations en.json (Catalan)

* New translations en.json (Vietnamese)

* New translations en.yml (Bulgarian)

* New translations en.yml (Serbian (Latin))

* New translations en.json (Frisian)

* New translations en.json (Hebrew)

* New translations en.json (Latvian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations devise.en.yml (Dutch)

* New translations en.json (Catalan)

* New translations en.json (Chinese Traditional)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (German)

* New translations en.json (German)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (German)

* New translations en.json (Latin)

* New translations simple_form.en.yml (Frisian)

* New translations en.json (French)

* New translations en.json (Hungarian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Latin)

* New translations en.yml (Portuguese)

* New translations doorkeeper.en.yml (Portuguese)

* New translations en.json (Albanian)

* New translations en.yml (Hebrew)

* New translations en.yml (Albanian)

* New translations doorkeeper.en.yml (Albanian)

* New translations en.json (Norwegian)

* New translations en.json (Russian)

* New translations en.json (Thai)

* New translations en.yml (Bulgarian)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Thai)

* New translations en.json (Asturian)

* New translations en.yml (Norwegian)

* New translations en.json (Danish)

* New translations en.json (Finnish)

* New translations en.json (Occitan)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations en.yml (Thai)

* New translations en.json (Persian)

* New translations doorkeeper.en.yml (Spanish, Argentina)

* New translations en.yml (Bulgarian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.yml (Korean)

* New translations en.json (Japanese)

* New translations en.json (Turkish)

* New translations en.yml (Turkish)

* New translations doorkeeper.en.yml (Turkish)

* New translations en.json (Czech)

* New translations en.yml (Czech)

* New translations en.json (German)

* New translations en.yml (German)

* New translations en.yml (Thai)

* New translations simple_form.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Thai)

* New translations en.json (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Indonesian)

* New translations en.json (Estonian)

* New translations en.yml (Indonesian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.yml (Russian)

* New translations doorkeeper.en.yml (Russian)

* New translations en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Polish)

* New translations en.yml (Polish)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Basque)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Estonian)

* New translations en.yml (Basque)

* New translations en.yml (Estonian)

* New translations en.json (French)

* New translations en.json (Estonian)

* New translations en.yml (French)

* New translations en.yml (Bulgarian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations activerecord.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (German)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (Bengali)

* New translations en.json (Estonian)

* New translations en.yml (Swedish)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Swedish)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Icelandic)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Icelandic)

* New translations en.yml (Bulgarian)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.yml (Bulgarian)

* New translations en.yml (Korean)

* New translations en.yml (Chinese Traditional, Hong Kong)

* New translations doorkeeper.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Japanese)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Japanese)

* New translations en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Kurmanji (Kurdish))

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Bulgarian)

* New translations en.yml (Thai)

* New translations en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (French)

* New translations doorkeeper.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Estonian)

* New translations en.json (Serbian (Latin))

* New translations en.yml (Polish)

* New translations en.json (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations doorkeeper.en.yml (Chinese Simplified)

* New translations en.yml (Bulgarian)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Chinese Simplified)

* New translations doorkeeper.en.yml (Czech)

* New translations en.json (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Frisian)

* New translations en.yml (Bulgarian)

* Normalize

* New translations en.yml (Serbian (Cyrillic))

* Normalize

* New translations en.yml (Serbian (Cyrillic))

* New translations doorkeeper.en.yml (Serbian (Cyrillic))

* New translations doorkeeper.en.yml (Serbian (Latin))

* New translations en.yml (Bulgarian)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-12-20 23:02:47 +09:00
Claire c1de673060
Fix suspension worker crashing on S3-compatible setups without ACL support (#22487) 2022-12-19 17:55:17 +01:00
Nick Schonning 06b68490d1
Enable eslint:recommended ruleset (#22433)
* Enable ESLint recommended ruleset

* Disable failing ESLint recommended rules

* Remove rules shadowed by eslint:recommended
2022-12-19 00:51:37 +09:00
Eugen Rochko 2889c68610
New Crowdin updates (#22182)
* New translations activerecord.en.yml (Malayalam)

* New translations devise.en.yml (Malayalam)

* New translations doorkeeper.en.yml (Malayalam)

* New translations en.json (Breton)

* New translations simple_form.en.yml (Breton)

* New translations activerecord.en.yml (Breton)

* New translations devise.en.yml (Breton)

* New translations doorkeeper.en.yml (Breton)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations simple_form.en.yml (French, Quebec)

* New translations activerecord.en.yml (French, Quebec)

* New translations devise.en.yml (French, Quebec)

* New translations doorkeeper.en.yml (French, Quebec)

* New translations en.json (Sinhala)

* New translations simple_form.en.yml (Sinhala)

* New translations activerecord.en.yml (Sinhala)

* New translations devise.en.yml (Sinhala)

* New translations doorkeeper.en.yml (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations devise.en.yml (Kannada)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations activerecord.en.yml (Scottish Gaelic)

* New translations devise.en.yml (Scottish Gaelic)

* New translations doorkeeper.en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations simple_form.en.yml (Aragonese)

* New translations activerecord.en.yml (Aragonese)

* New translations devise.en.yml (Aragonese)

* New translations doorkeeper.en.yml (Aragonese)

* New translations simple_form.en.yml (Occitan)

* New translations activerecord.en.yml (Occitan)

* New translations devise.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations activerecord.en.yml (Kurmanji (Kurdish))

* New translations doorkeeper.en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Sorani (Kurdish))

* New translations devise.en.yml (Sorani (Kurdish))

* New translations doorkeeper.en.yml (Sorani (Kurdish))

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations simple_form.en.yml (Corsican)

* New translations activerecord.en.yml (Corsican)

* New translations devise.en.yml (Corsican)

* New translations doorkeeper.en.yml (Corsican)

* New translations en.json (Sardinian)

* New translations simple_form.en.yml (Sardinian)

* New translations activerecord.en.yml (Sardinian)

* New translations devise.en.yml (Sardinian)

* New translations doorkeeper.en.yml (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations simple_form.en.yml (Kabyle)

* New translations activerecord.en.yml (Kabyle)

* New translations devise.en.yml (Kabyle)

* New translations doorkeeper.en.yml (Kabyle)

* New translations en.json (Ido)

* New translations simple_form.en.yml (Ido)

* New translations activerecord.en.yml (Ido)

* New translations devise.en.yml (Ido)

* New translations doorkeeper.en.yml (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (Standard Moroccan Tamazight)

* New translations activerecord.en.yml (Standard Moroccan Tamazight)

* New translations devise.en.yml (Standard Moroccan Tamazight)

* New translations doorkeeper.en.yml (Standard Moroccan Tamazight)

* New translations en.json (Afrikaans)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* 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 (Dutch)

* New translations en.json (Punjabi)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Tamil)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Croatian)

* New translations en.json (Kazakh)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Burmese)

* New translations en.json (Uyghur)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Asturian)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Arabic)

* New translations en.yml (Belarusian)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Danish)

* New translations en.yml (German)

* New translations en.yml (Greek)

* New translations en.yml (Frisian)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Hungarian)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Korean)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Portuguese)

* New translations en.yml (Russian)

* New translations en.yml (Slovak)

* New translations en.yml (Slovenian)

* New translations en.yml (Albanian)

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Persian)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Thai)

* 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 (Malay)

* New translations en.yml (Welsh)

* New translations en.yml (Faroese)

* New translations en.yml (Esperanto)

* New translations en.yml (Chinese Traditional, Hong Kong)

* New translations en.yml (Latin)

* New translations en.yml (French, Quebec)

* New translations en.yml (Sinhala)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Aragonese)

* New translations en.yml (Occitan)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Scots)

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Ido)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Latin)

* New translations simple_form.en.yml (French, Quebec)

* New translations simple_form.en.yml (Kurmanji (Kurdish))

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Latin)

* New translations devise.en.yml (Frisian)

* New translations devise.en.yml (Latin)

* New translations devise.en.yml (Kurmanji (Kurdish))

* New translations doorkeeper.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Frisian)

* New translations doorkeeper.en.yml (Hungarian)

* New translations doorkeeper.en.yml (Italian)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Latin)

* New translations en.json (Belarusian)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.json (Finnish)

* New translations en.json (Turkish)

* New translations en.yml (Belarusian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Swedish)

* New translations en.yml (Turkish)

* New translations doorkeeper.en.yml (Danish)

* Normalize locale files

* New translations en.json (German)

* New translations en.json (Swedish)

* New translations en.json (Estonian)

* New translations en.json (Latvian)

* New translations en.json (Welsh)

* New translations en.yml (Hungarian)

* New translations en.yml (Polish)

* New translations en.yml (Latvian)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Czech)

* New translations doorkeeper.en.yml (Latvian)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Estonian)

* New translations en.yml (Swedish)

* New translations en.yml (Ukrainian)

* New translations en.yml (Chinese Traditional)

* New translations doorkeeper.en.yml (Italian)

* New translations doorkeeper.en.yml (Swedish)

* New translations doorkeeper.en.yml (Chinese Traditional)

* New translations en.json (Catalan)

* New translations en.json (Slovenian)

* New translations en.json (Faroese)

* New translations en.json (Asturian)

* New translations en.yml (Catalan)

* New translations en.yml (German)

* New translations en.yml (Slovenian)

* New translations en.yml (Faroese)

* New translations doorkeeper.en.yml (German)

* New translations doorkeeper.en.yml (Slovenian)

* New translations doorkeeper.en.yml (Faroese)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.json (Greek)

* New translations en.yml (Danish)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations doorkeeper.en.yml (Danish)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-12-16 12:46:39 +09:00
Claire d13702ac06
Fix status cache hydration discrepancy (#19879) 2022-12-15 18:55:55 +01:00
Douglas Blank 2c7df002fa
Add left and right margin to emojis (#20464) 2022-12-15 18:53:37 +01:00
Claire 70415714f1
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
2022-12-15 18:50:11 +01:00
Holden Foreman c761e7a5ef
Fix language surrounding disability in prompts for alt text and other media descriptions (#20923) 2022-12-15 18:46:13 +01:00
Jullan-M b4fe2d1004
Add Southern Sami, and Lule Sami to language list under the ISO-639-3 standard (#21262)
* Add sme, smj, and sma ISO-639-3 language codes

* Remove sme in ISO-639-3
2022-12-15 18:42:48 +01:00
Claire bf1c7e2122
Ensure exact match is the first result in hashtag searches (#21315)
Fixes #17494
2022-12-15 18:41:40 +01:00
Bramus! 7fbc17afa2
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>
2022-12-15 18:37:47 +01:00
Claire 2644a28cb3
Change remote media files to be downloaded outside of transactions (#21796) 2022-12-15 18:09:48 +01:00
Brian Campbell 2d12948220
Fix idempotency when database writes are slow (#21840)
There is an idempotency key generated by clients when authoring a post,
and stored in Redis, to ensure that if a user or client retries posting
the same status, we don't get a duplicate.

Hachyderm.io has been experiencing some filesystem and database
performance issues, causing database writes to be slow. This can mean
that there are successful posts, but the reverse proxy returns 504
Gateway Timeout before the idempotency status has been updated; users or
clients who retry (such as Tusky which retries automatically, see
tuskyapp/Tusky#2951) can re-try the same post with the same idempotency
key before it has actually been recorded in Redis, leading to duplicate
posts.

To address this issue, move all of the database updates after the
initial transaction that creates the status into the
`postprocess_status!` method, so we can insert the idempotency key
immediately after the status has been created, significantly reducing
the window in which the status could be created but the idempotency key
not yet stored.

Note: this has not yet been tested; I'm submitting this PR for
discussion and to offer to the Hachyderm.io admins to try out to fix the
multiple posting problem.

Co-authored-by: Brian Campbell <brcampbell@beta.team>
2022-12-15 18:08:40 +01:00
Claire ebf1d74e40
Fix being stuck in edit mode when deleting the edited status (#22126) 2022-12-15 17:47:43 +01:00
Claire 8556a649d5
Fix changing domain block severity not undoing individual account effects (#22135)
* Fix changing domain block severity not undoing individual account effects

Fixes #22133

* Add tests
2022-12-15 17:45:02 +01:00
Claire fb1d9789db
Fix attachment rendering of edited posts in OpenGraph (#22270)
Fixes #22241
2022-12-15 17:41:20 +01:00
Rens Groothuijsen 726c7dea31
Display search popout at fixed screen position (#16463)
* Display search popout at fixed screen position

* Attach search popout to search box
2022-12-15 17:38:50 +01:00
Terence Eden ff414a5489
Add transparancy to modal background for accessibility (#18081)
Fixes #18080 

This keeps the `ui-base-lighter-color` but adds enough transparency so that text is more easily readable.
Tested in Firefox and Chrome.
2022-12-15 17:38:35 +01:00
Arnout Engelen 9f63c428e1
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
2022-12-15 17:37:05 +01:00
Jeong Arm 3656a6b9cc
Add "disabled" user filter for admin/accounts UI (#21282) 2022-12-15 17:30:47 +01:00
Mina Her cedf138313
Fix margin for search field on medium window size (#21606) 2022-12-15 17:24:38 +01:00
David Vega 1b5d207131
Fix single name variables on controller folder (#20092)
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>

Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 17:11:58 +01:00
Jeong Arm d412147d02
Save avatar or header correctly even if other one fails (#18465)
* Save avatar or header correctly if other one fails

* Fix test
2022-12-15 17:11:14 +01:00
Luxiaba 8f8c0fe88c
Remove inline-css in logo (#20814) 2022-12-15 17:10:34 +01:00
Matthías Páll Gissurarson 1e95fa3df5
Fix punycoded local domains not being prettified in initial state (#21440) 2022-12-15 17:05:40 +01:00
Meisam 059d64a59e
set activation for tag follow button (#21629)
Co-authored-by: meisam <meisam@noreply.codeberg.org>
2022-12-15 17:04:52 +01:00
Claire 673c54f114
Fix inability to use local LibreTranslate without setting ALLOWED_PRIVATE_ADDRESSES (#21926)
Fixes #20029
2022-12-15 17:04:38 +01:00
Claire bbc49f15e0
Add explanation text to log-in page (#20946) 2022-12-15 16:44:29 +01:00
Fries 725f21662f
Add Montenegrin (cnr) (#21013) 2022-12-15 16:40:57 +01:00
Claire 38596e49d4
Fix the top action bar appearing in multi-column layout (#20943) 2022-12-15 16:40:45 +01:00
Claire 623d3d2e32
Change CSP directives on API to be tight and concise (#20960) 2022-12-15 16:40:32 +01:00
Neil Matatall 1f5740e65c
Use Rails tag API to build RSS feed for spoilers and polls (#20163)
* Use Rails tag API to build RSS feed for spoilers and polls

While the previous method did not contain a bug or a potential issue,
the tag API can be very resilient against future problems and reduces the
amount of manual management of the escape status of the content.

I've added tests to ensure that the formatting is broken and still
escapes control characters correctly.

* this seems cleaner and passes

* Incorporate feedback by moving the br to its own line and using the tag helper over the string constant for the br tag itself

* whoops, tag helper doesn't use a self-closing tag
2022-12-15 16:39:41 +01:00
Nick Schonning 72a8af8088
Fix typo in handler function call name (#21829) 2022-12-15 16:37:17 +01:00
Connor Shea 08c0e43b6f
Increase the width of the unread notification border. (#21692)
The smaller border is difficult to see for some users, especially
when the browser window was thinner, and so the unread border is at the
very left edge of the window.
2022-12-15 16:37:07 +01:00
Francis Murillo c50e9d078a
Render current day formats in the client timezone (#21878)
* Fix remaining plain %time to %time.formatted

* Add %time.relative-formatted to client format dates on the current day

* Add missing comma dangle to formats

* Use client side message format instead of the server

* Add fallback message to relatve_format.today

* Remove unused translation key and fix js lint issue

Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 16:35:25 +01:00
Yamagishi Kazutoshi 58200132d0
FormattedMessage must be used directly (#20982)
* `FormattedMessage` must be used directly

* rollback
2022-12-15 16:20:46 +01:00
Pleclown 3a59ffde8d
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
2022-12-15 16:20:34 +01:00
Alex Stine 903e5a3f45
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.
2022-12-15 16:20:21 +01:00
Jeremy Kescher 04c611daa1
Fix being unable to react with the keycap number sign emoji (#22231)
#⃣

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-12-15 16:18:39 +01:00
nametoolong 63b379c2d9
Fix N+1 queries from in NotificationsController (#21202)
Co-authored-by: Nonexistent <nx@example.org>
2022-12-15 16:18:20 +01:00
luzpaz 596923da4a
Fix typos in source documentation (#21046)
Fixed 2 source comment/documentation typos
2022-12-15 15:57:26 +01:00
Riedler c3388f4ab1
Fix profile avatar being slightly offset into left border (fixes #20822) (#20994)
* hotfix for #20822

I don't know why it was shifted in the first place or why the width is specified twice, but this fixes the problem, so it looks fine to me.

* realigned pfp with content below

* fixed formatting 

my bad

* added comment to explain the negative margin

before I forget - comments are *important* !

Co-authored-by: Riedler <riedler@gelse.eu>
2022-12-15 15:57:02 +01:00
s0 52540771b0
Fix crash in elasticsearch_check.rb (#21006)
Nil unwrap causes the admin dashboard to crash/500 when the Chewy client info version number value is nil.
This occurs when running another ES-compatible backend such as MeiliSearch.
Obviously it would be good for chewy to recognise upstream but at least avoiding the crash would be fine.
2022-12-15 15:56:48 +01:00
Effy Elden 441cac758f
Allow adding relays while secure mode & limited federation mode are enabled (#22324) 2022-12-15 15:56:05 +01:00
Claire 7b68e6409b
Fix invalid CSS for links in warning and strike cards (#22302) 2022-12-15 15:52:18 +01:00
Jeong Arm e8cc63105f
Don't delivery a reply to domains which are blocked by author (#22117)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-12-15 15:52:06 +01:00
Claire bae6ef315e
Fix missing Javascript in domain block import confirmation page (#21471)
Follow-up to #20597
2022-12-15 15:47:23 +01:00
Francis Murillo 5fb1c3e934
Revoke all authorized applications on password reset (#21325)
* Clear sessions on password change

* Rename User::clear_sessions to revoke_access for a clearer meaning

* Add reset paassword controller test

* Use User.find instead of User.find_for_authentication for reset password test

* Use redirect and render for better test meaning in reset password

Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 15:47:06 +01:00
Claire fe9eab51d1
Change dropdown menu to contain “Copy link to post” even for non-public posts (#21316)
Fixes #21244
2022-12-15 15:43:16 +01:00
Claire 5917b46c05
Allow admins to refresh remotely-suspended accounts (#22327)
* Change suspension text to mention that a remotely suspended account is not locally-suspended

* Add ability to refresh profile of remotely suspended accounts
2022-12-15 14:15:50 +01:00
Claire 1f762f4271
Fix wasteful request to /api/v1/custom_emojis when not logged in (#22326) 2022-12-15 14:07:34 +01:00
zunda 09191dee66
Add single splat to callback method definitions to avoid ArgumentError (#22246)
It looks like a [bug](https://bugs.ruby-lang.org/issues/18633) around
autosplat is [fixed](fbaadd1cfe)
on ruby-3.2.0-rc1 and breaks a test (but not on ruby <= 3.1.3):

```
$ bundle exec rspec ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:41
  :
  1) Api::V1::Emails::ConfirmationsController#create with an oauth token from an app that created the account when the account is already confirmed but user changed e-mail and has not confirmed it returns http success
     Failure/Error:
         def email_changed(user, **)
           @resource = user
           @instance = Rails.configuration.x.local_domain

           return unless @resource.active_for_authentication?

           I18n.with_locale(locale) do
             mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject')
           end
         end

     ArgumentError:
       wrong number of arguments (given 2, expected 1)
     # ./app/mailers/user_mailer.rb:51:in `email_changed'
     # ./app/models/user.rb:444:in `render_and_send_devise_message'
     # ./app/models/user.rb:430:in `block in send_pending_devise_notifications'
     # ./app/models/user.rb:429:in `each'
     # ./app/models/user.rb:429:in `send_pending_devise_notifications'
     # ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:38:in `block (7 levels) in <top (required)>'
```
2022-12-13 20:03:16 +01:00
Rin 42e16ea52d
fix missing style in warning and strike cards (#22177) 2022-12-13 20:03:09 +01:00
cadars 52a50c5e43
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
2022-12-13 19:43:03 +01:00
Claire f70bdba926
Change default reply language to be default language when replying to a translated reply (#22272)
Fixes #22250
2022-12-13 19:41:53 +01:00
prplecake 714e68db38
Add noindex setting to Admin settings Discovery page (#22205)
* Add noindex setting to Admin settings Discovery page

* Replace default_noindex i18n
2022-12-11 07:27:44 +01:00
Eugen Rochko 97b6e38a7d
New Crowdin updates (#21954)
* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Serbian (Latin))

* New translations en.yml (Serbian (Latin))

* New translations simple_form.en.yml (Serbian (Latin))

* New translations activerecord.en.yml (Serbian (Latin))

* New translations doorkeeper.en.yml (Serbian (Latin))

* New translations devise.en.yml (Serbian (Latin))

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Chinese Traditional)

* New translations en.json (Serbian (Latin))

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Icelandic)

* New translations en.json (Serbian (Latin))

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Serbian (Latin))

* New translations en.json (Malay)

* New translations en.json (Malay)

* New translations activerecord.en.yml (Malay)

* New translations devise.en.yml (Malay)

* New translations en.yml (Malay)

* New translations en.yml (Arabic)

* New translations en.yml (Greek)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Malay)

* New translations en.yml (Greek)

* New translations en.yml (Russian)

* New translations en.yml (Belarusian)

* New translations en.yml (Greek)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Greek)

* New translations en.json (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Malay)

* New translations simple_form.en.yml (Malay)

* New translations en.json (Esperanto)

* New translations en.yml (Malay)

* New translations en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Serbian (Latin))

* New translations en.yml (Belarusian)

* New translations en.yml (Vietnamese)

* New translations en.yml (Belarusian)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Serbian (Latin))

* New translations en.json (Occitan)

* New translations en.json (Czech)

* New translations en.yml (Hebrew)

* New translations doorkeeper.en.yml (Spanish, Argentina)

* New translations en.json (German)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (German)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Thai)

* New translations activerecord.en.yml (Scots)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Latvian)

* New translations en.json (Latvian)

* New translations activerecord.en.yml (Latvian)

* New translations devise.en.yml (Latvian)

* New translations en.yml (Turkish)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Danish)

* New translations en.yml (Thai)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Belarusian)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations simple_form.en.yml (Spanish, Argentina)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Persian)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations simple_form.en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.yml (Danish)

* New translations en.yml (Scots)

* New translations simple_form.en.yml (Scots)

* New translations en.json (Scots)

* New translations devise.en.yml (Scots)

* New translations doorkeeper.en.yml (Scots)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Belarusian)

* New translations en.json (German)

* New translations en.yml (Belarusian)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Spanish, Argentina)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.json (French)

* New translations en.yml (Esperanto)

* New translations en.yml (Belarusian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Belarusian)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations activerecord.en.yml (Slovak)

* New translations devise.en.yml (Slovak)

* New translations doorkeeper.en.yml (Slovak)

* New translations en.yml (Belarusian)

* New translations en.yml (Slovak)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Lithuanian)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations en.json (Esperanto)

* New translations en.json (Vietnamese)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Latvian)

* New translations en.yml (Belarusian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.json (Welsh)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Hebrew)

* New translations en.yml (Welsh)

* New translations en.yml (Hebrew)

* New translations en.yml (Russian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Slovak)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.yml (Belarusian)

* normalize

* New translations en.yml (Belarusian)

* normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-12-10 00:12:56 +09:00
Claire ed07f10ca8
Fix failure when “Require a reason to join” is set with open registrations (#22127) 2022-12-07 16:39:58 +01:00
Claire c8a1faa86b
Fix potential duplicate statuses in Explore tab (#22121) 2022-12-07 14:12:55 +01:00
Claire b59fb28e90
Fix 500 error when trying to migrate to an invalid address (#21462)
* Fix 500 error when trying to migrate to an invalid address

* Add tests
2022-12-07 02:35:39 +01:00
Juan Xavier Gomez 21b208afcb
Fix hidden overflow on interaction modal (#21763)
* Fix hidden overflow on interaction modal

* only update overflow y
2022-12-07 00:40:37 +01:00
Claire 76454cc638
Fix UI header overflow on mobile (#21783) 2022-12-07 00:40:18 +01:00
Claire 51098035ed
Fix “Sign up” button with closed registrations not opening modal on mobile (#22060)
Fixes #20840
2022-12-07 00:25:40 +01:00
Francis Murillo f6492a7c4d
Log admin approve and reject account (#22088)
* Log admin approve and reject account

* Add unit tests for approve and reject logging
2022-12-07 00:25:18 +01:00
Claire c8849d6cee
Fix unbounded recursion in account discovery (#22025)
* Fix trying to fetch posts from other users when fetching featured posts

* Rate-limit discovery of new subdomains

* Put a limit on recursively discovering new accounts
2022-12-07 00:15:24 +01:00
Claire 69137f4a90
Fix irreversible and whole_word parameters handling in /api/v1/filters (#21988)
Fixes #21965
2022-12-07 00:10:53 +01:00
Jed Fox 33f06a4ae7
Fix the top border of verified account fields (#22006) 2022-12-06 23:54:02 +01:00
Nick Schonning 05d4c50f64
Fix spacing warning from ESLint (#22005) 2022-12-04 10:56:21 +09:00
Eugen Rochko 6119668e45
New Crowdin updates (#21599)
* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Spanish)

* New translations activerecord.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Spanish)

* New translations devise.en.yml (Spanish)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Spanish)

* New translations en.yml (Danish)

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Faroese)

* New translations en.yml (Faroese)

* New translations en.json (German)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations en.json (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.json (Czech)

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Serbian (Cyrillic))

* New translations simple_form.en.yml (Faroese)

* New translations devise.en.yml (Catalan)

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Galician)

* New translations doorkeeper.en.yml (Catalan)

* New translations simple_form.en.yml (German)

* New translations en.json (Danish)

* New translations en.yml (English, United Kingdom)

* New translations simple_form.en.yml (Faroese)

* New translations en.json (Danish)

* New translations en.yml (Japanese)

* New translations en.yml (German)

* New translations en.json (Urdu (Pakistan))

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (German)

* New translations en.json (Urdu (Pakistan))

* New translations simple_form.en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.json (Scots)

* New translations activerecord.en.yml (Scots)

* New translations en.json (Finnish)

* New translations en.json (Finnish)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations en.yml (Belarusian)

* New translations en.json (Romanian)

* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations doorkeeper.en.yml (Romanian)

* New translations doorkeeper.en.yml (Galician)

* New translations activerecord.en.yml (Romanian)

* New translations en.yml (Russian)

* New translations en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.json (Czech)

* New translations en.yml (Bulgarian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Serbian (Cyrillic))

* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations en.json (Breton)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations simple_form.en.yml (Galician)

* New translations devise.en.yml (Italian)

* New translations en.json (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* New translations devise.en.yml (Italian)

* New translations en.json (Serbian (Cyrillic))

* New translations doorkeeper.en.yml (Italian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.yml (Chinese Traditional, Hong Kong)

* New translations en.json (Serbian (Latin))

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations doorkeeper.en.yml (Italian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.json (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Thai)

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations simple_form.en.yml (Czech)

* New translations doorkeeper.en.yml (Czech)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.json (English, United Kingdom)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.yml (Estonian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (Russian)

* New translations en.yml (Icelandic)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Thai)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations simple_form.en.yml (Icelandic)

* New translations doorkeeper.en.yml (Icelandic)

* New translations en.yml (Belarusian)

* New translations activerecord.en.yml (Icelandic)

* New translations devise.en.yml (Icelandic)

* New translations en.yml (Thai)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (Belarusian)

* New translations en.yml (Thai)

* New translations en.yml (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Bulgarian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Estonian)

* New translations en.json (Ukrainian)

* New translations en.yml (Estonian)

* New translations en.json (Esperanto)

* New translations en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Persian)

* New translations en.yml (Belarusian)

* New translations en.json (Esperanto)

* New translations en.json (Greek)

* New translations en.json (Persian)

* New translations en.json (Scots)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Thai)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Finnish)

* New translations en.yml (Estonian)

* New translations en.yml (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.yml (Finnish)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Spanish)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Thai)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Icelandic)

* New translations en.yml (German)

* New translations en.yml (Ukrainian)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Spanish, Mexico)

* New translations activerecord.en.yml (Spanish, Mexico)

* New translations en.json (German)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (Korean)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Thai)

* New translations en.yml (Japanese)

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Belarusian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Estonian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Spanish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations en.yml (Belarusian)

* New translations en.json (Serbian (Cyrillic))

* New translations simple_form.en.yml (Serbian (Cyrillic))

* normalize

* New translations en.json (German)

* New translations en.json (Serbian (Cyrillic))

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-12-02 23:03:06 +09:00
Claire 68d1df8bc3
Fix some performance issues with /admin/instances (#21907)
/admin/instances?availability=failing remains wholly unefficient
2022-12-01 10:32:10 +01:00
Claire 2d4d99f135
Fix expanded statuses not always being scrolled into view (#21797) 2022-11-28 16:42:04 +01:00
Connor Shea cec1e902e0
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.
2022-11-27 23:49:32 +01:00
Claire 3ffaa966b0
Fix infinite loading instead of soft 404 for non-existing remote accounts (#21303)
Fixes #21278, #21021
2022-11-27 20:48:12 +01:00
Claire 57b893d505
Fix spaces not being stripped in admin account search (#21324)
Fixes #21058

Regression from #18641
2022-11-27 20:47:29 +01:00
James Adney c0dcf15d1e
fix gif autoplay on iOS (#21422) 2022-11-27 20:46:23 +01:00
Bramus! e617ee7fd9
Add user profile OG tag on status page (#21423) 2022-11-27 20:45:28 +01:00
Claire f4f2b062ec
Remove LDSignature on actor Delete activities (#21466)
They are currently not used for anything and represent more than half of the
payload size.
2022-11-27 20:43:24 +01:00
Claire fe421257e5
Fix “Share @{name}'s profile” profile menu item (#21490) 2022-11-27 20:42:17 +01:00
Kaspar V 47f0d7021e
refactor(vacuum statuses): reduce amount of db queries and load for each query - improve performance (#21487)
* refactor(statuses_vacuum): remove dead code - unused

Method is not called inside class and private.
Clean up dead code.

* refactor(statuses_vacuum): make retention_period present test explicit

This private method only hides functionality.
It is best practice to be as explicit as possible.

* refactor(statuses_vacuum): improve query performance

- fix statuses_scope having sub-select for Account.remote scope by
  `joins(:account).merge(Account.remote)`
- fix statuses_scope unnecessary use of `Status.arel_table[:id].lt`
  because it is inexplicit, bad practice and even slower than normal
  `.where('statuses.id < ?'`
- fix statuses_scope remove select(:id, :visibility) for having reusable
  active record query batches (no re queries)
- fix vacuum_statuses! to use in_batches instead of find_in_batches,
  because in_batches delivers a full blown active record query result,
  in stead of an array - no requeries necessary
- send(:unlink_from_conversations) not to perform another db query, but
  reuse the in_batches result instead.
- remove now obsolete remove_from_account_conversations method
- remove_from_search_index uses array of ids, instead of mapping
  the ids from an array - this should be more efficient
- use the in_batches scope to call delete_all, instead of running
  another db query for this - because it is again more efficient
- add TODO comment for calling models private method with send

* refactor(status): simplify unlink_from_conversations

- add `has_many through:` relation mentioned_accounts
- use model scope local instead of method call `Status#local?`
- more readable add account to inbox_owners when account.local?

* refactor(status): searchable_by way less sub selects

These queries all included a sub-select. Doing the same with a joins
should be more efficient.
Since this method does 5 such queries, this should be significant,
since it technically halves the query count.

This is how it was:

```ruby
[3] pry(main)> Status.first.mentions.where(account: Account.local, silent: false).explain
  Status Load (1.6ms)  SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1  [["LIMIT", 1]]
  Mention Load (1.5ms)  SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2  [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
                                                    QUERY PLAN
------------------------------------------------------------------------------------------------------------------
 Nested Loop  (cost=0.15..23.08 rows=1 width=41)
   ->  Seq Scan on accounts  (cost=0.00..10.90 rows=1 width=8)
         Filter: (domain IS NULL)
   ->  Index Scan using index_mentions_on_account_id_and_status_id on mentions  (cost=0.15..8.17 rows=1 width=41)
         Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
         Filter: (NOT silent)
(6 rows)
```

This is how it is with this change:

```ruby
[4] pry(main)> Status.first.mentions.joins(:account).merge(Account.local).active.explain
  Status Load (1.7ms)  SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1  [["LIMIT", 1]]
  Mention Load (0.7ms)  SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2  [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
                                                    QUERY PLAN
------------------------------------------------------------------------------------------------------------------
 Nested Loop  (cost=0.15..23.08 rows=1 width=41)
   ->  Seq Scan on accounts  (cost=0.00..10.90 rows=1 width=8)
         Filter: (domain IS NULL)
   ->  Index Scan using index_mentions_on_account_id_and_status_id on mentions  (cost=0.15..8.17 rows=1 width=41)
         Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
         Filter: (NOT silent)
(6 rows)
```
2022-11-27 20:41:18 +01:00