1
0
mirror of https://github.com/funamitech/mastodon synced 2024-12-23 02:58:34 +09:00
Commit Graph

7811 Commits

Author SHA1 Message Date
たいち ひ
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
Claire
625216d8e1
Fix attachments of edited statuses not being fetched (#21565)
* Fix attachments of edited statuses not being fetched

* Fix tests
2022-11-27 20:39:05 +01:00
kedama
14e2354eea
Fix status mismatch of sensitive check (#21724) 2022-11-27 20:36:21 +01:00
afontenot
f17fc5742e
Clear voter count when poll is reset (#21700)
When a poll is edited, we reset the poll and remove all previous
votes. However, prior to this commit, the voter count on the poll
was not reset. This leads to incorrect percentages being shown in
poll results.

Fixes #21696
2022-11-26 23:08:25 +01:00
Skyler Hawthorne
5b2ff8d32d
fix media uploads with ffmpeg 5 (#21191) 2022-11-25 16:20:47 +01:00
Eugen Rochko
3d906d8e62
New Crowdin updates (#20942)
* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations devise.en.yml (Finnish)

* New translations en.json (Norwegian)

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

* New translations en.yml (Esperanto)

* New translations en.yml (Scots)

* New translations en.yml (Italian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (German)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Belarusian)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (German)

* New translations simple_form.en.yml (German)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Italian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations en.yml (Faroese)

* New translations en.yml (Scots)

* New translations simple_form.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (Hungarian)

* New translations en.json (Bengali)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Welsh)

* New translations en.yml (Scots)

* New translations doorkeeper.en.yml (German)

* New translations en.yml (Russian)

* New translations en.yml (Estonian)

* New translations en.json (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.json (Indonesian)

* New translations en.yml (Indonesian)

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

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

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

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (German)

* New translations doorkeeper.en.yml (German)

* New translations devise.en.yml (German)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (Spanish)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.yml (Belarusian)

* New translations en.json (German)

* New translations en.yml (Welsh)

* New translations en.json (Asturian)

* New translations simple_form.en.yml (German)

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (French, Quebec)

* New translations en.json (Faroese)

* New translations en.yml (Faroese)

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Spanish)

* New translations en.json (French, Quebec)

* New translations en.yml (Faroese)

* New translations en.yml (Scots)

* New translations en.json (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (French, Quebec)

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations doorkeeper.en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Asturian)

* New translations en.json (Asturian)

* New translations en.yml (Faroese)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations simple_form.en.yml (Belarusian)

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

* New translations en.yml (Japanese)

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

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations 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 en.yml (German)

* New translations en.json (German)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Catalan)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Estonian)

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

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Scots)

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

* New translations en.yml (Belarusian)

* New translations devise.en.yml (German)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

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

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (Romanian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Scots)

* New translations doorkeeper.en.yml (Estonian)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (German)

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

* New translations en.yml (Scots)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.yml (Scots)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.json (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations en.yml (Scots)

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

* New translations en.yml (Scots)

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

* New translations en.yml (Czech)

* New translations en.json (Czech)

* New translations en.yml (Bulgarian)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Scots)

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

* New translations en.json (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations en.yml (Ukrainian)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Ukrainian)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Faroese)

* New translations en.yml (Faroese)

* New translations en.yml (Scots)

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations en.yml (Belarusian)

* New translations en.json (Czech)

* New translations en.json (Malayalam)

* New translations en.yml (Scots)

* New translations en.json (Czech)

* New translations en.json (Hindi)

* New translations en.json (Malayalam)

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

* New translations en.yml (Scots)

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

* New translations en.json (Czech)

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

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Scots)

* New translations en.json (Czech)

* New translations en.json (Frisian)

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

* New translations en.yml (Scots)

* New translations en.yml (Belarusian)

* New translations devise.en.yml (Frisian)

* New translations en.json (Czech)

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

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Bulgarian)

* New translations en.json (Italian)

* New translations en.json (Ukrainian)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Estonian)

* New translations en.yml (Faroese)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* New translations devise.en.yml (Ukrainian)

* New translations en.yml (Ukrainian)

* New translations en.json (Italian)

* New translations en.json (Ukrainian)

* New translations en.json (Spanish, Mexico)

* New translations simple_form.en.yml (Ukrainian)

* New translations activerecord.en.yml (Italian)

* New translations en.yml (Belarusian)

* New translations simple_form.en.yml (Belarusian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* Add `app/javascript/mastodon/locales/whitelist_be.json`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-25 09:40:05 +09:00
Claire
51a33ce77a
Fix not being able to follow more than one hashtag (#21285)
Fixes regression from #20860
2022-11-21 10:35:09 +01:00
David Leadbeater
69378eac99
Don't allow URLs that contain non-normalized paths to be verified (#20999)
* Don't allow URLs that contain non-normalized paths to be verified

This stops things like https://example.com/otheruser/../realuser where
"/otheruser" appears to be the verified URL, but the actual URL being
verified is "/realuser" due to the "/../".

Also fix a test to use 'https', so it is testing the right thing, now
that since #20304 https is required.

* missing do
2022-11-20 19:28:13 +01:00
Claire
48e136605a
Fix form-action CSP directive for external login (#20962) 2022-11-17 22:59:07 +01:00
Claire
4ae97a2e4c
Fix OAuth flow being broken by recent CSP change (#20958) 2022-11-17 21:31:52 +01:00
Eugen Rochko
0a78631e86
New Crowdin updates (#20759)
* New translations en.json (German)

* New translations en.json (Italian)

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

* New translations simple_form.en.yml (German)

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

* New translations en.json (Dutch)

* New translations en.json (Esperanto)

* New translations en.json (Dutch)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Irish)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.json (Scots)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Scots)

* New translations en.yml (Korean)

* New translations simple_form.en.yml (Korean)

* New translations en.yml (Esperanto)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Chinese Simplified)

* New translations en.json (Chinese Simplified)

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

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

* New translations en.json (Lithuanian)

* New translations en.yml (Galician)

* New translations en.json (Icelandic)

* New translations en.yml (Galician)

* New translations en.json (Icelandic)

* New translations en.yml (Thai)

* New translations en.yml (Slovenian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Macedonian)

* New translations en.yml (Dutch)

* New translations en.yml (Punjabi)

* New translations en.yml (Polish)

* New translations en.yml (Portuguese)

* New translations en.yml (Russian)

* New translations en.yml (Slovak)

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

* New translations en.yml (Georgian)

* New translations en.yml (Swedish)

* New translations en.yml (Chinese Traditional)

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

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

* New translations en.yml (Korean)

* New translations en.yml (Japanese)

* New translations en.yml (German)

* New translations en.yml (Arabic)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.yml (Spanish)

* New translations en.yml (Turkish)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Romanian)

* New translations en.yml (French)

* New translations en.yml (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.yml (Italian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Frisian)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Hebrew)

* New translations en.yml (Hungarian)

* New translations en.yml (Armenian)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Silesian)

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

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

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

* New translations en.yml (Corsican)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Taigi)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Asturian)

* New translations en.yml (Burmese)

* New translations en.yml (Igbo)

* New translations en.yml (French, Quebec)

* New translations en.json (Faroese)

* New translations en.yml (Faroese)

* New translations simple_form.en.yml (Faroese)

* New translations en.yml (Occitan)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Bengali)

* New translations en.yml (Telugu)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

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

* New translations en.yml (Kannada)

* New translations en.yml (Welsh)

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

* New translations en.yml (Cornish)

* New translations en.yml (Thai)

* New translations en.yml (Portuguese)

* New translations en.yml (Georgian)

* New translations en.yml (Korean)

* New translations en.yml (Lithuanian)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Russian)

* New translations en.yml (Italian)

* New translations en.yml (Slovak)

* New translations en.yml (Slovenian)

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

* New translations en.yml (Swedish)

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

* New translations en.yml (Armenian)

* New translations en.json (Hebrew)

* New translations en.yml (French)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish)

* New translations en.yml (Turkish)

* New translations simple_form.en.yml (Czech)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Afrikaans)

* New translations en.yml (Hungarian)

* New translations en.yml (Arabic)

* New translations en.yml (Bulgarian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Greek)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Irish)

* New translations en.yml (Hebrew)

* New translations en.yml (Indonesian)

* New translations en.yml (Ido)

* New translations en.yml (Persian)

* New translations simple_form.en.yml (Polish)

* New translations en.yml (Breton)

* New translations en.yml (Sinhala)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Sinhala)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Afrikaans)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

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

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Esperanto)

* New translations en.yml (Welsh)

* New translations en.yml (Malay)

* New translations en.yml (Corsican)

* New translations en.yml (Occitan)

* New translations en.yml (Sardinian)

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

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

* New translations en.yml (Kabyle)

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

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Icelandic)

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

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

* 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 (English, United Kingdom)

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

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Basque)

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

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Swedish)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Slovenian)

* New translations simple_form.en.yml (Albanian)

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

* New translations en.yml (French, Quebec)

* New translations en.json (Faroese)

* New translations en.yml (Faroese)

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

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Tatar)

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

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

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Sardinian)

* New translations simple_form.en.yml (Corsican)

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

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

* New translations simple_form.en.yml (Occitan)

* New translations simple_form.en.yml (Asturian)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Hebrew)

* New translations en.yml (Korean)

* New translations en.yml (Dutch)

* New translations en.yml (Slovenian)

* New translations en.yml (Chinese Traditional)

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

* normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-17 21:59:15 +09:00
Claire
585cc1a604
Remove use of DOMParser in front-end emoji rewriting code (#20758)
* Add jstest for node ordering in emojify

* Remove use of DOMParser in front-end emoji rewriting code
2022-11-17 11:24:59 +01:00
Rose
4f15fd0ba1
Fix style for hashes (#20518)
* Fix style for hashes

Make the style for hashes consistent.

* New style

More consistency
2022-11-17 11:05:39 +01:00
lenore gilbert
c373148b3d
Support for import/export of instance-level domain blocks/allows for 4.x w/ additional fixes (#20597)
* Allow import/export of instance-level domain blocks/allows (#1754)

* Allow import/export of instance-level domain blocks/allows.
Fixes #15095

* Pacify circleci

* Address simple code review feedback

* Add headers to exported CSV

* Extract common import/export functionality to
AdminExportControllerConcern

* Add additional fields to instance-blocked domain export

* Address review feedback

* Split instance domain block/allow import/export into separate pages/controllers

* Address code review feedback

* Pacify DeepSource

* Work around Paperclip::HasAttachmentFile for Rails 6

* Fix deprecated API warning in export tests

* Remove after_commit workaround

(cherry picked from commit 94e98864e3)

* Add confirmation page when importing blocked domains (#1773)

* Move glitch-soc-specific strings to glitch-soc-specific locale files

* Add confirmation page when importing blocked domains

(cherry picked from commit b91196f4b7)

* Fix authorization check in domain blocks controller

(cherry picked from commit 7527937758)

* Fix error strings for domain blocks and email-domain blocks

Corrected issue with non-error message used for Mastodon:NotPermittedError in Domain Blocks
Corrected issue Domain Blocks using the Email Domain Blocks message on ActionContoller::ParameterMissing
Corrected issue with Email Domain Blocks using the not_permitted string from "custom emojii's"

* Ran i18n-tasks normalize to address test failure

* Removed unused admin.export_domain_blocks.not_permitted string

Removing unused string as indicated by Check i18n

* Fix tests

(cherry picked from commit 9094c2f52c)

* Fix domain block export not exporting blocks with only media rejection

(cherry picked from commit 26ff48ee48)

* Fix various issues with domain block import

- stop using Paperclip for processing domain allow/block imports
- stop leaving temporary files
- better error handling
- assume CSV files are UTF-8-encoded

(cherry picked from commit cad824d8f501b95377e4f0a957e5a00d517a1902)

Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-17 11:05:09 +01:00
Joshua Wood
daf6f3453e
Handle links with no href in VerifyLinkService (#20741)
Before this change, the following error would cause VerifyAccountLinksWorker to fail:

NoMethodError: undefined method `downcase' for nil:NilClass
  [PROJECT_ROOT]/app/services/verify_link_service.rb:31 :in `block in link_back_present?`
2022-11-17 10:59:35 +01:00
Claire
cbb0153bd0
Fix invalid/empty RSS feed link on account pages (#20772)
Fixes #20770
2022-11-17 10:58:33 +01:00
trwnh
7fdeed5fbc
Make tag following idempotent (#20860) 2022-11-17 10:55:59 +01:00
trwnh
72618ebf03
Fix getting a single EmailDomainBlock (#20846) 2022-11-17 10:55:50 +01:00
Claire
00b2720ef0
Change automatic post deletion configuration to be accessible to redirected users (#20774)
Fixes #20550
2022-11-17 10:55:23 +01:00
trwnh
e1f819fd78
Fix pagination of followed tags (#20861)
* Fix missing pagination headers on followed tags

* Fix typo
2022-11-17 10:54:10 +01:00
Levi Bard
654d348aac
Make the button that expands the publish form differentiable from the button that publishes a post (#20864) 2022-11-17 10:53:38 +01:00
Claire
0cc77263fc
Change batch account suspension to create a strike (#20897) 2022-11-17 10:52:51 +01:00
Chris Johnson
413481f953
Add maskable icon support for Android (#20904)
* Add maskable icon support for Android

* Update manifest_serializer.rb

* Fix linting issue
2022-11-17 10:52:30 +01:00
nyura123dev
aaca78da78
Fix safari explore disappearing tabs (#20917)
* fix disappearing Explore tabs on Safari

* fix lint

Co-authored-by: nyura <nyura@hidden.com>
2022-11-17 08:54:43 +01:00
Daniel Axtens
4d85c27d1a
Add 'private' to Cache-Control, match Rails expectations (#20608)
Several controlers set quite intricate Cache-Control headers in order to
hopefully not be cached by any intermediate proxies or local caches. Unfortunately,
these headers are processed by ActionDispatch::HTTP::Cache in a way that squashes
and discards any values set alongside no-store other than private:
8015c2c2cf/actionpack/lib/action_dispatch/http/cache.rb (L207-L209)

We want to preserve no-store on these responses, but we might as well remove
parts that are going to be dropped anyway. As many of the endpoints in these
controllers are private to a particular user, we should also add "private",
which will be preserved alongside no-store.
2022-11-16 04:56:30 +01:00
Eugen Rochko
a1738f8991
New Crowdin updates (#20580)
* New translations en.json (Catalan)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.yml (Spanish)

* New translations en.yml (Ukrainian)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Hungarian)

* New translations en.json (Slovak)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Catalan)

* New translations en.yml (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Irish)

* New translations en.yml (Norwegian)

* New translations en.yml (German)

* New translations en.json (Romanian)

* New translations en.yml (Danish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.yml (Danish)

* New translations en.json (Catalan)

* New translations en.yml (Norwegian)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Norwegian)

* New translations en.json (Catalan)

* New translations en.json (Portuguese, Brazilian)

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

* New translations en.yml (Portuguese, Brazilian)

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

* New translations en.yml (Latvian)

* New translations en.json (Irish)

* New translations en.json (Swedish)

* New translations en.yml (Galician)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.json (Kabyle)

* New translations en.yml (Welsh)

* New translations en.json (Breton)

* New translations en.json (Kabyle)

* New translations en.yml (Kabyle)

* New translations simple_form.en.yml (Kabyle)

* New translations en.json (Malay)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Malay)

* New translations activerecord.en.yml (Malay)

* New translations devise.en.yml (Malay)

* New translations doorkeeper.en.yml (Malay)

* New translations en.json (Malay)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Malay)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Malay)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations doorkeeper.en.yml (Malay)

* New translations en.yml (Dutch)

* New translations en.json (Malay)

* New translations en.yml (Malay)

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

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (Malay)

* New translations devise.en.yml (Welsh)

* New translations en.yml (German)

* New translations en.yml (Vietnamese)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Malay)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations devise.en.yml (Welsh)

* New translations devise.en.yml (Malay)

* New translations en.json (Vietnamese)

* New translations en.yml (Malay)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Malay)

* New translations devise.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Norwegian)

* New translations devise.en.yml (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Norwegian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Korean)

* New translations en.json (Esperanto)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Norwegian)

* New translations en.json (Welsh)

* New translations simple_form.en.yml (Korean)

* New translations simple_form.en.yml (Norwegian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations devise.en.yml (Korean)

* New translations en.json (Asturian)

* New translations en.json (Asturian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-15 14:37:37 +09:00
Eugen Rochko
17bd9a87b9
Fix wrong color on mentions hidden behind content warning in web UI (#20724) 2022-11-15 02:58:00 +01:00
Claire
ccbca50a25
Fix nodes order being sometimes mangled when rewriting emoji (#20677)
* Fix front-end emoji tests

* Fix nodes order being sometimes mangled when rewriting emoji
2022-11-14 22:14:55 +01:00
Claire
71c92d3f56
Fix emoji substitution not applying only to text nodes in backend code (#20641)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:21 +01:00
Claire
625e086996
Fix emoji substitution not applying only to text nodes in Web UI (#20640)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:03 +01:00
Claire
2d54986a03
Fix media metadata being only editable once (#20665) 2022-11-14 17:52:31 +01:00
trwnh
b59ce0a60f
Move V2 Filter methods under /api/v2 prefix (#20622)
* Move V2 Filter methods under /api/v2 prefix

* move over the tests too
2022-11-14 08:34:07 +01:00
Eugen Rochko
552d69ad96
Fix error when invalid domain name is submitted (#19474)
Fix #19175
2022-11-14 08:07:14 +01:00