Merge remote-tracking branch 'parent/main' into upstream-20231109
This commit is contained in:
commit
fc1b280d59
65 changed files with 18502 additions and 13905 deletions
|
@ -1,6 +1,6 @@
|
|||
default: &default
|
||||
adapter: postgresql
|
||||
pool: <%= ENV["DB_POOL"] || ENV['MAX_THREADS'] || 5 %>
|
||||
pool: <%= ENV["DB_POOL"] || (if Sidekiq.server? then Sidekiq[:concurrency] else ENV['MAX_THREADS'] end) || 5 %>
|
||||
timeout: 5000
|
||||
connect_timeout: 15
|
||||
encoding: unicode
|
||||
|
|
|
@ -44,7 +44,7 @@ Rails.application.configure do
|
|||
config.force_ssl = true
|
||||
config.ssl_options = {
|
||||
redirect: {
|
||||
exclude: ->request { request.path.start_with?('/health') || request.headers["Host"].end_with?('.onion') || request.headers["Host"].end_with?('.i2p') }
|
||||
exclude: ->(request) { request.path.start_with?('/health') || request.headers["Host"].end_with?('.onion') || request.headers["Host"].end_with?('.i2p') }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ end
|
|||
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
|
||||
# Rails.application.config.content_security_policy_report_only = true
|
||||
|
||||
Rails.application.config.content_security_policy_nonce_generator = ->request { SecureRandom.base64(16) }
|
||||
Rails.application.config.content_security_policy_nonce_generator = ->(request) { SecureRandom.base64(16) }
|
||||
|
||||
Rails.application.config.content_security_policy_nonce_directives = %w(style-src)
|
||||
|
||||
|
|
|
@ -556,6 +556,7 @@ be:
|
|||
total_reported: Скаргі на іх
|
||||
total_storage: Медыя дадаткі
|
||||
totals_time_period_hint_html: Паказаныя агульныя значэнні ніжэй уключаюць даныя за ўвесь час.
|
||||
unknown_instance: На дадзены момант няма запісаў аб гэтым дамене на гэтым серверы.
|
||||
invites:
|
||||
deactivate_all: Дэактываваць усё
|
||||
filter:
|
||||
|
@ -1076,6 +1077,14 @@ be:
|
|||
hint_html: Засталася яшчэ адна рэч! Каб не дапусціць спаму, нам трэба пацвердзіць, што вы чалавек. Разгадайце CAPTCHA ніжэй і націсніце «Працягнуць».
|
||||
title: Праверка бяспекі
|
||||
confirmations:
|
||||
awaiting_review: Ваш электронны адрас пацверджаны! Адміністрацыя %{domain} зараз разглядае вашу рэгістрацыю. Вы атрымаеце паведамленне па электроннай пошце, калі ваш уліковы запіс будзе ўхвалены!
|
||||
awaiting_review_title: Ваша рэгістрацыя разглядаецца
|
||||
clicking_this_link: націснуць на гэту спасылку
|
||||
login_link: увайсці
|
||||
proceed_to_login_html: Цяпер вы можаце перайсці да %{login_link}.
|
||||
redirect_to_app_html: Вы павінны былі быць перанакіраваны ў праграму <strong>%{app_name}</strong>. Калі гэтага не адбылося, паспрабуйце %{clicking_this_link} або вярніцеся да праграмы ўручную.
|
||||
registration_complete: Ваша рэгістрацыя на %{domain} завершана!
|
||||
welcome_title: Вітаем, %{name}!
|
||||
wrong_email_hint: Калі гэты адрас электроннай пошты памылковы, вы можаце змяніць яго ў наладах уліковага запісу.
|
||||
delete_account: Выдаліць уліковы запіс
|
||||
delete_account_html: Калі вы жадаеце выдаліць ваш уліковы запіс, можаце <a href="%{path}">працягнуць тут</a>. Ад вас будзе запатрабавана пацвярджэнне.
|
||||
|
@ -1137,6 +1146,7 @@ be:
|
|||
functional: Ваш уліковы запіс поўнасцю працуе.
|
||||
pending: Ваша заяўка разглядаецца нашым супрацоўнікам. Гэта можа заняць некаторы час. Вы атрымаеце электронны ліст, калі заяўка будзе ўхвалена.
|
||||
redirecting_to: Ваш уліковы запіс неактыўны, бо ў цяперашні час ён перанакіроўваецца на %{acct}.
|
||||
self_destruct: Паколькі %{domain} зачыняецца, вы атрымаеце толькі абмежаваны доступ да свайго уліковага запісу.
|
||||
view_strikes: Праглядзець мінулыя папярэджанні для вашага ўліковага запісу
|
||||
too_fast: Форма адпраўлена занадта хутка, паспрабуйце яшчэ раз.
|
||||
use_security_key: Выкарыстаеце ключ бяспекі
|
||||
|
@ -1622,6 +1632,9 @@ be:
|
|||
over_daily_limit: Вы перавысілі ліміт ў %{limit} запланаваных на сёння допісаў
|
||||
over_total_limit: Вы перавысілі ліміт ў %{limit} запланаваных допісаў
|
||||
too_soon: Запланаваная дата мусіць быць у будучыні
|
||||
self_destruct:
|
||||
lead_html: На жаль, дамен <strong>%{domain}</strong> зачыняецца назаўсёды. Калі ў вас быў уліковы запіс, вы не зможаце працягваць выкарыстоўваць яго, але вы ўсё яшчэ можаце запытаць рэзервовае капіраванне вашых даных.
|
||||
title: Гэты сервер зачыняецца
|
||||
sessions:
|
||||
activity: Апошняя актыўнасць
|
||||
browser: Браўзер
|
||||
|
|
|
@ -1601,7 +1601,7 @@ ko:
|
|||
windows_mobile: 윈도우 모바일
|
||||
windows_phone: 윈도우 폰
|
||||
revoke: 삭제
|
||||
revoke_success: 세션을 성공적으로 취소하였습니다
|
||||
revoke_success: 세션을 성공적으로 삭제하였습니다
|
||||
title: 세션
|
||||
view_authentication_history: 내 계정에 대한 인증 이력 보기
|
||||
settings:
|
||||
|
|
|
@ -98,7 +98,7 @@ sk:
|
|||
disabled: Blokovaný
|
||||
pending: Čakajúci
|
||||
silenced: Obmedzený
|
||||
suspended: Vylúčený/á
|
||||
suspended: Pozastavený/á
|
||||
title: Moderácia
|
||||
moderation_notes: Moderátorské poznámky
|
||||
most_recent_activity: Posledná aktivita
|
||||
|
@ -149,8 +149,8 @@ sk:
|
|||
statuses: Príspevkov
|
||||
strikes: Predchádzajúce údery
|
||||
subscribe: Odoberaj
|
||||
suspend: Vylúč
|
||||
suspended: Vylúčený/á
|
||||
suspend: Pozastav
|
||||
suspended: Pozastavený/á
|
||||
suspension_irreversible: Údaje tohto účtu boli nenávratne vymazané. Účet môžete zrušiť, aby sa dal používať, ale neobnovia sa žiadne údaje, ktoré predtým mal.
|
||||
suspension_reversible_hint_html: Účet bol pozastavený a údaje budú úplne odstránené dňa %{date}. Dovtedy je možné účet obnoviť bez akýchkoľvek nepriaznivých účinkov. Ak chcete okamžite odstrániť všetky údaje účtu, môžete tak urobiť nižšie.
|
||||
title: Účty
|
||||
|
@ -162,6 +162,7 @@ sk:
|
|||
undo_suspension: Zruš blokovanie
|
||||
unsilenced_msg: Úspešne zrušené obmedzenie účtu %{username}
|
||||
unsubscribe: Prestaň odoberať
|
||||
unsuspended_msg: "%{username} ov/in účet úspešne spojazdnený"
|
||||
username: Prezývka
|
||||
view_domain: Ukáž súhrn pre doménu
|
||||
warn: Varuj
|
||||
|
@ -209,7 +210,7 @@ sk:
|
|||
resolve_report: Vyrieš nahlásený problém
|
||||
sensitive_account: Vynúť všetky médiá na účte ako chúlostivé
|
||||
silence_account: Utíš účet
|
||||
suspend_account: Vylúč účet
|
||||
suspend_account: Pozastav účet
|
||||
unassigned_report: Odober priradenie nahlásenia
|
||||
unblock_email_account: Odblokuj emailovú adresu
|
||||
unsilence_account: Zvráť obmedzenie účtu
|
||||
|
@ -255,6 +256,7 @@ sk:
|
|||
silence_account_html: "%{name} obmedzil/a účet %{target}"
|
||||
suspend_account_html: "%{name} zablokoval/a účet používateľa %{target}"
|
||||
unassigned_report_html: "%{name} odobral/a report od %{target}"
|
||||
unsuspend_account_html: "%{name} spojazdnil/a účet %{target}"
|
||||
update_user_role_html: "%{name} zmenil/a rolu pre %{target}"
|
||||
deleted_account: zmazaný účet
|
||||
empty: Žiadne záznamy nenájdené.
|
||||
|
@ -341,6 +343,7 @@ sk:
|
|||
confirm_suspension:
|
||||
cancel: Zruš
|
||||
confirm: Vylúč
|
||||
preamble_html: Chystáš sa vylúčiť <strong>%{domain}</strong> a jej poddomény.
|
||||
title: Potvrď blokovanie domény %{domain}
|
||||
created_msg: Doména je v štádiu blokovania
|
||||
destroyed_msg: Blokovanie domény bolo zrušené
|
||||
|
@ -355,7 +358,7 @@ sk:
|
|||
severity:
|
||||
noop: Nič
|
||||
silence: Obmedz
|
||||
suspend: Vylúč
|
||||
suspend: Pozastav
|
||||
title: Nové blokovanie domény
|
||||
not_permitted: Nemáš povolenie na vykonanie tohto kroku
|
||||
obfuscate: Zatemniť názov domény
|
||||
|
@ -416,7 +419,7 @@ sk:
|
|||
reject_media: Zamietni médiá
|
||||
reject_reports: Zamietni hlásenia
|
||||
silence: Obmedzená
|
||||
suspend: Vylúč
|
||||
suspend: Pozastav
|
||||
policy: Zásady
|
||||
reason: Verejné odôvodnenie
|
||||
title: Zásady o obsahu
|
||||
|
@ -537,7 +540,7 @@ sk:
|
|||
statuses: Nahlásený obsah
|
||||
summary:
|
||||
action_preambles:
|
||||
suspend_html: 'Chystáš sa <strong>vylúčiť</strong> účet <strong>@%{acct}</strong>. To urobí:'
|
||||
suspend_html: 'Chystáš sa <strong>pozastaviť</strong> účet <strong>@%{acct}</strong>. To urobí:'
|
||||
actions:
|
||||
delete_html: Vymaž pohoršujúce príspevky
|
||||
mark_as_sensitive_html: Označ médiá pohoršujúcich príspevkov za chúlostivé
|
||||
|
|
|
@ -3,6 +3,18 @@
|
|||
require 'sidekiq_unique_jobs/web'
|
||||
require 'sidekiq-scheduler/web'
|
||||
|
||||
class RedirectWithVary < ActionDispatch::Routing::PathRedirect
|
||||
def build_response(req)
|
||||
super.tap do |response|
|
||||
response.headers['Vary'] = 'Origin, Accept'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def redirect_with_vary(path)
|
||||
RedirectWithVary.new(301, path)
|
||||
end
|
||||
|
||||
Rails.application.routes.draw do
|
||||
# Paths of routes on the web app that to not require to be indexed or
|
||||
# have alternative format representations requiring separate controllers
|
||||
|
@ -97,10 +109,13 @@ Rails.application.routes.draw do
|
|||
confirmations: 'auth/confirmations',
|
||||
}
|
||||
|
||||
get '/users/:username', to: redirect('/@%{username}'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
get '/users/:username/following', to: redirect('/@%{username}/following'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
get '/users/:username/followers', to: redirect('/@%{username}/followers'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
get '/users/:username/statuses/:id', to: redirect('/@%{username}/%{id}'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
# rubocop:disable Style/FormatStringToken - those do not go through the usual formatting functions and are not safe to correct
|
||||
get '/users/:username', to: redirect_with_vary('/@%{username}'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
get '/users/:username/following', to: redirect_with_vary('/@%{username}/following'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
get '/users/:username/followers', to: redirect_with_vary('/@%{username}/followers'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
get '/users/:username/statuses/:id', to: redirect_with_vary('/@%{username}/%{id}'), constraints: lambda { |req| req.format.nil? || req.format.html? }
|
||||
# rubocop:enable Style/FormatStringToken
|
||||
|
||||
get '/authorize_follow', to: redirect { |_, request| "/authorize_interaction?#{request.params.to_query}" }
|
||||
|
||||
resources :accounts, path: 'users', only: [:show], param: :username do
|
||||
|
|
|
@ -4,7 +4,7 @@ const { createHash } = require('crypto');
|
|||
const { readFileSync } = require('fs');
|
||||
const { resolve } = require('path');
|
||||
|
||||
const CompressionPlugin = require('@renchap/compression-webpack-plugin');
|
||||
const CompressionPlugin = require('compression-webpack-plugin');
|
||||
const TerserPlugin = require('terser-webpack-plugin');
|
||||
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
|
||||
const { merge } = require('webpack-merge');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue