Skip to content

Commit

Permalink
Merge pull request #2967 from ClearlyClaire/glitch-soc/merge-upstream
Browse files Browse the repository at this point in the history
Merge upstream changes up to 1cf3071
  • Loading branch information
ClearlyClaire authored Feb 8, 2025
2 parents 9449e12 + a417d6f commit 6d14a36
Show file tree
Hide file tree
Showing 23 changed files with 96 additions and 93 deletions.
28 changes: 14 additions & 14 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ GEM
erubi (1.13.1)
et-orbi (1.2.11)
tzinfo
excon (0.112.0)
excon (1.2.3)
fabrication (2.31.0)
faker (3.5.1)
i18n (>= 1.8.11, < 2)
Expand All @@ -244,15 +244,15 @@ GEM
flatware-rspec (2.3.4)
flatware (= 2.3.4)
rspec (>= 3.6)
fog-core (2.5.0)
fog-core (2.6.0)
builder
excon (~> 0.71)
excon (~> 1.0)
formatador (>= 0.2, < 2.0)
mime-types
fog-json (1.2.0)
fog-core
multi_json (~> 1.10)
fog-openstack (1.1.3)
fog-openstack (1.1.4)
fog-core (~> 2.1)
fog-json (>= 1.0)
formatador (1.1.0)
Expand Down Expand Up @@ -350,7 +350,7 @@ GEM
addressable (~> 2.8)
bigdecimal (~> 3.1)
jsonapi-renderer (0.2.2)
jwt (2.9.3)
jwt (2.10.1)
base64
kaminari (1.2.2)
activesupport (>= 4.1.0)
Expand Down Expand Up @@ -407,7 +407,7 @@ GEM
mime-types (3.6.0)
logger
mime-types-data (~> 3.2015)
mime-types-data (3.2025.0107)
mime-types-data (3.2025.0204)
mini_mime (1.1.5)
mini_portile2 (2.8.8)
minitest (5.25.4)
Expand Down Expand Up @@ -461,7 +461,7 @@ GEM
validate_email
validate_url
webfinger (~> 1.2)
openssl (3.2.1)
openssl (3.3.0)
openssl-signature_algorithm (1.3.0)
openssl (> 2.0)
opentelemetry-api (1.4.0)
Expand Down Expand Up @@ -697,7 +697,7 @@ GEM
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.2)
rspec-core (3.13.3)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
Expand All @@ -707,7 +707,7 @@ GEM
rspec-mocks (3.13.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-rails (7.1.0)
rspec-rails (7.1.1)
actionpack (>= 7.0)
activesupport (>= 7.0)
railties (>= 7.0)
Expand Down Expand Up @@ -753,7 +753,7 @@ GEM
ruby-saml (1.17.0)
nokogiri (>= 1.13.10)
rexml
ruby-vips (2.2.2)
ruby-vips (2.2.3)
ffi (~> 1.12)
logger
rubyzip (2.4.1)
Expand Down Expand Up @@ -825,7 +825,7 @@ GEM
thor (1.3.2)
tilt (2.6.0)
timeout (0.4.3)
tpm-key_attestation (0.12.1)
tpm-key_attestation (0.14.0)
bindata (~> 2.4)
openssl (> 2.0)
openssl-signature_algorithm (~> 1.0)
Expand Down Expand Up @@ -860,18 +860,18 @@ GEM
public_suffix
warden (1.2.9)
rack (>= 2.0.9)
webauthn (3.2.2)
webauthn (3.3.0)
android_key_attestation (~> 0.3.0)
bindata (~> 2.4)
cbor (~> 0.5.9)
cose (~> 1.1)
openssl (>= 2.2)
safety_net_attestation (~> 0.4.0)
tpm-key_attestation (~> 0.12.0)
tpm-key_attestation (~> 0.14.0)
webfinger (1.2.0)
activesupport
httpclient (>= 2.4)
webmock (3.24.0)
webmock (3.25.0)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
Expand Down
36 changes: 18 additions & 18 deletions app/javascript/mastodon/locales/eo.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"account.languages": "Ŝanĝi la abonitajn lingvojn",
"account.link_verified_on": "Propreco de tiu ligilo estis konfirmita je {date}",
"account.locked_info": "Tiu konto estas privatigita. La posedanto mane akceptas tiun, kiu povas sekvi rin.",
"account.media": "Plurmedio",
"account.media": "Aŭdovidaĵoj",
"account.mention": "Mencii @{name}",
"account.moved_to": "{name} indikis, ke ria nova konto estas nun:",
"account.mute": "Silentigi @{name}",
Expand Down Expand Up @@ -172,7 +172,7 @@
"column_search.cancel": "Nuligi",
"column_subheading.settings": "Agordoj",
"community.column_settings.local_only": "Nur loka",
"community.column_settings.media_only": "Nur plurmedio",
"community.column_settings.media_only": "Nur vidaŭdaĵoj",
"community.column_settings.remote_only": "Nur fora",
"compose.language.change": "Ŝanĝi lingvon",
"compose.language.search": "Serĉi lingvojn...",
Expand Down Expand Up @@ -208,7 +208,7 @@
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
"confirmations.delete_list.title": "Ĉu forigi liston?",
"confirmations.discard_edit_media.confirm": "Forĵeti",
"confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭmontro de la plurmedio, ĉu vi forĵetu ilin malgraŭe?",
"confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭvidigo de la vidaŭdaĵo, ĉu vi forĵetu ilin malgraŭe?",
"confirmations.edit.confirm": "Redakti",
"confirmations.edit.message": "Redakti nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
"confirmations.edit.title": "Ĉu superskribi afiŝon?",
Expand Down Expand Up @@ -459,7 +459,7 @@
"keyboard_shortcuts.muted": "Malfermu la liston de silentigitaj uzantoj",
"keyboard_shortcuts.my_profile": "Malfermu vian profilon",
"keyboard_shortcuts.notifications": "Malfermu la sciigajn kolumnon",
"keyboard_shortcuts.open_media": "Malfermu plurmedion",
"keyboard_shortcuts.open_media": "Malfermi vidaŭdaĵon",
"keyboard_shortcuts.pinned": "Malfermu alpinglitajn afiŝojn-liston",
"keyboard_shortcuts.profile": "Malfermu la profilon de aŭtoroprofilo",
"keyboard_shortcuts.reply": "Respondu al afiŝo",
Expand All @@ -468,7 +468,7 @@
"keyboard_shortcuts.spoilers": "Montri/kaŝi CW-kampon",
"keyboard_shortcuts.start": "Malfermu \"por komenci\" kolumnon",
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ CW",
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi plurmedion",
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi vidaŭdaĵojn",
"keyboard_shortcuts.toot": "Komencu novan afiŝon",
"keyboard_shortcuts.translate": "Traduki afiŝon",
"keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon",
Expand Down Expand Up @@ -540,7 +540,7 @@
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
"navigation_bar.lists": "Listoj",
"navigation_bar.logout": "Elsaluti",
"navigation_bar.moderation": "Modereco",
"navigation_bar.moderation": "Reguligo",
"navigation_bar.mutes": "Silentigitaj uzantoj",
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
"navigation_bar.personal": "Persone",
Expand Down Expand Up @@ -574,11 +574,11 @@
"notification.mention": "Mencii",
"notification.mentioned_you": "{name} menciis vin",
"notification.moderation-warning.learn_more": "Lerni pli",
"notification.moderation_warning": "Vi ricevis moderigan averton",
"notification.moderation_warning": "Vi ricevis reguligan averton",
"notification.moderation_warning.action_delete_statuses": "Kelkaj el viaj afiŝoj estis forigitaj.",
"notification.moderation_warning.action_disable": "Via konto estas malŝaltita.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Kelkaj el viaj afiŝoj estis markitaj kiel sentemaj.",
"notification.moderation_warning.action_none": "Via konto ricevis moderigan averton.",
"notification.moderation_warning.action_none": "Via konto ricevis reguligan averton.",
"notification.moderation_warning.action_sensitive": "Viaj afiŝoj estos markitaj kiel sentemaj ekde nun.",
"notification.moderation_warning.action_silence": "Via konto estis limigita.",
"notification.moderation_warning.action_suspend": "Via konto estas malakceptita.",
Expand All @@ -605,8 +605,8 @@
"notification_requests.dismiss_multiple": "{count, plural, one {Malakcepti # peton…} other {# Malakcepti # petojn…}}",
"notification_requests.edit_selection": "Redakti",
"notification_requests.exit_selection": "Farita",
"notification_requests.explainer_for_limited_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto estis limigita de moderanto.",
"notification_requests.explainer_for_limited_remote_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto aŭ ĝia servilo estis limigitaj de moderanto.",
"notification_requests.explainer_for_limited_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto estis limigita de reguligisto.",
"notification_requests.explainer_for_limited_remote_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto aŭ ĝia servilo estis limigitaj de reguligisto.",
"notification_requests.maximize": "Maksimumigi",
"notification_requests.minimize_banner": "Minimumigi filtritajn sciigojn-rubandon",
"notification_requests.notifications_from": "Sciigoj de {name}",
Expand Down Expand Up @@ -653,8 +653,8 @@
"notifications.policy.drop_hint": "Sendi al la malpleno, por neniam esti vidita denove",
"notifications.policy.filter": "Filtri",
"notifications.policy.filter_hint": "Sendi al filtritaj sciigoj-enirkesto",
"notifications.policy.filter_limited_accounts_hint": "Limigita de servilaj moderigantoj",
"notifications.policy.filter_limited_accounts_title": "Moderigitaj kontoj",
"notifications.policy.filter_limited_accounts_hint": "Limigita de servilaj reguligistoj",
"notifications.policy.filter_limited_accounts_title": "Reguligitaj kontoj",
"notifications.policy.filter_new_accounts.hint": "Kreite en la {days, plural, one {lasta tago} other {# lastaj tagoj}}",
"notifications.policy.filter_new_accounts_title": "Novaj kontoj",
"notifications.policy.filter_not_followers_hint": "Inkluzive de homoj, kiuj sekvis vin malpli ol {days, plural, one {unu tago} other {# tagoj}}",
Expand Down Expand Up @@ -781,7 +781,7 @@
"search.quick_action.go_to_account": "Iri al profilo {x}",
"search.quick_action.go_to_hashtag": "Iri al kradvorto {x}",
"search.quick_action.open_url": "Malfermi URL en Mastodono",
"search.quick_action.status_search": "Afiŝoj kiuj kongruas kun {x}",
"search.quick_action.status_search": "Afiŝoj kiuj konformas kun {x}",
"search.search_or_paste": "Serĉu aŭ algluu URL-on",
"search_popout.full_text_search_disabled_message": "Ne havebla sur {domain}.",
"search_popout.full_text_search_logged_out_message": "Disponebla nur kiam ensalutinte.",
Expand All @@ -796,7 +796,7 @@
"search_results.hashtags": "Kradvortoj",
"search_results.no_results": "Ne estas rezultoj.",
"search_results.no_search_yet": "Provu serĉi afiŝojn, profilojn aŭ kradvortojn.",
"search_results.see_all": "Vidu ĉiujn",
"search_results.see_all": "Vidi ĉiujn",
"search_results.statuses": "Afiŝoj",
"search_results.title": "Serĉu \"{q}\"",
"server_banner.about_active_users": "Personoj uzantaj ĉi tiun servilon dum la lastaj 30 tagoj (Aktivaj Uzantoj Monate)",
Expand All @@ -809,9 +809,9 @@
"sign_in_banner.mastodon_is": "Mastodon estas la plej bona maniero resti ĝisdata pri aktualaĵoj.",
"sign_in_banner.sign_in": "Ensaluti",
"sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi",
"status.admin_account": "Malfermi fasadon de moderigado por @{name}",
"status.admin_domain": "Malfermu moderigan interfacon por {domain}",
"status.admin_status": "Malfermi ĉi tiun afiŝon en la kontrola interfaco",
"status.admin_account": "Malfermi fasadon de la reguligado por @{name}",
"status.admin_domain": "Malfermi fasadon de la reguligado por {domain}",
"status.admin_status": "Malfermi ĉi tiun afiŝon en la fasado de la reguligado",
"status.block": "Bloki @{name}",
"status.bookmark": "Aldoni al la legosignoj",
"status.cancel_reblog_private": "Ne plu diskonigi",
Expand All @@ -834,7 +834,7 @@
"status.load_more": "Ŝargi pli",
"status.media.open": "Alklaki por malfermi",
"status.media.show": "Alklaki por montri",
"status.media_hidden": "Plurmedio kaŝita",
"status.media_hidden": "Vidaŭdaĵo kaŝita",
"status.mention": "Mencii @{name}",
"status.more": "Pli",
"status.mute": "Silentigi @{name}",
Expand Down
8 changes: 8 additions & 0 deletions app/javascript/mastodon/locales/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,11 @@
"alert.unexpected.title": "エラー!",
"alt_text_badge.title": "代替テキスト",
"alt_text_modal.add_alt_text": "代替テキストを追加",
"alt_text_modal.add_text_from_image": "画像からテキストを追加",
"alt_text_modal.cancel": "キャンセル",
"alt_text_modal.change_thumbnail": "サムネイルを変更",
"alt_text_modal.describe_for_people_with_hearing_impairments": "耳の不自由な方のために説明してください…",
"alt_text_modal.describe_for_people_with_visual_impairments": "目が不自由な方のために説明してください…",
"alt_text_modal.done": "完了",
"announcement.announcement": "お知らせ",
"annual_report.summary.archetype.booster": "トレンドハンター",
Expand Down Expand Up @@ -215,6 +218,10 @@
"confirmations.logout.confirm": "ログアウト",
"confirmations.logout.message": "本当にログアウトしますか?",
"confirmations.logout.title": "ログアウトしようとしています",
"confirmations.missing_alt_text.confirm": "代替テキストを追加",
"confirmations.missing_alt_text.message": "あなたの投稿には大体テキストのないメディアが含まれています。説明文を追加することで、より多くの人がコンテンツにアクセスできるようになります。",
"confirmations.missing_alt_text.secondary": "そのまま投稿する",
"confirmations.missing_alt_text.title": "代替テキストを追加しますか?",
"confirmations.mute.confirm": "ミュート",
"confirmations.redraft.confirm": "削除して下書きに戻す",
"confirmations.redraft.message": "投稿を削除して下書きに戻します。この投稿へのお気に入り登録やブーストは失われ、返信は孤立することになります。よろしいですか?",
Expand Down Expand Up @@ -463,6 +470,7 @@
"keyboard_shortcuts.toggle_hidden": "CWで隠れた文を見る/隠す",
"keyboard_shortcuts.toggle_sensitivity": "非表示のメディアを見る/隠す",
"keyboard_shortcuts.toot": "新規投稿",
"keyboard_shortcuts.translate": "投稿を翻訳する",
"keyboard_shortcuts.unfocus": "投稿の入力欄・検索欄から離れる",
"keyboard_shortcuts.up": "カラム内一つ上に移動",
"lightbox.close": "閉じる",
Expand Down
2 changes: 1 addition & 1 deletion app/javascript/mastodon/locales/pt-PT.json
Original file line number Diff line number Diff line change
Expand Up @@ -817,7 +817,7 @@
"status.cancel_reblog_private": "Retirar impulso",
"status.cannot_reblog": "Esta publicação não pode ser impulsionada",
"status.continued_thread": "Continuação da conversa",
"status.copy": "Copiar hiperligação para a publicação",
"status.copy": "Copiar hiperligação da publicação",
"status.delete": "Eliminar",
"status.detailed_status": "Vista pormenorizada da conversa",
"status.direct": "Mencionar @{name} em privado",
Expand Down
2 changes: 2 additions & 0 deletions app/javascript/mastodon/locales/sk.json
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@
"confirmations.logout.confirm": "Odhlásiť sa",
"confirmations.logout.message": "Určite sa chcete odhlásiť?",
"confirmations.logout.title": "Odhlásiť sa?",
"confirmations.missing_alt_text.secondary": "Odošli aj tak",
"confirmations.mute.confirm": "Stíšiť",
"confirmations.redraft.confirm": "Vymazať a prepísať",
"confirmations.redraft.message": "Určite chcete tento príspevok vymazať a prepísať? Prídete o jeho zdieľania a ohviezdičkovania a odpovede na pôvodný príspevok budú odlúčené.",
Expand Down Expand Up @@ -319,6 +320,7 @@
"follow_requests.unlocked_explanation": "Aj keď váš účet nie je uzamknutý, tím domény {domain} si myslel, že môžete chcieť skontrolovať žiadosti o sledovanie z týchto účtov manuálne.",
"follow_suggestions.curated_suggestion": "Výber redakcie",
"follow_suggestions.dismiss": "Znova nezobrazovať",
"follow_suggestions.featured_longer": "Ručne vybrané tímom {domain}",
"follow_suggestions.friends_of_friends_longer": "Populárne medzi ľudmi ktorých nasleduješ",
"follow_suggestions.hints.featured": "Tento profil bol ručne zvolený tímom domény {domain}.",
"follow_suggestions.hints.friends_of_friends": "Tento profil je obľúbený medzi účtami, ktoré sledujete.",
Expand Down
1 change: 1 addition & 0 deletions app/javascript/mastodon/locales/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@
"confirmations.logout.message": "Ви впевнені, що хочете вийти?",
"confirmations.logout.title": "Вийти?",
"confirmations.missing_alt_text.confirm": "Додати альтернативний текст",
"confirmations.missing_alt_text.message": "У вашому дописі є медіа без альтернативного тексту. Додавання опису допоможе зробити ваші матеріали доступними для більшої кількості людей.",
"confirmations.missing_alt_text.secondary": "Все одно опублікувати",
"confirmations.missing_alt_text.title": "Додати альтернативний текст?",
"confirmations.mute.confirm": "Приховати",
Expand Down
2 changes: 1 addition & 1 deletion app/lib/admin/system_check/media_privacy_check.rb
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def check_s3_listing!(full_url)

def media_attachment
@media_attachment ||= begin
attachment = Account.representative.media_attachments.first
attachment = Account.representative.media_attachments.take
if attachment.present?
attachment.touch
attachment
Expand Down
9 changes: 9 additions & 0 deletions app/lib/feed_manager.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ def key(type, id, subtype = nil)
"feed:#{type}:#{id}:#{subtype}"
end

# The number of items in the given timeline
# @param [Symbol] type
# @param [Integer] id
# @param [Symbol] subtype
# @return [Integer]
def timeline_size(type, id, subtype = nil)
redis.zcard(key(type, id, subtype))
end

# The filter result of the status to a particular feed
# @param [Symbol] timeline_type
# @param [Status] status
Expand Down
16 changes: 12 additions & 4 deletions app/services/precompute_feed_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,22 @@
class PrecomputeFeedService < BaseService
include Redisable

def call(account)
FeedManager.instance.populate_home(account)
FeedManager.instance.populate_direct_feed(account)
def call(account, skip_filled_timelines: false)
@skip_filled_timelines = skip_filled_timelines

FeedManager.instance.populate_home(account) unless skip_timeline?(:home, account.id)
FeedManager.instance.populate_direct_feed(account) unless skip_timeline?(:direct, account.id)

account.owned_lists.each do |list|
FeedManager.instance.populate_list(list)
FeedManager.instance.populate_list(list) unless skip_timeline?(:list, list.id)
end
ensure
redis.del("account:#{account.id}:regeneration")
end

private

def skip_timeline?(type, id)
@skip_filled_timelines && FeedManager.instance.timeline_size(type, id) * 2 > FeedManager::MAX_ITEMS
end
end
2 changes: 1 addition & 1 deletion config/locales/doorkeeper.eo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ eo:
write:filters: krei filtrilojn
write:follows: sekvi homojn
write:lists: krei listojn
write:media: alŝuti plurmediojn
write:media: alŝuti aŭdovidaĵojn
write:mutes: silentigi homojn kaj konversaciojn
write:notifications: forigi viajn sciigojn
write:reports: signali aliajn homojn
Expand Down
4 changes: 2 additions & 2 deletions config/locales/eo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ eo:
dashboard:
active_users: aktivaj uzantoj
interactions: interago
media_storage: Konservo de plurmedioj
media_storage: Konservo de aŭdovidaĵoj
new_users: novaj uzantoj
opened_reports: raportoj malfermitaj
pending_appeals_html:
Expand Down Expand Up @@ -508,7 +508,7 @@ eo:
description_html: Vi povas difini enhavopolitikojn al la ĉiuj kontoj.
limited_federation_mode_description_html: Vi povas elekti, ĉu permesi federacion kun tiu domajno.
policies:
reject_media: Malakcepti plurmediojn
reject_media: Malakcepti la vidaŭdaĵojn
reject_reports: Malakcepti raportojn
silence: Kaŝu
suspend: Suspendi
Expand Down
Loading

0 comments on commit 6d14a36

Please sign in to comment.