diff --git a/app/javascript/mastodon/features/explore/results.jsx b/app/javascript/mastodon/features/explore/results.jsx
index 1b9d2f30db..c6fe9b78e0 100644
--- a/app/javascript/mastodon/features/explore/results.jsx
+++ b/app/javascript/mastodon/features/explore/results.jsx
@@ -156,45 +156,43 @@ class Results extends PureComponent {
let filteredResults;
- if (!isLoading) {
- const accounts = results.get('accounts', ImmutableList());
- const hashtags = results.get('hashtags', ImmutableList());
- const statuses = results.get('statuses', ImmutableList());
+ const accounts = results.get('accounts', ImmutableList());
+ const hashtags = results.get('hashtags', ImmutableList());
+ const statuses = results.get('statuses', ImmutableList());
- switch(type) {
- case 'all':
- filteredResults = (accounts.size + hashtags.size + statuses.size) > 0 ? (
- <>
- {accounts.size > 0 && (
- >} onClickMore={this.handleLoadMoreAccounts}>
- {accounts.take(INITIAL_DISPLAY).map(id => )}
-
- )}
+ switch(type) {
+ case 'all':
+ filteredResults = (accounts.size + hashtags.size + statuses.size) > 0 ? (
+ <>
+ {accounts.size > 0 && (
+ >} onClickMore={this.handleLoadMoreAccounts}>
+ {accounts.take(INITIAL_DISPLAY).map(id => )}
+
+ )}
- {hashtags.size > 0 && (
- >} onClickMore={this.handleLoadMoreHashtags}>
- {hashtags.take(INITIAL_DISPLAY).map(hashtag => )}
-
- )}
+ {hashtags.size > 0 && (
+ >} onClickMore={this.handleLoadMoreHashtags}>
+ {hashtags.take(INITIAL_DISPLAY).map(hashtag => )}
+
+ )}
- {statuses.size > 0 && (
- >} onClickMore={this.handleLoadMoreStatuses}>
- {statuses.take(INITIAL_DISPLAY).map(id => )}
-
- )}
- >
- ) : [];
- break;
- case 'accounts':
- filteredResults = renderAccounts(accounts);
- break;
- case 'hashtags':
- filteredResults = renderHashtags(hashtags);
- break;
- case 'statuses':
- filteredResults = renderStatuses(statuses);
- break;
- }
+ {statuses.size > 0 && (
+ >} onClickMore={this.handleLoadMoreStatuses}>
+ {statuses.take(INITIAL_DISPLAY).map(id => )}
+
+ )}
+ >
+ ) : [];
+ break;
+ case 'accounts':
+ filteredResults = renderAccounts(accounts);
+ break;
+ case 'hashtags':
+ filteredResults = renderHashtags(hashtags);
+ break;
+ case 'statuses':
+ filteredResults = renderStatuses(statuses);
+ break;
}
return (
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index c92b5bd0b9..e1361f6537 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -308,7 +308,7 @@
"home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시",
"home.explore_prompt.body": "홈 피드에는 내가 팔로우한 해시태그 그리고 팔로우한 사람과 부스트가 함께 나타나요. 너무 고요하게 느껴진다면, 다음 것들을 살펴볼 수 있어요:",
- "home.explore_prompt.title": "여기가 Mastodon 이용의 본거지예요.",
+ "home.explore_prompt.title": "이곳은 마스토돈의 내 본거지입니다.",
"home.hide_announcements": "공지사항 숨기기",
"home.pending_critical_update.body": "서둘러 마스토돈 서버를 업데이트 하세요!",
"home.pending_critical_update.link": "업데이트 보기",
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index 02943ce091..03e5fdbb8d 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -91,28 +91,26 @@ if ENV['S3_ENABLED'] == 'true'
# Some S3-compatible providers might not actually be compatible with some APIs
# used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822
# and https://github.com/mastodon/mastodon/issues/26394
- if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true' || ENV['S3_DISABLE_CHECKSUM_MODE'] == 'true'
- module Paperclip
- module Storage
- module S3Extensions
- def copy_to_local_file(style, local_dest_path)
- log("copying #{path(style)} to local file #{local_dest_path}")
+ module Paperclip
+ module Storage
+ module S3Extensions
+ def copy_to_local_file(style, local_dest_path)
+ log("copying #{path(style)} to local file #{local_dest_path}")
- options = {}
- options[:mode] = 'single_request' if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
- options[:checksum_mode] = 'DISABLED' if ENV['S3_DISABLE_CHECKSUM_MODE'] == 'true'
+ options = {}
+ options[:mode] = 'single_request' if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
+ options[:checksum_mode] = 'DISABLED' unless ENV['S3_ENABLE_CHECKSUM_MODE'] == 'true'
- s3_object(style).download_file(local_dest_path, options)
- rescue Aws::Errors::ServiceError => e
- warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}")
- false
- end
+ s3_object(style).download_file(local_dest_path, options)
+ rescue Aws::Errors::ServiceError => e
+ warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}")
+ false
end
end
end
-
- Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
end
+
+ Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
elsif ENV['SWIFT_ENABLED'] == 'true'
require 'fog/openstack'
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 89c72074b1..e68f7b86a9 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1498,7 +1498,7 @@ ko:
privacy: 개인정보
privacy_hint_html: 다른 이들을 위해 노출할 수 있는 정보의 양을 조절합니다. 누군가는 다른 이들의 팔로우를 둘러보고 어떤 앱에서 게시물을 올렸는지 살피면서 흥미로운 프로필과 멋진 앱을 발견할 수 있지만, 누군가는 이를 숨기고 싶을 수도 있겠죠.
reach: 도달
- reach_hint_html: 새로운 사람들이 나를 발견하고 팔로우하도록 허용할지 여부를 제어합니다. 발견하기 화면에 게시물이 표시되기를 바라나요? 다른 사람들의 팔로우 추천에 표시되기를 바라나요? 모든 새 팔로워를 자동으로 수락하거나 각 팔로워를 세세하게 제어할까요?
+ reach_hint_html: 새로운 사람들이 나를 발견하고 팔로우하도록 허용할지 여부를 제어합니다. 둘러보기 화면에 게시물이 표시되기를 바라나요? 다른 사람들의 팔로우 추천에 표시되기를 바라나요? 모든 새 팔로워를 자동으로 수락하거나 각 팔로워를 세세하게 제어할까요?
search: 검색
search_hint_html: 내가 어떻게 발견될지를 제어합니다. 내가 공개적으로 게시한 것들로 인해 사람들이 날 발견하길 원하나요? 마스토돈 바깥의 사람들이 웹에서 검색을 통해 내 프로필을 발견하길 원하나요? 공개적인 정보에 대해서 모든 검색엔진의 검색결과에서 제외하는 것은 보장할 수 없다는 점에 주의해주세요.
title: 개인정보와 도달
diff --git a/db/migrate/20230215074423_move_user_settings.rb b/db/migrate/20230215074423_move_user_settings.rb
index 846efdb363..b745436e52 100644
--- a/db/migrate/20230215074423_move_user_settings.rb
+++ b/db/migrate/20230215074423_move_user_settings.rb
@@ -75,7 +75,7 @@ class MoveUserSettings < ActiveRecord::Migration[6.1]
MAPPING.each do |legacy_key, new_key|
value = previous_settings[legacy_key]&.value
- next if value.blank?
+ next if value.nil?
if value.is_a?(Hash)
value.each do |nested_key, nested_value|
diff --git a/lib/tasks/tests.rake b/lib/tasks/tests.rake
index dbf1405991..7f8e72dd8f 100644
--- a/lib/tasks/tests.rake
+++ b/lib/tasks/tests.rake
@@ -59,6 +59,11 @@ namespace :tests do
exit(1)
end
+ unless User.find(1).settings['web.trends'] == false
+ puts 'User settings not kept as expected'
+ exit(1)
+ end
+
unless Account.find_remote('bob', 'ActivityPub.com').domain == 'activitypub.com'
puts 'Account domains not properly normalized'
exit(1)
@@ -131,7 +136,8 @@ namespace :tests do
INSERT INTO "settings"
(id, thing_type, thing_id, var, value, created_at, updated_at)
VALUES
- (3, 'User', 1, 'notification_emails', E'--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\nfollow: false\nreblog: true\nfavourite: true\nmention: false\nfollow_request: true\ndigest: true\nreport: true\npending_account: false\ntrending_tag: true\nappeal: true\n', now(), now());
+ (3, 'User', 1, 'notification_emails', E'--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\nfollow: false\nreblog: true\nfavourite: true\nmention: false\nfollow_request: true\ndigest: true\nreport: true\npending_account: false\ntrending_tag: true\nappeal: true\n', now(), now()),
+ (4, 'User', 1, 'trends', E'--- false\n', now(), now());
INSERT INTO "accounts"
(id, username, domain, private_key, public_key, created_at, updated_at)
@@ -146,7 +152,7 @@ namespace :tests do
INSERT INTO "settings"
(id, thing_type, thing_id, var, value, created_at, updated_at)
VALUES
- (4, 'User', 4, 'default_language', E'--- kmr\n', now(), now());
+ (5, 'User', 4, 'default_language', E'--- kmr\n', now(), now());
SQL
end
diff --git a/yarn.lock b/yarn.lock
index 0da3eb86fe..34a7b4d0ab 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3341,13 +3341,13 @@ atob@^2.1.2:
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
autoprefixer@^10.4.14:
- version "10.4.15"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.15.tgz#a1230f4aeb3636b89120b34a1f513e2f6834d530"
- integrity sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==
+ version "10.4.16"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8"
+ integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==
dependencies:
browserslist "^4.21.10"
- caniuse-lite "^1.0.30001520"
- fraction.js "^4.2.0"
+ caniuse-lite "^1.0.30001538"
+ fraction.js "^4.3.6"
normalize-range "^0.1.2"
picocolors "^1.0.0"
postcss-value-parser "^4.2.0"
@@ -3950,15 +3950,10 @@ caniuse-lite@^1.0.30001502:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz#418aefeed9d024cd3129bfae0ccc782d4cb8f12b"
integrity sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==
-caniuse-lite@^1.0.30001517:
- version "1.0.30001535"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001535.tgz#908a5b7ef11172f51f0b88f3d850aef1c6a3cf7b"
- integrity sha512-48jLyUkiWFfhm/afF7cQPqPjaUmSraEhK4j+FCTJpgnGGEZHqyLe3hmWH7lIooZdSzXL0ReMvHz0vKDoTBsrwg==
-
-caniuse-lite@^1.0.30001520:
- version "1.0.30001520"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz#62e2b7a1c7b35269594cf296a80bdf8cb9565006"
- integrity sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==
+caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001538:
+ version "1.0.30001538"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz#9dbc6b9af1ff06b5eb12350c2012b3af56744f3f"
+ integrity sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==
chalk@5.2.0:
version "5.2.0"
@@ -5105,9 +5100,9 @@ electron-to-chromium@^1.4.428:
integrity sha512-/g3UyNDmDd6ebeWapmAoiyy+Sy2HyJ+/X8KyvNeHfKRFfHaA2W8oF5fxD5F3tjBDcjpwo0iek6YNgxNXDBoEtA==
electron-to-chromium@^1.4.477:
- version "1.4.523"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz#f82f99243c827df05c26776d49712cb284972df6"
- integrity sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==
+ version "1.4.526"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.526.tgz#1bcda5f2b8238e497c20fcdb41af5da907a770e2"
+ integrity sha512-tjjTMjmZAx1g6COrintLTa2/jcafYKxKoiEkdQOrVdbLaHh2wCt2nsAF8ZHweezkrP+dl/VG9T5nabcYoo0U5Q==
elliptic@^6.5.3:
version "6.5.4"
@@ -6070,10 +6065,10 @@ forwarded@0.2.0:
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
-fraction.js@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
- integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
+fraction.js@^4.3.6:
+ version "4.3.6"
+ resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.6.tgz#e9e3acec6c9a28cf7bc36cbe35eea4ceb2c5c92d"
+ integrity sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==
fragment-cache@^0.2.1:
version "0.2.1"
@@ -6251,9 +6246,9 @@ glob-parent@^6.0.2:
is-glob "^4.0.3"
glob@^10.2.5, glob@^10.2.6:
- version "10.3.4"
- resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.4.tgz#c85c9c7ab98669102b6defda76d35c5b1ef9766f"
- integrity sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==
+ version "10.3.5"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.5.tgz#4c0e46b5bccd78ac42b06a7eaaeb9ee34062968e"
+ integrity sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==
dependencies:
foreground-child "^3.1.0"
jackspeak "^2.0.3"
@@ -7371,9 +7366,9 @@ iterator.prototype@^1.1.0:
reflect.getprototypeof "^1.0.3"
jackspeak@^2.0.3:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.1.tgz#ce2effa4c458e053640e61938865a5b5fae98456"
- integrity sha512-4iSY3Bh1Htv+kLhiiZunUhQ+OYXIn0ze3ulq8JeWrFKmhPAJSySV2+kdtRh2pGcCeF0s6oR8Oc+pYZynJj4t8A==
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.3.tgz#95e4cbcc03b3eb357bf6bcce14a903fb3d1151e1"
+ integrity sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==
dependencies:
"@isaacs/cliui" "^8.0.2"
optionalDependencies:
@@ -11490,7 +11485,6 @@ stringz@^2.1.0:
char-regex "^1.0.2"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- name strip-ansi-cjs
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -12304,9 +12298,9 @@ upath@^1.1.1, upath@^1.2.0:
integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
update-browserslist-db@^1.0.11:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
- integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.12.tgz#868ce670ac09b4a4d4c86b608701c0dee2dc41cd"
+ integrity sha512-tE1smlR58jxbFMtrMpFNRmsrOXlpNXss965T1CrpwuZUzUAg/TBQc94SpyhDLSzrqrJS9xTRBthnZAGcE1oaxg==
dependencies:
escalade "^3.1.1"
picocolors "^1.0.0"