From 589e34d00c5bc9a463486e52ec5f51780ff291ac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:53:44 +0200 Subject: [PATCH 01/31] Update dependency selenium-webdriver to v4.19.0 (#29776) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Claire --- Gemfile.lock | 2 +- spec/support/capybara.rb | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5464dbef70..74dfd36841 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -693,7 +693,7 @@ GEM scenic (1.7.0) activerecord (>= 4.0.0) railties (>= 4.0.0) - selenium-webdriver (4.18.1) + selenium-webdriver (4.19.0) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index 4aba65b404..d4f27e209e 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -14,7 +14,6 @@ Capybara.register_driver :headless_chrome do |app| options = Selenium::WebDriver::Chrome::Options.new options.add_argument '--headless=new' options.add_argument '--window-size=1680,1050' - options.browser_version = '120' Capybara::Selenium::Driver.new( app, From 173adb04e29faac56258f4b21730ae45aafafb6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 08:57:14 +0000 Subject: [PATCH 02/31] Update dependency pg to v8.11.4 (#29813) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 52 ++++++++++++++++++---------------------------------- 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/yarn.lock b/yarn.lock index b4e20cf962..4c24f704c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5620,13 +5620,6 @@ __metadata: languageName: node linkType: hard -"buffer-writer@npm:2.0.0": - version: 2.0.0 - resolution: "buffer-writer@npm:2.0.0" - checksum: 10c0/c91b2ab09a200cf0862237e5a4dbd5077003b42d26d4f0c596ec7149f82ef83e0751d670bcdf379ed988d1a08c0fac7759a8cb928cf1a4710a1988a7618b1190 - languageName: node - linkType: hard - "buffer-xor@npm:^1.0.3": version: 1.0.3 resolution: "buffer-xor@npm:1.0.3" @@ -12594,13 +12587,6 @@ __metadata: languageName: node linkType: hard -"packet-reader@npm:1.0.0": - version: 1.0.0 - resolution: "packet-reader@npm:1.0.0" - checksum: 10c0/c86c3321bb07e0f03cc2db59f7701184e0bbfcb914f1fdc963993b03262486deb402292adcef39b64e3530ea66b3b2e2163d6da7b3792a730bdd1c6df3175aaa - languageName: node - linkType: hard - "pako@npm:~1.0.5": version: 1.0.11 resolution: "pako@npm:1.0.11" @@ -12816,10 +12802,10 @@ __metadata: languageName: node linkType: hard -"pg-connection-string@npm:^2.6.0, pg-connection-string@npm:^2.6.2": - version: 2.6.2 - resolution: "pg-connection-string@npm:2.6.2" - checksum: 10c0/e8fdea74fcc8bdc3d7c5c6eadd9425fdba7e67fb7fe836f9c0cecad94c8984e435256657d1d8ce0483d1fedef667e7a57e32449a63cb805cb0289fc34b62da35 +"pg-connection-string@npm:^2.6.0, pg-connection-string@npm:^2.6.3": + version: 2.6.3 + resolution: "pg-connection-string@npm:2.6.3" + checksum: 10c0/e7eab3a2bb8dec5067fab8a46c90d8f7920946d46ad771a410de3929490c676ee91950424d4405295dd0fde5acbd39ccd99afd603a15d616d0a4a6fa9bf80ad7 languageName: node linkType: hard @@ -12837,19 +12823,19 @@ __metadata: languageName: node linkType: hard -"pg-pool@npm:^3.6.1": - version: 3.6.1 - resolution: "pg-pool@npm:3.6.1" +"pg-pool@npm:^3.6.2": + version: 3.6.2 + resolution: "pg-pool@npm:3.6.2" peerDependencies: pg: ">=8.0" - checksum: 10c0/47837c4e4c2b9e195cec01bd58b6e276acc915537191707ad4d6ed975fd9bc03c73f63cb7fde4cb0e08ed059e35faf60fbd03744dee3af71d4b4631ab40eeb7f + checksum: 10c0/14c524549490954b5e48457a4b808df8f619f6deeb3b395b0cd184a8f4ed65a9273fe0697ba0341a41d6745af197f1437eb1cf51fff0cbbf5b0fb3852ebe5392 languageName: node linkType: hard -"pg-protocol@npm:*, pg-protocol@npm:^1.6.0": - version: 1.6.0 - resolution: "pg-protocol@npm:1.6.0" - checksum: 10c0/318a4d1e9cebd3927b10a8bc412f5017117a1f9a5fafb628d75847da7d1ab81c33250de58596bd0990029e14e92a995a851286d60fc236692299faf509572213 +"pg-protocol@npm:*, pg-protocol@npm:^1.6.1": + version: 1.6.1 + resolution: "pg-protocol@npm:1.6.1" + checksum: 10c0/7eadef4010ac0a3925c460be7332ca4098a5c6d5181725a62193fcfa800000ae6632d98d814f3989b42cf5fdc3b45e34c714a1959d29174e81e30730e140ae5f languageName: node linkType: hard @@ -12882,15 +12868,13 @@ __metadata: linkType: hard "pg@npm:^8.5.0": - version: 8.11.3 - resolution: "pg@npm:8.11.3" + version: 8.11.4 + resolution: "pg@npm:8.11.4" dependencies: - buffer-writer: "npm:2.0.0" - packet-reader: "npm:1.0.0" pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.2" - pg-pool: "npm:^3.6.1" - pg-protocol: "npm:^1.6.0" + pg-connection-string: "npm:^2.6.3" + pg-pool: "npm:^3.6.2" + pg-protocol: "npm:^1.6.1" pg-types: "npm:^2.1.0" pgpass: "npm:1.x" peerDependencies: @@ -12901,7 +12885,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: 10c0/07e6967fc8bd5d72bab9be6620626e8e3ab59128ebf56bf0de83d67f10801a19221d88b3317e90b93339ba48d0498b39967b782ae39686aabda6bc647bceb438 + checksum: 10c0/b3e473c52572be259a7418ee506a0ee9d66121971e73fe8cdf584addb9ef4d34cf66ea5c8a99ad9226c421d31a1848c39225bd201743ddd529276de1dec81e46 languageName: node linkType: hard From 961102338040e9d74bf24ce73e5dd7a0f43a2aaf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:58:00 +0200 Subject: [PATCH 03/31] Update dependency postcss-preset-env to v9.5.3 (#29816) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 276 +++++++++++++++++++++++++++--------------------------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4c24f704c8..877639d3a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1548,10 +1548,10 @@ __metadata: languageName: node linkType: hard -"@csstools/color-helpers@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/color-helpers@npm:4.0.0" - checksum: 10c0/fc78871253f8c92789ed64a0e5555bd2873c2b62a49c30baced88487561fe09fe897b0d16fcf7bf2a94f78ff37530773a4395ce5efc016810c094041b5bbcd42 +"@csstools/color-helpers@npm:^4.1.0": + version: 4.1.0 + resolution: "@csstools/color-helpers@npm:4.1.0" + checksum: 10c0/0e41fd04dd28361717b161e7000c3a3b64b8b01119e93758297ea0b8a87c04121c3e3ef02e29c56fdd133227dd879163aa4b52e2370853d9fe64af6b6821668d languageName: node linkType: hard @@ -1565,16 +1565,16 @@ __metadata: languageName: node linkType: hard -"@csstools/css-color-parser@npm:^1.6.2": - version: 1.6.2 - resolution: "@csstools/css-color-parser@npm:1.6.2" +"@csstools/css-color-parser@npm:^1.6.3": + version: 1.6.3 + resolution: "@csstools/css-color-parser@npm:1.6.3" dependencies: - "@csstools/color-helpers": "npm:^4.0.0" + "@csstools/color-helpers": "npm:^4.1.0" "@csstools/css-calc": "npm:^1.2.0" peerDependencies: "@csstools/css-parser-algorithms": ^2.6.1 "@csstools/css-tokenizer": ^2.2.4 - checksum: 10c0/f587482fd7a40b6bd4cc790771245477d82203ba08f8f85981908680423476b9733c71fb4f1ba655f4dfb77907b4dfbb654dd7ba89e9edf0ba5229c26830ee8f + checksum: 10c0/3b15d9974105fe6e5d5e839953ee06153bc308bd62feacdeb88b7da7486ef1625254d0df908c68654596e477ca6be0c312d0c02a62d6dc4bddee61821be17d27 languageName: node linkType: hard @@ -1604,45 +1604,45 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-cascade-layers@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-cascade-layers@npm:4.0.3" +"@csstools/postcss-cascade-layers@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-cascade-layers@npm:4.0.4" dependencies: - "@csstools/selector-specificity": "npm:^3.0.2" + "@csstools/selector-specificity": "npm:^3.0.3" postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 10c0/63f29af21eed000130f6f1268c00188a52eafbdeccc6acf5aa46507e499259631aa89f928b01b4698c41f3f68703db4c6e363c0e6f64b04b20c7e6452a5b259a + checksum: 10c0/87fdd1e3d846e45c2e415f24f66076e04c3c4539e8b802f1114b2a0fef9421d562d9eb61464ba3599d73805555ad8e95c51a8827cb3ddacfda01ec0df4afbfe0 languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^3.0.12": - version: 3.0.12 - resolution: "@csstools/postcss-color-function@npm:3.0.12" +"@csstools/postcss-color-function@npm:^3.0.13": + version: 3.0.13 + resolution: "@csstools/postcss-color-function@npm:3.0.13" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/a270aef93e98efb2b184b84a5de8acc28b10aed229807d1e5b5cf43309b281782895322ec98c0c9486b306ec68915e06689d6959c13ea2ab37fbb773ecd02335 + checksum: 10c0/9d0fa25cd258653ad3227ccf1ee89dfee7099284c28b1d9ae7f7e8b15ed526e4e8cc7724f8e21cc073ed186891c3acb5b9c190a75e3c38d9c75e49197a824db6 languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^2.0.12": - version: 2.0.12 - resolution: "@csstools/postcss-color-mix-function@npm:2.0.12" +"@csstools/postcss-color-mix-function@npm:^2.0.13": + version: 2.0.13 + resolution: "@csstools/postcss-color-mix-function@npm:2.0.13" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/42c7d48eeb1c1e49265505b560b9e034861254c62c5f78d89538255decab67d70f89bf81b269b208aa2103e9f48a51a33bb009eb17774f07c0459929d97f7056 + checksum: 10c0/6011ce0b328cd3ee1d5720dc6eb23da807ba5a218a4a3c65a4844a82c0ff37e69d27cbee14abf9b928a3068f429ab86f2dd2bebab4ab64cd8fc7e39e562d7073 languageName: node linkType: hard @@ -1671,59 +1671,59 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^1.0.5": - version: 1.0.5 - resolution: "@csstools/postcss-gamut-mapping@npm:1.0.5" +"@csstools/postcss-gamut-mapping@npm:^1.0.6": + version: 1.0.6 + resolution: "@csstools/postcss-gamut-mapping@npm:1.0.6" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" peerDependencies: postcss: ^8.4 - checksum: 10c0/33e2185ae8f8a229476bd5a60c0523aef8cb4de552a6c532514b9d87bff579f36fb7640dd14c9ea56906996d43f4d5ab969a4f704e1b8a94f7802beb3df31d08 + checksum: 10c0/a258a2ceac9d9be4374ec5b504895bd1de1196fe7d8c1377863a25c6cb50ee1fb1c65387c5440bae3c5d59e6ebf4e0c1990595c5cd09291224b31a1d23bdc250 languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^4.0.13": - version: 4.0.13 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.13" +"@csstools/postcss-gradients-interpolation-method@npm:^4.0.14": + version: 4.0.14 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.14" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/af7c2d9c8e2249ea4cc50c9ef1b5ad75b1ed062020f1a8906ba9baf3143c4e2638b8b2189d7552838558e7b9a8a1ee9aa0baa076f5deabb23c1dc90fd78d7eab + checksum: 10c0/88147b2d7067b9bc6c90340c0be8450ca1175a7e927ff7b682c26d377237bec12f1cbe0dd930dd72dec661603348d1e71ca2a56f0a3b6fa2ca7d3f1b962f001d languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^3.0.11": - version: 3.0.11 - resolution: "@csstools/postcss-hwb-function@npm:3.0.11" +"@csstools/postcss-hwb-function@npm:^3.0.12": + version: 3.0.12 + resolution: "@csstools/postcss-hwb-function@npm:3.0.12" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/d779617ef97ff22a125fbdd65f01dd3dd5bc607dbe7f3b02ae808d2fcccb1d5022b7f8e66e64283f7f9c52b6997bf0dc649566c734f0e3e4f3ba3c66a3b564a8 + checksum: 10c0/20e0b2a4547fe619f38fe56c33974750d4a8b64a67a4169740ee0e67a9dec9f3a243f2370408901aacc35690aa36135028fafbbc866ff934b66cc4c9e4e89cac languageName: node linkType: hard -"@csstools/postcss-ic-unit@npm:^3.0.5": - version: 3.0.5 - resolution: "@csstools/postcss-ic-unit@npm:3.0.5" +"@csstools/postcss-ic-unit@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/postcss-ic-unit@npm:3.0.6" dependencies: - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/bf21b74e1bdff425481724a36385f1ebe7c8aea6cccfcf6715cad58449d2d19419342e94d33d6626ec09bed8d4ab6e391b8eebaa3bda721e7f41e5c64c485f2a + checksum: 10c0/a4b962327d433419fdcfdcf620ce6a5cf09aa3c93029ad08b035df1e2bc35caae31de49f1d14218de0656fced35c0d2e07e5ff7b8099c29dbfb40395fc283234 languageName: node linkType: hard @@ -1736,29 +1736,29 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-is-pseudo-class@npm:^4.0.5": - version: 4.0.5 - resolution: "@csstools/postcss-is-pseudo-class@npm:4.0.5" +"@csstools/postcss-is-pseudo-class@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-is-pseudo-class@npm:4.0.6" dependencies: - "@csstools/selector-specificity": "npm:^3.0.2" + "@csstools/selector-specificity": "npm:^3.0.3" postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 10c0/5f35d5474957be30f54b89cf46b818390754af8094c4d9a083a79d579ccd817452bb7e2cfef8951c664d4c6ba381d8d45cd89f49339a42941f947ccb032f9d45 + checksum: 10c0/aa071954e08dc9368fbeddbec6a8da2dea3a771b33bad53f67f3bc5a6b2f0a270909948f3e7b29ec885f4cceee245f16388809aeb0620284a1d66ad1f2026f28 languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-light-dark-function@npm:1.0.1" +"@csstools/postcss-light-dark-function@npm:^1.0.2": + version: 1.0.2 + resolution: "@csstools/postcss-light-dark-function@npm:1.0.2" dependencies: "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/538e809b473b91245cb79418949c4a27c0e82b0ea357f9c93b054e07d3194857e53979693226be9448904a7d9d4ad4732ad34183db82927bb172fe6cab1e53a8 + checksum: 10c0/c7ed0037e68aa6ede2440a598caa776812e602e12f69d0fd8f0975cf3469a3593bd34fd408ed7d0b73af2ae4498bd6334cb3222fedb2a432a9ab8fa731e07108 languageName: node linkType: hard @@ -1862,44 +1862,44 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^3.0.12": - version: 3.0.12 - resolution: "@csstools/postcss-oklab-function@npm:3.0.12" +"@csstools/postcss-oklab-function@npm:^3.0.13": + version: 3.0.13 + resolution: "@csstools/postcss-oklab-function@npm:3.0.13" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/1454f57c756bdc882a523b50634823a0c31d7adc35330e13c80f9573c287f2a4ab30bbce48e0e8788dfe5a293d55113db2205373523b202a8828b9088e55e51c + checksum: 10c0/26915f65ccc8b631a08542c4b088f9e5155f95a6c1f3a6bd2a33207f96d33438b930de60f493a5bbfee1b9f2abc8dfcab3ecbf20b5c7445d729fc434234fb046 languageName: node linkType: hard -"@csstools/postcss-progressive-custom-properties@npm:^3.1.1": - version: 3.1.1 - resolution: "@csstools/postcss-progressive-custom-properties@npm:3.1.1" +"@csstools/postcss-progressive-custom-properties@npm:^3.2.0": + version: 3.2.0 + resolution: "@csstools/postcss-progressive-custom-properties@npm:3.2.0" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/9303296c8285a8154d2ee22d5a1330c94c5f361d277a1fd27172e868e3511619a6876538beacae0c9e925a9d1e81a32438d405526170faa84cad0c2d2159fdd2 + checksum: 10c0/829880844fbbeef1c67e0b380057e574659b4caed38c8414c17d7eb4a0cc727afa1cd74a889bc7ca79c819ecae757810356706901cf6bb677a36ca123915cbb7 languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^2.0.12": - version: 2.0.12 - resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.12" +"@csstools/postcss-relative-color-syntax@npm:^2.0.13": + version: 2.0.13 + resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.13" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e12a59b89372fbc5cc460cfeceeea2ddc8b7a8f5639a767dbd6c7ff799bf740ac5dd7ae6797703f74efeadd696801042bff8770117cf5ed70646dcc598637334 + checksum: 10c0/5c9fdec029e3d9a5c688d2e04995fec0cf6d91b48dbc5f450cf9c9dbb45e2819afbd63b3279676087a13f54914b0ec7d005e478b70b43e94fc8eeef9c5973390 languageName: node linkType: hard @@ -1927,15 +1927,15 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-text-decoration-shorthand@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/postcss-text-decoration-shorthand@npm:3.0.4" +"@csstools/postcss-text-decoration-shorthand@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/postcss-text-decoration-shorthand@npm:3.0.5" dependencies: - "@csstools/color-helpers": "npm:^4.0.0" + "@csstools/color-helpers": "npm:^4.1.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/2e17535bbeed8ca5f095e6aecfb552004c1920597f16146fe6ec773b46af95f9e0e3cf77181d4216a23528de8e042bd85f82df1562447f52e7687ed8628f0adc + checksum: 10c0/e7e08c643c7084e60c0b22982e00ce21c579af3810ebbebac6838801b2ac622026ce96fd0cbca785613b1559f2337833cfc0f525685f8543ee39078a32fd7f89 languageName: node linkType: hard @@ -1970,12 +1970,12 @@ __metadata: languageName: node linkType: hard -"@csstools/selector-specificity@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/selector-specificity@npm:3.0.2" +"@csstools/selector-specificity@npm:^3.0.2, @csstools/selector-specificity@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/selector-specificity@npm:3.0.3" peerDependencies: postcss-selector-parser: ^6.0.13 - checksum: 10c0/d0c7dae2f1e9536e3e17f00467320a704f3208c76283c29c57fd69d4b83dcf6d062f492ed687c5ffd5f47fada9f0657c2efc89ea18fd4b038f757669553e0095 + checksum: 10c0/e4f0355165882ddde8bd4a2f0252868150e67b9fae927fd2d94a91cee31e438e7041059f20b9c755a93b0bd8e527a9f78b01168fe67b3539be32091240aa63bf languageName: node linkType: hard @@ -5045,7 +5045,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.14, autoprefixer@npm:^10.4.18": +"autoprefixer@npm:^10.4.14, autoprefixer@npm:^10.4.19": version: 10.4.19 resolution: "autoprefixer@npm:10.4.19" dependencies: @@ -6512,16 +6512,16 @@ __metadata: languageName: node linkType: hard -"css-has-pseudo@npm:^6.0.2": - version: 6.0.2 - resolution: "css-has-pseudo@npm:6.0.2" +"css-has-pseudo@npm:^6.0.3": + version: 6.0.3 + resolution: "css-has-pseudo@npm:6.0.3" dependencies: - "@csstools/selector-specificity": "npm:^3.0.2" + "@csstools/selector-specificity": "npm:^3.0.3" postcss-selector-parser: "npm:^6.0.13" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/96f9a6a4f31e11797e583d458535e11fa513b3f1f430ab566964a2f0792eaaa543213598b0a509516f07464234348ab11d56448b6d0c0c8a36988e0c86cf4ca1 + checksum: 10c0/bbe663eff5256233c7bcce256cd8de7d93d82f2d4f2ca104af8e39e2159170d67746d3a2954385d03ec4ea7ef2728fe9a7d8cb62c52c0a6df1ad3d3bb1e3439d languageName: node linkType: hard @@ -6647,10 +6647,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^7.11.1": - version: 7.11.2 - resolution: "cssdb@npm:7.11.2" - checksum: 10c0/5cd8dfee703dfbd7b7a8c3a93d65d26007ec1cd9692379b5868a0ceedf23b88e28d4b98f1cb9a4161f8b01e4a229e08ba9603fb94b756a3df6e07c423fff5b5d +"cssdb@npm:^8.0.0": + version: 8.0.0 + resolution: "cssdb@npm:8.0.0" + checksum: 10c0/d9a31b760214624352000b16a8f7194c357f66b6c445e663ab58dd03b6f0f53efaaca6d6f96200d666e205894d2d1c346664ad993d9522ff9fc1c331804a8d62 languageName: node linkType: hard @@ -13116,18 +13116,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^6.0.7": - version: 6.0.7 - resolution: "postcss-color-functional-notation@npm:6.0.7" +"postcss-color-functional-notation@npm:^6.0.8": + version: 6.0.8 + resolution: "postcss-color-functional-notation@npm:6.0.8" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/bd3c1831e885f395205d503bf4b24f462dc9f4af74be11c5b0ad7b09eb150b2d3f8b2c727ab9e67c474ff05baa8e8e3c950880ffe2085ed39794d308c0297667 + checksum: 10c0/ae2ff7769970fb403ea71d5613e041d97bb647cfc54e4a428bcc75f98ff06c888b064384df12b18f609bfcc4395c31d6db4ad2b9c9385a829ba594d2692c31d1 languageName: node linkType: hard @@ -13271,16 +13271,16 @@ __metadata: languageName: node linkType: hard -"postcss-double-position-gradients@npm:^5.0.5": - version: 5.0.5 - resolution: "postcss-double-position-gradients@npm:5.0.5" +"postcss-double-position-gradients@npm:^5.0.6": + version: 5.0.6 + resolution: "postcss-double-position-gradients@npm:5.0.6" dependencies: - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/02c22ca055ceca1ecc3c6888eab5c84769c9df37f59855f0ff9e9faaedcb4acf6818e927bff18bd57df161045f775ecca4142b13f968332419976c556a769995 + checksum: 10c0/9b24b13043fe506c0ddd94e707fe4f21f4f9a6c05ca49a4f45e23412951fd6a4cfa0095002d10b322ca8be60df0badae3715a27eefdeb7bf8da4fdd1ecd5d7a2 languageName: node linkType: hard @@ -13336,18 +13336,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^6.0.12": - version: 6.0.12 - resolution: "postcss-lab-function@npm:6.0.12" +"postcss-lab-function@npm:^6.0.13": + version: 6.0.13 + resolution: "postcss-lab-function@npm:6.0.13" dependencies: - "@csstools/css-color-parser": "npm:^1.6.2" + "@csstools/css-color-parser": "npm:^1.6.3" "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/1c96c19d0487346445749777df2af7cc828f3e3c4e8a435cac250d03c14efb0d14ee994ac58d966ed07f8f07aa297f0e3311248b78ba1e816bb18386e435a83c + checksum: 10c0/3ffb82d0012e49df49b44f38a131f4b13ba3edeeca5ecc0062c1c1b6bd8961c06f05b1dd8ec620c50c2c406fc61a505d79488745185d69ed325603600f0a1bc8 languageName: node linkType: hard @@ -13503,16 +13503,16 @@ __metadata: languageName: node linkType: hard -"postcss-nesting@npm:^12.1.0": - version: 12.1.0 - resolution: "postcss-nesting@npm:12.1.0" +"postcss-nesting@npm:^12.1.1": + version: 12.1.1 + resolution: "postcss-nesting@npm:12.1.1" dependencies: "@csstools/selector-resolve-nested": "npm:^1.1.0" - "@csstools/selector-specificity": "npm:^3.0.2" + "@csstools/selector-specificity": "npm:^3.0.3" postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 10c0/87902723214ec33a81520f51cce1e52f52c02272f2b7838d3aaa795e226104bf4809ef9dad8840f43852c1f229afb5f480ab1f20c7677bd021cf57739b625871 + checksum: 10c0/8fac718e69ee2ac93179cc59810a8184581c04715fe34621ec5d504fc680cad4a11219ed0c918cbe15c468994c9aba88e729f35eef698c5d44cadd824425c47d languageName: node linkType: hard @@ -13667,21 +13667,21 @@ __metadata: linkType: hard "postcss-preset-env@npm:^9.5.2": - version: 9.5.2 - resolution: "postcss-preset-env@npm:9.5.2" + version: 9.5.3 + resolution: "postcss-preset-env@npm:9.5.3" dependencies: - "@csstools/postcss-cascade-layers": "npm:^4.0.3" - "@csstools/postcss-color-function": "npm:^3.0.12" - "@csstools/postcss-color-mix-function": "npm:^2.0.12" + "@csstools/postcss-cascade-layers": "npm:^4.0.4" + "@csstools/postcss-color-function": "npm:^3.0.13" + "@csstools/postcss-color-mix-function": "npm:^2.0.13" "@csstools/postcss-exponential-functions": "npm:^1.0.5" "@csstools/postcss-font-format-keywords": "npm:^3.0.2" - "@csstools/postcss-gamut-mapping": "npm:^1.0.5" - "@csstools/postcss-gradients-interpolation-method": "npm:^4.0.13" - "@csstools/postcss-hwb-function": "npm:^3.0.11" - "@csstools/postcss-ic-unit": "npm:^3.0.5" + "@csstools/postcss-gamut-mapping": "npm:^1.0.6" + "@csstools/postcss-gradients-interpolation-method": "npm:^4.0.14" + "@csstools/postcss-hwb-function": "npm:^3.0.12" + "@csstools/postcss-ic-unit": "npm:^3.0.6" "@csstools/postcss-initial": "npm:^1.0.1" - "@csstools/postcss-is-pseudo-class": "npm:^4.0.5" - "@csstools/postcss-light-dark-function": "npm:^1.0.1" + "@csstools/postcss-is-pseudo-class": "npm:^4.0.6" + "@csstools/postcss-light-dark-function": "npm:^1.0.2" "@csstools/postcss-logical-float-and-clear": "npm:^2.0.1" "@csstools/postcss-logical-overflow": "npm:^1.0.1" "@csstools/postcss-logical-overscroll-behavior": "npm:^1.0.1" @@ -13691,38 +13691,38 @@ __metadata: "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^2.0.7" "@csstools/postcss-nested-calc": "npm:^3.0.2" "@csstools/postcss-normalize-display-values": "npm:^3.0.2" - "@csstools/postcss-oklab-function": "npm:^3.0.12" - "@csstools/postcss-progressive-custom-properties": "npm:^3.1.1" - "@csstools/postcss-relative-color-syntax": "npm:^2.0.12" + "@csstools/postcss-oklab-function": "npm:^3.0.13" + "@csstools/postcss-progressive-custom-properties": "npm:^3.2.0" + "@csstools/postcss-relative-color-syntax": "npm:^2.0.13" "@csstools/postcss-scope-pseudo-class": "npm:^3.0.1" "@csstools/postcss-stepped-value-functions": "npm:^3.0.6" - "@csstools/postcss-text-decoration-shorthand": "npm:^3.0.4" + "@csstools/postcss-text-decoration-shorthand": "npm:^3.0.5" "@csstools/postcss-trigonometric-functions": "npm:^3.0.6" "@csstools/postcss-unset-value": "npm:^3.0.1" - autoprefixer: "npm:^10.4.18" + autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.22.3" css-blank-pseudo: "npm:^6.0.1" - css-has-pseudo: "npm:^6.0.2" + css-has-pseudo: "npm:^6.0.3" css-prefers-color-scheme: "npm:^9.0.1" - cssdb: "npm:^7.11.1" + cssdb: "npm:^8.0.0" postcss-attribute-case-insensitive: "npm:^6.0.3" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^6.0.7" + postcss-color-functional-notation: "npm:^6.0.8" postcss-color-hex-alpha: "npm:^9.0.4" postcss-color-rebeccapurple: "npm:^9.0.3" postcss-custom-media: "npm:^10.0.4" postcss-custom-properties: "npm:^13.3.6" postcss-custom-selectors: "npm:^7.1.8" postcss-dir-pseudo-class: "npm:^8.0.1" - postcss-double-position-gradients: "npm:^5.0.5" + postcss-double-position-gradients: "npm:^5.0.6" postcss-focus-visible: "npm:^9.0.1" postcss-focus-within: "npm:^8.0.1" postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^5.0.1" postcss-image-set-function: "npm:^6.0.3" - postcss-lab-function: "npm:^6.0.12" + postcss-lab-function: "npm:^6.0.13" postcss-logical: "npm:^7.0.1" - postcss-nesting: "npm:^12.1.0" + postcss-nesting: "npm:^12.1.1" postcss-opacity-percentage: "npm:^2.0.0" postcss-overflow-shorthand: "npm:^5.0.1" postcss-page-break: "npm:^3.0.4" @@ -13732,7 +13732,7 @@ __metadata: postcss-selector-not: "npm:^7.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/40f94472f2d940cbf1df9974bea29a76ada4c1285b97e7104c0cdf001fcafd0a1f5966822250df0d659ec0ea51e577a1ab78c9f5f8a5683ea9897efe043515c1 + checksum: 10c0/0f6ed8ec9dc5365d1ca1d29652464f2cfebb6b39dfe39b55712c9251addde3289702ea37e1731da5b16bb70f2fb871d165bb0d33452506fa9121e5f696b63d34 languageName: node linkType: hard From b58666e12e2ca70ce4fa5b6b4fdb821333e4263e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 08:59:05 +0000 Subject: [PATCH 04/31] Update dependency @reduxjs/toolkit to v2.2.3 (#29817) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 877639d3a7..4404b24a07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3012,8 +3012,8 @@ __metadata: linkType: hard "@reduxjs/toolkit@npm:^2.0.1": - version: 2.2.2 - resolution: "@reduxjs/toolkit@npm:2.2.2" + version: 2.2.3 + resolution: "@reduxjs/toolkit@npm:2.2.3" dependencies: immer: "npm:^10.0.3" redux: "npm:^5.0.1" @@ -3027,7 +3027,7 @@ __metadata: optional: true react-redux: optional: true - checksum: 10c0/d749181b1bc071698517cba7ce05c42ddfe99363019249722b4dfa3afc71b3a6e4cb9885af574cf81c5d6515f68201ebfedddb5c14b262c941a45112fdc66ce3 + checksum: 10c0/f10f2c8f4b6c5c7a65d8d60246bdfde86b6cd2f542210ebdda8002223c7f4e99ed32964825e63f37345d9d12532671150fcec2809a40690931ae44afe8aba7f8 languageName: node linkType: hard From 2f7a2d4df702c45022c3e0ea8c349abf4cc9680a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:59:26 +0200 Subject: [PATCH 05/31] Update DefinitelyTyped types (non-major) (#29818) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4404b24a07..5081110679 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3746,11 +3746,11 @@ __metadata: linkType: hard "@types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.2.4": - version: 18.2.22 - resolution: "@types/react-dom@npm:18.2.22" + version: 18.2.23 + resolution: "@types/react-dom@npm:18.2.23" dependencies: "@types/react": "npm:*" - checksum: 10c0/cd85b5f402126e44b8c7b573e74737389816abcc931b2b14d8f946ba81cce8637ea490419488fcae842efb1e2f69853bc30522e43fd8359e1007d4d14b8d8146 + checksum: 10c0/9348e93558aa67b4b237bd0eab62e72e85f3e17a1c45fde04d874476269730f7c671b3d62390c4fca588da2a026e90cc74148abc349dbfd4ee5535a82ccdf38e languageName: node linkType: hard @@ -3849,13 +3849,12 @@ __metadata: linkType: hard "@types/react@npm:*, @types/react@npm:16 || 17 || 18, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7": - version: 18.2.70 - resolution: "@types/react@npm:18.2.70" + version: 18.2.73 + resolution: "@types/react@npm:18.2.73" dependencies: "@types/prop-types": "npm:*" - "@types/scheduler": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/2107b1fa8963cabe33d981cf1c0e3b7534c9d12b98c1046cd9f7975851690a0780db011f6a1d637ae4e612ef00c94ebdbe76a9e2f9e0f3baa6aad3213932af41 + checksum: 10c0/b6645ab3c20efa41cfccf58ce0be45419517a0ba4594e323dd400342fb1c1f9589d169cf9bfa85b5b0605e9097fe9de7734b6d0c533f5b9bc32aaadb624537a4 languageName: node linkType: hard @@ -3885,13 +3884,6 @@ __metadata: languageName: node linkType: hard -"@types/scheduler@npm:*": - version: 0.16.5 - resolution: "@types/scheduler@npm:0.16.5" - checksum: 10c0/625b63cd5dcaf6fb88fe03aa7c797f28cb121f03584126d4811b2d03f39bc3e238ce52cf7685ad8adfe8445d679934e6be47347723a6771ca2058c01f0c33760 - languageName: node - linkType: hard - "@types/semver@npm:^7.5.0": version: 7.5.4 resolution: "@types/semver@npm:7.5.4" From a4158be4d7a8fb599c89cea1544a7e712e179c41 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 08:59:52 +0000 Subject: [PATCH 06/31] Update devDependencies (non-major) (#29819) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5081110679..e58a030c36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2199,16 +2199,16 @@ __metadata: linkType: hard "@formatjs/cli@npm:^6.1.1": - version: 6.2.8 - resolution: "@formatjs/cli@npm:6.2.8" + version: 6.2.9 + resolution: "@formatjs/cli@npm:6.2.9" peerDependencies: - vue: ^3.3.4 + vue: ^3.4.0 peerDependenciesMeta: vue: optional: true bin: formatjs: bin/formatjs - checksum: 10c0/5d8f95434f4522eee7dd3acf54e5265289ec7e72812448cd7c7547bdedaba8927719800dfa2fc92fb82c609f34255367a80d18bf6c064540d5e11ec6b9d4603e + checksum: 10c0/498383bcdca7f8f8a748c1151be17392f71eb1861f6a23bc714280533167cba7cdc35a470a380113f6111236e721ff43cbee7b084939dac67b6a5d9b04c0587c languageName: node linkType: hard @@ -16418,8 +16418,8 @@ __metadata: linkType: hard "stylelint@npm:^16.0.2": - version: 16.3.0 - resolution: "stylelint@npm:16.3.0" + version: 16.3.1 + resolution: "stylelint@npm:16.3.1" dependencies: "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" @@ -16462,7 +16462,7 @@ __metadata: write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/98bf770078d727eb7c3ec0932b09c9486481f2d086ea1f4232e00bd1bf58b6b5d3a8d6fc9802df05380cdb06b3d97c5a7c4f27adb221b2a5707ea9829c0ee350 + checksum: 10c0/1660bb359002ff8e07cea044018b13abc73f48cf02a5062953b086f4d58611cd10677787560774c1acabeb192b6d059ce7fcf4c11defa7f64e50dca908fc664f languageName: node linkType: hard From 143d9553fa0187b9950a802cdedaea5c8cd12f75 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 11:15:24 +0200 Subject: [PATCH 07/31] Update dependency fastimage to v2.3.1 (#29822) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 74dfd36841..bd15ad73a2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -273,7 +273,7 @@ GEM faraday_middleware (1.2.0) faraday (~> 1.0) fast_blank (1.0.1) - fastimage (2.3.0) + fastimage (2.3.1) ffi (1.16.3) ffi-compiler (1.0.1) ffi (>= 1.0.0) From fa9574086d1b2cc16a733cd60677054c67eed48d Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Tue, 2 Apr 2024 04:15:31 -0500 Subject: [PATCH 08/31] Fix search box color on light theme (#29808) --- app/javascript/styles/mastodon-light/diff.scss | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss index 493e377d61..1de90e0016 100644 --- a/app/javascript/styles/mastodon-light/diff.scss +++ b/app/javascript/styles/mastodon-light/diff.scss @@ -80,6 +80,7 @@ html { } .search__input, +.search__popout, .setting-text, .report-dialog-modal__textarea, .audio-player { @@ -439,7 +440,8 @@ html { .directory__tag > div, .card > a, .page-header, -.compose-form .compose-form__warning { +.compose-form, +.compose-form__warning { box-shadow: none; } @@ -475,12 +477,17 @@ html { color: $white; } -.compose-form .spoiler-input__input { +.compose-form, +.spoiler-input__input, +.search__input, +.search__popout { color: lighten($ui-highlight-color, 8%); } .compose-form .autosuggest-textarea__textarea, .compose-form__highlightable, +.search__input, +.search__popout, .poll__option input[type='text'] { background: darken($ui-base-color, 10%); } From c717747603d759c01d638b99146add55d4aa1561 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 11:26:06 +0200 Subject: [PATCH 09/31] New Crowdin Translations (automated) (#29812) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/et.json | 39 +++++ app/javascript/mastodon/locales/ia.json | 168 ++++++++++++--------- app/javascript/mastodon/locales/ie.json | 41 +++++ app/javascript/mastodon/locales/it.json | 20 +-- app/javascript/mastodon/locales/ja.json | 13 ++ app/javascript/mastodon/locales/lad.json | 3 + app/javascript/mastodon/locales/ru.json | 58 +++++++ app/javascript/mastodon/locales/sv.json | 16 ++ app/javascript/mastodon/locales/zh-TW.json | 2 +- config/locales/activerecord.ia.yml | 6 + config/locales/devise.de.yml | 4 +- config/locales/es-MX.yml | 2 +- config/locales/et.yml | 20 +++ config/locales/ia.yml | 13 ++ config/locales/ie.yml | 16 ++ config/locales/it.yml | 2 +- config/locales/lad.yml | 4 + config/locales/simple_form.et.yml | 2 + config/locales/simple_form.ia.yml | 7 + config/locales/simple_form.ie.yml | 2 + 20 files changed, 355 insertions(+), 83 deletions(-) diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index f617ced6ea..74f3f560d4 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -92,7 +92,11 @@ "block_modal.remote_users_caveat": "Serverile {domain} edastatakse palve otsust järgida. Ometi pole see tagatud, kuna mõned serverid võivad blokeeringuid käsitleda omal moel. Avalikud postitused võivad tuvastamata kasutajatele endiselt näha olla.", "block_modal.show_less": "Kuva vähem", "block_modal.show_more": "Kuva rohkem", + "block_modal.they_cant_mention": "Ta ei saa mainida sind ega jälgida.", + "block_modal.they_cant_see_posts": "Ta ei näe sinu postitusi ja sa ei näe tema omi.", + "block_modal.they_will_know": "Ta näeb, et ta on blokeeritud.", "block_modal.title": "Blokeeri kasutaja?", + "block_modal.you_wont_see_mentions": "Sa ei näe postitusi, mis mainivad teda.", "boost_modal.combo": "Vajutades {combo}, saab selle edaspidi vahele jätta", "bundle_column_error.copy_stacktrace": "Kopeeri veateade", "bundle_column_error.error.body": "Soovitud lehte ei õnnestunud esitada. See võib olla meie koodiviga või probleem brauseri ühilduvusega.", @@ -206,8 +210,26 @@ "dismissable_banner.explore_tags": "Need sildid siit ja teistes serveritest detsentraliseeritud võrgus koguvad tähelepanu just praegu selles serveris.", "dismissable_banner.public_timeline": "Need on kõige uuemad avalikud postitused inimestelt sotsiaalvõrgustikus, mida {domain} inimesed jälgivad.", "domain_block_modal.block": "Blokeeri server", + "domain_block_modal.block_account_instead": "Selle asemel blokeeri @{name}", + "domain_block_modal.they_can_interact_with_old_posts": "Inimesed sellest serverist saavad interakteeruda sinu vanade postitustega.", + "domain_block_modal.they_cant_follow": "Sellest serverist ei saa keegi sind jälgida.", + "domain_block_modal.they_wont_know": "Nad ei tea, et nad on blokeeritud.", + "domain_block_modal.title": "Blokeerida domeen?", + "domain_block_modal.you_will_lose_followers": "Kõik sinu sellest serverist pärit jälgijad eemaldatakse.", + "domain_block_modal.you_wont_see_posts": "Sa ei näe selle serveri kasutajate postitusi ega teavitusi.", + "domain_pill.activitypub_lets_connect": "See võimaldab sul ühenduda inimestega ja nendega suhelda mitte ainult Mastodonis, vaid ka teistes suhtlusrakendustes.", + "domain_pill.activitypub_like_language": "ActivityPub on nagu keel, mida Mastodon räägib teiste suhtlusvõrgustikega.", "domain_pill.server": "Server", + "domain_pill.their_handle": "Tema tunnus:", + "domain_pill.their_server": "Tema digitaalne kodu, kus kõik tema postitused on.", + "domain_pill.their_username": "Tema unikaalne tunnus tema serveris. On võimalik, et mingites teistes serverites on sama kasutajanimega kasutajaid.", "domain_pill.username": "Kasutajanimi", + "domain_pill.whats_in_a_handle": "Mis on tunnuses?", + "domain_pill.who_they_are": "Kuna tunnus ütleb, kes keegi on ja kus, saad suhelda inimestega üle .", + "domain_pill.who_you_are": "Kuna tunnus ütleb, kes sa oled ja kus, saavad inimesed sinuga suhelda üle .", + "domain_pill.your_handle": "Sinu tunnus:", + "domain_pill.your_server": "Sinu digitaalne kodu, kus on kõik sinu postitused. Sulle ei meeldi see? Vaheta mistahes ajal serverit ja võta jälgijad ka.", + "domain_pill.your_username": "Sinu unikaalne identifikaator siin serveris. On võimalik, et leiad teistes serverites samasuguse kasutajanimega kasutajaid.", "embed.instructions": "Lisa see postitus oma veebilehele, kopeerides alloleva koodi.", "embed.preview": "Nii näeb see välja:", "emoji_button.activity": "Tegevus", @@ -244,6 +266,7 @@ "empty_column.list": "Siin loetelus pole veel midagi. Kui loetelu liikmed teevad uusi postitusi, näed neid siin.", "empty_column.lists": "Pole veel ühtegi nimekirja. Kui lood mõne, näed neid siin.", "empty_column.mutes": "Sa pole veel ühtegi kasutajat vaigistanud.", + "empty_column.notification_requests": "Kõik tühi! Siin pole mitte midagi. Kui saad uusi teavitusi, ilmuvad need siin vastavalt sinu seadistustele.", "empty_column.notifications": "Ei ole veel teateid. Kui keegi suhtleb sinuga, näed seda siin.", "empty_column.public": "Siin pole midagi! Kirjuta midagi avalikku või jälgi ise kasutajaid täitmaks seda ruumi", "error.unexpected_crash.explanation": "Meie poolse probleemi või veebilehitseja ühilduvusprobleemi tõttu ei suutnud me seda lehekülge korrektselt näidata.", @@ -275,6 +298,8 @@ "filter_modal.select_filter.title": "Filtreeri seda postitust", "filter_modal.title.status": "Postituse filtreerimine", "filtered_notifications_banner.pending_requests": "Teateid {count, plural, =0 {mitte üheltki} one {ühelt} other {#}} inimeselt, keda võid teada", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privaatne teavitus} other {privaatsed teavitused}}", + "filtered_notifications_banner.title": "Filtreeritud teavitused", "firehose.all": "Kõik", "firehose.local": "See server", "firehose.remote": "Teised serverid", @@ -403,8 +428,15 @@ "loading_indicator.label": "Laadimine…", "media_gallery.toggle_visible": "{number, plural, one {Varja pilt} other {Varja pildid}}", "moved_to_account_banner.text": "Kontot {disabledAccount} ei ole praegu võimalik kasutada, sest kolisid kontole {movedToAccount}.", + "mute_modal.hide_from_notifications": "Peida teavituste hulgast", "mute_modal.hide_options": "Peida valikud", + "mute_modal.indefinite": "Kuni eemaldan neilt vaigistuse", "mute_modal.show_options": "Kuva valikud", + "mute_modal.they_can_mention_and_follow": "Ta saab sind mainida ja sind jälgida, kuid sa ei näe teda.", + "mute_modal.they_wont_know": "Ta ei tea, et ta on vaigistatud.", + "mute_modal.title": "Vaigistada kasutaja?", + "mute_modal.you_wont_see_mentions": "Sa ei näe postitusi, mis teda mainivad.", + "mute_modal.you_wont_see_posts": "Ta näeb jätkuvalt sinu postitusi, kuid sa ei näe tema omi.", "navigation_bar.about": "Teave", "navigation_bar.advanced_interface": "Ava kohandatud veebiliides", "navigation_bar.blocks": "Blokeeritud kasutajad", @@ -440,6 +472,10 @@ "notification.own_poll": "Su küsitlus on lõppenud", "notification.poll": "Küsitlus, milles osalesid, on lõppenud", "notification.reblog": "{name} jagas edasi postitust", + "notification.relationships_severance_event": "Kadunud ühendus kasutajaga {name}", + "notification.relationships_severance_event.account_suspension": "{from} admin on kustutanud {target}, mis tähendab, et sa ei saa enam neilt uuendusi või suhelda nendega.", + "notification.relationships_severance_event.domain_block": "{from} admin on blokeerinud {target}, sealhulgas {followersCount} sinu jälgijat ja {followingCount, plural, one {# konto} other {# kontot}}, mida jälgid.", + "notification.relationships_severance_event.learn_more": "Saa rohkem teada", "notification.status": "{name} just postitas", "notification.update": "{name} muutis postitust", "notification_requests.accept": "Nõus", @@ -450,6 +486,8 @@ "notifications.column_settings.admin.sign_up": "Uued kasutajad:", "notifications.column_settings.alert": "Töölauateated", "notifications.column_settings.favourite": "Lemmikud:", + "notifications.column_settings.filter_bar.advanced": "Näita kõiki kategooriaid", + "notifications.column_settings.filter_bar.category": "Kiirfiltri riba", "notifications.column_settings.follow": "Uued jälgijad:", "notifications.column_settings.follow_request": "Uued jälgimistaotlused:", "notifications.column_settings.mention": "Mainimised:", @@ -475,6 +513,7 @@ "notifications.permission_denied": "Töölauamärguanded pole saadaval, kuna eelnevalt keelduti lehitsejale teavituste luba andmast", "notifications.permission_denied_alert": "Töölaua märguandeid ei saa lubada, kuna brauseri luba on varem keeldutud", "notifications.permission_required": "Töölaua märguanded ei ole saadaval, kuna vajalik luba pole antud.", + "notifications.policy.filter_new_accounts.hint": "Loodud viimase {days, plural, one {ühe päeva} other {# päeva}} jooksul", "notifications.policy.filter_new_accounts_title": "Uued kontod", "notifications_permission_banner.enable": "Luba töölaua märguanded", "notifications_permission_banner.how_to_control": "Et saada teateid, ajal mil Mastodon pole avatud, luba töölauamärguanded. Saad täpselt määrata, mis tüüpi tegevused tekitavad märguandeid, kasutates peale teadaannete sisse lülitamist üleval olevat nuppu {icon}.", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index e587dbc52c..d982381c42 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -3,15 +3,15 @@ "about.contact": "Contacto:", "about.disclaimer": "Mastodon es software libere, de codice aperte, e un marca de Mastodon gGmbH.", "about.domain_blocks.no_reason_available": "Ration non disponibile", - "about.domain_blocks.preamble": "Mastodon generalmente permitte vider contento ab e interacter con usatores ab ulle altere servitor in le fediverso. Iste es le exceptiones que ha essite facite in iste servitor particular.", - "about.domain_blocks.silenced.explanation": "Generalmente non videras perfiles e contento de iste servitor, a minus que tu expressemente lo cerca o opta pro lo per sequer.", + "about.domain_blocks.preamble": "Mastodon generalmente permitte vider le contento de, e interager con, usatores de qualcunque altere servitor in le fediverso. Istes es le exceptiones que ha essite facite sur iste servitor particular.", + "about.domain_blocks.silenced.explanation": "Generalmente, tu non videra le profilos e le contento de iste servitor, excepte si tu expressemente cerca le contento o seque le profilos.", "about.domain_blocks.silenced.title": "Limitate", - "about.domain_blocks.suspended.explanation": "Nulle data de iste servitor essera processate, immagazinate o scambiate, faciente qualcunque interaction o communication con usatores de iste servitor impossibile.", + "about.domain_blocks.suspended.explanation": "Nulle datos de iste servitor essera processate, immagazinate o excambiate, rendente omne interaction o communication con usatores de iste servitor impossibile.", "about.domain_blocks.suspended.title": "Suspendite", - "about.not_available": "Iste information non faceva disponibile in iste servitor.", + "about.not_available": "Iste information non ha essite rendite disponibile sur iste servitor.", "about.rules": "Regulas del servitor", "account.account_note_header": "Nota", - "account.add_or_remove_from_list": "Adder o remover ab listas", + "account.add_or_remove_from_list": "Adder a, o remover de listas", "account.badges.group": "Gruppo", "account.block": "Blocar @{name}", "account.block_domain": "Blocar dominio {domain}", @@ -19,31 +19,31 @@ "account.blocked": "Blocate", "account.browse_more_on_origin_server": "Navigar plus sur le profilo original", "account.copy": "Copiar ligamine a profilo", - "account.direct": "Mentionar privatemente a @{name}", - "account.disable_notifications": "Stoppar le notificationes quando @{name} publica", + "account.direct": "Mentionar privatemente @{name}", + "account.disable_notifications": "Non plus notificar me quando @{name} publica", "account.domain_blocked": "Dominio blocate", "account.edit_profile": "Modificar profilo", - "account.enable_notifications": "Notifica me quando @{name} publica", + "account.enable_notifications": "Notificar me quando @{name} publica", "account.endorse": "Evidentiar sur le profilo", - "account.featured_tags.last_status_at": "Ultime message in {date}", + "account.featured_tags.last_status_at": "Ultime message publicate le {date}", "account.featured_tags.last_status_never": "Necun messages", "account.featured_tags.title": "Hashtags eminente de {name}", "account.follow": "Sequer", - "account.follow_back": "Sequer etiam", + "account.follow_back": "Sequer in retorno", "account.followers": "Sequitores", - "account.followers.empty": "Iste usator ancora non ha sequitores.", + "account.followers.empty": "Necuno seque ancora iste usator.", "account.followers_counter": "{count, plural, one {{counter} sequitor} other {{counter} sequitores}}", "account.following": "Sequente", - "account.follows.empty": "Iste usator ancora non seque nemo.", + "account.follows.empty": "Iste usator non seque ancora alcuno.", "account.go_to_profile": "Vader al profilo", "account.hide_reblogs": "Celar boosts de @{name}", - "account.in_memoriam": "In Memoriam.", + "account.in_memoriam": "In memoriam.", "account.languages": "Cambiar le linguas subscribite", - "account.link_verified_on": "Le proprietate de iste ligamine esseva verificate le {date}", - "account.locked_info": "Le stato de confidentialitate de iste conto es definite a blocate. Le proprietario revisa manualmente qui pote sequer lo.", + "account.link_verified_on": "Le proprietate de iste ligamine ha essite verificate le {date}", + "account.locked_info": "Le stato de confidentialitate de iste conto es definite como serrate. Le proprietario determina manualmente qui pote sequer le.", "account.media": "Multimedia", "account.mention": "Mentionar @{name}", - "account.moved_to": "{name} indicava que lor nove conto ora es:", + "account.moved_to": "{name} ha indicate que su nove conto ora es:", "account.mute": "Silentiar @{name}", "account.mute_notifications_short": "Silentiar le notificationes", "account.mute_short": "Silentiar", @@ -53,9 +53,9 @@ "account.posts": "Messages", "account.posts_with_replies": "Messages e responsas", "account.requested": "Attendente le approbation. Clicca pro cancellar le requesta de sequer", - "account.requested_follow": "{name} habeva requestate sequer te", + "account.requested_follow": "{name} ha requestate de sequer te", "account.share": "Compartir profilo de @{name}", - "account.show_reblogs": "Monstrar responsas de @{name}", + "account.show_reblogs": "Monstrar impulsos de @{name}", "account.statuses_counter": "{count, plural, one {{counter} message} other {{counter} messages}}", "account.unblock": "Disblocar @{name}", "account.unblock_domain": "Disblocar dominio {domain}", @@ -66,23 +66,26 @@ "account.unmute_notifications_short": "Non plus silentiar le notificationes", "account.unmute_short": "Non plus silentiar", "account_note.placeholder": "Clicca pro adder un nota", - "admin.dashboard.retention.average": "Median", + "admin.dashboard.retention.average": "Media", "admin.dashboard.retention.cohort_size": "Nove usatores", - "admin.impact_report.instance_followers": "Sequitores que nostre usatores poterea perder", - "admin.impact_report.instance_follows": "Sequitores que lor usatores poterea perder", - "alert.rate_limited.message": "Retenta depost {retry_time, time, medium}.", - "alert.unexpected.message": "Ocurreva un error inexpectate.", + "admin.impact_report.instance_followers": "Sequitores que nostre usatores perderea", + "admin.impact_report.instance_follows": "Sequitores que lor usatores perderea", + "alert.rate_limited.message": "Per favor retenta post {retry_time, time, medium}.", + "alert.unexpected.message": "Un error inexpectate ha occurrite.", "announcement.announcement": "Annuncio", "audio.hide": "Celar audio", - "bundle_column_error.error.title": "Oh, non!", + "block_modal.show_less": "Monstrar minus", + "block_modal.show_more": "Monstrar plus", + "block_modal.title": "Blocar usator?", + "bundle_column_error.error.title": "Oh, no!", "bundle_column_error.network.title": "Error de rete", "bundle_column_error.retry": "Tentar novemente", "bundle_column_error.return": "Retornar al initio", "bundle_modal_error.close": "Clauder", "bundle_modal_error.retry": "Tentar novemente", - "closed_registrations_modal.description": "Crear un conto in {domain} actualmente non es possibile, ma considera que tu non besonia un conto specific in {domain} pro usar Mastodon.", - "closed_registrations_modal.find_another_server": "Trovar altere servitor", - "column.about": "A proposito de", + "closed_registrations_modal.description": "Crear un conto in {domain} actualmente non es possibile, ma considera que non es necessari haber un conto specificamente sur {domain} pro usar Mastodon.", + "closed_registrations_modal.find_another_server": "Cercar un altere servitor", + "column.about": "A proposito", "column.blocks": "Usatores blocate", "column.bookmarks": "Marcapaginas", "column.community": "Chronologia local", @@ -90,7 +93,7 @@ "column.directory": "Navigar profilos", "column.domain_blocks": "Dominios blocate", "column.favourites": "Favoritos", - "column.firehose": "Fluxos in directe", + "column.firehose": "Fluxos in directo", "column.home": "Initio", "column.lists": "Listas", "column.mutes": "Usatores silentiate", @@ -103,7 +106,7 @@ "column_header.show_settings": "Monstrar le parametros", "column_subheading.settings": "Parametros", "community.column_settings.local_only": "Solmente local", - "community.column_settings.media_only": "Solmente medios", + "community.column_settings.media_only": "Solmente multimedia", "compose.language.change": "Cambiar le lingua", "compose.language.search": "Cercar linguas...", "compose.published.body": "Message publicate.", @@ -111,14 +114,14 @@ "compose.saved.body": "Message salvate.", "compose_form.direct_message_warning_learn_more": "Apprender plus", "compose_form.lock_disclaimer": "Tu conto non es {locked}. Quicunque pote sequer te pro vider tu messages solo pro sequitores.", - "compose_form.lock_disclaimer.lock": "blocate", - "compose_form.poll.duration": "Duration del inquesta", + "compose_form.lock_disclaimer.lock": "serrate", + "compose_form.poll.duration": "Durata del sondage", "compose_form.poll.multiple": "Selection multiple", "compose_form.poll.option_placeholder": "Option {number}", "compose_form.poll.single": "Seliger un", - "compose_form.poll.switch_to_multiple": "Cambiar inquesta pro permitter selectiones multiple", - "compose_form.poll.switch_to_single": "Cambiar inquesta pro permitter selection singule", - "compose_form.poll.type": "Stylo", + "compose_form.poll.switch_to_multiple": "Cambiar le sondage pro permitter selectiones multiple", + "compose_form.poll.switch_to_single": "Cambiar le sondage pro permitter selection singule", + "compose_form.poll.type": "Stilo", "compose_form.publish": "Publicar", "compose_form.publish_form": "Nove message", "compose_form.reply": "Responder", @@ -129,18 +132,19 @@ "confirmation_modal.cancel": "Cancellar", "confirmations.block.confirm": "Blocar", "confirmations.cancel_follow_request.confirm": "Retirar requesta", - "confirmations.cancel_follow_request.message": "Es tu secur que tu vole retirar tu requesta a sequer a {name}?", + "confirmations.cancel_follow_request.message": "Es tu secur que tu vole retirar tu requesta de sequer {name}?", "confirmations.delete.confirm": "Deler", "confirmations.delete.message": "Es tu secur que tu vole deler iste message?", "confirmations.delete_list.confirm": "Deler", "confirmations.delete_list.message": "Es tu secur que tu vole deler permanentemente iste lista?", + "confirmations.domain_block.confirm": "Blocar le servitor", "confirmations.edit.confirm": "Modificar", - "confirmations.logout.confirm": "Clauder le session", + "confirmations.logout.confirm": "Clauder session", "confirmations.logout.message": "Es tu secur que tu vole clauder le session?", "confirmations.mute.confirm": "Silentiar", "confirmations.reply.confirm": "Responder", "confirmations.unfollow.confirm": "Non plus sequer", - "confirmations.unfollow.message": "Es tu secur que tu vole non plus sequer {name}?", + "confirmations.unfollow.message": "Es tu secur que tu vole cessar de sequer {name}?", "conversation.delete": "Deler conversation", "conversation.mark_as_read": "Marcar como legite", "conversation.open": "Vider conversation", @@ -155,8 +159,11 @@ "disabled_account_banner.account_settings": "Parametros de conto", "disabled_account_banner.text": "Tu conto {disabledAccount} es actualmente disactivate.", "dismissable_banner.dismiss": "Dimitter", + "domain_block_modal.title": "Blocar dominio?", + "domain_block_modal.you_will_lose_followers": "Omne sequitores ab iste servitor essera removite.", + "domain_pill.server": "Servitor", "domain_pill.username": "Nomine de usator", - "embed.preview": "Hic es como il parera:", + "embed.preview": "Ecce como illlo parera:", "emoji_button.activity": "Activitate", "emoji_button.clear": "Rader", "emoji_button.custom": "Personalisate", @@ -170,16 +177,16 @@ "emoji_button.search_results": "Resultatos de recerca", "emoji_button.symbols": "Symbolos", "emoji_button.travel": "Viages e locos", - "empty_column.account_hides_collections": "Le usator ha seligite non facer iste information disponibile", + "empty_column.account_hides_collections": "Le usator non ha rendite iste information disponibile", "empty_column.account_suspended": "Conto suspendite", "empty_column.account_timeline": "Nulle messages hic!", "empty_column.account_unavailable": "Profilo non disponibile", "empty_column.blocks": "Tu non ha blocate alcun usator ancora.", "empty_column.domain_blocks": "Il non ha dominios blocate ancora.", - "empty_column.explore_statuses": "Nihil es in tendentias ora mesme. Retorna postea!", - "empty_column.favourited_statuses": "Tu non ha necun messages favorite ancora. Quando tu marca un como favorito, ille essera monstrate hic.", - "empty_column.followed_tags": "Tu ancora non ha sequite necun hashtags. Quando tu lo face, illes essera monstrate hic.", - "empty_column.hashtag": "Ancora non il ha nihil in iste hashtag.", + "empty_column.explore_statuses": "Il non ha tendentias in iste momento. Reveni plus tarde!", + "empty_column.favourited_statuses": "Tu non ha alcun message favorite ancora. Quando tu marca un message como favorite, illo apparera hic.", + "empty_column.followed_tags": "Tu non ha ancora sequite alcun hashtags. Quando tu lo face, illos apparera hic.", + "empty_column.hashtag": "Il non ha ancora alcun cosa in iste hashtag.", "errors.unexpected_crash.report_issue": "Signalar un defecto", "explore.search_results": "Resultatos de recerca", "explore.suggested_follows": "Personas", @@ -189,7 +196,7 @@ "explore.trending_tags": "Hashtags", "filter_modal.added.review_and_configure_title": "Parametros de filtro", "filter_modal.added.settings_link": "pagina de parametros", - "filter_modal.added.short_explanation": "Iste message esseva addite al sequente categoria de filtros: {title}.", + "filter_modal.added.short_explanation": "Iste message ha essite addite al sequente categoria de filtros: {title}.", "filter_modal.added.title": "Filtro addite!", "filter_modal.select_filter.prompt_new": "Nove categoria: {name}", "filter_modal.select_filter.search": "Cercar o crear", @@ -203,9 +210,9 @@ "follow_suggestions.personalized_suggestion": "Suggestion personalisate", "follow_suggestions.popular_suggestion": "Suggestion personalisate", "follow_suggestions.view_all": "Vider toto", - "footer.about": "A proposito de", + "footer.about": "A proposito", "footer.directory": "Directorio de profilos", - "footer.get_app": "Obtene le application", + "footer.get_app": "Obtener le application", "footer.invite": "Invitar personas", "footer.keyboard_shortcuts": "Accessos directe de claviero", "footer.privacy_policy": "Politica de confidentialitate", @@ -221,24 +228,25 @@ "hashtag.follow": "Sequer hashtag", "hashtag.unfollow": "Non sequer plus le hashtag", "hashtags.and_other": "…e {count, plural, one {}other {# plus}}", - "home.column_settings.show_reblogs": "Monstrar boosts", + "home.column_settings.show_reblogs": "Monstrar impulsos", "home.column_settings.show_replies": "Monstrar responsas", "home.hide_announcements": "Celar annuncios", "home.pending_critical_update.body": "Actualisa tu servitor de Mastodon le plus tosto possibile!", "home.pending_critical_update.link": "Vider actualisationes", "home.pending_critical_update.title": "Actualisation de securitate critic disponibile!", "home.show_announcements": "Monstrar annuncios", - "interaction_modal.login.prompt": "Dominio de tu servitor, p.e. mastodon.social", + "interaction_modal.login.prompt": "Dominio de tu servitor, p.ex. mastodon.social", "interaction_modal.no_account_yet": "Non sur Mstodon?", - "interaction_modal.on_another_server": "In un servitor differente", - "interaction_modal.on_this_server": "In iste servitor", + "interaction_modal.on_another_server": "Sur un altere servitor", + "interaction_modal.on_this_server": "Sur iste servitor", "interaction_modal.title.follow": "Sequer {name}", - "interaction_modal.title.reblog": "Facer boost al message de {name}", + "interaction_modal.title.reblog": "Impulsar le message de {name}", "interaction_modal.title.reply": "Responder al message de {name}", "keyboard_shortcuts.blocked": "Aperir lista de usatores blocate", - "keyboard_shortcuts.boost": "Facer boost al message", + "keyboard_shortcuts.boost": "Impulsar le message", "keyboard_shortcuts.description": "Description", "keyboard_shortcuts.enter": "Aperir message", + "keyboard_shortcuts.favourite": "Message favorite", "keyboard_shortcuts.favourites": "Aperir lista de favoritos", "keyboard_shortcuts.federated": "Aperir le chronologia federate", "keyboard_shortcuts.heading": "Accessos directe de claviero", @@ -247,22 +255,22 @@ "keyboard_shortcuts.muted": "Aperir lista de usatores silentiate", "keyboard_shortcuts.my_profile": "Aperir tu profilo", "keyboard_shortcuts.notifications": "Aperir columna de notificationes", - "keyboard_shortcuts.open_media": "Aperir medio", + "keyboard_shortcuts.open_media": "Aperir multimedia", "keyboard_shortcuts.profile": "Aperir le profilo del autor", "keyboard_shortcuts.reply": "Responder al message", "keyboard_shortcuts.spoilers": "Monstrar/celar le campo CW", - "keyboard_shortcuts.toggle_sensitivity": "Monstrar/celar medios", + "keyboard_shortcuts.toggle_sensitivity": "Monstrar/celar multimedia", "keyboard_shortcuts.toot": "Initiar un nove message", "lightbox.close": "Clauder", "lightbox.next": "Sequente", "lightbox.previous": "Precedente", "link_preview.author": "Per {name}", "lists.account.add": "Adder al lista", - "lists.account.remove": "Remover ab le lista", + "lists.account.remove": "Remover del lista", "lists.delete": "Deler lista", "lists.edit": "Modificar lista", "lists.edit.submit": "Cambiar titulo", - "lists.exclusive": "Celar iste messages ab le initio", + "lists.exclusive": "Celar iste messages sur le pagina de initio", "lists.new.create": "Adder lista", "lists.new.title_placeholder": "Nove titulo del lista", "lists.replies_policy.none": "Nemo", @@ -270,8 +278,10 @@ "lists.subheading": "Tu listas", "loading_indicator.label": "Cargante…", "media_gallery.toggle_visible": "{number, plural, one {Celar imagine} other {Celar imagines}}", - "navigation_bar.about": "A proposito de", - "navigation_bar.advanced_interface": "Aperir in un interfacie web avantiate", + "mute_modal.hide_options": "Celar optiones", + "mute_modal.title": "Silentiar le usator?", + "navigation_bar.about": "A proposito", + "navigation_bar.advanced_interface": "Aperir in le interfacie web avantiate", "navigation_bar.blocks": "Usatores blocate", "navigation_bar.bookmarks": "Marcapaginas", "navigation_bar.community_timeline": "Chronologia local", @@ -291,14 +301,18 @@ "navigation_bar.public_timeline": "Chronologia federate", "navigation_bar.search": "Cercar", "navigation_bar.security": "Securitate", - "notification.own_poll": "Tu inquesta finiva", - "notification.update": "{name} modificava un message", + "notification.own_poll": "Tu sondage ha finite", + "notification.relationships_severance_event.learn_more": "Apprender plus", + "notification.update": "{name} ha modificate un message", + "notification_requests.notifications_from": "Notificationes de {name}", "notifications.clear": "Rader notificationes", + "notifications.clear_confirmation": "Es tu secur que tu vole rader permanentemente tote tu notificationes?", "notifications.column_settings.alert": "Notificationes de scriptorio", "notifications.column_settings.favourite": "Favoritos:", + "notifications.column_settings.filter_bar.advanced": "Monstrar tote le categorias", "notifications.column_settings.follow": "Nove sequitores:", "notifications.column_settings.mention": "Mentiones:", - "notifications.column_settings.poll": "Resultatos del inquesta:", + "notifications.column_settings.poll": "Resultatos del sondage:", "notifications.column_settings.push": "Notificationes push", "notifications.column_settings.show": "Monstrar in columna", "notifications.column_settings.sound": "Reproducer sono", @@ -307,10 +321,11 @@ "notifications.filter.all": "Toto", "notifications.filter.favourites": "Favoritos", "notifications.filter.mentions": "Mentiones", - "notifications.filter.polls": "Resultatos del inquesta", + "notifications.filter.polls": "Resultatos del sondage", "notifications.filter.statuses": "Actualisationes de personas que tu seque", "notifications.grant_permission": "Conceder permission.", "notifications.group": "{count} notificationes", + "notifications.policy.filter_new_accounts_title": "Nove contos", "notifications_permission_banner.enable": "Activar notificationes de scriptorio", "onboarding.compose.template": "Salute #Mastodon!", "onboarding.profile.save_and_continue": "Salvar e continuar", @@ -322,7 +337,7 @@ "onboarding.steps.share_profile.title": "Compartir tu profilo de Mastodon", "poll.closed": "Claudite", "poll.reveal": "Vider le resultatos", - "privacy.change": "Cambiar privacitate del message", + "privacy.change": "Cambiar le confidentialitate del message", "privacy.public.short": "Public", "privacy_policy.last_updated": "Ultime actualisation {date}", "privacy_policy.title": "Politica de confidentialitate", @@ -333,7 +348,7 @@ "report.categories.other": "Alteres", "report.category.title_account": "profilo", "report.category.title_status": "message", - "report.close": "Preste", + "report.close": "Facite", "report.mute": "Silentiar", "report.next": "Sequente", "report.placeholder": "Commentos additional", @@ -358,14 +373,14 @@ "server_banner.learn_more": "Apprender plus", "server_banner.server_stats": "Statos del servitor:", "sign_in_banner.create_account": "Crear un conto", - "sign_in_banner.sign_in": "Initiar le session", + "sign_in_banner.sign_in": "Aperir session", "status.block": "Blocar @{name}", "status.copy": "Copiar ligamine a message", "status.delete": "Deler", - "status.direct": "Mentionar privatemente a @{name}", + "status.direct": "Mentionar privatemente @{name}", "status.direct_indicator": "Mention private", "status.edit": "Modificar", - "status.edited_x_times": "Modificate {count, plural, one {{count} tempore} other {{count} tempores}}", + "status.edited_x_times": "Modificate {count, plural, one {{count} vice} other {{count} vices}}", "status.favourite": "Adder al favoritos", "status.filter": "Filtrar iste message", "status.hide": "Celar le message", @@ -376,20 +391,37 @@ "status.more": "Plus", "status.mute_conversation": "Silentiar conversation", "status.read_more": "Leger plus", + "status.reblogs.empty": "Necuno ha ancora impulsate iste message. Quando alcuno lo face, le impulsos apparera hic.", + "status.redraft": "Deler e reconciper", + "status.remove_bookmark": "Remover marcapagina", + "status.replied_to": "Respondite a {name}", + "status.reply": "Responder", + "status.replyAll": "Responder al discussion", + "status.report": "Signalar @{name}", + "status.sensitive_warning": "Contento sensibile", "status.share": "Compartir", + "status.show_filter_reason": "Monstrar in omne caso", "status.show_less": "Monstrar minus", + "status.show_less_all": "Monstrar minus pro totes", "status.show_more": "Monstrar plus", + "status.show_more_all": "Monstrar plus pro totes", + "status.show_original": "Monstrar original", + "status.title.with_attachments": "{user} ha publicate {attachmentCount, plural, one {un annexo} other {{attachmentCount} annexos}}", "status.translate": "Traducer", "status.translated_from_with": "Traducite ab {lang} usante {provider}", "status.uncached_media_warning": "Previsualisation non disponibile", + "status.unmute_conversation": "Non plus silentiar conversation", + "status.unpin": "Disfixar del profilo", + "subscribed_languages.lead": "Solmente le messages in le linguas seligite apparera in tu chronologias de initio e de listas post le cambiamento. Selige necun pro reciper messages in tote le linguas.", "subscribed_languages.save": "Salveguardar le cambiamentos", + "subscribed_languages.target": "Cambiar le linguas subscribite pro {target}", "tabs_bar.home": "Initio", "tabs_bar.notifications": "Notificationes", "timeline_hint.resources.statuses": "Messages ancian", "trends.trending_now": "Ora in tendentias", "upload_button.label": "Adde imagines, un video o un file de audio", "upload_modal.choose_image": "Seliger un imagine", - "upload_modal.detect_text": "Deteger texto ab un pictura", + "upload_modal.detect_text": "Deteger texto de un imagine", "video.close": "Clauder le video", "video.download": "Discargar le file", "video.fullscreen": "Schermo plen", diff --git a/app/javascript/mastodon/locales/ie.json b/app/javascript/mastodon/locales/ie.json index 17f312418d..00b6a36c9f 100644 --- a/app/javascript/mastodon/locales/ie.json +++ b/app/javascript/mastodon/locales/ie.json @@ -91,6 +91,9 @@ "audio.hide": "Celar audio", "block_modal.show_less": "Monstrar minu", "block_modal.show_more": "Monstrar plu", + "block_modal.they_cant_mention": "Ne posse mentionar ni sequer te.", + "block_modal.they_cant_see_posts": "Ne posse vider tui postas e inversi.", + "block_modal.they_will_know": "Va esser conscient que tu ha bloccat.", "block_modal.title": "Bloccar usator?", "block_modal.you_wont_see_mentions": "Tu ne va vider postas mentionant li usator.", "boost_modal.combo": "Li proxim vez tu posse pressar {combo} por passar to-ci", @@ -206,6 +209,16 @@ "dismissable_banner.explore_tags": "Tis-ci es hashtags queles es popular che li social retage hodie. Hashtags usat de plu mult persones diferent es monstrat plu alt.", "dismissable_banner.public_timeline": "Tis-ci es li max recent public postas de persones che li social retage quem gente che {domain} seque.", "domain_block_modal.block": "Bloccar servitor", + "domain_block_modal.block_account_instead": "Altrimen, bloccar @{name}", + "domain_block_modal.they_can_interact_with_old_posts": "Persones de ti servitor posse interacter con tui old postas.", + "domain_block_modal.they_cant_follow": "Nequi de ti-ci servitor posse sequer te.", + "domain_pill.activitypub_like_language": "ActivityPub es li lingue usat de Mastodon por parlar con altri social retages.", + "domain_pill.server": "Servitor", + "domain_pill.their_handle": "Identificator:", + "domain_pill.their_server": "Su digital hem e omni su postas.", + "domain_pill.username": "Usator-nómine", + "domain_pill.whats_in_a_handle": "Ex quo consiste un identificator?", + "domain_pill.your_handle": "Tui identificator:", "embed.instructions": "Inbedar ti-ci posta per copiar li code in infra.", "embed.preview": "Vi qualmen it va aspecter:", "emoji_button.activity": "Activitá", @@ -242,6 +255,7 @@ "empty_column.list": "Ancor ne hay quocunc in ti-ci liste. Quande membres de ti-ci liste publica nov postas, ili va aparir ci.", "empty_column.lists": "Tu ancor have null listes. Quande tu crea un, it va aparir ci.", "empty_column.mutes": "Tu ancor ha silentiat null usatores.", + "empty_column.notification_requests": "Omnicos clar! Hay necos ci. Nov notificationes va venir ci quande tu recive les secun tui parametres.", "empty_column.notifications": "Tu have null notificationes. Quande altri persones interacte con te, tu va vider it ci.", "empty_column.public": "Hay nullcos ci! Scri alquo publicmen, o manualmen seque usatores de altri servitores por plenar to-ci", "error.unexpected_crash.explanation": "Pro un error in nor code o un problema de compatibilitá in li navigator, ti-ci págine ne posset esser monstrat correctmen.", @@ -272,6 +286,9 @@ "filter_modal.select_filter.subtitle": "Usar un existent categorie o crear nov", "filter_modal.select_filter.title": "Filtrar ti-ci posta", "filter_modal.title.status": "Filtrar un posta", + "filtered_notifications_banner.pending_requests": "Notificationes de {count, plural, =0 {nequi} one {un person} other {# persones}} quel tu possibilmen conosse", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privat mention} other {privat mentiones}}", + "filtered_notifications_banner.title": "Filtrat notificationes", "firehose.all": "Omno", "firehose.local": "Ti-ci servitor", "firehose.remote": "Altri servitores", @@ -400,6 +417,13 @@ "loading_indicator.label": "Cargant…", "media_gallery.toggle_visible": "{number, plural, one {Celar image} other {Celar images}}", "moved_to_account_banner.text": "Tui conto {disabledAccount} es actualmen desactivisat pro que tu movet te a {movedToAccount}.", + "mute_modal.hide_from_notifications": "Celar de notificationes", + "mute_modal.hide_options": "Celar optiones", + "mute_modal.indefinite": "Til quande yo dessilentia li usator", + "mute_modal.show_options": "Monstrar optiones", + "mute_modal.they_can_mention_and_follow": "Posse mentionar e sequer te, ma va esser ínvisibil a te.", + "mute_modal.they_wont_know": "Ne va esser conscient pri li silentation.", + "mute_modal.title": "Silentiar usator?", "navigation_bar.about": "Information", "navigation_bar.advanced_interface": "Aperter in li web-interfacie avansat", "navigation_bar.blocks": "Bloccat usatores", @@ -435,14 +459,20 @@ "notification.own_poll": "Tui balotation ha finit", "notification.poll": "Un balotation in quel tu votat ha finit", "notification.reblog": "{name} boostat tui posta", + "notification.relationships_severance_event.learn_more": "Aprender plu", "notification.status": "{name} just postat", "notification.update": "{name} modificat un posta", + "notification_requests.accept": "Acceptar", + "notification_requests.dismiss": "Demisser", + "notification_requests.notifications_from": "Notificationes de {name}", + "notification_requests.title": "Filtrat notificationes", "notifications.clear": "Aclarar notificationes", "notifications.clear_confirmation": "Vole tu vermen permanentmen aclarar omni tui notificationes?", "notifications.column_settings.admin.report": "Nov raportas:", "notifications.column_settings.admin.sign_up": "Nov registrationes:", "notifications.column_settings.alert": "Notificationes sur li computator", "notifications.column_settings.favourite": "Favorites:", + "notifications.column_settings.filter_bar.advanced": "Monstrar omni categories", "notifications.column_settings.follow": "Nov sequitores:", "notifications.column_settings.follow_request": "Nov petitiones de sequer:", "notifications.column_settings.mention": "Mentiones:", @@ -468,6 +498,15 @@ "notifications.permission_denied": "Notificationes sur li computator es índisponibil pro que on ha previamen rejectet un petition por navigator-permissiones", "notifications.permission_denied_alert": "Notificationes sur li computator ne posse esser activisat, pro que navigator-permission ha esset previamen rejectet", "notifications.permission_required": "Notificationes sur li computator es índisponibil pro que li besonat permission ne ha esset dat.", + "notifications.policy.filter_new_accounts.hint": "Creat durant li passat {days, plural, one {un die} other {# dies}}", + "notifications.policy.filter_new_accounts_title": "Nov contos", + "notifications.policy.filter_not_followers_hint": "Includente tis qui ha sequet te minu quam {days, plural, one {un die} other {# dies}}", + "notifications.policy.filter_not_followers_title": "Persones qui ne seque te", + "notifications.policy.filter_not_following_hint": "Til quande tu manualmen aproba", + "notifications.policy.filter_not_following_title": "Persones queles tu ne seque", + "notifications.policy.filter_private_mentions_hint": "Filtrat except si it es un response a tui propri mention o si tu seque li missor", + "notifications.policy.filter_private_mentions_title": "Ínsolicitat privat mentiones", + "notifications.policy.title": "Filtrar notificationes de…", "notifications_permission_banner.enable": "Activisar notificationes sur li computator", "notifications_permission_banner.how_to_control": "Por reciver notificationes quande Mastodon ne es apert, activisa notificationes sur li computator. Tu posse decider precisimen quel species de interactiones genera notificationes per li buton {icon} in-supra quande ili es activisat.", "notifications_permission_banner.title": "Nequande preterlassa quocunc", @@ -644,9 +683,11 @@ "status.direct": "Privatmen mentionar @{name}", "status.direct_indicator": "Privat mention", "status.edit": "Modificar", + "status.edited": "Ultimmen actualisat ye {date}", "status.edited_x_times": "Modificat {count, plural, one {{count} vez} other {{count} vezes}}", "status.embed": "Inbedar", "status.favourite": "Favoritisar", + "status.favourites": "{count, plural, one {favorit} other {favorites}}", "status.filter": "Filtrar ti-ci posta", "status.filtered": "Filtrat", "status.hide": "Celar posta", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index a6f26bfcee..d7e447626e 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -174,7 +174,7 @@ "confirmations.delete.confirm": "Elimina", "confirmations.delete.message": "Sei sicuro di voler eliminare questo post?", "confirmations.delete_list.confirm": "Elimina", - "confirmations.delete_list.message": "Sei sicuro di voler eliminare permanentemente questa lista?", + "confirmations.delete_list.message": "Sei sicuro/a di voler eliminare permanentemente questo elenco?", "confirmations.discard_edit_media.confirm": "Scarta", "confirmations.discard_edit_media.message": "Hai delle modifiche non salvate alla descrizione o anteprima del media, scartarle comunque?", "confirmations.domain_block.confirm": "Blocca il server", @@ -263,8 +263,8 @@ "empty_column.followed_tags": "Non hai ancora seguito alcun hashtag. Quando lo farai, appariranno qui.", "empty_column.hashtag": "Non c'è ancora nulla in questo hashtag.", "empty_column.home": "La cronologia della tua home è vuota! Segui altre persone per riempirla. {suggestions}", - "empty_column.list": "Non c'è ancora nulla in questa lista. Quando i membri di questa lista pubblicheranno dei nuovi post, appariranno qui.", - "empty_column.lists": "Non hai ancora alcuna lista. Quando ne creerai una, apparirà qui.", + "empty_column.list": "Non c'è ancora nulla in questo elenco. Quando i membri di questo elenco pubblicheranno nuovi post, appariranno qui.", + "empty_column.lists": "Non hai ancora nessun elenco. Quando ne creerai uno, apparirà qui.", "empty_column.mutes": "Non hai ancora silenziato alcun utente.", "empty_column.notification_requests": "Tutto chiaro! Non c'è niente qui. Quando ricevi nuove notifiche, verranno visualizzate qui in base alle tue impostazioni.", "empty_column.notifications": "Non hai ancora nessuna notifica. Quando altre persone interagiranno con te, le vedrai qui.", @@ -410,20 +410,20 @@ "limited_account_hint.action": "Mostra comunque il profilo", "limited_account_hint.title": "Questo profilo è stato nascosto dai moderatori di {domain}.", "link_preview.author": "Di {name}", - "lists.account.add": "Aggiungi alla lista", - "lists.account.remove": "Togli dalla lista", - "lists.delete": "Elimina lista", - "lists.edit": "Modifica lista", + "lists.account.add": "Aggiungi all'elenco", + "lists.account.remove": "Rimuovi dall'elenco", + "lists.delete": "Elimina elenco", + "lists.edit": "Modifica elenco", "lists.edit.submit": "Cambia il titolo", "lists.exclusive": "Nascondi questi post dalla home", "lists.new.create": "Aggiungi lista", - "lists.new.title_placeholder": "Titolo della nuova lista", + "lists.new.title_placeholder": "Titolo del nuovo elenco", "lists.replies_policy.followed": "Qualsiasi utente seguito", - "lists.replies_policy.list": "Membri della lista", + "lists.replies_policy.list": "Membri dell'elenco", "lists.replies_policy.none": "Nessuno", "lists.replies_policy.title": "Mostra risposte a:", "lists.search": "Cerca tra le persone che segui", - "lists.subheading": "Le tue liste", + "lists.subheading": "I tuoi elenchi", "load_pending": "{count, plural, one {# nuovo oggetto} other {# nuovi oggetti}}", "loading_indicator.label": "Caricamento…", "media_gallery.toggle_visible": "{number, plural, one {Nascondi immagine} other {Nascondi immagini}}", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 9dff305271..3bf89fedca 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -217,6 +217,19 @@ "domain_block_modal.title": "ドメインをブロックしますか?", "domain_block_modal.you_will_lose_followers": "このサーバーのフォロワーはすべてフォロー解除されます。", "domain_block_modal.you_wont_see_posts": "このサーバーのユーザーからの投稿や通知が閲覧できなくなります。", + "domain_pill.activitypub_lets_connect": "Mastodonからほかのソーシャルアプリのユーザーへ、そのまた別のアプリのユーザーへと、それぞれが互いにつながり関わり合うことをこのActivityPubの仕組みが実現しています。", + "domain_pill.activitypub_like_language": "ActivityPubとは、Mastodonがほかのサーバーと会話をするときにしゃべる「言葉」のようなものです。", + "domain_pill.server": "サーバー", + "domain_pill.their_handle": "このユーザーのユーザーID:", + "domain_pill.their_server": "ユーザーの仮想の住所です。そのユーザーIDによるすべての投稿を保持しています。", + "domain_pill.their_username": "ユーザーを識別する名前です。ユーザー名はひとつのサーバー内においては唯一無二の名前ですが、ほかのサーバーには同名のユーザーがいることもあります。", + "domain_pill.username": "ユーザー名", + "domain_pill.whats_in_a_handle": "ユーザーIDについて", + "domain_pill.who_they_are": "そのユーザーが「誰であるか」「どこに住んでいるか」はユーザーIDから知ることができます。これによりの集まりからなるネットワークを介してそれぞれのユーザーと関わり合うことができます。", + "domain_pill.who_you_are": "ほかのユーザーはあなたが「誰であるか」「どこに住んでいるか」をユーザーIDから認識でき、これによりの集まりからなるネットワークを介してあなたと関わり合うことができます。", + "domain_pill.your_handle": "あなたのユーザーID:", + "domain_pill.your_server": "あなたの仮想の住所です。投稿した内容はすべてここに保持されます。もし今いるサーバーが気に入っていない場合は、フォロワーを引き継いで別のサーバーに引っ越すこともできます。", + "domain_pill.your_username": "あなたを識別する名前です。ユーザー名はひとつのサーバー内においては唯一無二の名前ですが、ほかのサーバーには同名のユーザーがいることもあります。", "embed.instructions": "下記のコードをコピーしてウェブサイトに埋め込みます。", "embed.preview": "表示例:", "emoji_button.activity": "活動", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index dd76baaf67..898f3b1ce2 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -457,6 +457,7 @@ "notification.own_poll": "Tu anketa eskapo", "notification.poll": "Anketa en ke votates eskapo", "notification.reblog": "{name} repartajo tu publikasyon", + "notification.relationships_severance_event.learn_more": "Ambezate mas", "notification.status": "{name} publiko algo", "notification.update": "{name} edito una publikasyon", "notification_requests.accept": "Acheta", @@ -469,6 +470,8 @@ "notifications.column_settings.admin.sign_up": "Muevas enrejistrasyones:", "notifications.column_settings.alert": "Avizos de ensimameza", "notifications.column_settings.favourite": "Te plazen:", + "notifications.column_settings.filter_bar.advanced": "Amostra todas las kategorias", + "notifications.column_settings.filter_bar.category": "Vara de filtrado rapido", "notifications.column_settings.follow": "Muevos suivantes:", "notifications.column_settings.follow_request": "Muevas solisitudes de segimiento:", "notifications.column_settings.mention": "Enmentaduras:", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 7a60f3bb7c..7ff98ba53b 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -89,6 +89,14 @@ "announcement.announcement": "Объявление", "attachments_list.unprocessed": "(не обработан)", "audio.hide": "Скрыть аудио", + "block_modal.remote_users_caveat": "Мы попросим сервер {domain} уважать ваше решение. Однако, соблюдение требований не гарантировано, поскольку некоторые серверы могут работать с блокировками по-разному. Публичные записи по-прежнему могут быть видны неавторизованным пользователям.", + "block_modal.show_less": "Показать меньше", + "block_modal.show_more": "Показать больше", + "block_modal.they_cant_mention": "Он не может упоминать или подписываться на вас.", + "block_modal.they_cant_see_posts": "Он не может видеть ваши сообщения, и вы не увидите его.", + "block_modal.they_will_know": "Он может видеть, что он заблокирован.", + "block_modal.title": "Заблокировать пользователя?", + "block_modal.you_wont_see_mentions": "Вы не увидите записи, которые упоминают его.", "boost_modal.combo": "{combo}, чтобы пропустить это в следующий раз", "bundle_column_error.copy_stacktrace": "Скопировать отчет об ошибке", "bundle_column_error.error.body": "Запрошенная страница не может быть отображена. Это может быть вызвано ошибкой в нашем коде или проблемой совместимости браузера.", @@ -169,6 +177,7 @@ "confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?", "confirmations.discard_edit_media.confirm": "Отменить", "confirmations.discard_edit_media.message": "У вас есть несохранённые изменения описания мультимедиа или предпросмотра, отменить их?", + "confirmations.domain_block.confirm": "Заблокировать сервер", "confirmations.domain_block.message": "Вы точно уверены, что хотите заблокировать {domain} полностью? В большинстве случаев нескольких блокировок и игнорирований вполне достаточно. Вы перестанете видеть публичную ленту и уведомления оттуда. Ваши подписчики из этого домена будут удалены.", "confirmations.edit.confirm": "Редактировать", "confirmations.edit.message": "В данный момент, редактирование перезапишет составляемое вами сообщение. Вы уверены, что хотите продолжить?", @@ -200,6 +209,27 @@ "dismissable_banner.explore_statuses": "Эти сообщения со связанных серверов сети сейчас набирают популярность.", "dismissable_banner.explore_tags": "Эти хэштеги привлекают людей на этом и других серверах децентрализованной сети прямо сейчас.", "dismissable_banner.public_timeline": "Это самые последние публичные сообщения от людей в социальной сети, за которыми подписались пользователи {domain}.", + "domain_block_modal.block": "Заблокировать сервер", + "domain_block_modal.block_account_instead": "Заблокировать @{name} вместо", + "domain_block_modal.they_can_interact_with_old_posts": "Люди с этого сервера могут взаимодействовать с вашими старыми записями.", + "domain_block_modal.they_cant_follow": "Никто из этого сервера не может подписываться на вас.", + "domain_block_modal.they_wont_know": "Он не будет знать, что его заблокировали.", + "domain_block_modal.title": "Заблокировать домен?", + "domain_block_modal.you_will_lose_followers": "Все ваши подписчики с этого сервера будут удалены.", + "domain_block_modal.you_wont_see_posts": "Вы не будете видеть записи или уведомления от пользователей на этом сервере.", + "domain_pill.activitypub_lets_connect": "Это позволяет вам общаться и взаимодействовать с людьми не только на Mastodon, но и в различных социальных приложениях.", + "domain_pill.activitypub_like_language": "ActivityPub как язык Mastodon говорит с другими социальными сетями.", + "domain_pill.server": "Сервер", + "domain_pill.their_handle": "Его бейдж:", + "domain_pill.their_server": "Цифровой дом, где находятся все записи.", + "domain_pill.their_username": "Уникальный идентификатор на сервере. Возможно найти пользователей с одним и тем же именем пользователя на разных серверах.", + "domain_pill.username": "Имя пользователя", + "domain_pill.whats_in_a_handle": "Что такое бейдж?", + "domain_pill.who_they_are": "Поскольку бейджи говорят о том, кто и где находится, вы можете взаимодействовать с людьми в социальной сети .", + "domain_pill.who_you_are": "Поскольку ваш бейдж говорит о том, кто вы и где находитесь, люди могут взаимодействовать с вами через социальную сеть .", + "domain_pill.your_handle": "Ваш бейдж:", + "domain_pill.your_server": "Сервер, где живут все ваши посты. Этот не нравится? Поменяй сервер в любое время вместе со своими подписчиками.", + "domain_pill.your_username": "Ваш уникальный идентификатор на этом сервере. Вы можете найти пользователей с одним именем пользователя на разных серверах.", "embed.instructions": "Встройте этот пост на свой сайт, скопировав следующий код:", "embed.preview": "Так это будет выглядеть:", "emoji_button.activity": "Занятия", @@ -236,6 +266,7 @@ "empty_column.list": "В этом списке пока ничего нет.", "empty_column.lists": "У вас ещё нет списков. Созданные вами списки будут показаны здесь.", "empty_column.mutes": "Вы ещё никого не добавляли в список игнорируемых.", + "empty_column.notification_requests": "Здесь ничего нет! Когда вы получите новые уведомления, они здесь появятся согласно вашим настройкам.", "empty_column.notifications": "У вас пока нет уведомлений. Взаимодействуйте с другими, чтобы завести разговор.", "empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту", "error.unexpected_crash.explanation": "Из-за несовместимого браузера или ошибки в нашем коде, эта страница не может быть корректно отображена.", @@ -266,13 +297,22 @@ "filter_modal.select_filter.subtitle": "Используйте существующую категорию или создайте новую", "filter_modal.select_filter.title": "Фильтровать этот пост", "filter_modal.title.status": "Фильтровать пост", + "filtered_notifications_banner.pending_requests": "Уведомления от {count, plural, =0 {никого} one {# человека} other {# других людей, с кем вы можете быть знакомы}}", + "filtered_notifications_banner.private_mentions": "{count, plural, one {личное упоминание} other {личные упоминания}}", + "filtered_notifications_banner.title": "Отфильтрованные уведомления", "firehose.all": "Все", "firehose.local": "Текущий сервер", "firehose.remote": "Другие серверы", "follow_request.authorize": "Авторизовать", "follow_request.reject": "Отказать", "follow_requests.unlocked_explanation": "Хотя ваша учетная запись не закрыта, команда {domain} подумала, что вы захотите просмотреть запросы от этих учетных записей вручную.", + "follow_suggestions.curated_suggestion": "Выбор администрации", "follow_suggestions.dismiss": "Больше не показывать", + "follow_suggestions.hints.featured": "Этот профиль был вручную выбран командой {domain}.", + "follow_suggestions.hints.friends_of_friends": "Этот профиль популярен среди людей, на которых вы подписаны.", + "follow_suggestions.hints.most_followed": "Этот профиль один из самых отслеживаемых на {domain}.", + "follow_suggestions.hints.most_interactions": "Этот профиль в последнее время привлекает много внимания на {domain}.", + "follow_suggestions.hints.similar_to_recently_followed": "Этот профиль похож на другие профили, на которые вы подписывались в последнее время.", "follow_suggestions.personalized_suggestion": "Персонализированное предложение", "follow_suggestions.popular_suggestion": "Популярное предложение", "follow_suggestions.view_all": "Посмотреть все", @@ -388,6 +428,15 @@ "loading_indicator.label": "Загрузка…", "media_gallery.toggle_visible": "Показать/скрыть {number, plural, =1 {изображение} other {изображения}}", "moved_to_account_banner.text": "Ваша учетная запись {disabledAccount} в настоящее время заморожена, потому что вы переехали на {movedToAccount}.", + "mute_modal.hide_from_notifications": "Скрыть из уведомлений", + "mute_modal.hide_options": "Скрыть параметры", + "mute_modal.indefinite": "Пока я не разблокирую их", + "mute_modal.show_options": "Показать опции", + "mute_modal.they_can_mention_and_follow": "Они могут упоминать и следить за вами, но вы не будете их видеть.", + "mute_modal.they_wont_know": "Они не будут знать, что их заглушили.", + "mute_modal.title": "Заглушить пользователя?", + "mute_modal.you_wont_see_mentions": "Вы не увидите постов, которые их упоминают.", + "mute_modal.you_wont_see_posts": "Они по-прежнему смогут видеть ваши посты, но вы не сможете видеть их посты.", "navigation_bar.about": "О проекте", "navigation_bar.advanced_interface": "Включить многоколоночный интерфейс", "navigation_bar.blocks": "Заблокированные пользователи", @@ -423,8 +472,17 @@ "notification.own_poll": "Ваш опрос закончился", "notification.poll": "Опрос, в котором вы приняли участие, завершился", "notification.reblog": "{name} продвинул(а) ваш пост", + "notification.relationships_severance_event": "Потеряно соединение с {name}", + "notification.relationships_severance_event.account_suspension": "Администратор {from} заблокировал {target}, что означает, что вы больше не сможете получать обновления от них или взаймодествовать с ними.", + "notification.relationships_severance_event.domain_block": "Администратор {from} заблокировал {target} включая {followersCount} ваших подписчиков и {followingCount, plural, one {# аккаунт} few {# аккаунта} other {# аккаунтов}}, на которые вы подписаны.", + "notification.relationships_severance_event.learn_more": "Узнать больше", + "notification.relationships_severance_event.user_domain_block": "Вы заблокировали {target} включая {followersCount} ваших подписчиков и {followingCount, plural, one {# аккаунт} few {# аккаунта} other {# аккаунтов}}, на которые вы подписаны.", "notification.status": "{name} только что запостил", "notification.update": "{name} изменил(а) пост", + "notification_requests.accept": "Принять", + "notification_requests.dismiss": "Отклонить", + "notification_requests.notifications_from": "Уведомления от {name}", + "notification_requests.title": "Отфильтрованные уведомления", "notifications.clear": "Очистить уведомления", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", "notifications.column_settings.admin.report": "Новые жалобы:", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 770daf3786..85511df8cc 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -220,8 +220,15 @@ "domain_pill.activitypub_lets_connect": "Det låter dig ansluta och interagera med människor inte bara på Mastodon, men även på andra sociala appar.", "domain_pill.activitypub_like_language": "ActivityPub är som språket Mastodon talar med andra sociala nätverk.", "domain_pill.server": "Server", + "domain_pill.their_handle": "Deras handtag:", + "domain_pill.their_server": "Deras digitala hem, där alla deras tjänster bor.", "domain_pill.their_username": "Deras unika identifierare på deras server. Det är möjligt att hitta användare med samma användarnamn på olika servrar.", "domain_pill.username": "Användarnamn", + "domain_pill.whats_in_a_handle": "Vad finns i ett handtag?", + "domain_pill.who_they_are": "Eftersom handtag säger vem någon är och var de är, kan du interagera med människor på det sociala nätet av .", + "domain_pill.who_you_are": "Eftersom handtag säger vem någon är och var de är, kan människor interagera med dig på det sociala nätet av .", + "domain_pill.your_handle": "Ditt handtag:", + "domain_pill.your_server": "Ditt digitala hem, där alla dina inlägg bor. Gillar du inte just denna? Byt server när som helst och ta med dina anhängare också.", "domain_pill.your_username": "Din unika identifierare på denna server. Det är möjligt att hitta användare med samma användarnamn på olika servrar.", "embed.instructions": "Bädda in detta inlägg på din webbplats genom att kopiera koden nedan.", "embed.preview": "Så här kommer det att se ut:", @@ -259,6 +266,7 @@ "empty_column.list": "Det finns inget i denna lista än. När listmedlemmar publicerar nya inlägg kommer de synas här.", "empty_column.lists": "Du har inga listor än. När skapar en kommer den dyka upp här.", "empty_column.mutes": "Du har ännu inte tystat några användare.", + "empty_column.notification_requests": "Allt klart! Det finns inget mer här. När du får nya meddelanden visas de här enligt dina inställningar.", "empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.", "empty_column.public": "Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det", "error.unexpected_crash.explanation": "På grund av en bugg i vår kod eller kompatiblitetsproblem i webbläsaren kan den här sidan inte visas korrekt.", @@ -289,6 +297,9 @@ "filter_modal.select_filter.subtitle": "Använd en befintlig kategori eller skapa en ny", "filter_modal.select_filter.title": "Filtrera detta inlägg", "filter_modal.title.status": "Filtrera ett inlägg", + "filtered_notifications_banner.pending_requests": "Aviseringar från {count, plural, =0 {ingen} one {en person} other {# personer}} du kanske känner", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privat omnämnande} other {privat omnämnande}}", + "filtered_notifications_banner.title": "Filtrerade aviseringar", "firehose.all": "Allt", "firehose.local": "Denna server", "firehose.remote": "Andra servrar", @@ -417,7 +428,9 @@ "loading_indicator.label": "Laddar…", "media_gallery.toggle_visible": "Växla synlighet", "moved_to_account_banner.text": "Ditt konto {disabledAccount} är för närvarande inaktiverat eftersom du flyttat till {movedToAccount}.", + "mute_modal.hide_from_notifications": "Dölj från aviseringslistan", "mute_modal.hide_options": "Dölj alternativ", + "mute_modal.indefinite": "Tills jag avtystar dem", "mute_modal.show_options": "Visa alternativ", "mute_modal.they_can_mention_and_follow": "De kan nämna och följa dig, men du ser dem inte.", "mute_modal.they_wont_know": "De vet inte att de har blivit tysta.", @@ -459,6 +472,9 @@ "notification.own_poll": "Din röstning har avslutats", "notification.poll": "En omröstning du röstat i har avslutats", "notification.reblog": "{name} boostade ditt inlägg", + "notification.relationships_severance_event": "Förlorade kontakter med {name}", + "notification.relationships_severance_event.account_suspension": "En administratör från {from} har stängt av {target}, vilket innebär att du inte längre kan ta emot uppdateringar från dem eller interagera med dem.", + "notification.relationships_severance_event.domain_block": "En administratör från {from} har blockerat {target}, inklusive {followersCount} av dina följare och {followingCount, plural, one {# konto} other {# konton}} du följer.", "notification.relationships_severance_event.learn_more": "Läs mer", "notification.status": "{name} publicerade just ett inlägg", "notification.update": "{name} redigerade ett inlägg", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 22f5420f83..bf1dfb8234 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -730,7 +730,7 @@ "status.reblogs.empty": "還沒有人轉嘟過這則嘟文。當有人轉嘟時,它將於此顯示。", "status.redraft": "刪除並重新編輯", "status.remove_bookmark": "移除書籤", - "status.replied_to": "回覆給 {name}", + "status.replied_to": "回覆 {name}", "status.reply": "回覆", "status.replyAll": "回覆討論串", "status.report": "檢舉 @{name}", diff --git a/config/locales/activerecord.ia.yml b/config/locales/activerecord.ia.yml index 7d1e7d7190..eec89ad52a 100644 --- a/config/locales/activerecord.ia.yml +++ b/config/locales/activerecord.ia.yml @@ -7,3 +7,9 @@ ia: password: Contrasigno user/account: username: Nomine de usator + errors: + models: + status: + attributes: + reblog: + taken: del message jam existe diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml index 7982f8a743..73fa1fa60e 100644 --- a/config/locales/devise.de.yml +++ b/config/locales/devise.de.yml @@ -28,12 +28,12 @@ de: title: Verifiziere E-Mail-Adresse email_changed: explanation: 'Die E-Mail-Adresse deines Kontos wird geändert zu:' - extra: Wenn du deine E-Mail-Adresse nicht geändert hast, ist es wahrscheinlich, dass sich jemand Zugang zu deinem Konto verschafft hat. Bitte ändere sofort dein Passwort oder kontaktiere die Serververwaltung, wenn du aus deinem Konto ausgesperrt bist. + extra: Wenn du deine E-Mail-Adresse nicht geändert hast, ist es wahrscheinlich, dass sich jemand Zugang zu deinem Konto verschafft hat. Bitte ändere sofort dein Passwort oder kontaktiere die Administrator*innen des Servers, wenn du aus deinem Konto ausgesperrt bist. subject: 'Mastodon: E-Mail-Adresse geändert' title: Neue E-Mail-Adresse password_change: explanation: Das Passwort für dein Konto wurde geändert. - extra: Wenn du dein Passwort nicht geändert hast, ist es wahrscheinlich, dass sich jemand Zugang zu deinem Konto verschafft hat. Bitte ändere sofort dein Passwort oder kontaktiere die Serververwaltung, wenn du aus deinem Konto ausgesperrt bist. + extra: Wenn du dein Passwort nicht geändert hast, ist es wahrscheinlich, dass sich jemand Zugang zu deinem Konto verschafft hat. Bitte ändere sofort dein Passwort oder kontaktiere die Administrator*innen des Servers, wenn du aus deinem Konto ausgesperrt bist. subject: 'Mastodon: Passwort geändert' title: Passwort geändert reconfirmation_instructions: diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index f4f953a0c4..4d17de4d0a 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -1674,7 +1674,7 @@ es-MX: lost_follows: Cuentas seguidas perdidas preamble: Puedes perder cuentas seguidas y seguidores cuando bloqueas un dominio o cuando tus moderadores deciden suspender un servidor remoto. Cuando esto suceda, podrás descargar listas de relaciones cortadas, para ser inspeccionadas y posiblemente importadas en otro servidor. purged: La información sobre este servidor ha sido purgada por los administradores de tu servidor. - type: Suceso + type: Evento statuses: attached: audio: diff --git a/config/locales/et.yml b/config/locales/et.yml index 889ddfcff1..a544d8063d 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -597,6 +597,9 @@ et: actions_description_html: Otsustus, mida raporti lahendamiseks ette võtta. Karistava tegevuse korral saadetakse e-postiga teade, välja arvatud kategooria rämpspost puhul. actions_description_remote_html: Otsusta, mida teha selle raporti lahendamiseks. See mõjutab ainult seda, kuidas Sinu server selle kaugkontoga suhtleb ning selle sisu käsitleb. add_to_report: Lisa raportile juurde + already_suspended_badges: + local: Juba kustutamisel selles serveris + remote: Juba kustutamisel tema serveris are_you_sure: Oled kindel? assign_to_self: Määra mulle assigned: Määratud moderaator @@ -1652,13 +1655,26 @@ et: import: Impordi import_and_export: Import / eksport migrate: Konto kolimine + notifications: E-postiteavitused preferences: Eelistused profile: Profiil relationships: Jälgitud ja jälgijad + severed_relationships: Katkestatud seos statuses_cleanup: Automaatne kustutamine strikes: Modereerimisjuhtumid two_factor_authentication: Kaheastmeline autentimine webauthn_authentication: Turvavõtmed + severed_relationships: + download: Allalaadimine (%{count}) + event_type: + account_suspension: Konto kustutamisel (%{target_name}) + domain_block: Server kustutamisel (%{target_name}) + user_domain_block: Blokeerisid %{target_name} + lost_followers: Kadunud jälgijad + lost_follows: Kaotatud jälgimised + preamble: Võid kaotada jälgijaid ja jälgitavaid, kui blokeerid domeeni või kui su moderaatorid otsustavad kustutada kaugserveri. Kui see juhtub, saad alla laadida katkestatud seoste loetelu, et see üle vaadata ja võib-olla teise serverisse üles laadida. + purged: Selle serveri info on sinu serveri administraatorite poolt tühjendatud. + type: Sündmus statuses: attached: audio: @@ -1754,6 +1770,7 @@ et: contrast: Mastodon (Kõrge kontrast) default: Mastodon (Tume) mastodon-light: Mastodon (Hele) + system: Automaatne (kasuta süsteemi teemat) time: formats: default: "%d. %B, %Y. aastal, kell %H:%M" @@ -1866,6 +1883,9 @@ et: follows_subtitle: Jälgi teada-tuntud kasutajaid follows_title: Keda jälgida follows_view_more: Vaata lähemalt, keda jälgida + hashtags_recent_count: + one: "%{people} isikut viimase 2 päeva jooksul" + other: "%{people} inimest viimase 2 päeva jooksul" hashtags_subtitle: Avasta, mis viimase 2 päeva jooksul on toimunud hashtags_title: Populaarsed märksõnad hashtags_view_more: Vaata teisi trendikaid märksõnu diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 52cf861b48..ecdf73ef9e 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -1,7 +1,20 @@ --- ia: about: + about_mastodon_html: 'Le rete social del futuro: nulle publicitate, nulle surveliantia corporative, conception ethic, e decentralisation! Mantene le controlo de tu datos con Mastodon!' contact_missing: Non definite + contact_unavailable: N/D + hosted_on: Mastodon albergate sur %{domain} + title: A proposito + accounts: + follow: Sequer + followers: + one: Sequitor + other: Sequitores + following: Sequente + instance_actor_flash: Iste conto es un agente virtual usate pro representar le servitor mesme e non alcun usator individual. Illo es usate pro le federation e non debe esser suspendite. + last_active: ultime activitate + link_verified_on: Le proprietate de iste ligamine ha essite verificate le %{date} admin: accounts: are_you_sure: Es tu secur? diff --git a/config/locales/ie.yml b/config/locales/ie.yml index 6763a8038a..46e55b9e19 100644 --- a/config/locales/ie.yml +++ b/config/locales/ie.yml @@ -597,6 +597,9 @@ ie: actions_description_html: Decider quel action a far por soluer ti raporte. Si tu fa un punitiv action contra li raportat conto, li usator va reciver un notification per email, except in li casu que li Spam categorie es selectet. actions_description_remote_html: Decider quel action a far por soluer ti raporte. It va afecter solmen qualmen vor servitor comunica con ti lontan conto e tractar su contenete. add_to_report: Adjunter plu al raporte + already_suspended_badges: + local: Ja suspendet sur ti-ci servitor + remote: Ja suspendet sur su servitor are_you_sure: Es tu cert? assign_to_self: Assignar it a me assigned: Assignat moderator @@ -1652,6 +1655,7 @@ ie: import: Importar import_and_export: Importation e exportation migrate: Migration de conto + notifications: E-postal notificationes preferences: Preferenties profile: Public profil relationships: Sequetes e sequitores @@ -1659,6 +1663,14 @@ ie: strikes: Admonimentes moderatori two_factor_authentication: 2-factor autentication webauthn_authentication: Claves de securitá + severed_relationships: + download: Descargar (%{count}) + event_type: + account_suspension: Suspension del conto (%{target_name}) + user_domain_block: Tu bloccat %{target_name} + lost_followers: Perdit sequitores + preamble: Tu posse perdir tis queles tu seque e tui sequitores quande tu blocca un domonia o quande tui moderatores decide suspender un lontan servitor. Tande, tu va posser descargar listes de dejuntet relationes, a inspecter e possibilmen importar sur un altri servitor. + type: Eveniment statuses: attached: audio: @@ -1752,6 +1764,7 @@ ie: contrast: Mastodon (Alt contraste) default: Mastodon (Obscur) mastodon-light: Mastodon (Luminosi) + system: Automatic (usar tema del sistema) time: formats: default: "%d.%m.%Y ye %H:%M" @@ -1864,6 +1877,9 @@ ie: follows_subtitle: Sequer famosi contos follows_title: Persones a sequer follows_view_more: Vider plu persones a sequer + hashtags_recent_count: + one: "%{people} person in li passat 2 dies" + other: "%{people} persones in li passat 2 dies" hashtags_subtitle: Explorar li postas de tendentie durant li passat 2 dies hashtags_title: Populari hashtags hashtags_view_more: Vider plu hashtags in tendentie diff --git a/config/locales/it.yml b/config/locales/it.yml index 59ccb5f27e..f12735cfb1 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -1234,7 +1234,7 @@ it: bookmarks: Segnalibri csv: CSV domain_blocks: Blocchi di dominio - lists: Liste + lists: Elenchi mutes: Stai silenziando storage: Archiviazione media featured_tags: diff --git a/config/locales/lad.yml b/config/locales/lad.yml index 3aaac3ab5a..e9f18d4bed 100644 --- a/config/locales/lad.yml +++ b/config/locales/lad.yml @@ -1665,6 +1665,10 @@ lad: webauthn_authentication: Yaves de sigurita severed_relationships: download: Abasha (%{count}) + event_type: + user_domain_block: Blokates a %{target_name} + lost_followers: Suivantes pedridos + lost_follows: Segimyentos pedridos type: Evenimiento statuses: attached: diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml index c2df26c124..1f7d940049 100644 --- a/config/locales/simple_form.et.yml +++ b/config/locales/simple_form.et.yml @@ -116,6 +116,7 @@ et: sign_up_requires_approval: Uued liitumised vajavad kinnitamist severity: Valik, mis juhtub päringutega sellelt IP-aadressilt rule: + hint: Valikuline. Anna reegli kohta rohkem üksikasju text: Reegli või nõude kirjeldus selle serveri kasutajatele. Võimalikult lühidalt ja lihtsalt sessions: otp: 'Kaheastmelise autentimise kood telefonirakendusest või mõni taastekood:' @@ -299,6 +300,7 @@ et: patch: Teata veaparandusuuendustest trending_tag: Uus trend vajab ülevaatust rule: + hint: Lisainfo text: Reegel settings: indexable: Kaasa profiilileht otsimootoritesse diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml index af198d932a..16dbcbd187 100644 --- a/config/locales/simple_form.ia.yml +++ b/config/locales/simple_form.ia.yml @@ -15,6 +15,7 @@ ia: current_password: Contrasigno actual new_password: Nove contrasigno password: Contrasigno + setting_default_language: Lingua de publication setting_display_media_default: Predefinite setting_display_media_hide_all: Celar toto setting_display_media_show_all: Monstrar toto @@ -35,9 +36,15 @@ ia: site_title: Nomine de servitor theme: Thema predefinite trends: Activar tendentias + ip_block: + severity: Regula notification_emails: software_updates: label: Un nove version de Mastodon es disponibile + rule: + text: Regula + settings: + indexable: Includer pagina de profilo in le motores de recerca user: time_zone: Fuso horari user_role: diff --git a/config/locales/simple_form.ie.yml b/config/locales/simple_form.ie.yml index 3cf5c33f2c..e142617fcc 100644 --- a/config/locales/simple_form.ie.yml +++ b/config/locales/simple_form.ie.yml @@ -116,6 +116,7 @@ ie: sign_up_requires_approval: Nov registrationes va besonar tui aprobation severity: Selecter quo va evenir con demandes ex ti-ci IP rule: + hint: Optional. Ples provider plu detallies pri li regul text: Descrir un regul o postulation por usatores sur ti-ci servitor. Prova scrir un descrition curt e simplic sessions: otp: 'Intrar li 2-factor code generat del app sur tui portabile o usar un de tui codes de recuperation:' @@ -299,6 +300,7 @@ ie: patch: Notificar pri problema-fixant actualisationes trending_tag: Nov tendentie besonant inspection rule: + hint: Information in plu text: Regul settings: indexable: Includer profil-pagine in serchatores From a3fe82e359544047aa8f6a37d253f53abd16ad06 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 05:34:44 -0400 Subject: [PATCH 10/31] Rename cop `RSpec/Rails/HttpStatus` to `RSpecRails/HttpStatus` (#29806) --- .rubocop.yml | 10 +++++----- Gemfile.lock | 5 ++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 541da330c7..2aa72d9e5e 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -142,11 +142,6 @@ RSpec/NamedSubject: RSpec/NotToNot: EnforcedStyle: to_not -# Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus -# https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus -RSpec/Rails/HttpStatus: - EnforcedStyle: numeric - # Reason: Match overrides from Rspec/FilePath rule above # https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecspecfilepathformat RSpec/SpecFilePathFormat: @@ -157,6 +152,11 @@ RSpec/SpecFilePathFormat: OEmbedController: oembed_controller OStatus: ostatus +# Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus +# https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus +RSpecRails/HttpStatus: + EnforcedStyle: numeric + # Reason: # https://docs.rubocop.org/rubocop/cops_style.html#styleclassandmodulechildren Style/ClassAndModuleChildren: diff --git a/Gemfile.lock b/Gemfile.lock index bd15ad73a2..9c36daec92 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -672,10 +672,13 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (2.27.1) + rubocop-rspec (2.28.0) rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) + rubocop-rspec_rails (~> 2.28) + rubocop-rspec_rails (2.28.2) + rubocop (~> 1.40) ruby-prof (1.7.0) ruby-progressbar (1.13.0) ruby-saml (1.15.0) From 07635228e2b2182888850cecddd4b09756d9edbc Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 2 Apr 2024 11:56:03 +0200 Subject: [PATCH 11/31] Fix Redux Middleware types (#29800) --- app/javascript/mastodon/store/middlewares/errors.ts | 3 ++- app/javascript/mastodon/store/middlewares/sounds.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/store/middlewares/errors.ts b/app/javascript/mastodon/store/middlewares/errors.ts index 977a09a464..e77cec34ed 100644 --- a/app/javascript/mastodon/store/middlewares/errors.ts +++ b/app/javascript/mastodon/store/middlewares/errors.ts @@ -30,7 +30,8 @@ function isActionWithmaybeAlertParams( return isAction(action); } -export const errorsMiddleware: Middleware, RootState> = +// eslint-disable-next-line @typescript-eslint/ban-types -- we need to use `{}` here to ensure the dispatch types can be merged +export const errorsMiddleware: Middleware<{}, RootState> = ({ dispatch }) => (next) => (action) => { diff --git a/app/javascript/mastodon/store/middlewares/sounds.ts b/app/javascript/mastodon/store/middlewares/sounds.ts index 51839f427a..720ee163e9 100644 --- a/app/javascript/mastodon/store/middlewares/sounds.ts +++ b/app/javascript/mastodon/store/middlewares/sounds.ts @@ -51,7 +51,8 @@ const play = (audio: HTMLAudioElement) => { }; export const soundsMiddleware = (): Middleware< - Record, + // eslint-disable-next-line @typescript-eslint/ban-types -- we need to use `{}` here to ensure the dispatch types can be merged + {}, RootState > => { const soundCache: Record = {}; From e47a3d00fe21fa51ee1aeffbfb5e152f1f715fef Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 2 Apr 2024 12:03:33 +0200 Subject: [PATCH 12/31] Add API types for status and related objects (#29792) --- .../mastodon/api_types/media_attachments.ts | 22 +++++ app/javascript/mastodon/api_types/polls.ts | 23 +++++ app/javascript/mastodon/api_types/statuses.ts | 91 +++++++++++++++++++ app/javascript/mastodon/models/status.ts | 2 +- .../rest/media_attachment_serializer.rb | 2 + app/serializers/rest/poll_serializer.rb | 2 + app/serializers/rest/status_serializer.rb | 2 + 7 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 app/javascript/mastodon/api_types/media_attachments.ts create mode 100644 app/javascript/mastodon/api_types/polls.ts create mode 100644 app/javascript/mastodon/api_types/statuses.ts diff --git a/app/javascript/mastodon/api_types/media_attachments.ts b/app/javascript/mastodon/api_types/media_attachments.ts new file mode 100644 index 0000000000..fc027ccd2a --- /dev/null +++ b/app/javascript/mastodon/api_types/media_attachments.ts @@ -0,0 +1,22 @@ +// See app/serializers/rest/media_attachment_serializer.rb + +export type MediaAttachmentType = + | 'image' + | 'gifv' + | 'video' + | 'unknown' + | 'audio'; + +export interface ApiMediaAttachmentJSON { + id: string; + type: MediaAttachmentType; + url: string; + preview_url: string; + remoteUrl: string; + preview_remote_url: string; + text_url: string; + // TODO: how to define this? + meta: unknown; + description?: string; + blurhash: string; +} diff --git a/app/javascript/mastodon/api_types/polls.ts b/app/javascript/mastodon/api_types/polls.ts new file mode 100644 index 0000000000..8181f7b813 --- /dev/null +++ b/app/javascript/mastodon/api_types/polls.ts @@ -0,0 +1,23 @@ +import type { ApiCustomEmojiJSON } from './custom_emoji'; + +// See app/serializers/rest/poll_serializer.rb + +export interface ApiPollOptionJSON { + title: string; + votes_count: number; +} + +export interface ApiPollJSON { + id: string; + expires_at: string; + expired: boolean; + multiple: boolean; + votes_count: number; + voters_count: number; + + options: ApiPollOptionJSON[]; + emojis: ApiCustomEmojiJSON[]; + + voted: boolean; + own_votes: number[]; +} diff --git a/app/javascript/mastodon/api_types/statuses.ts b/app/javascript/mastodon/api_types/statuses.ts new file mode 100644 index 0000000000..c7dd33b5da --- /dev/null +++ b/app/javascript/mastodon/api_types/statuses.ts @@ -0,0 +1,91 @@ +// See app/serializers/rest/status_serializer.rb + +import type { ApiAccountJSON } from './accounts'; +import type { ApiCustomEmojiJSON } from './custom_emoji'; +import type { ApiMediaAttachmentJSON } from './media_attachments'; +import type { ApiPollJSON } from './polls'; + +// See app/modals/status.rb +export type StatusVisibility = + | 'public' + | 'unlisted' + | 'private' + // | 'limited' // This is never exposed to the API (they become `private`) + | 'direct'; + +export interface ApiStatusApplicationJSON { + name: string; + website: string; +} + +export interface ApiTagJSON { + name: string; + url: string; +} + +export interface ApiMentionJSON { + id: string; + username: string; + url: string; + acct: string; +} + +export interface ApiPreviewCardJSON { + url: string; + title: string; + description: string; + language: string; + type: string; + author_name: string; + author_url: string; + provider_name: string; + provider_url: string; + html: string; + width: number; + height: number; + image: string; + image_description: string; + embed_url: string; + blurhash: string; + published_at: string; +} + +export interface ApiStatusJSON { + id: string; + created_at: string; + in_reply_to_id?: string; + in_reply_to_account_id?: string; + sensitive: boolean; + spoiler_text?: string; + visibility: StatusVisibility; + language: string; + uri: string; + url: string; + replies_count: number; + reblogs_count: number; + favorites_count: number; + edited_at?: string; + + favorited?: boolean; + reblogged?: boolean; + muted?: boolean; + bookmarked?: boolean; + pinned?: boolean; + + // filtered: FilterResult[] + filtered: unknown; // TODO + content?: string; + text?: string; + + reblog?: ApiStatusJSON; + application?: ApiStatusApplicationJSON; + account: ApiAccountJSON; + media_attachments: ApiMediaAttachmentJSON[]; + mentions: ApiMentionJSON[]; + + tags: ApiTagJSON[]; + emojis: ApiCustomEmojiJSON[]; + + card?: ApiPreviewCardJSON; + poll?: ApiPollJSON; +} diff --git a/app/javascript/mastodon/models/status.ts b/app/javascript/mastodon/models/status.ts index 83e9f6b885..7907fc34f8 100644 --- a/app/javascript/mastodon/models/status.ts +++ b/app/javascript/mastodon/models/status.ts @@ -1,4 +1,4 @@ -export type StatusVisibility = 'public' | 'unlisted' | 'private' | 'direct'; +export type { StatusVisibility } from 'mastodon/api_types/statuses'; // Temporary until we type it correctly export type Status = Immutable.Map; diff --git a/app/serializers/rest/media_attachment_serializer.rb b/app/serializers/rest/media_attachment_serializer.rb index f27dda832a..90a2a97275 100644 --- a/app/serializers/rest/media_attachment_serializer.rb +++ b/app/serializers/rest/media_attachment_serializer.rb @@ -3,6 +3,8 @@ class REST::MediaAttachmentSerializer < ActiveModel::Serializer include RoutingHelper + # Please update `app/javascript/mastodon/api_types/media_attachments.ts` when making changes to the attributes + attributes :id, :type, :url, :preview_url, :remote_url, :preview_remote_url, :text_url, :meta, :description, :blurhash diff --git a/app/serializers/rest/poll_serializer.rb b/app/serializers/rest/poll_serializer.rb index df6ebd0d44..6e00060735 100644 --- a/app/serializers/rest/poll_serializer.rb +++ b/app/serializers/rest/poll_serializer.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class REST::PollSerializer < ActiveModel::Serializer + # Please update `app/javascript/mastodon/api_types/polls.ts` when making changes to the attributes + attributes :id, :expires_at, :expired, :multiple, :votes_count, :voters_count diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb index d32621541a..e17e8c823e 100644 --- a/app/serializers/rest/status_serializer.rb +++ b/app/serializers/rest/status_serializer.rb @@ -3,6 +3,8 @@ class REST::StatusSerializer < ActiveModel::Serializer include FormattingHelper + # Please update `app/javascript/mastodon/api_types/statuses.ts` when making changes to the attributes + attributes :id, :created_at, :in_reply_to_id, :in_reply_to_account_id, :sensitive, :spoiler_text, :visibility, :language, :uri, :url, :replies_count, :reblogs_count, From d05f62391d0f0e2da43de63d888121ad23c479b2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:04:32 +0000 Subject: [PATCH 13/31] Update dependency public_suffix to v5.0.5 (#29824) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9c36daec92..d38de8e88f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -526,7 +526,7 @@ GEM railties (>= 7.0.0) psych (5.1.2) stringio - public_suffix (5.0.4) + public_suffix (5.0.5) puma (6.4.2) nio4r (~> 2.0) pundit (2.3.1) From b4d991adaa82e05a2dd95ae5c08bb374391ef568 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Tue, 2 Apr 2024 12:06:26 +0200 Subject: [PATCH 14/31] Use integers and not numbers in notification policy API counters (#29810) --- .../components/filtered_notifications_banner.jsx | 2 +- app/javascript/mastodon/utils/numbers.ts | 8 ++++---- app/serializers/rest/notification_policy_serializer.rb | 4 ++-- spec/requests/api/v1/notifications/policies_spec.rb | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/javascript/mastodon/features/notifications/components/filtered_notifications_banner.jsx b/app/javascript/mastodon/features/notifications/components/filtered_notifications_banner.jsx index ecf4b74e80..f9b8c0be14 100644 --- a/app/javascript/mastodon/features/notifications/components/filtered_notifications_banner.jsx +++ b/app/javascript/mastodon/features/notifications/components/filtered_notifications_banner.jsx @@ -27,7 +27,7 @@ export const FilteredNotificationsBanner = () => { }; }, [dispatch]); - if (policy === null || policy.getIn(['summary', 'pending_notifications_count']) * 1 === 0) { + if (policy === null || policy.getIn(['summary', 'pending_notifications_count']) === 0) { return null; } diff --git a/app/javascript/mastodon/utils/numbers.ts b/app/javascript/mastodon/utils/numbers.ts index ee2dabf566..0c11c268dd 100644 --- a/app/javascript/mastodon/utils/numbers.ts +++ b/app/javascript/mastodon/utils/numbers.ts @@ -70,10 +70,10 @@ export function roundTo10(num: number): number { return Math.round(num * 0.1) / 0.1; } -export function toCappedNumber(num: string): string { - if (parseInt(num) > 99) { - return '99+'; +export function toCappedNumber(num: number, max = 99): string { + if (num > max) { + return `${max}+`; } else { - return num; + return num.toString(); } } diff --git a/app/serializers/rest/notification_policy_serializer.rb b/app/serializers/rest/notification_policy_serializer.rb index 4967c3e320..a50ba9e66b 100644 --- a/app/serializers/rest/notification_policy_serializer.rb +++ b/app/serializers/rest/notification_policy_serializer.rb @@ -9,8 +9,8 @@ class REST::NotificationPolicySerializer < ActiveModel::Serializer def summary { - pending_requests_count: object.pending_requests_count.to_s, - pending_notifications_count: object.pending_notifications_count.to_s, + pending_requests_count: object.pending_requests_count.to_i, + pending_notifications_count: object.pending_notifications_count.to_i, } end end diff --git a/spec/requests/api/v1/notifications/policies_spec.rb b/spec/requests/api/v1/notifications/policies_spec.rb index 9acd47a7b4..d02d2ed0d7 100644 --- a/spec/requests/api/v1/notifications/policies_spec.rb +++ b/spec/requests/api/v1/notifications/policies_spec.rb @@ -32,8 +32,8 @@ RSpec.describe 'Policies' do filter_new_accounts: false, filter_private_mentions: true, summary: a_hash_including( - pending_requests_count: '1', - pending_notifications_count: '0' + pending_requests_count: 1, + pending_notifications_count: 0 ) ) end @@ -60,8 +60,8 @@ RSpec.describe 'Policies' do filter_new_accounts: false, filter_private_mentions: true, summary: a_hash_including( - pending_requests_count: '0', - pending_notifications_count: '0' + pending_requests_count: 0, + pending_notifications_count: 0 ) ) end From f6e24bbd798b32e683c752c28011fc3b2118d934 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 14:13:43 +0200 Subject: [PATCH 15/31] Update dependency postcss-preset-env to v9.5.4 (#29825) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index e58a030c36..99f6f99c6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1748,9 +1748,9 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^1.0.2": - version: 1.0.2 - resolution: "@csstools/postcss-light-dark-function@npm:1.0.2" +"@csstools/postcss-light-dark-function@npm:^1.0.3": + version: 1.0.3 + resolution: "@csstools/postcss-light-dark-function@npm:1.0.3" dependencies: "@csstools/css-parser-algorithms": "npm:^2.6.1" "@csstools/css-tokenizer": "npm:^2.2.4" @@ -1758,7 +1758,7 @@ __metadata: "@csstools/utilities": "npm:^1.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c7ed0037e68aa6ede2440a598caa776812e602e12f69d0fd8f0975cf3469a3593bd34fd408ed7d0b73af2ae4498bd6334cb3222fedb2a432a9ab8fa731e07108 + checksum: 10c0/99a1b72aba08a6fa5c7271d42f4459d86f001fe83f533c0ed3d21556f53ee227f65f94cda1feee1aa910890fc42482f15a4dfb3edbc7afdad828ce8897d0c52b languageName: node linkType: hard @@ -13659,8 +13659,8 @@ __metadata: linkType: hard "postcss-preset-env@npm:^9.5.2": - version: 9.5.3 - resolution: "postcss-preset-env@npm:9.5.3" + version: 9.5.4 + resolution: "postcss-preset-env@npm:9.5.4" dependencies: "@csstools/postcss-cascade-layers": "npm:^4.0.4" "@csstools/postcss-color-function": "npm:^3.0.13" @@ -13673,7 +13673,7 @@ __metadata: "@csstools/postcss-ic-unit": "npm:^3.0.6" "@csstools/postcss-initial": "npm:^1.0.1" "@csstools/postcss-is-pseudo-class": "npm:^4.0.6" - "@csstools/postcss-light-dark-function": "npm:^1.0.2" + "@csstools/postcss-light-dark-function": "npm:^1.0.3" "@csstools/postcss-logical-float-and-clear": "npm:^2.0.1" "@csstools/postcss-logical-overflow": "npm:^1.0.1" "@csstools/postcss-logical-overscroll-behavior": "npm:^1.0.1" @@ -13724,7 +13724,7 @@ __metadata: postcss-selector-not: "npm:^7.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/0f6ed8ec9dc5365d1ca1d29652464f2cfebb6b39dfe39b55712c9251addde3289702ea37e1731da5b16bb70f2fb871d165bb0d33452506fa9121e5f696b63d34 + checksum: 10c0/6af900ad2f46b640339b626317288543ebb7c47b739f4776e4006513b32eceabe0be78109aa58446fa0f50284a433b3e3a9bd48aa5730fd0ac59ef51153e8f7b languageName: node linkType: hard From 695dded7ed3afbc50ed60acfc4402c117c40a21c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:29:46 +0200 Subject: [PATCH 16/31] Update dependency aws-sdk-s3 to v1.146.1 (#28961) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d38de8e88f..0a6d6036ea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -103,7 +103,7 @@ GEM awrence (1.2.1) aws-eventstream (1.3.0) aws-partitions (1.899.0) - aws-sdk-core (3.191.4) + aws-sdk-core (3.191.5) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) @@ -111,7 +111,7 @@ GEM aws-sdk-kms (1.78.0) aws-sdk-core (~> 3, >= 3.191.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.146.0) + aws-sdk-s3 (1.146.1) aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.8) From b0692d994ff77d0832a471e171e8c770b965d7c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:31:03 +0200 Subject: [PATCH 17/31] Update dependency letter_opener to v1.10.0 (#29189) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0a6d6036ea..913164d18f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -398,8 +398,8 @@ GEM language_server-protocol (3.17.0.3) launchy (2.5.2) addressable (~> 2.8) - letter_opener (1.8.1) - launchy (>= 2.2, < 3) + letter_opener (1.10.0) + launchy (>= 2.2, < 4) letter_opener_web (2.0.0) actionmailer (>= 5.2) letter_opener (~> 1.7) From c70c39cad03824c64564fa7d241e6bf01acbab76 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:47:15 +0200 Subject: [PATCH 18/31] Update docker/dockerfile Docker tag to v1.7 (#27993) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Dockerfile | 2 +- streaming/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8778133e0d..1b007930eb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -# syntax=docker/dockerfile:1.4 +# syntax=docker/dockerfile:1.7 # Please see https://docs.docker.com/engine/reference/builder for information about # the extended buildx capabilities used in this file. diff --git a/streaming/Dockerfile b/streaming/Dockerfile index 241009fe89..7f373e9cd5 100644 --- a/streaming/Dockerfile +++ b/streaming/Dockerfile @@ -1,4 +1,4 @@ -# syntax=docker/dockerfile:1.4 +# syntax=docker/dockerfile:1.7 # Please see https://docs.docker.com/engine/reference/builder for information about # the extended buildx capabilities used in this file. From f56309f5f03f28d35c5e36b8cab282a03522370a Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 09:51:34 -0400 Subject: [PATCH 19/31] Add `by_latest_used` scope, move admin area recent IPs to partial (#29497) --- app/models/user_ip.rb | 2 ++ app/views/admin/accounts/_local_account.html.haml | 8 +------- app/views/admin/accounts/_user_ip.html.haml | 5 +++++ 3 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 app/views/admin/accounts/_user_ip.html.haml diff --git a/app/models/user_ip.rb b/app/models/user_ip.rb index 87b86a24d4..a6da2c0740 100644 --- a/app/models/user_ip.rb +++ b/app/models/user_ip.rb @@ -15,4 +15,6 @@ class UserIp < ApplicationRecord self.primary_key = :user_id belongs_to :user + + scope :by_latest_used, -> { order(used_at: :desc) } end diff --git a/app/views/admin/accounts/_local_account.html.haml b/app/views/admin/accounts/_local_account.html.haml index 82197cda43..3ed392cd1a 100644 --- a/app/views/admin/accounts/_local_account.html.haml +++ b/app/views/admin/accounts/_local_account.html.haml @@ -62,13 +62,7 @@ %td %time.formatted{ datetime: account.created_at.iso8601, title: l(account.created_at) }= l account.created_at %td -- recent_ips = account.user.ips.order(used_at: :desc).to_a -- recent_ips.each_with_index do |recent_ip, i| - %tr - - if i.zero? - %th{ rowspan: recent_ips.size }= t('admin.accounts.most_recent_ip') - %td= recent_ip.ip - %td= table_link_to 'search', t('admin.accounts.search_same_ip'), admin_accounts_path(ip: recent_ip.ip) + = render partial: 'admin/accounts/user_ip', collection: account.user.ips.by_latest_used %tr %th= t('admin.accounts.most_recent_activity') %td diff --git a/app/views/admin/accounts/_user_ip.html.haml b/app/views/admin/accounts/_user_ip.html.haml new file mode 100644 index 0000000000..1938cf7edf --- /dev/null +++ b/app/views/admin/accounts/_user_ip.html.haml @@ -0,0 +1,5 @@ +%tr + - if user_ip_iteration.first? + %th{ rowspan: user_ip_iteration.size }= t('admin.accounts.most_recent_ip') + %td= user_ip.ip + %td= table_link_to 'search', t('admin.accounts.search_same_ip'), admin_accounts_path(ip: user_ip.ip) From 34489591ec4d05fa16049e9e99d39a09a80f2d65 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 09:54:11 -0400 Subject: [PATCH 20/31] Add `max_pinned_statuses` to instances serializer and api response (#29441) --- app/serializers/rest/instance_serializer.rb | 1 + spec/requests/api/v2/instance_spec.rb | 20 +++++++++++++++++++ .../rest/instance_serializer_spec.rb | 11 ++++++++++ 3 files changed, 32 insertions(+) diff --git a/app/serializers/rest/instance_serializer.rb b/app/serializers/rest/instance_serializer.rb index fa926cd287..42b73f4387 100644 --- a/app/serializers/rest/instance_serializer.rb +++ b/app/serializers/rest/instance_serializer.rb @@ -54,6 +54,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer accounts: { max_featured_tags: FeaturedTag::LIMIT, + max_pinned_statuses: StatusPinValidator::PIN_LIMIT, }, statuses: { diff --git a/spec/requests/api/v2/instance_spec.rb b/spec/requests/api/v2/instance_spec.rb index 74574afbcf..c5c6a26f49 100644 --- a/spec/requests/api/v2/instance_spec.rb +++ b/spec/requests/api/v2/instance_spec.rb @@ -18,6 +18,7 @@ describe 'Instances' do expect(body_as_json) .to be_present .and include(title: 'Mastodon') + .and include_configuration_limits end end @@ -31,7 +32,26 @@ describe 'Instances' do expect(body_as_json) .to be_present .and include(title: 'Mastodon') + .and include_configuration_limits end end + + def include_configuration_limits + include( + configuration: include( + accounts: include( + max_featured_tags: FeaturedTag::LIMIT, + max_pinned_statuses: StatusPinValidator::PIN_LIMIT + ), + statuses: include( + max_characters: StatusLengthValidator::MAX_CHARS, + max_media_attachments: 4 # TODO, move to constant somewhere + ), + polls: include( + max_options: PollValidator::MAX_OPTIONS + ) + ) + ) + end end end diff --git a/spec/serializers/rest/instance_serializer_spec.rb b/spec/serializers/rest/instance_serializer_spec.rb index d8f2536d20..39e6b3820b 100644 --- a/spec/serializers/rest/instance_serializer_spec.rb +++ b/spec/serializers/rest/instance_serializer_spec.rb @@ -10,11 +10,22 @@ describe REST::InstanceSerializer do it 'returns recent usage data' do expect(serialization['usage']).to eq({ 'users' => { 'active_month' => 0 } }) end + end + describe 'configuration' do it 'returns the VAPID public key' do expect(serialization['configuration']['vapid']).to eq({ 'public_key' => Rails.configuration.x.vapid_public_key, }) end + + it 'returns the max pinned statuses limit' do + expect(serialization.deep_symbolize_keys) + .to include( + configuration: include( + accounts: include(max_pinned_statuses: StatusPinValidator::PIN_LIMIT) + ) + ) + end end end From 54119570e69456e3f119cc3e3e968506c3fb4967 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 2 Apr 2024 16:02:07 +0200 Subject: [PATCH 21/31] Remove dependency on posix-spawn (#18559) --- Gemfile | 1 - Gemfile.lock | 2 -- 2 files changed, 3 deletions(-) diff --git a/Gemfile b/Gemfile index 35b9ee91db..e39de40ef5 100644 --- a/Gemfile +++ b/Gemfile @@ -69,7 +69,6 @@ gem 'nsa' gem 'oj', '~> 3.14' gem 'ox', '~> 2.14' gem 'parslet' -gem 'posix-spawn' gem 'public_suffix', '~> 5.0' gem 'pundit', '~> 2.3' gem 'premailer-rails' diff --git a/Gemfile.lock b/Gemfile.lock index 913164d18f..f18e736f21 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -509,7 +509,6 @@ GEM pg (1.5.6) pghero (3.4.1) activerecord (>= 6) - posix-spawn (0.3.15) premailer (1.23.0) addressable css_parser (>= 1.12.0) @@ -899,7 +898,6 @@ DEPENDENCIES parslet pg (~> 1.5) pghero - posix-spawn premailer-rails private_address_check (~> 0.5) propshaft From f87959ab501ebb63444832369f0fb452768a0a8a Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 10:05:02 -0400 Subject: [PATCH 22/31] Fix `RSpec/LetSetup` cop in api/v1/timelines/public spec (#28972) --- spec/requests/api/v1/timelines/public_spec.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spec/requests/api/v1/timelines/public_spec.rb b/spec/requests/api/v1/timelines/public_spec.rb index 30d1bc00cb..364e48d3d2 100644 --- a/spec/requests/api/v1/timelines/public_spec.rb +++ b/spec/requests/api/v1/timelines/public_spec.rb @@ -22,13 +22,15 @@ describe 'Public' do get '/api/v1/timelines/public', headers: headers, params: params end - let!(:private_status) { Fabricate(:status, visibility: :private) } # rubocop:disable RSpec/LetSetup let!(:local_status) { Fabricate(:status, account: Fabricate.build(:account, domain: nil)) } let!(:remote_status) { Fabricate(:status, account: Fabricate.build(:account, domain: 'example.com')) } let!(:media_status) { Fabricate(:status, media_attachments: [Fabricate.build(:media_attachment)]) } - let(:params) { {} } + before do + Fabricate(:status, visibility: :private) + end + context 'when the instance allows public preview' do let(:expected_statuses) { [local_status, remote_status, media_status] } From 0b9d4103cb5502faee4cc61717aa5454f63bc8f5 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 2 Apr 2024 16:05:46 +0200 Subject: [PATCH 23/31] Fix contrast in notification request badge (#29826) --- app/javascript/styles/mastodon/components.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 216c0dab07..a49f162e3b 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -10104,9 +10104,10 @@ noscript { } .filtered-notifications-banner__badge { - background-color: $highlight-text-color; + background: $ui-button-background-color; border-radius: 4px; padding: 1px 6px; + color: $white; } } From 921c4c12731b927d613766c98797de21dfadef4a Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 10:07:31 -0400 Subject: [PATCH 24/31] Match comment style of `FeedManager` list/tags checks (#29639) Co-authored-by: Renaud Chaput --- app/lib/feed_manager.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 38a177e645..bf6e6db598 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -431,10 +431,10 @@ class FeedManager # @param [List] list # @return [Boolean] def filter_from_list?(status, list) - if status.reply? && status.in_reply_to_account_id != status.account_id - should_filter = status.in_reply_to_account_id != list.account_id - should_filter &&= !list.show_followed? - should_filter &&= !(list.show_list? && ListAccount.exists?(list_id: list.id, account_id: status.in_reply_to_account_id)) + if status.reply? && status.in_reply_to_account_id != status.account_id # Status is a reply to account other than status account + should_filter = status.in_reply_to_account_id != list.account_id # Status replies to account id other than list account + should_filter &&= !list.show_followed? # List show_followed? is false + should_filter &&= !(list.show_list? && ListAccount.exists?(list_id: list.id, account_id: status.in_reply_to_account_id)) # If show_list? true, check for a ListAccount with list and reply to account return !!should_filter end @@ -449,7 +449,11 @@ class FeedManager # @param [Hash] crutches # @return [Boolean] def filter_from_tags?(status, receiver_id, crutches) - receiver_id == status.account_id || ((crutches[:active_mentions][status.id] || []) + [status.account_id]).any? { |target_account_id| crutches[:blocking][target_account_id] || crutches[:muting][target_account_id] } || crutches[:blocked_by][status.account_id] || crutches[:domain_blocking][status.account.domain] + receiver_id == status.account_id || # Receiver is status account? + ((crutches[:active_mentions][status.id] || []) + [status.account_id]) # For mentioned accounts or status account: + .any? { |target_account_id| crutches[:blocking][target_account_id] || crutches[:muting][target_account_id] } || # - Target account is muted or blocked? + crutches[:blocked_by][status.account_id] || # Blocked by status account? + crutches[:domain_blocking][status.account.domain] # Blocking domain of status account? end # Adds a status to an account's feed, returning true if a status was From edde54e991d2f6826c4e7c478bfd03332fb03887 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 11:47:40 -0400 Subject: [PATCH 25/31] Update stoplight to version 4.1.0 (#28366) --- Gemfile | 2 +- Gemfile.lock | 4 ++-- app/controllers/concerns/signature_verification.rb | 11 +++++------ app/services/bulk_import_row_service.rb | 11 +++++------ app/workers/activitypub/delivery_worker.rb | 10 ++++++---- app/workers/import/relationship_worker.rb | 9 ++++----- config/initializers/stoplight.rb | 4 ++-- lib/paperclip/attachment_extensions.rb | 12 +++++------- 8 files changed, 30 insertions(+), 33 deletions(-) diff --git a/Gemfile b/Gemfile index e39de40ef5..389ae50356 100644 --- a/Gemfile +++ b/Gemfile @@ -88,7 +88,7 @@ gem 'sidekiq-unique-jobs', '~> 7.1' gem 'sidekiq-bulk', '~> 0.2.0' gem 'simple-navigation', '~> 4.4' gem 'simple_form', '~> 5.2' -gem 'stoplight', '~> 3.0.1' +gem 'stoplight', '~> 4.1' gem 'strong_migrations', '1.8.0' gem 'tty-prompt', '~> 0.23', require: false gem 'twitter-text', '~> 3.1.0' diff --git a/Gemfile.lock b/Gemfile.lock index f18e736f21..2cebe0be84 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -732,7 +732,7 @@ GEM smart_properties (1.17.0) stackprof (0.2.26) statsd-ruby (1.5.0) - stoplight (3.0.2) + stoplight (4.1.0) redlock (~> 1.0) stringio (3.1.0) strong_migrations (1.8.0) @@ -939,7 +939,7 @@ DEPENDENCIES simplecov (~> 0.22) simplecov-lcov (~> 0.8) stackprof - stoplight (~> 3.0.1) + stoplight (~> 4.1) strong_migrations (= 1.8.0) test-prof thor (~> 1.2) diff --git a/app/controllers/concerns/signature_verification.rb b/app/controllers/concerns/signature_verification.rb index 3155866271..68f09ee023 100644 --- a/app/controllers/concerns/signature_verification.rb +++ b/app/controllers/concerns/signature_verification.rb @@ -66,7 +66,7 @@ module SignatureVerification compare_signed_string = build_signed_string(include_query_string: false) return actor unless verify_signature(actor, signature, compare_signed_string).nil? - actor = stoplight_wrap_request { actor_refresh_key!(actor) } + actor = stoplight_wrapper.run { actor_refresh_key!(actor) } raise SignatureVerificationError, "Could not refresh public key #{signature_params['keyId']}" if actor.nil? @@ -226,10 +226,10 @@ module SignatureVerification end if key_id.start_with?('acct:') - stoplight_wrap_request { ResolveAccountService.new.call(key_id.delete_prefix('acct:'), suppress_errors: false) } + stoplight_wrapper.run { ResolveAccountService.new.call(key_id.delete_prefix('acct:'), suppress_errors: false) } elsif !ActivityPub::TagManager.instance.local_uri?(key_id) account = ActivityPub::TagManager.instance.uri_to_actor(key_id) - account ||= stoplight_wrap_request { ActivityPub::FetchRemoteKeyService.new.call(key_id, suppress_errors: false) } + account ||= stoplight_wrapper.run { ActivityPub::FetchRemoteKeyService.new.call(key_id, suppress_errors: false) } account end rescue Mastodon::PrivateNetworkAddressError => e @@ -238,12 +238,11 @@ module SignatureVerification raise SignatureVerificationError, e.message end - def stoplight_wrap_request(&block) - Stoplight("source:#{request.remote_ip}", &block) + def stoplight_wrapper + Stoplight("source:#{request.remote_ip}") .with_threshold(1) .with_cool_off_time(5.minutes.seconds) .with_error_handler { |error, handle| error.is_a?(HTTP::Error) || error.is_a?(OpenSSL::SSL::SSLError) ? handle.call(error) : raise(error) } - .run end def actor_refresh_key!(actor) diff --git a/app/services/bulk_import_row_service.rb b/app/services/bulk_import_row_service.rb index ef4c18e789..26909dfe04 100644 --- a/app/services/bulk_import_row_service.rb +++ b/app/services/bulk_import_row_service.rb @@ -10,7 +10,7 @@ class BulkImportRowService when :following, :blocking, :muting, :lists target_acct = @data['acct'] target_domain = domain(target_acct) - @target_account = stoplight_wrap_request(target_domain) { ResolveAccountService.new.call(target_acct, { check_delivery_availability: true }) } + @target_account = stoplight_wrapper(target_domain).run { ResolveAccountService.new.call(target_acct, { check_delivery_availability: true }) } return false if @target_account.nil? when :bookmarks target_uri = @data['uri'] @@ -18,7 +18,7 @@ class BulkImportRowService @target_status = ActivityPub::TagManager.instance.uri_to_resource(target_uri, Status) return false if @target_status.nil? && ActivityPub::TagManager.instance.local_uri?(target_uri) - @target_status ||= stoplight_wrap_request(target_domain) { ActivityPub::FetchRemoteStatusService.new.call(target_uri) } + @target_status ||= stoplight_wrapper(target_domain).run { ActivityPub::FetchRemoteStatusService.new.call(target_uri) } return false if @target_status.nil? end @@ -51,16 +51,15 @@ class BulkImportRowService TagManager.instance.local_domain?(domain) ? nil : TagManager.instance.normalize_domain(domain) end - def stoplight_wrap_request(domain, &block) + def stoplight_wrapper(domain) if domain.present? - Stoplight("source:#{domain}", &block) + Stoplight("source:#{domain}") .with_fallback { nil } .with_threshold(1) .with_cool_off_time(5.minutes.seconds) .with_error_handler { |error, handle| error.is_a?(HTTP::Error) || error.is_a?(OpenSSL::SSL::SSLError) ? handle.call(error) : raise(error) } - .run else - yield + Stoplight('domain-blank') end end end diff --git a/app/workers/activitypub/delivery_worker.rb b/app/workers/activitypub/delivery_worker.rb index 376c237a98..0c6ca026bb 100644 --- a/app/workers/activitypub/delivery_worker.rb +++ b/app/workers/activitypub/delivery_worker.rb @@ -59,7 +59,7 @@ class ActivityPub::DeliveryWorker end def perform_request - light = Stoplight(@inbox_url) do + stoplight_wrapper.run do request_pool.with(@host) do |http_client| build_request(http_client).perform do |response| raise Mastodon::UnexpectedResponseError, response unless response_successful?(response) || response_error_unsalvageable?(response) @@ -68,10 +68,12 @@ class ActivityPub::DeliveryWorker end end end + end - light.with_threshold(STOPLIGHT_FAILURE_THRESHOLD) - .with_cool_off_time(STOPLIGHT_COOLDOWN) - .run + def stoplight_wrapper + Stoplight(@inbox_url) + .with_threshold(STOPLIGHT_FAILURE_THRESHOLD) + .with_cool_off_time(STOPLIGHT_COOLDOWN) end def failure_tracker diff --git a/app/workers/import/relationship_worker.rb b/app/workers/import/relationship_worker.rb index a411ab5876..2298b095a7 100644 --- a/app/workers/import/relationship_worker.rb +++ b/app/workers/import/relationship_worker.rb @@ -11,7 +11,7 @@ class Import::RelationshipWorker def perform(account_id, target_account_uri, relationship, options) from_account = Account.find(account_id) target_domain = domain(target_account_uri) - target_account = stoplight_wrap_request(target_domain) { ResolveAccountService.new.call(target_account_uri, { check_delivery_availability: true }) } + target_account = stoplight_wrapper(target_domain).run { ResolveAccountService.new.call(target_account_uri, { check_delivery_availability: true }) } options.symbolize_keys! return if target_account.nil? @@ -43,16 +43,15 @@ class Import::RelationshipWorker TagManager.instance.local_domain?(domain) ? nil : TagManager.instance.normalize_domain(domain) end - def stoplight_wrap_request(domain, &block) + def stoplight_wrapper(domain) if domain.present? - Stoplight("source:#{domain}", &block) + Stoplight("source:#{domain}") .with_fallback { nil } .with_threshold(1) .with_cool_off_time(5.minutes.seconds) .with_error_handler { |error, handle| error.is_a?(HTTP::Error) || error.is_a?(OpenSSL::SSL::SSLError) ? handle.call(error) : raise(error) } - .run else - yield + Stoplight('domain-blank') end end end diff --git a/config/initializers/stoplight.rb b/config/initializers/stoplight.rb index 72fe40600e..7c13d50637 100644 --- a/config/initializers/stoplight.rb +++ b/config/initializers/stoplight.rb @@ -3,6 +3,6 @@ require 'stoplight' Rails.application.reloader.to_prepare do - Stoplight::Light.default_data_store = Stoplight::DataStore::Redis.new(RedisConfiguration.new.connection) - Stoplight::Light.default_notifiers = [Stoplight::Notifier::Logger.new(Rails.logger)] + Stoplight.default_data_store = Stoplight::DataStore::Redis.new(RedisConfiguration.new.connection) + Stoplight.default_notifiers = [Stoplight::Notifier::Logger.new(Rails.logger)] end diff --git a/lib/paperclip/attachment_extensions.rb b/lib/paperclip/attachment_extensions.rb index 7f82138aa8..401da11290 100644 --- a/lib/paperclip/attachment_extensions.rb +++ b/lib/paperclip/attachment_extensions.rb @@ -84,13 +84,11 @@ module Paperclip # Don't go through Stoplight if we don't have anything object-storage-oriented to do return super if @queued_for_delete.empty? && @queued_for_write.empty? && !dirty? - Stoplight('object-storage') { super }.with_threshold(STOPLIGHT_THRESHOLD).with_cool_off_time(STOPLIGHT_COOLDOWN).with_error_handler do |error, handle| - if error.is_a?(Seahorse::Client::NetworkingError) - handle.call(error) - else - raise error - end - end.run + Stoplight('object-storage') + .with_threshold(STOPLIGHT_THRESHOLD) + .with_cool_off_time(STOPLIGHT_COOLDOWN) + .with_error_handler { |error, handle| error.is_a?(Seahorse::Client::NetworkingError) ? handle.call(error) : raise(error) } + .run { super } end end end From f8b03c39254ad5c30ed0cf0ea7522e8a5114b38a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:48:27 +0000 Subject: [PATCH 26/31] Update dependency faker to v3.3.1 (#29829) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2cebe0be84..702eb39584 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -245,7 +245,7 @@ GEM tzinfo excon (0.110.0) fabrication (2.31.0) - faker (3.3.0) + faker (3.3.1) i18n (>= 1.8.11, < 2) faraday (1.10.3) faraday-em_http (~> 1.0) From d27eb181f6ab419d1745a1fe9b94094be17a618f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 11:50:57 -0400 Subject: [PATCH 27/31] Reduce `LineLength` from 320 to 300 (#29636) --- .haml-lint.yml | 2 +- .rubocop.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.haml-lint.yml b/.haml-lint.yml index 2b553ca56c..e493afb85f 100644 --- a/.haml-lint.yml +++ b/.haml-lint.yml @@ -11,6 +11,6 @@ linters: MiddleDot: enabled: true LineLength: - max: 320 + max: 300 ViewLength: max: 200 # Override default value of 100 inherited from rubocop diff --git a/.rubocop.yml b/.rubocop.yml index 2aa72d9e5e..7fb8ab0c55 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -39,7 +39,7 @@ Layout/FirstHashElementIndentation: # Reason: Currently disabled in .rubocop_todo.yml # https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength Layout/LineLength: - Max: 320 # Default of 120 causes a duplicate entry in generated todo file + Max: 300 # Default of 120 causes a duplicate entry in generated todo file ## Disable most Metrics/*Length cops # Reason: those are often triggered and force significant refactors when this happend From 88c36648895b74b3432a4b8b30fe3820faa2ae3b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 19:00:07 +0200 Subject: [PATCH 28/31] Update dependency rubocop-performance to v1.21.0 (#29804) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 702eb39584..acc4394940 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -663,9 +663,9 @@ GEM rubocop (~> 1.41) rubocop-factory_bot (2.25.1) rubocop (~> 1.41) - rubocop-performance (1.20.2) + rubocop-performance (1.21.0) rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.30.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.24.1) activesupport (>= 4.2.0) rack (>= 1.1) From a7b637768e65046728e60bb8ffebff5ff3341ec7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 2 Apr 2024 15:56:54 -0400 Subject: [PATCH 29/31] Regenerate rubocop todo with version 1.62.1 (#29830) --- .rubocop_todo.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 11ac570836..ea1dbe57e1 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp` -# using RuboCop version 1.60.2. +# using RuboCop version 1.62.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -36,7 +36,7 @@ Metrics/PerceivedComplexity: # Configuration parameters: CountAsOne. RSpec/ExampleLength: - Max: 20 # Override default of 5 + Max: 18 RSpec/MultipleExpectations: Max: 7 @@ -88,7 +88,6 @@ Style/FetchEnvVar: Exclude: - 'app/lib/redis_configuration.rb' - 'app/lib/translation_service.rb' - - 'config/environments/development.rb' - 'config/environments/production.rb' - 'config/initializers/2_limited_federation_mode.rb' - 'config/initializers/3_omniauth.rb' @@ -144,7 +143,6 @@ Style/GuardClause: - 'lib/mastodon/cli/accounts.rb' - 'lib/mastodon/cli/maintenance.rb' - 'lib/mastodon/cli/media.rb' - - 'lib/paperclip/attachment_extensions.rb' - 'lib/tasks/repo.rake' # This cop supports safe autocorrection (--autocorrect). From 54c7d1ad144ada4765415739a3b48dc5e39de67f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 23:22:22 +0200 Subject: [PATCH 30/31] Update dependency pg-connection-string to v2.6.4 (#29814) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 99f6f99c6c..bf79e9b8e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12795,9 +12795,9 @@ __metadata: linkType: hard "pg-connection-string@npm:^2.6.0, pg-connection-string@npm:^2.6.3": - version: 2.6.3 - resolution: "pg-connection-string@npm:2.6.3" - checksum: 10c0/e7eab3a2bb8dec5067fab8a46c90d8f7920946d46ad771a410de3929490c676ee91950424d4405295dd0fde5acbd39ccd99afd603a15d616d0a4a6fa9bf80ad7 + version: 2.6.4 + resolution: "pg-connection-string@npm:2.6.4" + checksum: 10c0/0d0b617df0fc6507bf6a94bdcd56c7a305788a1402d69bff9773350947c8f525d6d8136128065370749a3325e99658ae40fbdcce620fb8e60126181f0591a6a6 languageName: node linkType: hard From 4233ee1f59cfdeaeb96f060aff8bc0826b321e64 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 23:33:43 +0200 Subject: [PATCH 31/31] Update dependency pg to v8.11.5 (#29833) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index bf79e9b8e9..8af9bfdb87 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12794,7 +12794,7 @@ __metadata: languageName: node linkType: hard -"pg-connection-string@npm:^2.6.0, pg-connection-string@npm:^2.6.3": +"pg-connection-string@npm:^2.6.0, pg-connection-string@npm:^2.6.4": version: 2.6.4 resolution: "pg-connection-string@npm:2.6.4" checksum: 10c0/0d0b617df0fc6507bf6a94bdcd56c7a305788a1402d69bff9773350947c8f525d6d8136128065370749a3325e99658ae40fbdcce620fb8e60126181f0591a6a6 @@ -12860,11 +12860,11 @@ __metadata: linkType: hard "pg@npm:^8.5.0": - version: 8.11.4 - resolution: "pg@npm:8.11.4" + version: 8.11.5 + resolution: "pg@npm:8.11.5" dependencies: pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.3" + pg-connection-string: "npm:^2.6.4" pg-pool: "npm:^3.6.2" pg-protocol: "npm:^1.6.1" pg-types: "npm:^2.1.0" @@ -12877,7 +12877,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: 10c0/b3e473c52572be259a7418ee506a0ee9d66121971e73fe8cdf584addb9ef4d34cf66ea5c8a99ad9226c421d31a1848c39225bd201743ddd529276de1dec81e46 + checksum: 10c0/20f29a41a99bad5931faf4d4a01e7be7fb27e5b5338fdfb06d2368e295c3d3d4ef49958ad57d2b17bad108e5c84574db6244ed8221e6b77a767f64ef12564119 languageName: node linkType: hard