diff --git a/.github/stylelint-matcher.json b/.github/stylelint-matcher.json
deleted file mode 100644
index cdfd4086bd4200..00000000000000
--- a/.github/stylelint-matcher.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "problemMatcher": [
- {
- "owner": "stylelint",
- "pattern": [
- {
- "regexp": "^([^\\s].*)$",
- "file": 1
- },
- {
- "regexp": "^\\s+((\\d+):(\\d+))?\\s+(✖|×)\\s+(.*)\\s{2,}(.*)$",
- "line": 2,
- "column": 3,
- "message": 5,
- "code": 6,
- "loop": true
- }
- ]
- }
- ]
-}
diff --git a/.github/workflows/lint-css.yml b/.github/workflows/lint-css.yml
index e5f487487719f1..d3b8035cd86521 100644
--- a/.github/workflows/lint-css.yml
+++ b/.github/workflows/lint-css.yml
@@ -38,9 +38,5 @@ jobs:
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
- - uses: xt0rted/stylelint-problem-matcher@v1
-
- - run: echo "::add-matcher::.github/stylelint-matcher.json"
-
- name: Stylelint
- run: yarn lint:css
+ run: yarn lint:css -f github
diff --git a/Gemfile.lock b/Gemfile.lock
index a231785402e1ab..190888ddb81ba7 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -167,9 +167,9 @@ GEM
activesupport
cbor (0.5.9.8)
charlock_holmes (0.7.7)
- chewy (7.5.1)
+ chewy (7.6.0)
activesupport (>= 5.2)
- elasticsearch (>= 7.12.0, < 7.14.0)
+ elasticsearch (>= 7.14.0, < 8)
elasticsearch-dsl
chunky_png (1.4.0)
climate_control (1.2.0)
@@ -220,14 +220,14 @@ GEM
dotenv (3.1.1)
drb (2.2.1)
ed25519 (1.3.0)
- elasticsearch (7.13.3)
- elasticsearch-api (= 7.13.3)
- elasticsearch-transport (= 7.13.3)
- elasticsearch-api (7.13.3)
+ elasticsearch (7.17.10)
+ elasticsearch-api (= 7.17.10)
+ elasticsearch-transport (= 7.17.10)
+ elasticsearch-api (7.17.10)
multi_json
elasticsearch-dsl (0.1.10)
- elasticsearch-transport (7.13.3)
- faraday (~> 1)
+ elasticsearch-transport (7.17.10)
+ faraday (>= 1, < 3)
multi_json
email_spec (2.2.2)
htmlentities (~> 4.3.3)
@@ -346,7 +346,7 @@ GEM
activesupport (>= 3.0)
nokogiri (>= 1.6)
io-console (0.7.2)
- irb (1.13.0)
+ irb (1.13.1)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jmespath (1.6.2)
@@ -601,7 +601,7 @@ GEM
redlock (1.3.2)
redis (>= 3.0.0, < 6.0)
regexp_parser (2.9.0)
- reline (0.5.4)
+ reline (0.5.5)
io-console (~> 0.5)
request_store (1.6.0)
rack (>= 1.4)
@@ -651,8 +651,8 @@ GEM
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.31.2)
- parser (>= 3.3.0.4)
+ rubocop-ast (1.31.3)
+ parser (>= 3.3.1.0)
rubocop-capybara (2.20.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.25.1)
@@ -665,7 +665,7 @@ GEM
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
- rubocop-rspec (2.29.1)
+ rubocop-rspec (2.29.2)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
diff --git a/app/controllers/admin/site_uploads_controller.rb b/app/controllers/admin/site_uploads_controller.rb
index a5d2cf41cf121d..96e61cf6bbc194 100644
--- a/app/controllers/admin/site_uploads_controller.rb
+++ b/app/controllers/admin/site_uploads_controller.rb
@@ -9,7 +9,7 @@ def destroy
@site_upload.destroy!
- redirect_to admin_settings_path, notice: I18n.t('admin.site_uploads.destroyed_msg')
+ redirect_back fallback_location: admin_settings_path, notice: I18n.t('admin.site_uploads.destroyed_msg')
end
private
diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb
index c4e678a024cb26..881aec13e26d2f 100644
--- a/app/controllers/api/v1/accounts_controller.rb
+++ b/app/controllers/api/v1/accounts_controller.rb
@@ -9,16 +9,22 @@ class Api::V1::AccountsController < Api::BaseController
before_action -> { doorkeeper_authorize! :follow, :write, :'write:blocks' }, only: [:block, :unblock]
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, only: [:create]
- before_action :require_user!, except: [:show, :create]
- before_action :set_account, except: [:create]
- before_action :check_account_approval, except: [:create]
- before_action :check_account_confirmation, except: [:create]
+ before_action :require_user!, except: [:index, :show, :create]
+ before_action :set_account, except: [:index, :create]
+ before_action :set_accounts, only: [:index]
+ before_action :check_account_approval, except: [:index, :create]
+ before_action :check_account_confirmation, except: [:index, :create]
before_action :check_enabled_registrations, only: [:create]
+ before_action :check_accounts_limit, only: [:index]
skip_before_action :require_authenticated_user!, only: :create
override_rate_limit_headers :follow, family: :follows
+ def index
+ render json: @accounts, each_serializer: REST::AccountSerializer
+ end
+
def show
cache_if_unauthenticated!
render json: @account, serializer: REST::AccountSerializer
@@ -84,6 +90,10 @@ def set_account
@account = Account.find(params[:id])
end
+ def set_accounts
+ @accounts = Account.where(id: account_ids).without_unapproved
+ end
+
def check_account_approval
raise(ActiveRecord::RecordNotFound) if @account.local? && @account.user_pending?
end
@@ -92,10 +102,22 @@ def check_account_confirmation
raise(ActiveRecord::RecordNotFound) if @account.local? && !@account.user_confirmed?
end
+ def check_accounts_limit
+ raise(Mastodon::ValidationError) if account_ids.size > DEFAULT_ACCOUNTS_LIMIT
+ end
+
def relationships(**options)
AccountRelationshipsPresenter.new([@account], current_user.account_id, **options)
end
+ def account_ids
+ Array(accounts_params[:ids]).uniq.map(&:to_i)
+ end
+
+ def accounts_params
+ params.permit(ids: [])
+ end
+
def account_params
params.permit(:username, :email, :password, :agreement, :locale, :reason, :time_zone, :invite_code)
end
diff --git a/app/controllers/api/v1/push/subscriptions_controller.rb b/app/controllers/api/v1/push/subscriptions_controller.rb
index 3634acf95662db..e1ad89ee3e02e2 100644
--- a/app/controllers/api/v1/push/subscriptions_controller.rb
+++ b/app/controllers/api/v1/push/subscriptions_controller.rb
@@ -1,9 +1,12 @@
# frozen_string_literal: true
class Api::V1::Push::SubscriptionsController < Api::BaseController
+ include Redisable
+ include Lockable
+
before_action -> { doorkeeper_authorize! :push }
before_action :require_user!
- before_action :set_push_subscription
+ before_action :set_push_subscription, only: [:show, :update]
before_action :check_push_subscription, only: [:show, :update]
def show
@@ -11,16 +14,18 @@ def show
end
def create
- @push_subscription&.destroy!
+ with_redis_lock("push_subscription:#{current_user.id}") do
+ destroy_web_push_subscriptions!
- @push_subscription = Web::PushSubscription.create!(
- endpoint: subscription_params[:endpoint],
- key_p256dh: subscription_params[:keys][:p256dh],
- key_auth: subscription_params[:keys][:auth],
- data: data_params,
- user_id: current_user.id,
- access_token_id: doorkeeper_token.id
- )
+ @push_subscription = Web::PushSubscription.create!(
+ endpoint: subscription_params[:endpoint],
+ key_p256dh: subscription_params[:keys][:p256dh],
+ key_auth: subscription_params[:keys][:auth],
+ data: data_params,
+ user_id: current_user.id,
+ access_token_id: doorkeeper_token.id
+ )
+ end
render json: @push_subscription, serializer: REST::WebPushSubscriptionSerializer
end
@@ -31,14 +36,18 @@ def update
end
def destroy
- @push_subscription&.destroy!
+ destroy_web_push_subscriptions!
render_empty
end
private
+ def destroy_web_push_subscriptions!
+ doorkeeper_token.web_push_subscriptions.destroy_all
+ end
+
def set_push_subscription
- @push_subscription = Web::PushSubscription.find_by(access_token_id: doorkeeper_token.id)
+ @push_subscription = doorkeeper_token.web_push_subscriptions.first
end
def check_push_subscription
diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb
index e2c01635f63ee2..94c53fccc4271c 100644
--- a/app/controllers/api/v1/statuses_controller.rb
+++ b/app/controllers/api/v1/statuses_controller.rb
@@ -5,9 +5,11 @@ class Api::V1::StatusesController < Api::BaseController
before_action -> { authorize_if_got_token! :read, :'read:statuses' }, except: [:create, :update, :destroy]
before_action -> { doorkeeper_authorize! :write, :'write:statuses' }, only: [:create, :update, :destroy]
- before_action :require_user!, except: [:show, :context]
- before_action :set_status, only: [:show, :context]
- before_action :set_thread, only: [:create]
+ before_action :require_user!, except: [:index, :show, :context]
+ before_action :set_statuses, only: [:index]
+ before_action :set_status, only: [:show, :context]
+ before_action :set_thread, only: [:create]
+ before_action :check_statuses_limit, only: [:index]
override_rate_limit_headers :create, family: :statuses
override_rate_limit_headers :update, family: :statuses
@@ -23,6 +25,11 @@ class Api::V1::StatusesController < Api::BaseController
DESCENDANTS_LIMIT = 60
DESCENDANTS_DEPTH_LIMIT = 20
+ def index
+ @statuses = cache_collection(@statuses, Status)
+ render json: @statuses, each_serializer: REST::StatusSerializer
+ end
+
def show
cache_if_unauthenticated!
@status = cache_collection([@status], Status).first
@@ -125,6 +132,10 @@ def destroy
private
+ def set_statuses
+ @statuses = Status.permitted_statuses_from_ids(status_ids, current_account)
+ end
+
def set_status
@status = Status.find(params[:id])
authorize @status, :show?
@@ -139,6 +150,18 @@ def set_thread
render json: { error: I18n.t('statuses.errors.in_reply_not_found') }, status: 404
end
+ def check_statuses_limit
+ raise(Mastodon::ValidationError) if status_ids.size > DEFAULT_STATUSES_LIMIT
+ end
+
+ def status_ids
+ Array(statuses_params[:ids]).uniq.map(&:to_i)
+ end
+
+ def statuses_params
+ params.permit(ids: [])
+ end
+
def status_params
params.permit(
:status,
diff --git a/app/controllers/well_known/oauth_metadata_controller.rb b/app/controllers/well_known/oauth_metadata_controller.rb
new file mode 100644
index 00000000000000..c80be2d65258c5
--- /dev/null
+++ b/app/controllers/well_known/oauth_metadata_controller.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module WellKnown
+ class OauthMetadataController < ActionController::Base # rubocop:disable Rails/ApplicationController
+ include CacheConcern
+
+ # Prevent `active_model_serializer`'s `ActionController::Serialization` from calling `current_user`
+ # and thus re-issuing session cookies
+ serialization_scope nil
+
+ def show
+ # Due to this document potentially changing between Mastodon versions (as
+ # new OAuth scopes are added), we don't use expires_in to cache upstream,
+ # instead just caching in the rails cache:
+ render_with_cache(
+ json: ::OauthMetadataPresenter.new,
+ serializer: ::OauthMetadataSerializer,
+ content_type: 'application/json',
+ expires_in: 15.minutes
+ )
+ end
+ end
+end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index ad4ec449709a46..0d6feb934c6717 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -251,9 +251,14 @@ def prerender_custom_emojis(html, custom_emojis, other_options = {})
end
def prerender_custom_emojis_from_hash(html, custom_emojis_hash)
- # rubocop:disable Style/OpenStructUse
- prerender_custom_emojis(html, JSON.parse([custom_emojis_hash].to_json, object_class: OpenStruct))
- # rubocop:enable Style/OpenStructUse
+ prerender_custom_emojis(html, JSON.parse([custom_emojis_hash].to_json, object_class: OpenStruct)) # rubocop:disable Style/OpenStructUse
+ end
+
+ def site_icon_path(type, size = '48')
+ icon = SiteUpload.find_by(var: type)
+ return nil unless icon
+
+ icon.file.url(size)
end
private
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index dd13f10aa3467f..68e32dd2aab6e7 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -5,7 +5,7 @@
"about.domain_blocks.no_reason_available": "السبب غير متوفر",
"about.domain_blocks.preamble": "يسمح لك ماستدون عموماً بعرض المحتوى من المستخدمين من أي خادم آخر في الفدرالية والتفاعل معهم. وهذه هي الاستثناءات التي وضعت على هذا الخادم بالذات.",
"about.domain_blocks.silenced.explanation": "عموماً، لن ترى ملفات التعريف والمحتوى من هذا الخادم، إلا إذا كنت تبحث عنه بشكل صريح أو تختار أن تتابعه.",
- "about.domain_blocks.silenced.title": "تم كتمه",
+ "about.domain_blocks.silenced.title": "محدود",
"about.domain_blocks.suspended.explanation": "لن يتم معالجة أي بيانات من هذا الخادم أو تخزينها أو تبادلها، مما يجعل أي تفاعل أو اتصال مع المستخدمين من هذا الخادم مستحيلا.",
"about.domain_blocks.suspended.title": "مُعلّق",
"about.not_available": "لم يتم توفير هذه المعلومات على هذا الخادم.",
@@ -21,7 +21,7 @@
"account.blocked": "محظور",
"account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي",
"account.cancel_follow_request": "إلغاء طلب المتابعة",
- "account.copy": "نسخ الرابط إلى الملف الشخصي",
+ "account.copy": "نسخ الرابط إلى الحساب",
"account.direct": "إشارة خاصة لـ @{name}",
"account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}",
"account.domain_blocked": "اسم النِّطاق محظور",
@@ -32,7 +32,7 @@
"account.featured_tags.last_status_never": "لا توجد رسائل",
"account.featured_tags.title": "وسوم {name} المميَّزة",
"account.follow": "متابعة",
- "account.follow_back": "تابعه بدورك",
+ "account.follow_back": "رد المتابعة",
"account.followers": "مُتابِعون",
"account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.",
"account.followers_counter": "{count, plural, zero{لا مُتابع} one {مُتابعٌ واحِد} two {مُتابعانِ اِثنان} few {{counter} مُتابِعين} many {{counter} مُتابِعًا} other {{counter} مُتابع}}",
@@ -89,12 +89,12 @@
"announcement.announcement": "إعلان",
"attachments_list.unprocessed": "(غير معالَج)",
"audio.hide": "إخفاء المقطع الصوتي",
- "block_modal.remote_users_caveat": "Do t’i kërkojmë shërbyesit {domain} të respektojë vendimin tuaj. Por, pajtimi s’është i garantuar, ngaqë disa shërbyes mund t’i trajtojnë ndryshe bllokimet. Psotimet publike mundet të jenë ende të dukshme për përdorues pa bërë hyrje në llogari.",
- "block_modal.show_less": "اعرض أقلّ",
+ "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.they_will_know": "يمكنه أن يرى أنه قد تم حظره.",
"block_modal.title": "أتريد حظر المستخدم؟",
"block_modal.you_wont_see_mentions": "لن تر المنشورات التي يُشار فيهم إليه.",
"boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة",
@@ -220,7 +220,7 @@
"domain_pill.activitypub_lets_connect": "يتيح لك التواصل والتفاعل مع الناس ليس فقط على ماستدون، ولكن عبر تطبيقات اجتماعية مختلفة أيضا.",
"domain_pill.activitypub_like_language": "إنّ ActivityPub مثل لغة ماستدون التي يتحدث بها مع شبكات اجتماعية أخرى.",
"domain_pill.server": "الخادِم",
- "domain_pill.their_handle": "مُعرِّفُه:",
+ "domain_pill.their_handle": "مُعرفه:",
"domain_pill.their_server": "بيتهم الرقمي، حيث تُستضاف كافة منشوراتهم.",
"domain_pill.their_username": "مُعرّفُهم الفريد على الخادم. من الممكن العثور على مستخدمين بنفس اسم المستخدم على خوادم مختلفة.",
"domain_pill.username": "اسم المستخدم",
@@ -308,6 +308,8 @@
"follow_suggestions.hints.similar_to_recently_followed": "هذا الملف الشخصي مشابه للملفات الشخصية التي تابعتها مؤخرا.",
"follow_suggestions.personalized_suggestion": "توصية مخصصة",
"follow_suggestions.popular_suggestion": "توصية رائجة",
+ "follow_suggestions.popular_suggestion_longer": "رائج على {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "مشابهة لمواصفات الملفات الشخصية التي تابعتَها حديثًا",
"follow_suggestions.view_all": "عرض الكل",
"follow_suggestions.who_to_follow": "حسابات للمُتابَعة",
"followed_tags": "الوسوم المتابَعة",
@@ -360,8 +362,8 @@
"interaction_modal.title.reply": "الرد على منشور {name}",
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
- "intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}",
- "keyboard_shortcuts.back": "للعودة",
+ "intervals.full.minutes": "{number, plural, one {دقيقة واحدة}two {دقيقتان} other {# دقائق}}",
+ "keyboard_shortcuts.back": "للرجوع",
"keyboard_shortcuts.blocked": "لفتح قائمة المستخدمين المحظورين",
"keyboard_shortcuts.boost": "لإعادة النشر",
"keyboard_shortcuts.column": "للتركيز على منشور على أحد الأعمدة",
@@ -421,7 +423,9 @@
"loading_indicator.label": "جاري التحميل…",
"media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} 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": "لن يَعرف أنه قد تم كتمه.",
@@ -460,10 +464,20 @@
"notification.follow": "يتابعك {name}",
"notification.follow_request": "لقد طلب {name} متابعتك",
"notification.mention": "{name} ذكرك",
+ "notification.moderation-warning.learn_more": "اعرف المزيد",
+ "notification.moderation_warning.action_disable": "تم تعطيل حسابك.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "بعض من منشوراتك تم تصنيفها على أنها حساسة.",
+ "notification.moderation_warning.action_none": "لقد تلقى حسابك تحذيرا بالإشراف.",
+ "notification.moderation_warning.action_sensitive": "سيتم وضع علامة على منشوراتك على أنها حساسة من الآن فصاعدا.",
+ "notification.moderation_warning.action_suspend": "لقد تم تعليق حسابك.",
"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 {# حساب} other {# حسابات}} تتابعها.",
"notification.relationships_severance_event.learn_more": "اعرف المزيد",
+ "notification.relationships_severance_event.user_domain_block": "لقد قمت بحظر {target}، مما أدى إلى إزالة {followersCount} من متابعينك و {followingCount, plural, one {# حساب} other {# حسابات}} تتابعها.",
"notification.status": "{name} نشر للتو",
"notification.update": "عدّلَ {name} منشورًا",
"notification_requests.accept": "موافقة",
@@ -503,10 +517,15 @@
"notifications.permission_denied": "تنبيهات سطح المكتب غير متوفرة بسبب رفض أذونات المتصفح مسبقاً",
"notifications.permission_denied_alert": "لا يمكن تفعيل إشعارات سطح المكتب، لأن إذن المتصفح قد تم رفضه سابقاً",
"notifications.permission_required": "إشعارات سطح المكتب غير متوفرة لأنه لم يتم منح الإذن المطلوب.",
+ "notifications.policy.filter_new_accounts.hint": "تم إنشاؤها منذ {days, plural, zero {}one {يوم واحد} two {يومان} few {# أيام} many {# أيام} other {# أيام}}",
"notifications.policy.filter_new_accounts_title": "حسابات جديدة",
+ "notifications.policy.filter_not_followers_hint": "بما في ذلك الأشخاص الذين يتابعونك أقل من {days, plural, zero {}one {يوم واحد} two {يومان} few {# أيام} many {# أيام} other {# أيام}}",
"notifications.policy.filter_not_followers_title": "أشخاص لا يتابعونك",
"notifications.policy.filter_not_following_hint": "حتى توافق عليهم يدويا",
"notifications.policy.filter_not_following_title": "أشخاص لا تتابعهم",
+ "notifications.policy.filter_private_mentions_hint": "تمت تصفيته إلا إذا أن يكون ردًا على ذكرك أو إذا كنت تتابع الحساب",
+ "notifications.policy.filter_private_mentions_title": "إشارات خاصة غير مرغوب فيها",
+ "notifications.policy.title": "تصفية الإشعارات من…",
"notifications_permission_banner.enable": "تفعيل إشعارات سطح المكتب",
"notifications_permission_banner.how_to_control": "لتلقي الإشعارات عندما لا يكون ماستدون مفتوح، قم بتفعيل إشعارات سطح المكتب، يمكنك التحكم بدقة في أنواع التفاعلات التي تولد إشعارات سطح المكتب من خلال زر الـ{icon} أعلاه بمجرد تفعيلها.",
"notifications_permission_banner.title": "لا تفوت شيئاً أبداً",
@@ -687,6 +706,7 @@
"status.edited_x_times": "عُدّل {count, plural, zero {} one {مرةً واحدة} two {مرّتان} few {{count} مرات} many {{count} مرة} other {{count} مرة}}",
"status.embed": "إدماج",
"status.favourite": "فضّل",
+ "status.favourites": "{count, plural, zero {}one {مفضلة واحدة} two {مفضلتان} few {# مفضلات} many {# مفضلات} other {# مفضلات}}",
"status.filter": "تصفية هذه الرسالة",
"status.filtered": "مُصفّى",
"status.hide": "إخفاء المنشور",
@@ -707,6 +727,7 @@
"status.reblog": "إعادة النشر",
"status.reblog_private": "إعادة النشر إلى الجمهور الأصلي",
"status.reblogged_by": "شارَكَه {name}",
+ "status.reblogs": "{count, plural, one {تعزيز واحد} two {تعزيزتان} few {# تعزيزات} many {# تعزيزات} other {# تعزيزات}}",
"status.reblogs.empty": "لم يقم أي أحد بمشاركة هذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.",
"status.redraft": "إزالة وإعادة الصياغة",
"status.remove_bookmark": "احذفه مِن الفواصل المرجعية",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 59d3d0965afd2a..577664107946a5 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -331,7 +331,7 @@
"footer.source_code": "Quellcode anzeigen",
"footer.status": "Status",
"generic.saved": "Gespeichert",
- "getting_started.heading": "Auf geht’s!",
+ "getting_started.heading": "Auf gehts!",
"hashtag.column_header.tag_mode.all": "und {additional}",
"hashtag.column_header.tag_mode.any": "oder {additional}",
"hashtag.column_header.tag_mode.none": "ohne {additional}",
@@ -400,7 +400,7 @@
"keyboard_shortcuts.requests": "Liste der Follower-Anfragen aufrufen",
"keyboard_shortcuts.search": "Suchleiste fokussieren",
"keyboard_shortcuts.spoilers": "Feld für Inhaltswarnung anzeigen/ausblenden",
- "keyboard_shortcuts.start": "„Auf geht’s!“ öffnen",
+ "keyboard_shortcuts.start": "„Auf gehts!“ öffnen",
"keyboard_shortcuts.toggle_hidden": "Beitragstext hinter der Inhaltswarnung anzeigen/ausblenden",
"keyboard_shortcuts.toggle_sensitivity": "Medien anzeigen/ausblenden",
"keyboard_shortcuts.toot": "Neuen Beitrag erstellen",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 83d2532e2c7fa4..798a16ebc089ba 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -578,6 +578,15 @@
"notification.follow_request": "{name}さんがあなたにフォローリクエストしました",
"notification.list_status": "{name}さんの投稿が{listName}に追加されました",
"notification.mention": "{name}さんがあなたに返信しました",
+ "notification.moderation-warning.learn_more": "さらに詳しく",
+ "notification.moderation_warning": "あなたは管理者からの警告を受けています。",
+ "notification.moderation_warning.action_delete_statuses": "あなたによるいくつかの投稿が削除されました。",
+ "notification.moderation_warning.action_disable": "あなたのアカウントは無効になりました。",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "あなたの投稿のいくつかは閲覧注意として判定されています。",
+ "notification.moderation_warning.action_none": "あなたのアカウントは管理者からの警告を受けています。",
+ "notification.moderation_warning.action_sensitive": "あなたの投稿はこれから閲覧注意としてマークされます。",
+ "notification.moderation_warning.action_silence": "あなたのアカウントは制限されています。",
+ "notification.moderation_warning.action_suspend": "あなたのアカウントは停止されました。",
"notification.own_poll": "アンケートが終了しました",
"notification.poll": "アンケートが終了しました",
"notification.reblog": "{name}さんがあなたの投稿をブーストしました",
diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json
index ed4fa8dfaf7317..7806abc6b55fbb 100644
--- a/app/javascript/mastodon/locales/sl.json
+++ b/app/javascript/mastodon/locales/sl.json
@@ -308,6 +308,8 @@
"follow_requests.unlocked_explanation": "Čeprav vaš račun ni zaklenjen, zaposleni pri {domain} menijo, da bi morda želeli pregledati zahteve za sledenje teh računov ročno.",
"follow_suggestions.curated_suggestion": "Izbor osebja",
"follow_suggestions.dismiss": "Ne pokaži več",
+ "follow_suggestions.featured_longer": "Osebno izbrala ekipa {domain}",
+ "follow_suggestions.friends_of_friends_longer": "Priljubljeno med osebami, ki jim sledite",
"follow_suggestions.hints.featured": "Ta profil so izbrali skrbniki strežnika {domain}.",
"follow_suggestions.hints.friends_of_friends": "Ta profil je priljubljen med osebami, ki jim sledite.",
"follow_suggestions.hints.most_followed": "Ta profil na strežniku {domain} je en izmed najbolj sledenih.",
@@ -315,6 +317,8 @@
"follow_suggestions.hints.similar_to_recently_followed": "Ta profil je podoben profilom, ki ste jim nedavno začeli slediti.",
"follow_suggestions.personalized_suggestion": "Osebno prilagojen predlog",
"follow_suggestions.popular_suggestion": "Priljubljen predlog",
+ "follow_suggestions.popular_suggestion_longer": "Priljubljeno na {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "Podobno profilom, ki ste jim pred kratkim sledili",
"follow_suggestions.view_all": "Pokaži vse",
"follow_suggestions.who_to_follow": "Komu slediti",
"followed_tags": "Sledeni ključniki",
@@ -469,6 +473,15 @@
"notification.follow": "{name} vam sledi",
"notification.follow_request": "{name} vam želi slediti",
"notification.mention": "{name} vas je omenil/a",
+ "notification.moderation-warning.learn_more": "Več o tem",
+ "notification.moderation_warning": "Prejeli ste opozorilo moderatorjev",
+ "notification.moderation_warning.action_delete_statuses": "Nekatere vaše objave so odstranjene.",
+ "notification.moderation_warning.action_disable": "Vaš račun je bil onemogočen.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "Nekatere vaše objave so bile označene kot občutljive.",
+ "notification.moderation_warning.action_none": "Vaš račun je prejel opozorilo moderatorjev.",
+ "notification.moderation_warning.action_sensitive": "Vaše objave bodo odslej označene kot občutljive.",
+ "notification.moderation_warning.action_silence": "Vaš račun je bil omejen.",
+ "notification.moderation_warning.action_suspend": "Vaš račun je bil suspendiran.",
"notification.own_poll": "Vaša anketa je zaključena",
"notification.poll": "Anketa, v kateri ste sodelovali, je zaključena",
"notification.reblog": "{name} je izpostavila/a vašo objavo",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index da35b3d43ba57a..a25eab9cbfe66e 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -297,6 +297,7 @@
"filter_modal.select_filter.subtitle": "Përdorni një kategori ekzistuese, ose krijoni një të re",
"filter_modal.select_filter.title": "Filtroje këtë postim",
"filter_modal.title.status": "Filtroni një postim",
+ "filtered_notifications_banner.mentions": "{count, plural, one {përmendje} other {përmendje}}",
"filtered_notifications_banner.pending_requests": "Njoftime prej {count, plural, =0 {askujt} one {një personi} other {# vetësh}} që mund të njihni",
"filtered_notifications_banner.title": "Njoftime të filtruar",
"firehose.all": "Krejt",
@@ -307,6 +308,8 @@
"follow_requests.unlocked_explanation": "Edhe pse llogaria juaj s’është e kyçur, ekipi i {domain} mendoi se mund të donit të shqyrtonit dorazi kërkesa ndjekjeje prej këtyre llogarive.",
"follow_suggestions.curated_suggestion": "Zgjedhur nga ekipi",
"follow_suggestions.dismiss": "Mos shfaq më",
+ "follow_suggestions.featured_longer": "Zgjedhur enkas nga ekipi {domain}",
+ "follow_suggestions.friends_of_friends_longer": "Popullore mes personash që ndiqni",
"follow_suggestions.hints.featured": "Ky profil është zgjedhur nga ekipi {domain}.",
"follow_suggestions.hints.friends_of_friends": "Ky profil është popullor mes personave që ndiqni.",
"follow_suggestions.hints.most_followed": "Ky profil është një nga më të ndjekur në {domain}.",
@@ -314,6 +317,8 @@
"follow_suggestions.hints.similar_to_recently_followed": "Ky profil është i ngjashëm me profile që keni ndjekur tani afër.",
"follow_suggestions.personalized_suggestion": "Sugjerim i personalizuar",
"follow_suggestions.popular_suggestion": "Sugjerim popullor",
+ "follow_suggestions.popular_suggestion_longer": "Popullore në {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "I ngjashëm me profile që keni zënë të ndiqni së fundi",
"follow_suggestions.view_all": "Shihni krejt",
"follow_suggestions.who_to_follow": "Cilët të ndiqen",
"followed_tags": "Hashtag-ë të ndjekur",
@@ -468,6 +473,15 @@
"notification.follow": "{name} zuri t’ju ndjekë",
"notification.follow_request": "{name} ka kërkuar t’ju ndjekë",
"notification.mention": "{name} ju ka përmendur",
+ "notification.moderation-warning.learn_more": "Mësoni më tepër",
+ "notification.moderation_warning": "Keni marrë një sinjalizim moderimi",
+ "notification.moderation_warning.action_delete_statuses": "Disa nga postimet tuaja janë hequr.",
+ "notification.moderation_warning.action_disable": "Llogaria juaj është çaktivizuar.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "Disa prej postimeve tuaja u është vënë shenjë si me spec.",
+ "notification.moderation_warning.action_none": "Llogaria juaj ka marrë një sinjalizim moderimi.",
+ "notification.moderation_warning.action_sensitive": "Postimeve tuaja do t’u vihet shenjë si me spec, nga tani e tutje.",
+ "notification.moderation_warning.action_silence": "Llogaria juaj është kufizuar.",
+ "notification.moderation_warning.action_suspend": "Llogaria juaj është pezulluar.",
"notification.own_poll": "Pyetësori juaj ka përfunduar",
"notification.poll": "Ka përfunduar një pyetësor ku keni votuar",
"notification.reblog": "{name} përforcoi mesazhin tuaj",
diff --git a/app/lib/access_token_extension.rb b/app/lib/access_token_extension.rb
index f51bde492736ef..4e9585dd1e6583 100644
--- a/app/lib/access_token_extension.rb
+++ b/app/lib/access_token_extension.rb
@@ -6,6 +6,8 @@ module AccessTokenExtension
included do
include Redisable
+ has_many :web_push_subscriptions, class_name: 'Web::PushSubscription', inverse_of: :access_token
+
after_commit :push_to_streaming_api
end
diff --git a/app/lib/admin/metrics/measure/instance_media_attachments_measure.rb b/app/lib/admin/metrics/measure/instance_media_attachments_measure.rb
index 1d2dbbe4146a86..65f444624e493b 100644
--- a/app/lib/admin/metrics/measure/instance_media_attachments_measure.rb
+++ b/app/lib/admin/metrics/measure/instance_media_attachments_measure.rb
@@ -50,7 +50,7 @@ def sql_query_string
WHERE date_trunc('day', media_attachments.created_at)::date = axis.period
AND #{account_domain_sql(params[:include_subdomains])}
)
- SELECT COALESCE(SUM(size), 0) FROM new_media_attachments
+ SELECT COALESCE(SUM(size), 0)::bigint FROM new_media_attachments
) AS value
FROM (
SELECT generate_series(date_trunc('day', :start_at::timestamp)::date, date_trunc('day', :end_at::timestamp)::date, interval '1 day') AS period
diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb
index bec7d3a4550df4..07776c36991b56 100644
--- a/app/lib/link_details_extractor.rb
+++ b/app/lib/link_details_extractor.rb
@@ -282,6 +282,6 @@ def detector
end
def html_entities
- @html_entities ||= HTMLEntities.new
+ @html_entities ||= HTMLEntities.new(:expanded)
end
end
diff --git a/app/models/account.rb b/app/models/account.rb
index a41dab4c152247..dd85767bc4e3a1 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -17,11 +17,9 @@
# url :string
# avatar_file_name :string
# avatar_content_type :string
-# avatar_file_size :integer
# avatar_updated_at :datetime
# header_file_name :string
# header_content_type :string
-# header_file_size :integer
# header_updated_at :datetime
# avatar_remote_url :string
# locked :boolean default(FALSE), not null
@@ -55,6 +53,8 @@
# indexable :boolean default(FALSE), not null
# master_settings :jsonb
# remote_pending :boolean default(FALSE), not null
+# avatar_file_size :bigint(8)
+# header_file_size :bigint(8)
#
class Account < ApplicationRecord
diff --git a/app/models/concerns/status/threading_concern.rb b/app/models/concerns/status/threading_concern.rb
index b33ea88893387d..9424d66f5e7f2b 100644
--- a/app/models/concerns/status/threading_concern.rb
+++ b/app/models/concerns/status/threading_concern.rb
@@ -3,6 +3,23 @@
module Status::ThreadingConcern
extend ActiveSupport::Concern
+ class_methods do
+ def permitted_statuses_from_ids(ids, account, stable: false)
+ statuses = Status.with_accounts(ids).to_a
+ account_ids = statuses.map(&:account_id).uniq
+ domains = statuses.filter_map(&:account_domain).uniq
+ relations = account&.relations_map(account_ids, domains) || {}
+
+ statuses.reject! { |status| StatusFilter.new(status, account, relations).filtered? }
+
+ if stable
+ statuses.sort_by! { |status| ids.index(status.id) }
+ else
+ statuses
+ end
+ end
+ end
+
def ancestors(limit, account = nil)
find_statuses_from_tree_path(ancestor_ids(limit), account)
end
@@ -85,15 +102,7 @@ def descendant_ids(limit, depth)
end
def find_statuses_from_tree_path(ids, account, promote: false)
- statuses = Status.with_accounts(ids).to_a
- account_ids = statuses.map(&:account_id).uniq
- domains = statuses.filter_map(&:account_domain).uniq
- relations = account&.relations_map(account_ids, domains) || {}
-
- statuses.reject! { |status| StatusFilter.new(status, account, relations).filtered? }
-
- # Order ancestors/descendants by tree path
- statuses.sort_by! { |status| ids.index(status.id) }
+ statuses = Status.permitted_statuses_from_ids(ids, account, stable: true)
# Bring self-replies to the top
if promote
diff --git a/app/models/concerns/user/ldap_authenticable.rb b/app/models/concerns/user/ldap_authenticable.rb
index 180df9d3101ebb..c8e9fa93484917 100644
--- a/app/models/concerns/user/ldap_authenticable.rb
+++ b/app/models/concerns/user/ldap_authenticable.rb
@@ -22,7 +22,7 @@ def ldap_get_user(attributes = {})
safe_username = safe_username.gsub(keys, replacement)
end
- resource = joins(:account).find_by(accounts: { username: safe_username })
+ resource = joins(:account).merge(Account.where(Account.arel_table[:username].lower.eq safe_username.downcase)).take
if resource.blank?
resource = new(
diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb
index ffa48b777d85ed..bef804106fdef6 100644
--- a/app/models/custom_emoji.rb
+++ b/app/models/custom_emoji.rb
@@ -9,7 +9,6 @@
# domain :string
# image_file_name :string
# image_content_type :string
-# image_file_size :integer
# image_updated_at :datetime
# created_at :datetime not null
# updated_at :datetime not null
@@ -24,6 +23,7 @@
# aliases :jsonb
# is_sensitive :boolean default(FALSE), not null
# license :string
+# image_file_size :bigint(8)
#
class CustomEmoji < ApplicationRecord
diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb
index c47bdc71e3228e..cbdd37654c313a 100644
--- a/app/models/form/admin_settings.rb
+++ b/app/models/form/admin_settings.rb
@@ -65,6 +65,8 @@ class Form::AdminSettings
hold_remote_new_accounts
stop_fetch_activity_domains
stop_link_preview_domains
+ app_icon
+ favicon
).freeze
INTEGER_KEYS = %i(
@@ -114,6 +116,8 @@ class Form::AdminSettings
UPLOAD_KEYS = %i(
thumbnail
mascot
+ app_icon
+ favicon
).freeze
OVERRIDEN_SETTINGS = {
diff --git a/app/models/import.rb b/app/models/import.rb
index 4bdb392014b70d..281b25a36e9d5f 100644
--- a/app/models/import.rb
+++ b/app/models/import.rb
@@ -11,10 +11,10 @@
# updated_at :datetime not null
# data_file_name :string
# data_content_type :string
-# data_file_size :integer
# data_updated_at :datetime
# account_id :bigint(8) not null
# overwrite :boolean default(FALSE), not null
+# data_file_size :bigint(8)
#
# NOTE: This is a deprecated model, only kept to not break ongoing imports
diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb
index 54dece0e7a5f50..668349389f279d 100644
--- a/app/models/media_attachment.rb
+++ b/app/models/media_attachment.rb
@@ -8,7 +8,6 @@
# status_id :bigint(8)
# file_file_name :string
# file_content_type :string
-# file_file_size :integer
# file_updated_at :datetime
# remote_url :string default(""), not null
# created_at :datetime not null
@@ -24,9 +23,10 @@
# file_storage_schema_version :integer
# thumbnail_file_name :string
# thumbnail_content_type :string
-# thumbnail_file_size :integer
# thumbnail_updated_at :datetime
# thumbnail_remote_url :string
+# file_file_size :bigint(8)
+# thumbnail_file_size :bigint(8)
#
class MediaAttachment < ApplicationRecord
diff --git a/app/models/preview_card.rb b/app/models/preview_card.rb
index 9fe02bd1681014..56b72b5e6fe87f 100644
--- a/app/models/preview_card.rb
+++ b/app/models/preview_card.rb
@@ -10,7 +10,6 @@
# description :string default(""), not null
# image_file_name :string
# image_content_type :string
-# image_file_size :integer
# image_updated_at :datetime
# type :integer default("link"), not null
# html :text default(""), not null
@@ -32,6 +31,7 @@
# link_type :integer
# published_at :datetime
# image_description :string default(""), not null
+# image_file_size :bigint(8)
#
class PreviewCard < ApplicationRecord
diff --git a/app/models/site_upload.rb b/app/models/site_upload.rb
index 03d472cdb2e737..2b22e13e400cdf 100644
--- a/app/models/site_upload.rb
+++ b/app/models/site_upload.rb
@@ -8,18 +8,26 @@
# var :string default(""), not null
# file_file_name :string
# file_content_type :string
-# file_file_size :integer
# file_updated_at :datetime
# meta :json
# created_at :datetime not null
# updated_at :datetime not null
# blurhash :string
+# file_file_size :bigint(8)
#
class SiteUpload < ApplicationRecord
include Attachmentable
+ FAVICON_SIZES = [16, 32, 48].freeze
+ APPLE_ICON_SIZES = [57, 60, 72, 76, 114, 120, 144, 152, 167, 180, 1024].freeze
+ ANDROID_ICON_SIZES = [36, 48, 72, 96, 144, 192, 256, 384, 512].freeze
+
+ APP_ICON_SIZES = (APPLE_ICON_SIZES + ANDROID_ICON_SIZES).uniq.freeze
+
STYLES = {
+ app_icon: APP_ICON_SIZES.each_with_object({}) { |size, hash| hash[size.to_s.to_sym] = "#{size}x#{size}#" }.freeze,
+ favicon: FAVICON_SIZES.each_with_object({}) { |size, hash| hash[size.to_s.to_sym] = "#{size}x#{size}#" }.freeze,
thumbnail: {
'@1x': {
format: 'png',
diff --git a/app/models/status.rb b/app/models/status.rb
index d56e80eca30a79..d9f436c1bf4dfd 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -336,7 +336,7 @@ def non_sensitive_with_media?
end
def reported?
- @reported ||= Report.where(target_account: account).unresolved.exists?(['? = ANY(status_ids)', id])
+ @reported ||= account.targeted_reports.unresolved.exists?(['? = ANY(status_ids)', id]) || account.strikes.exists?(['? = ANY(status_ids)', id.to_s])
end
def dtl?
diff --git a/app/models/tag.rb b/app/models/tag.rb
index 64a75fe1116627..9ea710f3b814b9 100644
--- a/app/models/tag.rb
+++ b/app/models/tag.rb
@@ -39,7 +39,7 @@ class Tag < ApplicationRecord
HASHTAG_LAST_SEQUENCE = '([[:word:]_]*[[:alpha:]][[:word:]_]*)'
HASHTAG_NAME_PAT = "#{HASHTAG_FIRST_SEQUENCE}|#{HASHTAG_LAST_SEQUENCE}"
- HASHTAG_RE = %r{(?قد يؤدي ذلك إلى جعل عملية التسجيل أقل سهولة بالنسبة لبعض الأشخاص (وخاصة المعاقين). لهذه الأسباب، يرجى النظر في تدابير بديلة مثل التسجيل على أساس الموافقة أو على أساس الدعوة.
title: مطالبة المستخدمين الجدد بحل اختبار CAPTCHA لتأكيد حساباتهم
content_retention:
+ danger_zone: منطقة خطرة
preamble: التحكم في كيفية تخزين المحتوى الذي ينشئه المستخدم في ماستدون.
title: الاحتفاظ بالمحتوى
default_noindex:
diff --git a/config/locales/devise.ia.yml b/config/locales/devise.ia.yml
index 6c89f4c6d4f189..56875078188301 100644
--- a/config/locales/devise.ia.yml
+++ b/config/locales/devise.ia.yml
@@ -23,8 +23,11 @@ ia:
action_with_app: Confirmar e retornar a %{app}
title: Verificar adresse de e-mail
email_changed:
+ explanation: 'Le adresse de e-mail pro tu conto essera cambiate a:'
+ subject: 'Mastodon: E-mail cambiate'
title: Nove adresse de e-mail
password_change:
+ explanation: Le contrasigno de tu conto ha essite cambiate.
subject: 'Mastodon: Contrasigno cambiate'
title: Contrasigno cambiate
reconfirmation_instructions:
diff --git a/config/locales/doorkeeper.ia.yml b/config/locales/doorkeeper.ia.yml
index fd7d7a08367fbf..86bd1ad9853ca2 100644
--- a/config/locales/doorkeeper.ia.yml
+++ b/config/locales/doorkeeper.ia.yml
@@ -17,6 +17,7 @@ ia:
authorize: Autorisar
cancel: Cancellar
edit: Modificar
+ submit: Submitter
confirmations:
destroy: Es tu secur?
edit:
diff --git a/config/locales/doorkeeper.sq.yml b/config/locales/doorkeeper.sq.yml
index 308a5429a6da88..793819c597419e 100644
--- a/config/locales/doorkeeper.sq.yml
+++ b/config/locales/doorkeeper.sq.yml
@@ -174,6 +174,7 @@ sq:
read:filters: të shohë filtrat tuaj
read:follows: të shohë ndjekësit tuaj
read:lists: të shohë listat tuaja
+ read:me: të shohë vetëm hollësi elementare të llogarisë tuaj
read:mutes: të shohë ç’keni heshtuar
read:notifications: të shohë njoftimet tuaja
read:reports: të shohë raportimet tuaja
diff --git a/config/locales/ia.yml b/config/locales/ia.yml
index ff7b47c1febd59..85d7c0ed859592 100644
--- a/config/locales/ia.yml
+++ b/config/locales/ia.yml
@@ -106,6 +106,9 @@ ia:
pending: Attende revision
perform_full_suspension: Suspender
previous_strikes: Previe admonitiones
+ previous_strikes_description_html:
+ one: Iste conto ha un admonition.
+ other: Iste conto ha %{count} admonitiones.
promote: Promover
protocol: Protocollo
public: Public
@@ -159,70 +162,187 @@ ia:
undo_suspension: Disfacer le suspension
unsilenced_msg: Le limite del conto de %{username} ha essite cancellate
unsubscribe: Desubscriber
+ unsuspended_msg: Le suspension del conto %{username} ha essite annullate
username: Nomine de usator
view_domain: Vider summario de dominio
- warn: Avisar
+ warn: Advertir
web: Web
+ whitelisted: Permittite pro federation
action_logs:
action_types:
+ approve_appeal: Approbar appello
+ approve_user: Approbar usator
+ assigned_to_self_report: Assignar reporto
change_email_user: Cambiar e-mail pro le usator
change_role_user: Cambiar le rolo del usator
confirm_user: Confirmar le usator
create_account_warning: Crear un advertimento
create_announcement: Crear annuncio
+ create_canonical_email_block: Crear blocada de email
+ create_custom_emoji: Crear emoticone personalisate
+ create_domain_allow: Crear permisso de dominio
+ create_domain_block: Crear blocada de dominio
+ create_email_domain_block: Crear blocada de dominio email
create_ip_block: Crear un regula IP
+ create_unavailable_domain: Crear dominio indisponibile
create_user_role: Crear un rolo
+ demote_user: Degradar usator
destroy_announcement: Deler annuncio
+ destroy_canonical_email_block: Deler blocada de email
+ destroy_custom_emoji: Deler emoticone personalisate
+ destroy_domain_allow: Deler permisso de dominio
+ destroy_domain_block: Deler blocada de dominio
+ destroy_email_domain_block: Crear blocada de dominio email
+ destroy_instance: Purgar dominio
destroy_ip_block: Deler le regula IP
destroy_status: Deler le message
destroy_unavailable_domain: Deler le dominio non disponibile
+ destroy_user_role: Destruer rolo
disable_2fa_user: Disactivar 2FA
disable_custom_emoji: Disactivar emoji personalisate
+ disable_sign_in_token_auth_user: Disactivar le authentication per testimonio via email pro usator
disable_user: Disactivar le usator
enable_custom_emoji: Activar emoji personalisate
+ enable_sign_in_token_auth_user: Activar le authentication per testimonio via email pro usator
enable_user: Activar le usator
+ memorialize_account: Commemorar conto
promote_user: Promover usator
+ reject_appeal: Rejectar appello
+ reject_user: Rejectar usator
+ remove_avatar_user: Remover avatar
+ reopen_report: Reaperir reporto
resend_user: Reinviar message de confirmation
reset_password_user: Reinitialisar contrasigno
+ resolve_report: Resolver reporto
+ sensitive_account: Marcar como sensibile le medios del conto
silence_account: Limitar conto
+ suspend_account: Suspender conto
+ unassigned_report: Disassignar reporto
unblock_email_account: Disblocar adresse de e-mail
+ unsensitive_account: Dismarcar como sensibile le medios del conto
unsilence_account: Disfacer le limite de conto
+ unsuspend_account: Annullar suspension de conto
update_announcement: Actualisar annuncio
update_custom_emoji: Actualisar emoji personalisate
+ update_domain_block: Actualisar blocada de dominio
update_ip_block: Actualisar le regula IP
update_status: Actualisar le message
update_user_role: Actualisar rolo
actions:
+ approve_appeal_html: "%{name} approbava appello del decision de moderation de %{target}"
+ approve_user_html: "%{name} approbava inscription de %{target}"
+ assigned_to_self_report_html: "%{name} assignava reporto %{target} a se mesme"
change_email_user_html: "%{name} cambiava le adresse de e-mail address del usator %{target}"
+ change_role_user_html: "%{name} cambiava rolo de %{target}"
+ confirm_user_html: "%{name} confirmava le adresse email del usator %{target}"
+ create_account_warning_html: "%{name} inviava un advertimento a %{target}"
create_announcement_html: "%{name} creava un nove annuncio %{target}"
+ create_canonical_email_block_html: "%{name} blocava email con le hash %{target}"
+ create_custom_emoji_html: "%{name} cargava nove emoticone %{target}"
+ create_domain_allow_html: "%{name} permitteva federation con dominio %{target}"
+ create_domain_block_html: "%{name} blocava dominio %{target}"
+ create_email_domain_block_html: "%{name} blocava dominio email %{target}"
+ create_ip_block_html: "%{name} creava regula pro IP %{target}"
+ create_unavailable_domain_html: "%{name} stoppava consignation a dominio %{target}"
+ create_user_role_html: "%{name} creava rolo de %{target}"
+ demote_user_html: "%{name} degradava usator %{target}"
+ destroy_announcement_html: "%{name} deleva annuncio %{target}"
+ destroy_canonical_email_block_html: "%{name} disblocava email con le hash %{target}"
+ destroy_custom_emoji_html: "%{name} deleva emoji %{target}"
+ destroy_domain_allow_html: "%{name} impediva le federation con dominio %{target}"
+ destroy_domain_block_html: "%{name} disblocava dominio %{target}"
+ destroy_email_domain_block_html: "%{name} disblocava le dominio email %{target}"
+ destroy_instance_html: "%{name} purgava le dominio %{target}"
+ destroy_ip_block_html: "%{name} deleva le regula pro IP %{target}"
+ destroy_status_html: "%{name} removeva le message de %{target}"
+ destroy_unavailable_domain_html: "%{name} resumeva le consignation al dominio %{target}"
+ destroy_user_role_html: "%{name} deleva le rolo de %{target}"
+ disable_2fa_user_html: "%{name} disactivava le authentication a duo factores pro le usator %{target}"
+ disable_custom_emoji_html: "%{name} disactivava le emoticone %{target}"
+ disable_sign_in_token_auth_user_html: "%{name} disactivava authentication per testimonio via email pro %{target}"
+ disable_user_html: "%{name} disactivava le accesso pro le usator %{target}"
+ enable_custom_emoji_html: "%{name} activava le emoticone %{target}"
+ enable_sign_in_token_auth_user_html: "%{name} activava le authentication per testimonio via email pro %{target}"
+ enable_user_html: "%{name} activava le accesso pro le usator %{target}"
+ memorialize_account_html: "%{name} mutava le conto de %{target} in un pagina commemorative"
+ promote_user_html: "%{name} promoveva le usator %{target}"
+ reject_appeal_html: "%{name} refusava le appello del decision de moderation de %{target}"
+ reject_user_html: "%{name} refusava le inscription de %{target}"
+ remove_avatar_user_html: "%{name} removeva le avatar de %{target}"
+ reopen_report_html: "%{name} reaperiva le reporto %{target}"
+ resend_user_html: "%{name} reinviava le email de confirmation pro %{target}"
+ reset_password_user_html: "%{name} reinitialisava le contrasigno del usator %{target}"
+ resolve_report_html: "%{name} resolveva le reporto %{target}"
+ sensitive_account_html: "%{name} marcava como sensibile le medios de %{target}"
+ silence_account_html: "%{name} limitava le conto de %{target}"
+ suspend_account_html: "%{name} suspendeva le conto de %{target}"
+ unassigned_report_html: "%{name} de-assignava le reporto %{target}"
+ unblock_email_account_html: "%{name} disblocava le adresse email de %{target}"
+ unsensitive_account_html: "%{name} dismarcava como sensibile le medios de %{target}"
+ unsilence_account_html: "%{name} removeva le limite del conto de %{target}"
+ unsuspend_account_html: "%{name} removeva le suspension del conto de %{target}"
+ update_announcement_html: "%{name} actualisava le annuncio %{target}"
+ update_custom_emoji_html: "%{name} actualisava le emoticone %{target}"
+ update_domain_block_html: "%{name} actualisava le blocada de dominio pro %{target}"
+ update_ip_block_html: "%{name} cambiava le regula pro IP %{target}"
+ update_status_html: "%{name} actualisava le message per %{target}"
+ update_user_role_html: "%{name} cambiava le rolo de %{target}"
deleted_account: conto delite
+ empty: Nulle registrationes trovate.
+ filter_by_action: Filtrar per action
+ filter_by_user: Filtrar per usator
+ title: Registro de inspection
announcements:
destroyed_msg: Annuncio delite con successo!
edit:
title: Modificar annuncio
empty: Necun annuncios trovate.
+ live: Al vivo
new:
create: Crear annuncio
title: Nove annuncio
publish: Publicar
published_msg: Annuncio publicate con successo!
+ scheduled_for: Programmate pro %{time}
+ scheduled_msg: Annuncio programmate pro le publication!
title: Annuncios
+ unpublish: Depublicar
+ unpublished_msg: Le publication del annuncio ha essite disfacite!
+ updated_msg: Annuncio actualisate con successo!
+ critical_update_pending: Actualisation critic pendente
custom_emojis:
+ assign_category: Assignar categoria
by_domain: Dominio
copied_msg: Copia local del emoji create con successo
copy: Copiar
+ copy_failed_msg: Impossibile crear un copia local de ille emoticone
create_new_category: Crear nove categoria
created_msg: Emoji create con successo!
delete: Deler
+ destroyed_msg: Emoticone destruite con successo destroyed!
disable: Disactivar
disabled: Disactivate
disabled_msg: Emoji disactivate con successo
+ emoji: Emoticone
enable: Activar
enabled: Activate
enabled_msg: Emoji activate con successo
+ image_hint: PNG o GIF usque %{size}
+ list: Listar
+ listed: Listate
new:
title: Adder nove emoji personalisate
+ no_emoji_selected: Nulle emoticones ha essite cambiate perque nulle ha essite seligite
+ not_permitted: Tu non es autorisate a exequer iste action
+ overwrite: Superscriber
+ shortcode: Via breve
+ shortcode_hint: Al minus 2 characteres, solo characteres alphanumeric e lineettas basse
title: Emojis personalisate
+ uncategorized: Sin categoria
+ unlist: Non listar
+ unlisted: Non listate
+ update_failed_msg: Impossibile actualisar ille emoticone
+ updated_msg: Emoticone actualisate con successo!
upload: Incargar
dashboard:
active_users: usatores active
@@ -230,71 +350,180 @@ ia:
media_storage: Immagazinage de medios
new_users: nove usatores
opened_reports: reportos aperte
+ resolved_reports: reportos resolvite
software: Software
+ sources: Fontes de inscription
+ space: Uso de spatio
+ title: Pannello de controlo
top_languages: Linguas le plus active
top_servers: Servitores le plus active
website: Sito web
+ disputes:
+ appeals:
+ empty: Nulle appellos trovate.
+ title: Appellos
domain_allows:
add_new: Permitter federation con dominio
+ created_msg: Le dominio ha essite permittite con successo pro federation
+ destroyed_msg: Le dominio ha essite prohibite pro federation
export: Exportar
import: Importar
+ undo: Prohiber federation con dominio
domain_blocks:
+ add_new: Adder nove blocada de dominio
confirm_suspension:
cancel: Cancellar
+ confirm: Suspender
+ permanent_action: Disfacer le suspension non restaurara alcun datos o relation.
+ preamble_html: Tu es sur le puncto de suspender %{domain} e su subdominios.
+ remove_all_data: Isto removera de tu servitor tote le contento, multimedia e datos de profilo del contos de iste dominio.
stop_communication: Tu servitor stoppara le communication con iste servitores.
+ title: Confirmar le blocada del dominio %{domain}
+ undo_relationships: Isto disfacera omne relation de sequimento inter le contos de iste servitores e illos del tue.
+ created_msg: Le blocada del dominio es ora in tractamento
+ destroyed_msg: Le blocada del dominio ha essite disfacite
domain: Dominio
- edit: Modificar un bloco de dominio
+ edit: Modificar un blocada de dominio
+ existing_domain_block: Tu ha ja imponite limites plus stricte sur %{name}.
+ existing_domain_block_html: Tu ha ja imponite limites plus stricte sur %{name}; ora es necessari disblocar lo primo.
export: Exportar
import: Importar
new:
+ create: Crear blocada
+ hint: Le blocada del dominio non impedira le creation de entratas de conto in le base de datos, ma applicara retroactive- e automaticamente le methodos specific de moderation a iste contos.
severity:
+ desc_html: "Limitar rendera le messages del contos de iste dominio invisibile pro tote persona que non los seque. Suspender removera de tu servitor tote le contento, multimedia e datos de profilo del contos de iste dominio. Usa Necun si tu solmente vole rejectar le files multimedial."
+ noop: Nemo
silence: Limitar
suspend: Suspender
+ title: Nove blocada de dominio
+ no_domain_block_selected: Necun blocada de dominio ha essite cambiate perque necun ha essite seligite
+ not_permitted: Tu non es autorisate a exequer iste action
+ obfuscate: Offuscar le nomine de dominio
+ obfuscate_hint: Offuscar partialmente le nomine de dominio in le lista si le diffusion del lista de limitationes del dominio es activate
private_comment: Commento private
+ private_comment_hint: Commentar iste limitation de dominio pro uso interne per le moderatores.
public_comment: Commento public
+ public_comment_hint: Commentar iste limitation de dominio pro le publico general, si le diffusion del lista de limitationes del dominio es activate.
+ reject_media: Refusar files multimedial
+ reject_media_hint: Remove le files multimedial immagazinate localmente e refusa de discargar tales in futuro. Irrelevante pro le suspensiones
+ reject_reports: Refusar reportos
+ reject_reports_hint: Ignorar tote le reportos proveniente de iste dominio. Irrelevante pro le suspensiones
+ undo: Disfacer blocada de dominio
+ view: Examinar blocada de dominio
email_domain_blocks:
add_new: Adder nove
+ allow_registrations_with_approval: Permitter inscriptiones con approbation
+ attempts_over_week:
+ one: "%{count} tentativa de inscription in le ultime septimana"
+ other: "%{count} tentativas de inscription in le ultime septimana"
+ created_msg: Le dominio de e-mail ha essite blocate
delete: Deler
+ dns:
+ types:
+ mx: Registro MX
domain: Dominio
new:
create: Adder un dominio
+ resolve: Resolver dominio
title: Blocar un nove dominio de e-mail
+ no_email_domain_block_selected: Necun blocadas de dominio de e-mail ha essite cambiate perque necun ha essite seligite
+ not_permitted: Non permittite
+ resolved_dns_records_hint_html: Le nomine de dominio se resolve al sequente dominios MX, le quales ha le ultime responsibilitate pro le reception de e-mail. Blocar un dominio MX blocara le inscriptiones de qualcunque adresse de e-mail que usa le mesme dominio MX, mesmo si le nomine de dominio visibile es differente. Presta attention a evitar de blocar le grande fornitores de e-mail.
+ resolved_through_html: Resolvite per %{domain}
title: Dominios de e-mail blocate
export_domain_allows:
+ new:
+ title: Importar permissiones de dominio
no_file: Necun file seligite
export_domain_blocks:
+ import:
+ description_html: Tu es sur le puncto de importar un lista de blocadas de dominio. Per favor revide con grande cura iste lista, particularmente si tu non lo ha scribite tu mesme.
+ existing_relationships_warning: Relationes existente de sequimento
+ private_comment_description_html: 'Pro adjutar te a traciar de ubi proveni le blocadas importate, le blocadas importate essera create con le sequente commento private: %{comment}
'
+ private_comment_template: Importate de %{source} le %{date}
+ title: Importar blocadas de dominio
+ invalid_domain_block: 'Un o plus blocadas de dominio ha essite saltate a causa del sequente error(es): %{error}'
+ new:
+ title: Importar blocadas de dominio
no_file: Necun file seligite
follow_recommendations:
+ description_html: "Le recommendationes de sequimento adjuta le nove usatores a trovar rapidemente contento interessante. Quando un usator non ha un historia sufficiente de interactiones con alteres pro formar recommendationes personalisate de sequimento, iste contos es recommendate. Illos se recalcula cata die a partir de un mixtura de contos con le plus grande numero de ingagiamentos recente e le numero de sequitores local le plus alte pro un lingua date."
language: Per lingua
status: Stato
+ suppress: Supprimer recommendation de sequimento
+ suppressed: Supprimite
title: Sequer le recommendationes
+ unsuppress: Restaurar recommendation de sequimento
instances:
+ availability:
+ description_html:
+ one: Si le livration al dominio falle %{count} die sin succeder, necun tentativa ulterior de livration essera facite, excepte si es recipite un livration ab le dominio.
+ other: Si le livration al dominio falle durante %{count} dies differente sin succeder, necun tentativa ulterior de livration essera facite, excepte si es recipite un livration ab le dominio.
+ failure_threshold_reached: Limine de fallimentos attingite le %{date}.
+ failures_recorded:
+ one: Tentativa fallite durante %{count} die.
+ other: Tentativa fallite durante %{count} dies differente.
+ no_failures_recorded: Necun fallimento cognoscite.
+ title: Disponibilitate
+ warning: Le ultime tentativa de connexion a iste servitor non ha succedite
back_to_all: Toto
back_to_limited: Limitate
back_to_warning: Advertimento
by_domain: Dominio
+ confirm_purge: Es tu secur que tu vole deler permanentemente le datos de iste dominio?
content_policies:
comment: Nota interne
+ description_html: Tu pote definir politicas de contento que se applicara a tote le contos de iste dominio e a qualcunque de su subdominios.
+ limited_federation_mode_description_html: Tu pote decider si permitter le federation con iste dominio.
policies:
+ reject_media: Rejectar multimedia
+ reject_reports: Rejectar reportos
silence: Limitar
suspend: Suspender
policy: Politica
reason: Ration public
+ title: Politicas de contento
dashboard:
instance_accounts_dimension: Contos le plus sequite
+ instance_accounts_measure: contos immagazinate
+ instance_followers_measure: nostre sequitores illac
+ instance_follows_measure: lor sequitores hic
instance_languages_dimension: Linguas principal
+ instance_media_attachments_measure: annexos multimedial immagazinate
+ instance_reports_measure: signalationes sur illos
+ instance_statuses_measure: messages immagazinate
delivery:
+ all: Totes
+ clear: Rader errores de livration
+ failing: Fallente
+ restart: Recomenciar livration
+ stop: Cessar livration
unavailable: Non disponibile
+ delivery_available: Livration es disponibile
+ delivery_error_days: Dies de errores de livration
+ delivery_error_hint: Si le livration non es possibile durante %{count} dies, illo essera automaticamente marcate como non livrabile.
+ destroyed_msg: Le datos de %{domain} es ora in cauda pro deletion imminente.
empty: Necun dominios trovate.
+ known_accounts:
+ one: "%{count} conto cognoscite"
+ other: "%{count} contos cognoscite"
moderation:
all: Toto
limited: Limitate
title: Moderation
private_comment: Commento private
public_comment: Commento public
+ purge: Purgar
+ purge_description_html: Si tu crede que iste dominio es foras de linea pro sempre, tu pote deler de tu immagazinage tote le registros del conto e le datos associate de iste dominio. Isto pote prender un tempore.
title: Federation
total_blocked_by_us: Blocate per nos
+ total_followed_by_them: Sequite per illes
total_followed_by_us: Sequite per nos
+ total_reported: Signalationes sur illes
+ total_storage: Annexos multimedial
+ totals_time_period_hint_html: Le totales monstrate hic infra include le datos de tote le tempore.
+ unknown_instance: Iste dominio non es actualmente cognoscite sur iste servitor.
invites:
deactivate_all: Disactivar toto
filter:
@@ -305,6 +534,7 @@ ia:
title: Invitationes
ip_blocks:
add_new: Crear regula
+ created_msg: Le nove regula IP ha essite addite
delete: Deler
expires_in:
'1209600': 2 septimanas
@@ -315,8 +545,12 @@ ia:
'94670856': 3 annos
new:
title: Crear un nove regula IP
+ no_ip_block_selected: Necun regula IP ha essite cambiate perque necun ha essite seligite
title: Regulas IP
+ relationships:
+ title: Relationes de %{acct}
relays:
+ add_new: Adder nove repetitor
delete: Deler
description_html: Un repetitor de federation es un servitor intermediari que excambia grande volumines de messages public inter le servitores que se inscribe e publica a illo. Illo pote adjutar le servitores micre e medie a discoperir le contento del fediverso, sin requirer que le usatores local seque manualmente altere personas sur servitores distante.
disable: Disactivar
@@ -324,59 +558,212 @@ ia:
enable: Activar
enable_hint: Un vice activate, tu servitor se inscribera a tote le messages public de iste repetitor, e comenciara a inviar le messages public de iste servitor a illo.
enabled: Activate
+ inbox_url: URL del repetitor
+ pending: Attende le approbation del repetitor
save_and_enable: Salveguardar e activar
+ setup: Crear un connexion con un repetitor
+ signatures_not_enabled: Le repetitores pote non functionar correctemente durante que le modo secur o le modo de federation limitate es activate
status: Stato
+ title: Repetitores
+ report_notes:
+ created_msg: Nota de signalation create con successo!
+ destroyed_msg: Nota de signalation delite con successo!
reports:
+ account:
+ notes:
+ one: "%{count} nota"
+ other: "%{count} notas"
+ action_log: Registro de inspection
+ action_taken_by: Action prendite per
+ actions:
+ delete_description_html: Le messages signalate essera delite e un admonition essera registrate pro adjutar te a prender mesuras in caso de futur infractiones proveniente del mesme conto.
+ mark_as_sensitive_description_html: Le files multimedial in le messages reportate essera marcate como sensibile e un admonition essera registrate pro adjutar te a prender mesuras in caso de futur infractiones proveniente del mesme conto.
+ other_description_html: Vider plus optiones pro controlar le comportamento del conto e personalisar le communication al conto signalate.
+ resolve_description_html: Necun action essera prendite contra le conto signalate, necun admonition registrate, e le signalation essera claudite.
+ silence_description_html: Iste conto essera visibile solmente a qui ja lo seque o manualmente lo cerca, limitante gravemente su portata. Pote sempre esser revertite. Claude tote le signalationes contra iste conto.
+ suspend_description_html: Le conto e tote su contento essera inaccessible e finalmente delite, e interager con illo essera impossibile. Reversibile intra 30 dies. Claude tote le signalationes contra iste conto.
+ actions_description_html: Decide qual action prender pro resolver iste signalation. Si tu prende un action punitive contra le conto signalate, le persona recipera un notification in e-mail, excepte si le categoria Spam es seligite.
+ actions_description_remote_html: Decide qual action prender pro resolver iste signalation. Isto affectara solmente le maniera in que tu servitor communica con iste conto remote e gere su contento.
add_to_report: Adder plus al reporto
+ already_suspended_badges:
+ local: Ja suspendite sur iste servitor
+ remote: Ja suspendite sur su servitor
are_you_sure: Es tu secur?
+ assign_to_self: Assignar a me
+ assigned: Moderator assignate
+ by_target_domain: Dominio del conto signalate
cancel: Cancellar
category: Categoria
+ category_description_html: Le motivo pro le qual iste conto e/o contento ha essite signalate essera citate in le communication con le conto signalate
+ comment:
+ none: Necun
+ comment_description_html: 'Pro fornir plus information, %{name} ha scribite:'
confirm: Confirmar
+ confirm_action: Confirmar le action de moderation contra %{acct}
+ created_at: Signalate
delete_and_resolve: Deler le messages
+ forwarded: Reexpedite
+ forwarded_replies_explanation: Iste signalation proveni de un usator remote e concerne contento remote. Illo te ha essite reexpedite perque le contento signalate es in responsa a un usator tue.
+ forwarded_to: Reexpedite a %{domain}
+ mark_as_resolved: Marcar como resolvite
+ mark_as_sensitive: Marcar como sensibile
+ mark_as_unresolved: Marcar como non resolvite
no_one_assigned: Nemo
notes:
create: Adder un nota
+ create_and_resolve: Resolver con nota
+ create_and_unresolve: Reaperir con nota
delete: Deler
+ placeholder: Describe le actiones prendite, o insere altere information pertinente...
title: Notas
+ notes_description_html: Vider e lassar notas pro altere moderatores e pro tu proprie futuro
+ processed_msg: 'Reporto #%{id} elaborate con successo'
+ quick_actions_description_html: 'Face un rapide action o rola a basso pro vider le contento reportate:'
+ remote_user_placeholder: le usator remote ab %{instance}
+ reopen: Reaperir reporto
+ report: 'Reporto #%{id}'
+ reported_account: Conto signalate
+ reported_by: Signalate per
+ resolved: Resolvite
+ resolved_msg: Reporto resolvite con successo!
skip_to_actions: Saltar al actiones
status: Stato
+ statuses: Contento signalate
+ statuses_description_html: Le contento offensive sera citate in communication con le conto reportate
+ summary:
+ action_preambles:
+ delete_html: 'Tu va remover parte de messages de @%{acct}. Isto ira:'
+ mark_as_sensitive_html: 'Tu va marcar parte de messages de @%{acct} como sensibile. Isto ira:'
+ silence_html: 'Tu va limitar le conto de @%{acct}. Isto ira:'
+ suspend_html: 'Tu va limitar le conto de @%{acct}. Isto ira:'
+ actions:
+ delete_html: Remover le messages offensive
+ mark_as_sensitive_html: Marcar le medios de messages offensive como sensibile
+ silence_html: Limitar gravemente le portata de @%{acct} rendente le profilo e contento visibile solmente a qui ja lo seque o lo cerca manualmente
+ suspend_html: Suspender @%{acct}, rendente le profilo e contento inaccessibile e le interaction con illo impossibile
+ close_report: Marcar le signalation №%{id} como resolvite
+ close_reports_html: Marcar tote le signalationes contra @%{acct} como resolvite
+ delete_data_html: Deler le profilo e contento de @%{acct} in 30 dies excepte si le suspension es disfacite intertanto
+ preview_preamble_html: "@%{acct} recipera un advertimento con le sequente contento:"
+ record_strike_html: Registrar un admonition contra @%{acct} pro adjutar te a imponer sanctiones in caso de futur violationes de iste conto
+ send_email_html: Inviar un e-mail de advertimento a @%{acct}
+ warning_placeholder: Motivation supplementari facultative pro le action de moderation.
+ target_origin: Origine del conto signalate
+ title: Reportos
+ unassign: Disassignar
+ unknown_action_msg: 'Action incognite: %{action}'
+ unresolved: Non resolvite
updated_at: Actualisate
view_profile: Vider profilo
roles:
+ add_new: Adder rolo
assigned_users:
one: "%{count} usator"
other: "%{count} usatores"
categories:
+ administration: Administration
+ devops: DevOps
invites: Invitationes
moderation: Moderation
special: Special
delete: Deler
+ description_html: Le rolos de usator permitte personalisar le functiones e areas de Mastodon al quales le usator pote acceder.
+ edit: Modificar le rolo '%{name}'
everyone: Permissiones predefinite
+ everyone_full_description_html: Iste es le rolo de base que affecta tote le usatores, mesmo illes sin rolo assignate. Tote le altere rolos heredita le permissiones de illo.
+ permissions_count:
+ one: "%{count} permission"
+ other: "%{count} permissiones"
privileges:
+ administrator: Administrator
+ administrator_description: Le usatores con iste permission pote contornar tote permission
delete_user_data: Deler le datos de usator
+ delete_user_data_description: Permitte que usatores dele immediatemente le datos de altere usatores
+ invite_users: Invitar usatores
+ invite_users_description: Permitte que usatores invita nove personas al servitor
manage_announcements: Gerer le annuncios
+ manage_announcements_description: Permitte que usatores genere annuncios sur le servitor
+ manage_appeals: Gerer appellos
+ manage_appeals_description: Permitte que usatores revide appellos contra actiones de moderation
+ manage_blocks: Gerer blocadas
+ manage_blocks_description: Permitter que usatores bloca le fornitores de e-mail e le adresses IP
+ manage_custom_emojis: Gerer emojis personalisate
+ manage_custom_emojis_description: Permitte que usatores gere emojis personalisate sur le servitor
+ manage_federation: Gerer federation
+ manage_federation_description: Permitte que le usatores bloca o permitte le federation con altere dominios, e controla le livration
manage_invites: Gerer le invitationes
+ manage_invites_description: Permitte que usatores examina e deactiva ligamines de invitation
+ manage_reports: Gerer le reportos
+ manage_reports_description: Permitte que usatores revide signalationes e exeque actiones de moderation a base de illos
+ manage_roles: Gerer le rolos
+ manage_roles_description: Permitte que usatores gere e assigna rolos inferior a lor privilegios actual
manage_rules: Gerer le regulas
+ manage_rules_description: Permitte que usatores cambia le regulas del servitor
manage_settings: Gerer le parametros
+ manage_settings_description: Permitte que usatores cambia le parametros del sito
+ manage_taxonomies: Gerer taxonomias
+ manage_taxonomies_description: Permitte que usatores revide contento in tendentias e actualisa le parametros de hashtag
+ manage_user_access: Gerer le accessos de usator
+ manage_user_access_description: Permitte que usatores disactiva le authentication bifactorial de altere usatores, cambia lor adresses de e-mail, e reinitialisa lor contrasigno
manage_users: Gerer usatores
+ manage_users_description: Permitte que usatores vide le detalios de altere usatores e exeque actiones de moderation contra illes
+ manage_webhooks: Gerer Webhooks
+ manage_webhooks_description: Permitte que usatores installa “webhooks” pro eventos administrative
+ view_audit_log: Vider le registro de inspection
+ view_audit_log_description: Permitte que usatores vide un historia de actiones administrative sur le servitor
+ view_dashboard: Vider le tabuliero de instrumentos
+ view_dashboard_description: Permitte que usatores accede al tabuliero de instrumentos e a varie statisticas
+ view_devops: DevOps
+ view_devops_description: Permitte que usatores accede al tabulieros de instrumentos de Sidekiq e pgHero
title: Rolos
rules:
+ add_new: Adder regula
delete: Deler
+ description_html: Ben que multes affirma de haber legite e acceptate le conditiones de servicio, generalmente le gente non los lege completemente usque un problema surge. Facilita le visibilitate del regulas de tu servitor in un colpo de oculo forniente los in un lista a punctos. Tenta mantener le regulas individual curte e simple, ma sin divider los in multe punctos separate.
+ edit: Modificar regula
+ empty: Necun regula del servitor ha essite definite ancora.
+ title: Regulas del servitor
settings:
about:
+ manage_rules: Gerer le regulas del servitor
+ preamble: Fornir information detaliate sur le functionamento, moderation e financiamento del servitor.
+ rules_hint: Il ha un area dedicate al regulas que tu usatores debe acceptar.
title: A proposito de
appearance:
preamble: Personalisar le interfacie web de Mastodon.
title: Apparentia
+ branding:
+ preamble: Le marca de tu servitor lo differentia de altere servitores in le rete. Iste information pote esser monstrate in diverse ambientes, como le interfacie web de Mastodon, applicationes native, in previsualisationes de ligamines sur altere sitos web, in applicationes de messageria, etc. Pro iste ration, il es melior mantener iste information clar, breve e concise.
+ title: Marca
+ captcha_enabled:
+ desc_html: Iste depende de scripts externe de hCaptcha, que pote esser un problema de securitate e vita private. De plus, isto pote render le processo de inscription multo minus accessibile a certe personas (particularmente personas con discapacitates). Pro iste rationes, considera altere mesuras como le inscription basate sur approbation o invitation.
+ title: Require que nove usatores solve un CAPTCHA pro confirmar lor conto
+ content_retention:
+ danger_zone: Zona periculose
discovery:
profile_directory: Directorio de profilos
public_timelines: Chronologias public
+ title: Discoperi
trends: Tendentias
+ domain_blocks:
+ all: A omnes
+ disabled: A necuno
+ users: A usators local in session
+ registrations:
+ title: Registrationes
+ registrations_mode:
+ modes:
+ none: Nemo pote inscriber se
+ open: Quicunque pote inscriber se
+ security:
+ authorized_fetch_hint: Requirer authentication de servitores federate permitte un application plus stricte de blocadas a nivello de usator e de servitor. Nonobstante, isto diminue le prestationes del servitor, reduce le portata de tu responsas e pote introducer problemas de compatibilitate con certe servicios federate. In plus, isto non impedira le actores dedicate a recuperar tu messages public e tu contos.
title: Parametros de servitor
site_uploads:
delete: Deler file incargate
+ destroyed_msg: Incarga de sito delite con successo!
software_updates:
documentation_link: Pro saper plus
+ release_notes: Notas de version
title: Actualisationes disponibile
type: Typo
types:
@@ -391,31 +778,136 @@ ia:
deleted: Delite
favourites: Favoritos
history: Chronologia del versiones
+ in_reply_to: Replicante a
language: Lingua
media:
title: Medios
metadata: Metadatos
open: Aperir message
original_status: Message original
+ status_changed: Messages cambiate
title: Messages del conto
trending: Tendentias
visibility: Visibilitate
+ with_media: Con medios
strikes:
actions:
+ delete_statuses: "%{name} ha delite le messages de %{target}"
+ disable: "%{name} ha gelate le conto de %{target}"
+ mark_statuses_as_sensitive: "%{name} ha marcate le messages de %{target} como sensibile"
none: "%{name} ha inviate un advertimento a %{target}"
+ sensitive: "%{name} ha marcate le conto de %{target} como sensibile"
+ silence: "%{name} ha limitate le conto de %{target}"
+ suspend: "%{name} ha suspendite le conto de %{target}"
+ appeal_approved: Appello facite
+ appeal_pending: Appello pendente
+ appeal_rejected: Appello rejectate
system_checks:
+ elasticsearch_preset:
+ action: Vide documentation
+ elasticsearch_preset_single_node:
+ action: Vide documentation
rules_check:
action: Gerer le regulas del servitor
software_version_critical_check:
action: Vider le actualisationes disponibile
+ message_html: Un actualisation critic de Mastodon es disponibile, actualisa lo le plus rapide possibile.
software_version_patch_check:
action: Vider le actualisationes disponibile
upload_check_privacy_error:
action: Verifica hic pro plus de information
+ upload_check_privacy_error_object_storage:
+ action: Verifica hic pro plus de information
+ trends:
+ approved: Approbate
+ rejected: Rejectate
+ tags:
+ not_usable: Non pote esser usate
+ title: Tendentias
+ warning_presets:
+ add_new: Adder nove
+ delete: Deler
+ webhooks:
+ delete: Deler
+ disable: Disactivar
+ disabled: Disactivate
+ enable: Activar
+ events: Eventos
+ status: Stato
+ admin_mailer:
+ new_critical_software_updates:
+ subject: Actualisationes critic de Mastodon es disponibile pro %{instance}!
+ new_software_updates:
+ subject: Nove versiones de Mastodon es disponibile pro %{instance}!
+ appearance:
+ advanced_web_interface: Interfacie web avantiate
+ sensitive_content: Contento sensibile
application_mailer:
+ notification_preferences: Cambiar preferentias de e-mail
+ settings: 'Cambiar preferentias de e-mail: %{link}'
unsubscribe: Desubscriber
+ view: 'Vider:'
+ view_profile: Vider profilo
+ view_status: Vider message
+ applications:
+ created: Application create con successo
+ destroyed: Application delite con successo
+ logout: Clauder le session
+ auth:
+ confirmations:
+ welcome_title: Benvenite, %{name}!
+ delete_account: Deler le conto
+ logout: Clauder le session
+ progress:
+ details: Tu detalios
+ set_new_password: Definir un nove contrasigno
+ status:
+ account_status: Stato del conto
+ view_strikes: Examinar le admonitiones passate contra tu conto
+ challenge:
+ invalid_password: Contrasigno non valide
+ deletes:
+ proceed: Deler le conto
+ success_msg: Tu conto esseva delite con successo
+ warning:
+ data_removal: Tu messages e altere datos essera removite permanentemente
+ email_change_html: Tu pote cambiar tu adresse de e-mail sin deler tu conto
+ disputes:
+ strikes:
+ action_taken: Action prendite
+ appeal: Facer appello
+ appeal_approved: Iste admonition ha essite annullate in appello e non es plus valide
+ appeal_rejected: Le appello ha essite rejectate
+ appeal_submitted_at: Appello submittite
+ appealed_msg: Tu appello ha essite submittite. Si es approbate, tu recipera notification.
+ appeals:
+ submit: Submitter appello
+ approve_appeal: Approbar apello
+ associated_report: Signalation associate
+ created_at: Del data
+ description_html: Istes es le actiones prendite contra tu conto e le advertimentos que te ha essite inviate per le personal de %{instance}.
+ recipient: Adressate a
+ reject_appeal: Rejectar appello
+ status: Message №%{id}
+ status_removed: Le message ha ja essite removite del systema
+ title: "%{action} del %{date}"
+ title_actions:
+ delete_statuses: Elimination de messages
+ disable: Gelamento del conto
+ mark_statuses_as_sensitive: Marcation de messages como sensibile
+ none: Advertimento
+ sensitive: Marcation del conto como sensibile
+ silence: Limitation del conto
+ suspend: Suspension del conto
+ your_appeal_approved: Tu appello ha essite approbate
+ your_appeal_pending: Tu ha submittite un appello
+ your_appeal_rejected: Tu appello ha essite rejectate
edit_profile:
+ basic_information: Information basic
other: Alteres
+ errors:
+ '422':
+ content: Le verification de securitate ha fallite. Bloca tu le cookies?
existing_username_validator:
not_found_multiple: non poteva trovar %{usernames}
exports:
@@ -426,6 +918,7 @@ ia:
blocks: Tu ha blocate
bookmarks: Marcapaginas
csv: CSV
+ domain_blocks: Blocadas de dominio
mutes: Tu ha silentiate
storage: Immagazinage de medios
featured_tags:
@@ -444,6 +937,10 @@ ia:
title: Modificar filtro
index:
delete: Deler
+ title: Filtros
+ new:
+ save: Salveguardar nove filtro
+ title: Adder nove filtro
generic:
all: Toto
cancel: Cancellar
@@ -457,12 +954,37 @@ ia:
imports:
errors:
empty: File CSV vacue
+ invalid_csv_file: 'File CSV non valide. Error: %{error}'
too_large: Le file es troppo longe
failures: Fallimentos
+ overwrite_preambles:
+ blocking_html: Tu es sur le puncto de reimplaciar tu lista de blocadas per usque a %{total_items} contos proveniente de %{filename}.
+ domain_blocking_html: Tu es sur le puncto de reimplaciar tu lista de blocadas de dominio per usque a %{total_items} dominios proveniente de %{filename}.
+ preambles:
+ blocking_html: Tu es sur le puncto de blocar usque a %{total_items} contos a partir de %{filename}.
+ domain_blocking_html: Tu es sur le puncto de blocar usque a %{total_items} dominios a partir de %{filename}.
+ preface: Tu pote importar datos que tu ha exportate de un altere servitor, como un lista de personas que tu seque o bloca.
+ recent_imports: Importationes recente
status: Stato
+ titles:
+ blocking: Importation de contos blocate
+ bookmarks: Importation de marcapaginas
+ domain_blocking: Importation de dominios blocate
+ lists: Importation de listas
+ muting: Importation de contos silentiate
+ type: Typo de importation
+ type_groups:
+ constructive: Sequites e marcapaginas
+ destructive: Blocadas e silentiamentos
types:
+ blocking: Lista de blocadas
+ bookmarks: Marcapaginas
+ domain_blocking: Lista de dominios blocate
lists: Listas
+ upload: Incargar
invites:
+ delete: Disactivar
+ expired: Expirate
expires_in:
'1800': 30 minutas
'21600': 6 horas
@@ -492,9 +1014,90 @@ ia:
migrations:
errors:
not_found: non poterea esser trovate
+ move_handler:
+ carry_blocks_over_text: Iste usator ha cambiate de conto desde %{acct}, que tu habeva blocate.
+ notification_mailer:
+ follow:
+ title: Nove sequitor
+ follow_request:
+ title: Nove requesta de sequimento
+ mention:
+ action: Responder
+ poll:
+ subject: Un inquesta de %{name} ha finite
+ pagination:
+ next: Sequente
preferences:
+ other: Altere
public_timelines: Chronologias public
+ privacy_policy:
+ title: Politica de confidentialitate
+ relationships:
+ activity: Activitate del conto
+ most_recent: Plus recente
+ status: Stato del conto
+ sessions:
+ activity: Ultime activitate
+ browser: Navigator
+ browsers:
+ alipay: Alipay
+ blackberry: BlackBerry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
+ generic: Navigator incognite
+ huawei_browser: Huawei Browser
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
+ nokia: Navigator de Nokia S40 Ovi
+ opera: Opera
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Safari
+ uc_browser: UC Browser
+ unknown_browser: Navigator Incognite
+ weibo: Weibo
+ current_session: Session actual
+ date: Data
+ description: "%{browser} sur %{platform}"
+ platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ kai_os: KaiOS
+ linux: Linux
+ mac: macOS
+ unknown_platform: Platteforma incognite
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
+ settings:
+ account: Conto
+ account_settings: Parametros de conto
+ appearance: Apparentia
+ delete: Deletion de conto
+ development: Disveloppamento
+ edit_profile: Modificar profilo
+ import: Importar
+ migrate: Migration de conto
+ notifications: Notificationes de e-mail
+ preferences: Preferentias
+ profile: Profilo public
+ relationships: Sequites e sequitores
+ strikes: Admonitiones de moderation
+ severed_relationships:
+ event_type:
+ domain_block: Suspension del servitor (%{target_name})
+ user_domain_block: Tu ha blocate %{target_name}
+ preamble: Tu pote perder sequites e sequitores quando tu bloca un dominio o quando tu moderatores decide suspender un servitor remote. Quando isto occurre, tu potera discargar listas de relationes rumpite, a inspectar e eventualmente importar in un altere servitor.
+ type: Evento
statuses:
+ open_in_web: Aperir in le web
poll:
vote: Votar
show_more: Monstrar plus
@@ -511,7 +1114,13 @@ ia:
'604800': 1 septimana
'63113904': 2 annos
'7889238': 3 menses
+ stream_entries:
+ sensitive_content: Contento sensibile
+ strikes:
+ errors:
+ too_late: Es troppo tarde pro facer appello contra iste admonition
themes:
+ contrast: Mastodon (Alte contrasto)
default: Mastodon (Obscur)
mastodon-light: Mastodon (Clar)
system: Automatic (usar thema del systema)
@@ -522,6 +1131,24 @@ ia:
user_mailer:
appeal_approved:
action: Parametros de conto
+ explanation: Le appello contra le admonition contra tu conto del %{strike_date}, que tu ha submittite le %{appeal_date}, ha essite approbate. Tu conto ha de novo un bon reputation.
+ appeal_rejected:
+ explanation: Le appello contra le admonition contra tu conto del %{strike_date}, que tu ha submittite le %{appeal_date}, ha essite rejectate.
+ warning:
+ appeal: Submitter un appello
+ subject:
+ none: Advertimento pro %{acct}
+ sensitive: Tu messages sur %{acct} essera marcate como sensibile a partir de ora
+ silence: Tu conto %{acct} ha essite limitate
+ suspend: Tu conto %{acct} ha essite suspendite
+ title:
+ delete_statuses: Messages removite
+ disable: Conto gelate
+ mark_statuses_as_sensitive: Messages marcate como sensibile
+ none: Advertimento
+ sensitive: Conto marcate como sensibile
+ silence: Conto limitate
+ suspend: Conto suspendite
welcome:
apps_android_action: Obtene lo sur Google Play
apps_ios_action: Discargar sur le App Store
@@ -530,6 +1157,9 @@ ia:
edit_profile_action: Personalisar
edit_profile_title: Personalisar tu profilo
feature_action: Apprender plus
+ follow_action: Sequer
+ post_title: Face tu prime message
+ share_action: Compartir
share_title: Compartir tu profilo de Mastodon
subject: Benvenite in Mastodon
verification:
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 9753ecd374be78..a4143be060bbae 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -990,6 +990,7 @@ ja:
desc_html: この機能は hCaptcha による外部スクリプトを使用しますが、hCaptcha にはセキュリティとプライバシーの懸念が考えられます。また、CAPTCHAにより新規登録のアクセシビリティが大幅に損なわれる可能性があり、身体および精神障害者においては特に顕著です。以上の理由から、承認制や招待制を基本とするなど、代わりの登録手順を提供することを検討してください。
title: 新規ユーザーのアカウント確認にCHAPCHAを要求する
content_retention:
+ danger_zone: 危険な操作
preamble: ユーザーが生成したコンテンツがどのように Mastodon に保存されるかを管理します。
title: コンテンツの保持
default_noindex:
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 82fbde6ce1a211..3449f1d5d72399 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -410,6 +410,8 @@ lt:
silence: Riboti
suspend: Pristabdyti
title: Naujos domeno blokas
+ public_comment: Viešas komentaras
+ public_comment_hint: Komentaras apie šį domeno apribojimą plačiajai visuomenei, jei įjungtas domenų apribojimų sąrašo reklamavimas.
reject_media: Atmesti medijos failus
reject_media_hint: Panaikina lokaliai saugomus medijos failus bei atsisako jų parsisiuntimo ateityje. Neliečia užblokavimu
reject_reports: Atmesti ataskaitas
@@ -427,11 +429,14 @@ lt:
title: El pašto juodasis sąrašas
instances:
by_domain: Domenas
+ content_policies:
+ reason: Viešoji priežastis
delivery_available: Pristatymas galimas
moderation:
all: Visi
limited: Limituotas
title: Moderacija
+ public_comment: Viešas komentaras
title: Federacija
total_blocked_by_us: Mes užblokavome
total_followed_by_them: Jų sekami
@@ -449,11 +454,11 @@ lt:
relays:
add_new: Pridėti naują pamainą
delete: Ištrinti
- description_html: "Federacijos perjungėjas tai tarpinis serveris, kuris apsikeičia didelios apimties informacija tarp kitų serverių. Tai gali padėti mažesniems serveriams atrasti turinį iš fedi-visatos, kuris kitaip reikalautų vartotojų lokaliai sekti kitus žmones naudojantis kitus tolimus serverius."
+ description_html: "Federacijos perdavimas – tai tarpinis serveris, kuris keičiasi dideliais viešų įrašų kiekiais tarp jį prenumeruojančių ir skelbiančių serverių. Jis gali padėti mažiems ir vidutiniams serveriams atrasti fediverse esantį turinį, nes priešingu atveju vietiniams naudotojams reikėtų rankiniu būdu sekti kitus žmones iš nutolusių serverių."
disable: Išjungti
disabled: Išjungtas
enable: Įjungti
- enable_hint: Kai įjungta, Jūsų serveris prenumeruos visas viešas žinutes iš šio tinklo, ir pradės siųsti šio serverio viešas žinutes į tinklą.
+ enable_hint: Kai bus įjungtas, tavo serveris užsiprenumeruos visus šio perdavimo viešus įrašus ir pradės į jį siųsti šio serverio viešus įrašus.
enabled: Įjungtas
inbox_url: Perdavimo URL
pending: Laukiama perdavimo patvirtinimo
@@ -504,6 +509,8 @@ lt:
desc_html: Tai priklauso nuo hCaptcha išorinių skriptų, kurie gali kelti susirūpinimą dėl saugumo ir privatumo. Be to, dėl to registracijos procesas kai kuriems žmonėms (ypač neįgaliesiems) gali būti gerokai sunkiau prieinami. Dėl šių priežasčių apsvarstyk alternatyvias priemones, pavyzdžiui, patvirtinimu arba kvietimu grindžiamą registraciją.
content_retention:
danger_zone: Pavojinga zona
+ discovery:
+ public_timelines: Viešieji laiko skalės
domain_blocks:
all: Visiems
registrations:
@@ -543,7 +550,7 @@ lt:
body: Mastodon verčia savanoriai.
guide_link_text: Visi gali prisidėti.
application_mailer:
- notification_preferences: Keisti el pašto parinktis
+ notification_preferences: Keisti el. pašto nuostatas
settings: 'Keisti el. pašto nuostatas: %{link}'
view: 'Peržiūra:'
view_profile: Peržiurėti profilį
@@ -635,7 +642,7 @@ lt:
contexts:
home: Namų laiko juosta
notifications: Priminimai
- public: Viešos laiko juostos
+ public: Viešieji laiko skalės
thread: Pokalbiai
edit:
title: Keisti filtrą
@@ -727,6 +734,8 @@ lt:
prev: Ankstesnis
preferences:
other: Kita
+ posting_defaults: Skelbimo numatytosios nuostatos
+ public_timelines: Viešieji laiko skalės
privacy:
hint_html: "Tikrink, kaip nori, kad tavo profilis ir įrašai būtų randami. Įjungus įvairias Mastodon funkcijas, jos gali padėti pasiekti platesnę auditoriją. Akimirką peržiūrėk šiuos nustatymus, kad įsitikintum, jog jie atitinka tavo naudojimo būdą."
redirects:
@@ -769,7 +778,8 @@ lt:
import: Importuoti
migrate: Paskyros migracija
notifications: El. laiško pranešimai
- preferences: Preferencijos
+ preferences: Nuostatos
+ profile: Viešas profilis
two_factor_authentication: Dviejų veiksnių autentikacija
statuses:
attached:
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 8e30a27b8b116b..0c2e6cfd6d782d 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -751,6 +751,7 @@ pt-PT:
desc_html: Isto depende de scripts externos da hCaptcha, o que pode ser uma preocupação de segurança e privacidade. Além disso, isto pode tornar o processo de registo menos acessível para algumas pessoas (especialmente as com limitações físicas). Por isso, considere medidas alternativas tais como registo mediante aprovação ou sob convite.
title: Requerer que novos utilizadores resolvam um CAPTCHA para confirmar a sua conta
content_retention:
+ danger_zone: Zona de perigo
preamble: Controle como o conteúdo gerado pelos utilizadores é armazenado no Mastodon.
title: Retenção de conteúdo
default_noindex:
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index 29e525b2c857cc..a1406b1ad9d2f9 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -240,6 +240,7 @@ ar:
backups_retention_period: فترة الاحتفاظ بأرشيف المستخدم
bootstrap_timeline_accounts: أوصي دائما بهذه الحسابات للمستخدمين الجدد
closed_registrations_message: رسالة مخصصة عندما يكون التسجيل غير متاح
+ content_cache_retention_period: مدة الاحتفاظ بالمحتوى البعيد
custom_css: سي أس أس CSS مخصص
mascot: جالب حظ مخصص (قديم)
media_cache_retention_period: مدة الاحتفاظ بالتخزين المؤقت للوسائط
diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml
index f4668ccada1c38..9aedac15f3dbdd 100644
--- a/config/locales/simple_form.en-GB.yml
+++ b/config/locales/simple_form.en-GB.yml
@@ -77,9 +77,12 @@ en-GB:
warn: Hide the filtered content behind a warning mentioning the filter's title
form_admin_settings:
activity_api_enabled: Counts of locally published posts, active users, and new registrations in weekly buckets
+ app_icon: WEBP, PNG, GIF or JPG. Overrides the default app icon on mobile devices with a custom icon.
+ backups_retention_period: Keep generated user archives for the specified number of days.
bootstrap_timeline_accounts: These accounts will be pinned to the top of new users' follow recommendations.
closed_registrations_message: Displayed when sign-ups are closed
custom_css: You can apply custom styles on the web version of Mastodon.
+ favicon: WEBP, PNG, GIF or JPG. Overrides the default Mastodon favicon with a custom icon.
mascot: Overrides the illustration in the advanced web interface.
peers_api_enabled: A list of domain names this server has encountered in the fediverse. No data is included here about whether you federate with a given server, just that your server knows about it. This is used by services that collect statistics on federation in a general sense.
profile_directory: The profile directory lists all users who have opted-in to be discoverable.
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index f72da822584770..73cb9ee36e8eb0 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -96,6 +96,7 @@ en:
warn: Hide the filtered content behind a warning mentioning the filter's title
form_admin_settings:
activity_api_enabled: Counts of locally published posts, active users, and new registrations in weekly buckets
+ app_icon: WEBP, PNG, GIF or JPG. Overrides the default app icon on mobile devices with a custom icon.
backups_retention_period: Users have the ability to generate archives of their posts to download later. When set to a positive value, these archives will be automatically deleted from your storage after the specified number of days.
bootstrap_timeline_accounts: These accounts will be pinned to the top of new users' follow recommendations.
closed_registrations_message: Displayed when sign-ups are closed
@@ -105,6 +106,7 @@ en:
enable_local_timeline: While enabling this feature will allow for interaction between like-minded users, it may also strengthen the internal atmosphere; since Mastodon is supposed to have a local timeline, we recommend annotating it in the server introduction if it is to be disabled.
enable_public_unlisted_visibility: If true, your community maybe closed-minded. If turn it false, strongly recommend that you disclose that you have disabled this setting!
enable_public_visibility: If disabled, public posts will be forcibly replaced with "Local public" or "Unlisted" posts.
+ favicon: WEBP, PNG, GIF or JPG. Overrides the default Mastodon favicon with a custom icon.
mascot: Overrides the illustration in the advanced web interface.
media_cache_retention_period: Media files from posts made by remote users are cached on your server. When set to a positive value, media will be deleted after the specified number of days. If the media data is requested after it is deleted, it will be re-downloaded, if the source content is still available. Due to restrictions on how often link preview cards poll third-party sites, it is recommended to set this value to at least 14 days, or link preview cards will not be updated on demand before that time.
peers_api_enabled: A list of domain names this server has encountered in the fediverse. No data is included here about whether you federate with a given server, just that your server knows about it. This is used by services that collect statistics on federation in a general sense.
diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml
index b07ed8b8b5f6e6..841745dbc0e294 100644
--- a/config/locales/simple_form.he.yml
+++ b/config/locales/simple_form.he.yml
@@ -77,10 +77,13 @@ he:
warn: הסתר את התוכן המסונן מאחורי אזהרה עם כותרת המסנן
form_admin_settings:
activity_api_enabled: מספר ההודעות שפורסמו מקומית, משתמשים פעילים, והרשמות חדשות בדליים שבועיים
+ backups_retention_period: למשתמשים יש יכולת לבקש ארכיון של הודעותיהם להורדה מאוחר יותר. כאשר נבחר ערך חיובי, הארכיונים הללו ימחקו מאחסון לאחר מספר הימים שצוינו.
bootstrap_timeline_accounts: חשבונות אלו יוצמדו לראש רשימת המלצות המעקב של משתמשים חדשים.
closed_registrations_message: להציג כאשר הרשמות חדשות אינן מאופשרות
+ content_cache_retention_period: כל ההודעות משרתים אחרים (לרבות הדהודים ותגובות) ימחקו אחרי מספר ימים, ללא קשר לאינטראקציה של משתמשים מקומיים איתם. בכלל זה הודעות שהמתשתמשים המקומיים סימנו בסימניה או חיבוב. איזכורים פרטיים ("דיאם") בין משתמשים בין שרתים שונים יאבדו גם הם ולא תהיה אפשרות לשחזרם. השימוש באפשרות הזו מיועד לשרתים עם ייעוד מיוחד ושובר את ציפיותיהם של רב המשתמשים כאשר האפשרות מופעלת בשרת לשימוש כללי.
custom_css: ניתן לבחור ערכות סגנון אישיות בגרסת הדפדפן של מסטודון.
mascot: בחירת ציור למנשק הווב המתקדם.
+ media_cache_retention_period: קבצי מדיה מהודעות שהגיעו משרתים רחוקים נשמרות על השרת שלך. כאשר יבחר פה מספר חיובי, המדיה תמחק לאחר מספר ימים כמצוין. אם המידע יבוקש שוב לאחר שנמחק, הוא יורד מחדש, אם המידע עדיין זמין בצד הרחוק. עקב מגבלות על תכיפות שליפת כרטיסי קדימון מאתרים מרוחקים, מומלץ לכוון את הערך ל־14 יום לפחות, או שכרטיסי קדימונים לא יעודכנו לפי דרישה לפני חלוף חלון הזמן הזה.
peers_api_enabled: רשימת השרתים ששרת זה פגש בפדיוורס. לא כולל מידע לגבי קשר ישיר עם שרת נתון, אלא רק שידוע לשרת זה על קיומו. מידע זה משמש שירותים האוספים סטטיסטיקות כלליות על הפדרציה.
profile_directory: ספריית הפרופילים מציגה ברשימה את כל המשתמשים שביקשו להיות ניתנים לגילוי.
require_invite_text: כאשר הרשמות דורשות אישור ידני, הפיכת טקסט ה"מדוע את/ה רוצה להצטרף" להכרחי במקום אופציונלי
diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml
index 05a5fa5013d07a..c796cb5fac51e3 100644
--- a/config/locales/simple_form.ia.yml
+++ b/config/locales/simple_form.ia.yml
@@ -48,15 +48,96 @@ ia:
email: Te sera inviate un email de confirmation
header: WEBP, PNG, GIF or JPG. Al maximo %{size}. Sera diminuite a %{dimensions}px
inbox_url: Copia le URL ab le pagina principal del repetitor que tu vole usar
+ irreversible: Le messages filtrate disparera irreversibilemente, mesmo si le filtro es plus tarde removite
+ locale: Le lingua del interfacie de usator, del emails e del notificationes pulsate
password: Usa al minus 8 characteres
+ phrase: Sera concordate ignorante majuscule/minuscule in le texto o avisos de contento de un message
+ scopes: A que APIs sera permittite acceder al application. Si tu selige un ambito de maxime nivello, tu non besonia de seliger los singulemente.
+ setting_aggregate_reblogs: Non monstra nove stimulos pro messages que ha essite recentemente stimulate (stimulos solo affice los novemente recipite)
+ setting_always_send_emails: Normalmente le avisos de email non sera inviate quando tu activemente usa Mastodon
+ setting_default_sensitive: Le medios sensibile es celate de ordinario e pote esser revelate con un clic
+ setting_display_media_default: Celar le medios marcate como sensibile
setting_display_media_hide_all: Sempre celar le medios
setting_display_media_show_all: Sempre monstrar le medios
+ setting_use_blurhash: Le imagines degradate es basate sur le colores del medios visual celate, ma illos offusca qualcunque detalios
+ setting_use_pending_items: Celar le classification temporal detra un clic in vice que automaticamente rolante le fluxo
username: Tu pote usar litteras, numeros e tractos de sublineamento
+ whole_word: Quando le parola o expression clave es solo alphanumeric, illo sera solo applicate si illo concorda con tote le parola
+ domain_allow:
+ domain: Iste dominio potera reportar datos ab iste servitor e le datos in ingresso ab illo sera processate e immagazinate
+ email_domain_block:
+ domain: Isto pote esser le nomine de dominio que apparera in le adresse email o le registration MX que illo usa. Illos sera verificate durante le inscription.
+ with_dns_records: Un tentativa sera facite pro resolver le registrationes de DNS del dominio date e le resultatos sera alsi blocate
+ featured_tag:
+ name: 'Ecce alcun del hashtags que tu usava le plus recentemente:'
+ filters:
+ action: Selige que action exequer quando un message concorda con le filtro
+ actions:
+ hide: Completemente celar le contento filtrate, comportar se como si illo non existerea
+ warn: Celar le contento filtrate detra un aviso citante le titulo del filtro
+ form_admin_settings:
+ activity_api_enabled: Numeros de messages localmente publicate, usatores active, e nove registrationes in gruppos septimanal
+ backups_retention_period: Le usatores pote generar archivos de lor messages pro discargar los plus tarde. Quando predefinite a un valor positive, iste archivos sera automaticamente delite de tu immagazinage post le specificate numero de dies.
+ bootstrap_timeline_accounts: Iste contos sera appunctate al summitate del recommendationes a sequer del nove usatores.
+ closed_registrations_message: Monstrate quando le inscriptiones es claudite
+ content_cache_retention_period: Tote messages de altere servitores (includite stimulos e responsas) sera delite post le specificate numero de dies, sin considerar alcun interaction de usator local con ille messages. Isto include messages ubi un usator local los ha marcate como marcapaginas o favoritos. Mentiones private inter usatores de differente instantias sera alsi perdite e impossibile a restaurar. Le uso de iste parametros es intendite pro specific instantias e infringe multe expectationes de usator quando implementate pro uso general.
+ custom_css: Tu pote applicar stilos personalisate sur le version de web de Mastodon.
+ mascot: Illo substitue le illustration in le interfacie web avantiate.
+ media_cache_retention_period: Le files multimedial de messages producite per usatores remote es in cache sur tu servitor. Quando predefinite a un valor positive, le medios sera delite post le numero de dies specificate. Le datos multimedial requirite post que illo es delite, sera re-discargate, si le contento original sera ancora disponibile. Per limitationes sur le frequentia con que le schedas de pre-visualisation de ligamine scruta le sitos de tertie partes, il es recommendate de predefinir iste valor a al minus 14 dies, o le schedas de pre-visualisation de ligamine non sera actualisate sur demanda ante ille tempore.
+ peers_api_enabled: Un lista de nomines de dominio que iste servitor ha incontrate in le fediverso. Nulle datos es includite ci re tu federation con un date servitor, justo que tu servitor lo cognosce. Isto es usate per servicios que collige statistica re le federation in senso general.
+ profile_directory: Le directorio de profilo lista tote le usatores qui ha optate pro esser detectabile.
+ require_invite_text: Quando le inscriptiones require approbation manual, rende obligatori, plus tosto que optional, le entrata de texto “Perque vole tu junger te?”
+ site_contact_email: Como pote contactar te le personas pro questiones legal o de supporto.
+ site_contact_username: Como pote contactar te le personas re Mastodon.
+ site_extended_description: Qualcunque information additional que pote esser utile al visitatores e a tu usatores. Pote esser structurate con syntaxe de markdown.
+ site_short_description: Un breve description pro adjutar a univocamente identificar tu servitor. Qui ha exequite illo, proque es illo?
+ site_terms: Usa tu proprie politica de confidentialitate o lassa blanc pro usar le predefinite. Pote esser structurate con syntaxe de markdown.
+ site_title: Como le personas pote referer se a tu servitor in addition su nomine de dominio.
+ status_page_url: URL de un pagina ubi le personas pote vider le stato de iste servitor durante un interruption
+ theme: Thema que le visitatores disconnexe e le nove usatores vide.
+ thumbnail: Un imagine approximativemente 2:1 monstrate al latere del informationes de tu servitor.
+ timeline_preview: Le visitatores disconnexe potera navigar per le plus recente messages public disponibile sur le servitor.
+ trendable_by_default: Saltar le revision manual del contento de tendentia. Elementos singule pote ancora esser removite de tendentias post le facto.
+ trends: Tendentias monstra que messages, hashtags e novas gania traction sur tu servitor.
+ trends_as_landing_page: Monstrar contento de tendentia a usatores disconnexe e visitatores in vice que un description de iste servitor. Require tendentias esser activate.
+ form_challenge:
+ current_password: Tu entra in un area secur
+ imports:
+ data: File CSV exportate ab un altere servitor de Mastodon
+ invite_request:
+ text: Isto nos adjutara a revider tu application
ip_block:
+ comment: Optional. Memorar perque tu ha addite iste regula.
+ expires_in: Le adresses IP es un ressource finite, illos es aliquando compartite e sovente cambia manos. Pro iste ration, blocadas de IP indefinite non es recommendate.
+ ip: Inserer un adresse IPv4 o IPv6. Tu pote blocar campos integre per le syntaxe CIDR. Sia attente pro non disconnecter te!
severities:
no_access: Blocar accesso a tote le ressources
+ sign_up_block: Nove inscriptiones non sera possibile
+ sign_up_requires_approval: Nove inscriptiones requirera tu approbation
+ severity: Seliger que evenira con requestas ab iste IP
+ rule:
+ hint: Optional. Forni altere detalios re le regula
+ text: Describe un regula o requisito pro usatores sur iste servitor. Tenta de mantener lo breve e simple
+ sessions:
+ otp: 'Insere le codice a duo factores generate per le app de tu telephono o usa un de tu codices de recuperation:'
+ webauthn: Si illo es un clave USB cura de inserer lo e, si necessari, tocca lo.
+ settings:
+ indexable: Tu pagina del profilo pote apparer in resultatos del recerca sur Google, Bing, e alteros.
+ show_application: Tu sempre sera capace totevia de vider que app publicava tu message.
+ tag:
+ name: Tu pote solo cambiar le inveloppe del litteras, per exemplo, pro render lo plus legibile
+ user:
+ chosen_languages: Si marcate, solo le messages in le linguas seligite sera monstrate in chronologias public
+ role: Le rolo controla que permissos ha le usator
+ user_role:
+ color: Color a esser usate pro le rolo in omne parte del UI, como RGB in formato hexadecimal
+ highlighted: Iste rende le rolo publicamente visibile
+ name: Nomine public del rolo, si rolo es definite a esser monstrate como insignia
+ permissions_as_keys: Usatores con iste rolo habera accesso a...
+ position: Rolo superior decide resolution de conflicto in certe situationes. Certe actiones pote solo esser exequite sur rolos con un prioritate inferior
webhook:
events: Selige le eventos a inviar
+ template: Compone tu proprie carga utile JSON per interpolation de variabile. Lassar blanc pro JSON predefinite.
url: Ubi le eventos essera inviate
labels:
account:
@@ -67,9 +148,17 @@ ia:
indexable: Includer messages public in le resultatos de recerca
show_collections: Monstrar sequites e sequitores in le profilo
unlocked: Acceptar automaticamente nove sequitores
+ account_alias:
+ acct: Pseudonymo del vetere conto
+ account_migration:
+ acct: Pseudonymo del nove conto
account_warning_preset:
+ text: Texto predefinite
title: Titulo
admin_account_action:
+ include_statuses: Includer messages reportate in le email
+ send_email_notification: Notificar le usator per e-mail
+ text: Advertimento personalisate
type: Action
types:
disable: Gelar
@@ -77,35 +166,72 @@ ia:
sensitive: Sensibile
silence: Limitar
suspend: Suspender
+ warning_preset_id: Usar un aviso predefinite
announcement:
+ all_day: Evento quotidian
+ ends_at: Fin del evento
+ scheduled_at: Planificar publication
+ starts_at: Initio del evento
text: Annuncio
+ appeal:
+ text: Explicar perque iste decision deberea esser revertite
defaults:
autofollow: Invitar a sequer tu conto
avatar: Pictura de profilo
+ bot: Isto es un conto automatisate
chosen_languages: Filtrar linguas
confirm_new_password: Confirmar nove contrasigno
confirm_password: Confirmar contrasigno
+ context: Contextos del filtro
current_password: Contrasigno actual
+ data: Datos
display_name: Nomine a monstrar
email: Adresse de e-mail
+ expires_in: Expira post
+ fields: Campos extra
+ header: Imagine titulo
+ honeypot: "%{label} (non compilar)"
+ inbox_url: URL del cassa de ingresso de repetitor
+ irreversible: Declinar in vice que celar
locale: Lingua de interfacie
+ max_uses: Numero max de usos
new_password: Nove contrasigno
+ note: Bio
+ otp_attempt: Codice a duo factores
password: Contrasigno
+ phrase: Parola o phrase clave
setting_advanced_layout: Activar le interfacie web avantiate
+ setting_aggregate_reblogs: Gruppa promotiones in classificationes temporal
setting_always_send_emails: Sempre inviar notificationes per e-mail
+ setting_auto_play_gif: Auto-reproduce GIFs animate
+ setting_boost_modal: Monstrar dialogo de confirmation ante promover
setting_default_language: Lingua de publication
+ setting_default_privacy: Confidentialitate del messages
+ setting_default_sensitive: Sempre marcar le medios cmo sensbile
+ setting_delete_modal: Monstrar le dialogo de confirmation ante deler un message
+ setting_disable_swiping: Disactivar le movimentos per glissamento
+ setting_display_media: Visualisation de medios
setting_display_media_default: Predefinite
setting_display_media_hide_all: Celar toto
setting_display_media_show_all: Monstrar toto
+ setting_expand_spoilers: Sempre expander messages marcate con avisos de contento
+ setting_hide_network: Cela tu rete social
+ setting_reduce_motion: Reducer movimento in animationes
setting_system_font_ui: Usar typo de litteras predefinite del systema
setting_theme: Thema de sito
setting_trends: Monstrar le tendentias de hodie
+ setting_unfollow_modal: Monstrar dialogo de confirmation ante cessar de sequer alcuno
+ setting_use_blurhash: Monstrar imagines degradate multicolor pro medios celate
+ setting_use_pending_items: Modo lente
severity: Severitate
sign_in_token_attempt: Codice de securitate
title: Titulo
+ type: Importar le typo
username: Nomine de usator
username_or_email: Nomine de usator o e-mail
whole_word: Parola integre
+ email_domain_block:
+ with_dns_records: Includer registrationes MX e IPs del dominio
featured_tag:
name: Hashtag
filters:
@@ -113,51 +239,98 @@ ia:
hide: Celar completemente
warn: Celar con un advertimento
form_admin_settings:
+ activity_api_enabled: Publicar statisticas aggregate re le activitate de usator in le API
+ backups_retention_period: Periodo de retention del archivo de usator
bootstrap_timeline_accounts: Recommenda sempre iste contos a nove usatores
+ closed_registrations_message: Message personalisate quando le inscriptiones non es disponibile
+ content_cache_retention_period: Periodo de retention del contento remote
custom_css: CSS personalisate
+ mascot: Personalisar le mascotte (hereditage)
+ media_cache_retention_period: Periodo de retention del cache multimedial
+ peers_api_enabled: Publicar le lista de servitores discoperite in le API
profile_directory: Activar directorio de profilos
+ registrations_mode: Qui pote inscriber se
+ require_invite_text: Requirer un ration pro junger se
+ show_domain_blocks: Monstrar le blocadas de dominio
+ show_domain_blocks_rationale: Monstrar perque le dominios era blocate
site_contact_email: Adresse de e-mail de contacto
site_contact_username: Nomine de usator de contacto
+ site_extended_description: Description extense
site_short_description: Description de servitor
site_terms: Politica de confidentialitate
site_title: Nomine de servitor
status_page_url: URL del pagina de stato
theme: Thema predefinite
+ thumbnail: Miniatura de servitor
+ timeline_preview: Permitter accesso non authenticate a chronologias public
+ trendable_by_default: Permitter tendentias sin revision previe
trends: Activar tendentias
+ trends_as_landing_page: Usar tendentias como pagina de destination
+ interactions:
+ must_be_follower: Blocar notificationes de non-sequaces
+ must_be_following: Blocar notificationes de gente que tu non sequer
+ must_be_following_dm: Blocar messages directe de gente que tu non seque
invite:
comment: Commento
+ invite_request:
+ text: Perque vole tu junger te?
ip_block:
comment: Commento
ip: IP
severities:
no_access: Blocar le accesso
+ sign_up_block: Blocar inscriptiones
+ sign_up_requires_approval: Limitar inscriptiones
severity: Regula
notification_emails:
+ appeal: Alcuno appella un decision de moderator
+ digest: Inviar emails compendio
+ favourite: Alcuno appreciava tu message
+ follow: Alcuno te sequeva
+ follow_request: Alcuno requireva de sequer te
+ mention: Alcuno te mentionava
+ pending_account: Nove conto besonia de revision
+ reblog: Alcuno promoveva tu message
+ report: Un nove reporto es inviate
software_updates:
all: Notificar sur tote le actualisationes
critical: Notificar solmente sur actualisationes critic
label: Un nove version de Mastodon es disponibile
none: Nunquam notificar sur actualisationes (non recommendate)
+ patch: Notificar re actualisationes de correction de bug
+ trending_tag: Un nove tendentia require revision
rule:
hint: Information additional
text: Regula
settings:
indexable: Includer pagina de profilo in le motores de recerca
+ show_application: Monstrar ab que app tu ha inviate un message
tag:
listable: Permitter a iste hashtag apparer in le recercas e suggestiones
name: Hashtag
+ trendable: Permitter a iste hashtag de sub tendentias
usable: Permitter al messages usar iste hashtag
user:
role: Rolo
time_zone: Fuso horari
user_role:
+ color: Color de insignia
+ highlighted: Monstrar le rolo como insignia sur le profilos de usator
name: Nomine
permissions_as_keys: Permissiones
position: Prioritate
webhook:
events: Eventos activate
+ template: Modello de carga utile
+ url: URL de extremo
+ 'no': 'No'
not_recommended: Non recommendate
+ overridden: Supplantate
recommended: Recommendate
required:
+ mark: "*"
text: requirite
+ title:
+ sessions:
+ webauthn: Usa un de tu claves de securitate pro acceder
'yes': Si
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index dde97e2475a5cc..1aa88e631694b2 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -103,14 +103,17 @@ ja:
warn: フィルタに一致した投稿を非表示にし、フィルタのタイトルを含む警告を表示します
form_admin_settings:
activity_api_enabled: 週単位でローカルで公開された投稿数、アクティブユーザー数、新規登録者数を表示します
+ backups_retention_period: ユーザーには、後でダウンロードするために投稿のアーカイブを生成する機能があります。正の値に設定すると、これらのアーカイブは指定された日数後に自動的にストレージから削除されます。
bootstrap_timeline_accounts: これらのアカウントは、新しいユーザー向けのおすすめユーザーの一番上にピン留めされます。
closed_registrations_message: アカウント作成を停止している時に表示されます
+ content_cache_retention_period: 他のサーバーからのすべての投稿(ブーストや返信を含む)は、指定された日数が経過すると、ローカルユーザーとのやりとりに関係なく削除されます。これには、ローカルユーザーがブックマークやお気に入りとして登録した投稿も含まれます。異なるサーバーのユーザー間の非公開な変身も失われ、復元することは不可能です。この設定の使用は特別な目的のインスタンスのためのものであり、一般的な目的のサーバーで使用するした場合、多くのユーザーの期待を裏切ることになります。
custom_css: ウェブ版のMastodonでカスタムスタイルを適用できます。
delete_content_cache_without_reaction: この機能は現在、負荷に関する懸念があります。すべての投稿をブックマークするユーザーbotの出現も想定されます。特に大規模サーバーでは慎重に検討してください。
enable_local_timeline: 有効にすると気の合ったユーザー同士の交流が捗る反面、内輪の雰囲気が強くなるかもしれません。Mastodonはローカルタイムラインがあるものだと思われているので、無効にする場合はサーバー紹介での注記をおすすめします。
enable_public_unlisted_visibility: 有効にするとあなたのコミュニティは閉鎖的になるかもしれません。この設定はkmyblueの主要機能の1つであり、無効にする場合は概要などに記載することを強くおすすめします。
enable_public_visibility: 無効にすると公開投稿は強制的に「ローカル公開」または「非収載」に置き換えられます。
mascot: 上級者向けWebインターフェースのイラストを上書きします。
+ media_cache_retention_period: リモートユーザーが投稿したメディアファイルは、あなたのサーバーにキャッシュされます。正の値を設定すると、メディアは指定した日数後に削除されます。削除後にメディアデータが要求された場合、ソースコンテンツがまだ利用可能であれば、再ダウンロードされます。リンクプレビューカードがサードパーティのサイトを更新する頻度に制限があるため、この値を少なくとも14日に設定することをお勧めします。
peers_api_enabled: このサーバーが Fediverse で遭遇したドメイン名のリストです。このサーバーが知っているだけで、特定のサーバーと連合しているかのデータは含まれません。これは一般的に Fediverse に関する統計情報を収集するサービスによって使用されます。
profile_directory: ディレクトリには、掲載する設定をしたすべてのユーザーが一覧表示されます。
receive_other_servers_emoji_reaction: 負荷の原因になります。人が少ない場合にのみ有効にすることをおすすめします。
@@ -360,6 +363,7 @@ ja:
bootstrap_timeline_accounts: おすすめユーザーに常に表示するアカウント
check_lts_version_only: 更新チェックの時、LTSバージョンのみ確認する
closed_registrations_message: アカウント作成を停止している時のカスタムメッセージ
+ content_cache_retention_period: リモートコンテンツの保存期間
custom_css: カスタムCSS
delete_content_cache_without_reaction: お気に入り・ブックマークされた投稿を削除対象から除外する
enable_emoji_reaction: 絵文字リアクション機能を有効にする
diff --git a/config/locales/simple_form.pt-PT.yml b/config/locales/simple_form.pt-PT.yml
index 3292c48289aca1..a26468894b9a33 100644
--- a/config/locales/simple_form.pt-PT.yml
+++ b/config/locales/simple_form.pt-PT.yml
@@ -77,10 +77,13 @@ pt-PT:
warn: Ocultar o conteúdo filtrado por trás de um aviso mencionando o título do filtro
form_admin_settings:
activity_api_enabled: Contagem, em blocos semanais, de publicações locais, utilizadores ativos e novos registos
+ backups_retention_period: Os utilizadores têm a possibilidade de gerar arquivos das suas mensagens para descarregar mais tarde. Quando definido para um valor positivo, estes arquivos serão automaticamente eliminados do seu armazenamento após o número de dias especificado.
bootstrap_timeline_accounts: Estas contas serão destacadas no topo das recomendações aos novos utilizadores.
closed_registrations_message: Apresentado quando as inscrições estiverem encerradas
+ content_cache_retention_period: Todas as publicações de outros servidores (incluindo boosts e respostas) serão eliminadas após o número de dias especificado, independentemente de qualquer interação do utilizador local com essas publicações. Isto inclui publicações em que um utilizador local as tenha marcado como favoritas ou adicionado aos items salvos. As menções privadas entre utilizadores de instâncias diferentes também se perderão e serão impossíveis de restaurar. A utilização desta definição destina-se a instâncias para fins especiais e quebra muitas expectativas dos utilizadores quando implementada para utilização geral.
custom_css: Pode aplicar estilos personalizados na versão web do Mastodon.
mascot: Sobrepõe-se à ilustração na interface web avançada.
+ media_cache_retention_period: Os ficheiros multimédia de publicações feitas por utilizadores remotos são armazenados em cache no seu servidor. Quando definido para um valor positivo, os ficheiros multimédia serão eliminados após o número de dias especificado. Se os ficheiros multimédia forem solicitados depois de terem sido eliminados, serão transferidos novamente, se o conteúdo de origem ainda estiver disponível. Devido a restrições sobre a frequência com que os cartões de pré-visualização de links pesquisam sites de terceiros, recomenda-se que este valor seja definido para, pelo menos, 14 dias, ou os cartões de pré-visualização de links não serão atualizados a pedido antes desse período.
peers_api_enabled: Uma lista de nomes de domínio que este servidor encontrou no fediverso. Nenhum dado é incluído aqui sobre se você federa com um determinado servidor, apenas que o seu servidor o conhece. Este serviço é utilizado por serviços que recolhem estatísticas na federação, em termos gerais.
profile_directory: O diretório de perfis lista todos os utilizadores que optaram por ter a sua conta a ser sugerida a outros.
require_invite_text: Quando as incrições exigirem aprovação manual, faça o texto "Por que se quer juntar a nós?" da solicitação de convite ser obrigatório, em vez de opcional
@@ -240,6 +243,7 @@ pt-PT:
backups_retention_period: Período de retenção de arquivos de utilizador
bootstrap_timeline_accounts: Recomendar sempre estas contas para novos utilizadores
closed_registrations_message: Mensagem personalizada quando as inscrições não estiverem disponíveis
+ content_cache_retention_period: Período de retenção de conteúdos remotos
custom_css: CSS personalizado
mascot: Mascote personalizada (legado)
media_cache_retention_period: Período de retenção de ficheiros de media em cache
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index a6c93033801eb2..d545f2cd341cba 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -77,10 +77,13 @@ sq:
warn: Fshihe lëndën e filtruar pas një sinjalizimi që përmend titullin e filtrit
form_admin_settings:
activity_api_enabled: Numër postimesh të botuar lokalisht, përdoruesish aktiv dhe regjistrimesh të reja sipas matjesh javore
+ backups_retention_period: Përdorues kanë aftësinë të prodhojnë arkiva të postimeve të tyre për t’i shkarkuar më vonë. Kur i jepet një vlerë pozitive, këto arkiva do të fshihen automatikisht prej depozitës tuaj pas numrit të dhënë të ditëve.
bootstrap_timeline_accounts: Këto llogari do të fiksohen në krye të rekomandimeve për ndjekje nga përdorues të rinj.
closed_registrations_message: Shfaqur kur mbyllen dritare regjistrimesh
+ content_cache_retention_period: Krejt postimet prej shërbyesve të tjerë (përfshi përforcime dhe përgjigje) do të fshihen pas numrit të caktuar të ditëve, pa marrë parasysh çfarëdo ndërveprimi përdoruesi me këto postime. Kjo përfshin postime kur një përdorues vendor u ka vënë shenjë si faqerojtës, ose të parapëlqyer. Do të humbin gjithashtu dhe përmendje private mes përdoruesish nga instanca të ndryshme dhe s’do të jetë e mundshme të rikthehen. Përdorimi i këtij rregullimi është menduar për instanca me qëllim të caktuar dhe ndërhyn në çka presin mjaft përdorues, kur sendërtohet për përdorim të përgjithshëm.
custom_css: Stile vetjakë mund të aplikoni në versionin web të Mastodon-it.
mascot: Anashkalon ilustrimin te ndërfaqja web e thelluar.
+ media_cache_retention_period: Kartela media nga postime të bëra nga përdorues të largët ruhen në një fshehtinë në shërbyesin tuaj. Kur i jepet një vlerë pozitive, media do të fshihet pas numrit të dhënë të ditëve. Nëse të dhënat e medias duhen pas fshirjes, do të rishkarkohen, nëse lënda burim mund të kihet ende. Për shkak kufizimesh mbi sa shpesh skeda paraparjesh lidhjesh ndërveprojnë me sajte palësh të treta, rekomandohet të vihet kjo vlerë të paktën 14 ditë, ose skedat e paraparjes së lidhje s’do të përditësohen duke e kërkuar para asaj kohe.
peers_api_enabled: Një listë emrash përkatësish që ky shërbyes ka hasur në fedivers. Këtu s’jepen të dhëna nëse jeni i federuar me shërbyesin e dhënë, thjesht tregohet se shërbyesi juaj e njeh. Kjo përdoret nga shërbime që mbledhin statistika mbi federimin në kuptimin e përgjithshëm.
profile_directory: Drejtoria e profileve paraqet krejt përdoruesit që kanë zgjedhur të jenë të zbulueshëm.
require_invite_text: Kur regjistrimet lypin miratim dorazi, bëje tekstin “Përse doni të bëheni pjesë?” të detyrueshëm, në vend se opsional
@@ -240,6 +243,7 @@ sq:
backups_retention_period: Periudhë mbajtjeje arkivash përdoruesish
bootstrap_timeline_accounts: Rekomandoju përherë këto llogari përdoruesve të rinj
closed_registrations_message: Mesazh vetjak për pamundësi regjistrimesh të reja
+ content_cache_retention_period: Periudhë mbajtjeje lënde të largët
custom_css: CSS Vetjake
mascot: Simbol vetjak (e dikurshme)
media_cache_retention_period: Periudhë mbajtjeje lënde media
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index 3ab16bf69be35c..5e5c6f95491507 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -77,10 +77,13 @@ sv:
warn: Dölj det filtrerade innehållet bakom en varning som visar filtrets rubrik
form_admin_settings:
activity_api_enabled: Antalet lokalt publicerade inlägg, aktiva användare och nya registrerade konton per vecka
+ backups_retention_period: Användare har möjlighet att generera arkiv av sina inlägg för att ladda ned senare. När det sätts till ett positivt värde raderas dessa arkiv automatiskt från din lagring efter det angivna antalet dagar.
bootstrap_timeline_accounts: Dessa konton kommer fästas högst upp i nya användares följrekommendationer.
closed_registrations_message: Visas när nyregistreringar är avstängda
+ content_cache_retention_period: Alla inlägg från andra servrar (inklusive booster och svar) kommer att raderas efter det angivna antalet dagar, utan hänsyn till någon lokal användarinteraktion med dessa inlägg. Detta inkluderar inlägg där en lokal användare har markerat det som bokmärke eller favoriter. Privata omnämnanden mellan användare från olika instanser kommer också att gå förlorade och blir omöjliga att återställa. Användningen av denna inställning är avsedd för specialfall och bryter många användarförväntningar när de implementeras för allmänt bruk.
custom_css: Du kan använda anpassade stilar på webbversionen av Mastodon.
mascot: Åsidosätter illustrationen i det avancerade webbgränssnittet.
+ media_cache_retention_period: Mediafiler från inlägg som gjorts av fjärranvändare cachas på din server. När inställd på ett positivt värde kommer media att raderas efter det angivna antalet dagar. Om mediadatat begärs efter att det har raderats, kommer det att laddas ned igen om källinnehållet fortfarande är tillgängligt. På grund av begränsningar för hur ofta förhandsgranskningskort för länkar hämtas från tredjepartswebbplatser, rekommenderas det att ange detta värde till minst 14 dagar, annars kommer förhandsgranskningskorten inte att uppdateras på begäran före den tiden.
peers_api_enabled: En lista över domänen den här servern har stött på i fediversum. Ingen data inkluderas om du har federerat med servern, bara att din server känner till den. Detta används av tjänster som samlar statistik om federering i allmänhet.
profile_directory: Profilkatalogen visar alla användare som har samtyckt till att bli upptäckbara.
require_invite_text: Gör fältet "Varför vill du gå med?" obligatoriskt när nyregistreringar kräver manuellt godkännande
@@ -240,6 +243,7 @@ sv:
backups_retention_period: Lagringsperiod för användararkivet
bootstrap_timeline_accounts: Rekommendera alltid dessa konton till nya användare
closed_registrations_message: Anpassat meddelande när nyregistreringar inte är tillgängliga
+ content_cache_retention_period: Förvaringsperiod för fjärrinnehåll
custom_css: Anpassad CSS
mascot: Anpassad maskot (tekniskt arv)
media_cache_retention_period: Tid för bibehållande av mediecache
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index bfc2d2e6b6289d..e68642c2f636dc 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -77,8 +77,10 @@ th:
warn: ซ่อนเนื้อหาที่กรองอยู่หลังคำเตือนที่กล่าวถึงชื่อเรื่องของตัวกรอง
form_admin_settings:
activity_api_enabled: จำนวนโพสต์ที่เผยแพร่ในเซิร์ฟเวอร์, ผู้ใช้ที่ใช้งานอยู่ และการลงทะเบียนใหม่ในบักเก็ตรายสัปดาห์
+ backups_retention_period: ผู้ใช้มีความสามารถในการสร้างการเก็บถาวรของโพสต์ของเขาเพื่อดาวน์โหลดในภายหลัง เมื่อตั้งเป็นค่าบวก จะลบการเก็บถาวรเหล่านี้ออกจากที่เก็บข้อมูลของคุณโดยอัตโนมัติหลังจากจำนวนวันที่ระบุ
bootstrap_timeline_accounts: จะปักหมุดบัญชีเหล่านี้ไว้ด้านบนสุดของคำแนะนำการติดตามของผู้ใช้ใหม่
closed_registrations_message: แสดงเมื่อมีการปิดการลงทะเบียน
+ content_cache_retention_period: จะลบโพสต์ทั้งหมดจากเซิร์ฟเวอร์อื่น ๆ (รวมถึงการดันและการตอบกลับ) หลังจากจำนวนวันที่ระบุ โดยไม่คำนึงถึงการโต้ตอบใด ๆ ของผู้ใช้ในเซิร์ฟเวอร์กับโพสต์เหล่านั้น สิ่งนี้รวมถึงโพสต์ที่ผู้ใช้ในเซิร์ฟเวอร์ได้ทำเครื่องหมายโพสต์ว่าเป็นที่คั่นหน้าหรือรายการโปรด การกล่าวถึงแบบส่วนตัวระหว่างผู้ใช้จากอินสแตนซ์ที่แตกต่างกันจะหายไปและไม่สามารถคืนค่าได้เช่นกัน การใช้การตั้งค่านี้มีไว้สำหรับอินสแตนซ์ที่มีวัตถุประสงค์พิเศษและทำลายความคาดหวังของผู้ใช้จำนวนมากเมื่อนำไปใช้สำหรับการใช้งานที่มีวัตถุประสงค์ทั่วไป
custom_css: คุณสามารถนำไปใช้ลักษณะที่กำหนดเองใน Mastodon รุ่นเว็บ
mascot: เขียนทับภาพประกอบในส่วนติดต่อเว็บขั้นสูง
peers_api_enabled: รายการชื่อโดเมนที่เซิร์ฟเวอร์นี้พบในจักรวาลสหพันธ์ ไม่มีข้อมูลรวมอยู่ที่นี่เกี่ยวกับว่าคุณติดต่อกับเซิร์ฟเวอร์ที่กำหนดหรือไม่ เพียงแค่ว่าเซิร์ฟเวอร์ของคุณทราบเกี่ยวกับเซิร์ฟเวอร์ที่กำหนด มีการใช้สิ่งนี้โดยบริการที่เก็บรวบรวมสถิติในการติดต่อกับภายนอกในความหมายทั่วไป
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 400059770b76c6..78e7bdb25eafc1 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -524,6 +524,7 @@ sk:
many: "%{count} poznámok"
one: "%{count} poznámka"
other: "%{count} poznámky"
+ action_log: Denník auditu
action_taken_by: Zákrok vykonal/a
actions:
suspend_description_html: Tento účet a všetok jeho obsah bude nedostupný a nakoniec zmazaný, interaktovať s ním bude nemožné. Zvrátiteľné v rámci 30 dní. Uzatvára všetky hlásenia voči tomuto účtu.
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index ff23e648414095..6c26511ad6968a 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -779,6 +779,7 @@ sl:
desc_html: To se zanaša na zunanje skripte hCaptcha in lahko predstavlja tveganje za varnost in zasebnost. Poleg tega to lahko nekaterim ljudem (posebno invalidom) občutno oteži dostopnost registracijskega postopka. Zato svetujemo, da razmislite o drugih ukrepih, kot je na primer registracija na podlagi odobritve ali povabila.
title: Od novih uporabnikov zahtevaj reševanje CAPTCHA za potrditev računov
content_retention:
+ danger_zone: Območje nevarnosti
preamble: Nazdor nad hrambo vsebine uporabnikov v Mastodonu.
title: Hramba vsebin
default_noindex:
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index dcacb46bf99819..8319cfcaecac48 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -748,6 +748,7 @@ sq:
desc_html: Kjo bazohet në programthe të jashtëm prej hCaptcha, çka mund të përbëjë një shqetësim për sigurinë dhe privatësinë. Veç kësaj, kjo mund ta bëjë procesin e regjistrimit në shkallë të madhe më pak të përdorshëm për disa persona (veçanërisht ata me paaftësi). Për këto arsye, ju lutemi, shihni mundësinë e masave alternative, fjala vjen, bazuar në miratim, ose regjistrim vetëm me ftesa.
title: Kërko prej përdoruesve të rinj të zgjidhin një CAPTCHA, si ripohim të llogarisë të tyre
content_retention:
+ danger_zone: Zonë rreziku
preamble: Kontrolloni se si depozitohen në Mastodon lënda e prodhuar nga përdoruesit.
title: Mbajtje lënde
default_noindex:
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 0d7483d79ae9b7..8a001d875581c5 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -1837,6 +1837,7 @@ th:
explanation: นี่คือเคล็ดลับบางส่วนที่จะช่วยให้คุณเริ่มต้นใช้งาน
feature_action: เรียนรู้เพิ่มเติม
feature_audience: Mastodon มีความพิเศษที่ให้คุณจัดการผู้รับสารของคุณได้โดยไม่มีตัวกลาง นอกจากนี้ การติดตั้ง Mastodon บนโครงสร้างพื้นฐานของคุณจะทำให้คุณสามารถติดตาม (และติดตามโดย) เซิร์ฟเวอร์ Mastodon แห่งไหนก็ได้ที่ทำงานอยู่ โดยไม่มีใครสามารถควบคุมได้นอกจากคุณ
+ feature_audience_title: สร้างผู้ชมของคุณด้วยความมั่นใจ
follow_action: ติดตาม
follow_step: การติดตามผู้คนที่น่าสนใจคือสิ่งที่ Mastodon ให้ความสำคัญ
follow_title: ปรับแต่งฟีดหน้าแรกของคุณ
diff --git a/config/routes.rb b/config/routes.rb
index 410899c011093d..c86fcc82ba1ba0 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -69,6 +69,7 @@ def redirect_with_vary(path)
tokens: 'oauth/tokens'
end
+ get '.well-known/oauth-authorization-server', to: 'well_known/oauth_metadata#show', as: :oauth_metadata, defaults: { format: 'json' }
get '.well-known/host-meta', to: 'well_known/host_meta#show', as: :host_meta, defaults: { format: 'xml' }
get '.well-known/nodeinfo', to: 'well_known/node_info#index', as: :nodeinfo, defaults: { format: 'json' }
get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger
diff --git a/config/routes/api.rb b/config/routes/api.rb
index 85021f75988466..07332a44983850 100644
--- a/config/routes/api.rb
+++ b/config/routes/api.rb
@@ -6,7 +6,7 @@
# JSON / REST API
namespace :v1 do
- resources :statuses, only: [:create, :show, :update, :destroy] do
+ resources :statuses, only: [:index, :create, :show, :update, :destroy] do
scope module: :statuses do
resources :reblogged_by, controller: :reblogged_by_accounts, only: :index
resources :favourited_by, controller: :favourited_by_accounts, only: :index
@@ -194,7 +194,7 @@
resources :familiar_followers, only: :index
end
- resources :accounts, only: [:create, :show] do
+ resources :accounts, only: [:index, :create, :show] do
scope module: :accounts do
resources :statuses, only: :index
resources :followers, only: :index, controller: :follower_accounts
diff --git a/db/migrate/20240217175251_convert_file_size_columns_to_big_int.rb b/db/migrate/20240217175251_convert_file_size_columns_to_big_int.rb
new file mode 100644
index 00000000000000..f8223f9c9321d0
--- /dev/null
+++ b/db/migrate/20240217175251_convert_file_size_columns_to_big_int.rb
@@ -0,0 +1,42 @@
+# frozen_string_literal: true
+
+require_relative '../../lib/mastodon/migration_helpers'
+
+class ConvertFileSizeColumnsToBigInt < ActiveRecord::Migration[7.1]
+ include Mastodon::MigrationHelpers
+
+ TABLE_COLUMN_MAPPING = [
+ [:accounts, :avatar_file_size],
+ [:accounts, :header_file_size],
+ [:custom_emojis, :image_file_size],
+ [:imports, :data_file_size],
+ [:media_attachments, :file_file_size],
+ [:media_attachments, :thumbnail_file_size],
+ [:preview_cards, :image_file_size],
+ [:site_uploads, :file_file_size],
+ ].freeze
+
+ disable_ddl_transaction!
+
+ def migrate_columns(to_type)
+ TABLE_COLUMN_MAPPING.each do |column_parts|
+ table, column = column_parts
+
+ # Skip this if we're resuming and already did this one.
+ next if column_for(table, column).sql_type == to_type.to_s
+
+ safety_assured do
+ change_column_type_concurrently table, column, to_type
+ cleanup_concurrent_column_type_change table, column
+ end
+ end
+ end
+
+ def up
+ migrate_columns(:bigint)
+ end
+
+ def down
+ migrate_columns(:integer)
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index b070ac1eee2acc..b5d2f9c977cc98 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -168,11 +168,9 @@
t.string "url"
t.string "avatar_file_name"
t.string "avatar_content_type"
- t.integer "avatar_file_size"
t.datetime "avatar_updated_at", precision: nil
t.string "header_file_name"
t.string "header_content_type"
- t.integer "header_file_size"
t.datetime "header_updated_at", precision: nil
t.string "avatar_remote_url"
t.boolean "locked", default: false, null: false
@@ -206,6 +204,8 @@
t.boolean "indexable", default: false, null: false
t.jsonb "master_settings"
t.boolean "remote_pending", default: false, null: false
+ t.bigint "avatar_file_size"
+ t.bigint "header_file_size"
t.index "(((setweight(to_tsvector('simple'::regconfig, (display_name)::text), 'A'::\"char\") || setweight(to_tsvector('simple'::regconfig, (username)::text), 'B'::\"char\")) || setweight(to_tsvector('simple'::regconfig, (COALESCE(domain, ''::character varying))::text), 'C'::\"char\")))", name: "search_index", using: :gin
t.index "lower((username)::text), COALESCE(lower((domain)::text), ''::text)", name: "index_accounts_on_username_and_domain_lower", unique: true
t.index ["domain", "id"], name: "index_accounts_on_domain_and_id"
@@ -491,7 +491,6 @@
t.string "domain"
t.string "image_file_name"
t.string "image_content_type"
- t.integer "image_file_size"
t.datetime "image_updated_at", precision: nil
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
@@ -506,6 +505,7 @@
t.jsonb "aliases"
t.boolean "is_sensitive", default: false, null: false
t.string "license"
+ t.bigint "image_file_size"
t.index ["shortcode", "domain"], name: "index_custom_emojis_on_shortcode_and_domain", unique: true
end
@@ -732,10 +732,10 @@
t.datetime "updated_at", precision: nil, null: false
t.string "data_file_name"
t.string "data_content_type"
- t.integer "data_file_size"
t.datetime "data_updated_at", precision: nil
t.bigint "account_id", null: false
t.boolean "overwrite", default: false, null: false
+ t.bigint "data_file_size"
end
create_table "instance_infos", force: :cascade do |t|
@@ -829,7 +829,6 @@
t.bigint "status_id"
t.string "file_file_name"
t.string "file_content_type"
- t.integer "file_file_size"
t.datetime "file_updated_at", precision: nil
t.string "remote_url", default: "", null: false
t.datetime "created_at", precision: nil, null: false
@@ -845,9 +844,10 @@
t.integer "file_storage_schema_version"
t.string "thumbnail_file_name"
t.string "thumbnail_content_type"
- t.integer "thumbnail_file_size"
t.datetime "thumbnail_updated_at", precision: nil
t.string "thumbnail_remote_url"
+ t.bigint "file_file_size"
+ t.bigint "thumbnail_file_size"
t.index ["account_id", "status_id"], name: "index_media_attachments_on_account_id_and_status_id", order: { status_id: :desc }
t.index ["id"], name: "index_media_attachments_vacuum", where: "((file_file_name IS NOT NULL) AND ((remote_url)::text <> ''::text))"
t.index ["scheduled_status_id"], name: "index_media_attachments_on_scheduled_status_id", where: "(scheduled_status_id IS NOT NULL)"
@@ -1153,7 +1153,6 @@
t.string "description", default: "", null: false
t.string "image_file_name"
t.string "image_content_type"
- t.integer "image_file_size"
t.datetime "image_updated_at", precision: nil
t.integer "type", default: 0, null: false
t.text "html", default: "", null: false
@@ -1175,6 +1174,7 @@
t.integer "link_type"
t.datetime "published_at"
t.string "image_description", default: "", null: false
+ t.bigint "image_file_size"
t.index ["id"], name: "index_preview_cards_vacuum", where: "((image_file_name IS NOT NULL) AND ((image_file_name)::text <> ''::text))"
t.index ["url"], name: "index_preview_cards_on_url", unique: true
end
@@ -1312,12 +1312,12 @@
t.string "var", default: "", null: false
t.string "file_file_name"
t.string "file_content_type"
- t.integer "file_file_size"
t.datetime "file_updated_at", precision: nil
t.json "meta"
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
t.string "blurhash"
+ t.bigint "file_file_size"
t.index ["var"], name: "index_site_uploads_on_var", unique: true
end
diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake
index 4208c2ae4b5bca..07de087766d8eb 100644
--- a/lib/tasks/db.rake
+++ b/lib/tasks/db.rake
@@ -1,6 +1,22 @@
# frozen_string_literal: true
+# We are providing our own task with our own format
+Rake::Task['db:encryption:init'].clear
+
namespace :db do
+ namespace :encryption do
+ desc 'Generate a set of keys for configuring Active Record encryption in a given environment'
+ task init: :environment do
+ puts <<~MSG
+ Add these environment variables to your Mastodon environment:#{' '}
+
+ ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=#{SecureRandom.alphanumeric(32)}
+ ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=#{SecureRandom.alphanumeric(32)}
+ ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=#{SecureRandom.alphanumeric(32)}
+ MSG
+ end
+ end
+
namespace :migrate do
desc 'Setup the db or migrate depending on state of db'
task setup: :environment do
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 35d72c867d82f9..616ef5e7e8fadf 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -289,4 +289,28 @@ def current_theme = 'default'
end
end
end
+
+ describe '#site_icon_path' do
+ context 'when an icon exists' do
+ let!(:favicon) { Fabricate(:site_upload, var: 'favicon') }
+
+ it 'returns the URL of the icon' do
+ expect(helper.site_icon_path('favicon')).to eq(favicon.file.url('48'))
+ end
+
+ it 'returns the URL of the icon with size parameter' do
+ expect(helper.site_icon_path('favicon', 16)).to eq(favicon.file.url('16'))
+ end
+ end
+
+ context 'when an icon does not exist' do
+ it 'returns nil' do
+ expect(helper.site_icon_path('favicon')).to be_nil
+ end
+
+ it 'returns nil with size parameter' do
+ expect(helper.site_icon_path('favicon', 16)).to be_nil
+ end
+ end
+ end
end
diff --git a/spec/lib/admin/system_check/elasticsearch_check_spec.rb b/spec/lib/admin/system_check/elasticsearch_check_spec.rb
index a885640ce0c603..8f210579d000ac 100644
--- a/spec/lib/admin/system_check/elasticsearch_check_spec.rb
+++ b/spec/lib/admin/system_check/elasticsearch_check_spec.rb
@@ -127,7 +127,7 @@
end
def stub_elasticsearch_error
- client = instance_double(Elasticsearch::Transport::Client)
+ client = instance_double(Elasticsearch::Client)
allow(client).to receive(:info).and_raise(Elasticsearch::Transport::Transport::Error)
allow(Chewy).to receive(:client).and_return(client)
end
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index e855bb7ce547d2..18a62e451cc98f 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -380,6 +380,48 @@
end
end
+ describe '#reported?' do
+ context 'when the status is not reported' do
+ it 'returns false' do
+ expect(subject.reported?).to be false
+ end
+ end
+
+ context 'when the status is part of an open report' do
+ before do
+ Fabricate(:report, target_account: subject.account, status_ids: [subject.id])
+ end
+
+ it 'returns true' do
+ expect(subject.reported?).to be true
+ end
+ end
+
+ context 'when the status is part of a closed report with an account warning mentioning the account' do
+ before do
+ report = Fabricate(:report, target_account: subject.account, status_ids: [subject.id])
+ report.resolve!(Fabricate(:account))
+ Fabricate(:account_warning, target_account: subject.account, status_ids: [subject.id], report: report)
+ end
+
+ it 'returns true' do
+ expect(subject.reported?).to be true
+ end
+ end
+
+ context 'when the status is part of a closed report with an account warning not mentioning the account' do
+ before do
+ report = Fabricate(:report, target_account: subject.account, status_ids: [subject.id])
+ report.resolve!(Fabricate(:account))
+ Fabricate(:account_warning, target_account: subject.account, report: report)
+ end
+
+ it 'returns false' do
+ expect(subject.reported?).to be false
+ end
+ end
+ end
+
describe '.mutes_map' do
subject { described_class.mutes_map([status.conversation.id], account) }
diff --git a/spec/models/tag_spec.rb b/spec/models/tag_spec.rb
index 4c2bdd52f4b579..7799afe44b2708 100644
--- a/spec/models/tag_spec.rb
+++ b/spec/models/tag_spec.rb
@@ -36,6 +36,10 @@
expect(subject.match('https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111895#c4')).to be_nil
end
+ it 'does not match URLs with hashtag-like anchors after a non-ascii character' do
+ expect(subject.match('https://example.org/testé#foo')).to be_nil
+ end
+
it 'does not match URLs with hashtag-like anchors after an empty query parameter' do
expect(subject.match('https://en.wikipedia.org/wiki/Ghostbusters_(song)?foo=#Lawsuit')).to be_nil
end
diff --git a/spec/requests/api/v1/accounts_spec.rb b/spec/requests/api/v1/accounts_spec.rb
index f7131e232bdf71..9cd6e8abfb5980 100644
--- a/spec/requests/api/v1/accounts_spec.rb
+++ b/spec/requests/api/v1/accounts_spec.rb
@@ -8,6 +8,22 @@
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
+ describe 'GET /api/v1/accounts?ids[]=:id' do
+ let(:account) { Fabricate(:account) }
+ let(:other_account) { Fabricate(:account) }
+ let(:scopes) { 'read:accounts' }
+
+ it 'returns expected response' do
+ get '/api/v1/accounts', headers: headers, params: { ids: [account.id, other_account.id, 123_123] }
+
+ expect(response).to have_http_status(200)
+ expect(body_as_json).to contain_exactly(
+ hash_including(id: account.id.to_s),
+ hash_including(id: other_account.id.to_s)
+ )
+ end
+ end
+
describe 'GET /api/v1/accounts/:id' do
context 'when logged out' do
let(:account) { Fabricate(:account) }
diff --git a/spec/requests/api/v1/statuses_spec.rb b/spec/requests/api/v1/statuses_spec.rb
index aa94d79f510e9d..1bf0ecaab96868 100644
--- a/spec/requests/api/v1/statuses_spec.rb
+++ b/spec/requests/api/v1/statuses_spec.rb
@@ -9,6 +9,22 @@
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, application: client_app, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
+ describe 'GET /api/v1/statuses?ids[]=:id' do
+ let(:status) { Fabricate(:status) }
+ let(:other_status) { Fabricate(:status) }
+ let(:scopes) { 'read:statuses' }
+
+ it 'returns expected response' do
+ get '/api/v1/statuses', headers: headers, params: { ids: [status.id, other_status.id, 123_123] }
+
+ expect(response).to have_http_status(200)
+ expect(body_as_json).to contain_exactly(
+ hash_including(id: status.id.to_s),
+ hash_including(id: other_status.id.to_s)
+ )
+ end
+ end
+
describe 'GET /api/v1/statuses/:id' do
subject do
get "/api/v1/statuses/#{status.id}", headers: headers
diff --git a/spec/requests/well_known/oauth_metadata_spec.rb b/spec/requests/well_known/oauth_metadata_spec.rb
new file mode 100644
index 00000000000000..deef189ac909f3
--- /dev/null
+++ b/spec/requests/well_known/oauth_metadata_spec.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe 'The /.well-known/oauth-authorization-server request' do
+ let(:protocol) { ENV.fetch('LOCAL_HTTPS', true) ? :https : :http }
+
+ before do
+ host! ENV.fetch('LOCAL_DOMAIN')
+ end
+
+ it 'returns http success with valid JSON response' do
+ get '/.well-known/oauth-authorization-server'
+
+ expect(response)
+ .to have_http_status(200)
+ .and have_attributes(
+ media_type: 'application/json'
+ )
+
+ grant_types_supported = Doorkeeper.configuration.grant_flows.dup
+ grant_types_supported << 'refresh_token' if Doorkeeper.configuration.refresh_token_enabled?
+
+ expect(body_as_json).to include(
+ issuer: root_url(protocol: protocol),
+ service_documentation: 'https://docs.joinmastodon.org/',
+ authorization_endpoint: oauth_authorization_url(protocol: protocol),
+ token_endpoint: oauth_token_url(protocol: protocol),
+ revocation_endpoint: oauth_revoke_url(protocol: protocol),
+ scopes_supported: Doorkeeper.configuration.scopes.map(&:to_s),
+ response_types_supported: Doorkeeper.configuration.authorization_response_types,
+ grant_types_supported: grant_types_supported,
+ # non-standard extension:
+ app_registration_endpoint: api_v1_apps_url(protocol: protocol)
+ )
+ end
+end
diff --git a/streaming/package.json b/streaming/package.json
index c4dcccf1f57acc..f08d2a4c2d1e86 100644
--- a/streaming/package.json
+++ b/streaming/package.json
@@ -25,7 +25,7 @@
"pg": "^8.5.0",
"pg-connection-string": "^2.6.0",
"pino": "^9.0.0",
- "pino-http": "^9.0.0",
+ "pino-http": "^10.0.0",
"prom-client": "^15.0.0",
"uuid": "^9.0.0",
"ws": "^8.12.1"
diff --git a/yarn.lock b/yarn.lock
index cb63888ca7733e..cfbe3500db8f82 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1551,13 +1551,13 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/cascade-layer-name-parser@npm:^1.0.9":
- version: 1.0.9
- resolution: "@csstools/cascade-layer-name-parser@npm:1.0.9"
+"@csstools/cascade-layer-name-parser@npm:^1.0.11":
+ version: 1.0.11
+ resolution: "@csstools/cascade-layer-name-parser@npm:1.0.11"
peerDependencies:
- "@csstools/css-parser-algorithms": ^2.6.1
- "@csstools/css-tokenizer": ^2.2.4
- checksum: 10c0/f6e28c7cdeca44711288400cf20de9ebc4db71eafa39ca9a6b3e9f5d3295ba636dd986aac9fcb9e6171c84d436712d68ced923504d78d5fda0601c880eb352fe
+ "@csstools/css-parser-algorithms": ^2.6.3
+ "@csstools/css-tokenizer": ^2.3.1
+ checksum: 10c0/52ac8369877c8072ff5c111f656bd87e9a2a4b9e44e48fe005c26faeb6cffd83bfe2f463f4f385a2ae5cfe1f82bbf95d26ddaabca18b66c6b657c4fe1520fb43
languageName: node
linkType: hard
@@ -1568,52 +1568,52 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/css-calc@npm:^1.2.0":
- version: 1.2.0
- resolution: "@csstools/css-calc@npm:1.2.0"
+"@csstools/css-calc@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "@csstools/css-calc@npm:1.2.2"
peerDependencies:
- "@csstools/css-parser-algorithms": ^2.6.1
- "@csstools/css-tokenizer": ^2.2.4
- checksum: 10c0/ef12dc08ccdb9903e5cb24d81b469080b94c79123415f62f707196a85c53420b7729be608930314c7a9404f50c832fe5256f647c0567d1c825079cb77f6a8719
+ "@csstools/css-parser-algorithms": ^2.6.3
+ "@csstools/css-tokenizer": ^2.3.1
+ checksum: 10c0/6032b482764a11c1b882d7502928950ab11760044fa7a2c23ecee802002902f6ea8fca045ee2919302af5a5c399e7baa9f68dff001ac6246ac7fef48fb3f6df7
languageName: node
linkType: hard
-"@csstools/css-color-parser@npm:^2.0.0":
- version: 2.0.0
- resolution: "@csstools/css-color-parser@npm:2.0.0"
+"@csstools/css-color-parser@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "@csstools/css-color-parser@npm:2.0.2"
dependencies:
"@csstools/color-helpers": "npm:^4.2.0"
- "@csstools/css-calc": "npm:^1.2.0"
+ "@csstools/css-calc": "npm:^1.2.2"
peerDependencies:
- "@csstools/css-parser-algorithms": ^2.6.1
- "@csstools/css-tokenizer": ^2.2.4
- checksum: 10c0/295f844a194dec4f51439e8760dbb4a142901b8b60cd9d676a62c15c0e8408eb7bcdcbb40be52cdd5f67d020e655a1c3267a28923cfc4f6bae2b74aa48fce426
+ "@csstools/css-parser-algorithms": ^2.6.3
+ "@csstools/css-tokenizer": ^2.3.1
+ checksum: 10c0/c5ae4ad78745e425dce56da9f1ab053fb4f7963399735df3303305b32123bed0b2237689c2e7e99da2c62387e3226c12ea85e70e275c4027c7507e4ac929bffa
languageName: node
linkType: hard
-"@csstools/css-parser-algorithms@npm:^2.6.1":
- version: 2.6.1
- resolution: "@csstools/css-parser-algorithms@npm:2.6.1"
+"@csstools/css-parser-algorithms@npm:^2.6.1, @csstools/css-parser-algorithms@npm:^2.6.3":
+ version: 2.6.3
+ resolution: "@csstools/css-parser-algorithms@npm:2.6.3"
peerDependencies:
- "@csstools/css-tokenizer": ^2.2.4
- checksum: 10c0/2c60377c4ffc96bbeb962cab19c09fccbcc834785928747219ed3bd916a34e52977393935d1d36501403f3f95ff59d358dd741d1dddcdaf9564ab36d73926aa6
+ "@csstools/css-tokenizer": ^2.3.1
+ checksum: 10c0/6648fda75a1c08096320fb5c04fd13656a0168de13584d2795547fecfb26c2c7d8b3b1fb79ba7aa758714851e98bfbec20d89e28697f999f41f91133eafe4207
languageName: node
linkType: hard
-"@csstools/css-tokenizer@npm:^2.2.4":
- version: 2.2.4
- resolution: "@csstools/css-tokenizer@npm:2.2.4"
- checksum: 10c0/23997db5874514f4b951ebd215e1e6cc8baf03adf9a35fc6fd028b84cb52aa2dc053860722108c09859a9b37b455f62b84181fe15539cd37797ea699b9ff85f0
+"@csstools/css-tokenizer@npm:^2.2.4, @csstools/css-tokenizer@npm:^2.3.1":
+ version: 2.3.1
+ resolution: "@csstools/css-tokenizer@npm:2.3.1"
+ checksum: 10c0/fed6619fb5108e109d4dd10b0e967035a92793bae8fb84544e1342058b6df4e306d9d075623e2201fe88831b1ada797aea3546a8d12229d2d81cd7a5dfee4444
languageName: node
linkType: hard
-"@csstools/media-query-list-parser@npm:^2.1.9":
- version: 2.1.9
- resolution: "@csstools/media-query-list-parser@npm:2.1.9"
+"@csstools/media-query-list-parser@npm:^2.1.11, @csstools/media-query-list-parser@npm:^2.1.9":
+ version: 2.1.11
+ resolution: "@csstools/media-query-list-parser@npm:2.1.11"
peerDependencies:
- "@csstools/css-parser-algorithms": ^2.6.1
- "@csstools/css-tokenizer": ^2.2.4
- checksum: 10c0/602e9b5631928c078e670018df20b959bfb8e42ea11024d5218f1604e5ef94e070a74934a919ccbff3713e506d99096057947fa0c2e4768939f7b22479553534
+ "@csstools/css-parser-algorithms": ^2.6.3
+ "@csstools/css-tokenizer": ^2.3.1
+ checksum: 10c0/9bcd99f7d28ae3cdaba73fbbfef571b0393dd4e841f522cc796fe5161744f17e327ba1713dad3c481626fade1357c55890e3d365177abed50e857b69130a9be5
languageName: node
linkType: hard
@@ -1629,46 +1629,46 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-color-function@npm:^3.0.14":
- version: 3.0.14
- resolution: "@csstools/postcss-color-function@npm:3.0.14"
+"@csstools/postcss-color-function@npm:^3.0.16":
+ version: 3.0.16
+ resolution: "@csstools/postcss-color-function@npm:3.0.16"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/81592b0eb3ad7022313ecafd028908b167de42acc6765f708c9b10631f86123c2b803aca27378f021c2b3dab8cc47770c0364fe5a3c1e18ec006deaf72e17c38
+ checksum: 10c0/41756a4601a3f1086290dab6ca92b54e201bd94637b54b439c66a04fd628a14e2a0bd1452ad294d2981e2f4bb306758fa5f44639b1c4332320435050749aa487
languageName: node
linkType: hard
-"@csstools/postcss-color-mix-function@npm:^2.0.14":
- version: 2.0.14
- resolution: "@csstools/postcss-color-mix-function@npm:2.0.14"
+"@csstools/postcss-color-mix-function@npm:^2.0.16":
+ version: 2.0.16
+ resolution: "@csstools/postcss-color-mix-function@npm:2.0.16"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/1dd3c63bbbbb9d3094699f169bbb9d26e86a49accb5f9abaa2441b54cb8a6f4cd332409666684a275eca867e3ef0ea3f6eafdf9fb87f2cbfa17c6296fb1ed4d7
+ checksum: 10c0/70cd5b291dd615e20e4475517bf0027c90c433241397a66866f89acedb12cb91f45552a162bdd1000636ec56f7d6a099b65e44fe100fd03228fc65f17cfae285
languageName: node
linkType: hard
-"@csstools/postcss-exponential-functions@npm:^1.0.5":
- version: 1.0.5
- resolution: "@csstools/postcss-exponential-functions@npm:1.0.5"
+"@csstools/postcss-exponential-functions@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "@csstools/postcss-exponential-functions@npm:1.0.7"
dependencies:
- "@csstools/css-calc": "npm:^1.2.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-calc": "npm:^1.2.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/45e18ca9025597da29cbef214cef39fcabef1e169bbb1f5c015de5f677e2927a1c3b8ae18558d815701e8d3e64db1043412a222af35036c92c25011a0e1e027d
+ checksum: 10c0/2079c81c3437686ef432d88502fa3a13bf8a27b7af105b4c6c2eb8e779f14adc8967a5a3ed03271ab919eeaf999fc4489fe4b37d32a8f61ab3212439517bddcc
languageName: node
linkType: hard
@@ -1684,46 +1684,46 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-gamut-mapping@npm:^1.0.7":
- version: 1.0.7
- resolution: "@csstools/postcss-gamut-mapping@npm:1.0.7"
+"@csstools/postcss-gamut-mapping@npm:^1.0.9":
+ version: 1.0.9
+ resolution: "@csstools/postcss-gamut-mapping@npm:1.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/7b349db44fcd697d57172ab63b7a02a56c0b49bce17e48cb72aa0fa246bd2be83fe693c507fd400a9ed83597a711d18ece9319ee3af8000c8fd3a2761e228a11
+ checksum: 10c0/412ae1410f3fce240401576441637c2c4e71d1a54153ac9b7a991b3de7519c253d03e10db78b09872eb10b0776d7f960b442779efabc11332b5be6672163c836
languageName: node
linkType: hard
-"@csstools/postcss-gradients-interpolation-method@npm:^4.0.15":
- version: 4.0.15
- resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.15"
+"@csstools/postcss-gradients-interpolation-method@npm:^4.0.17":
+ version: 4.0.17
+ resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.17"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/dc0bbf6a4787d5ad3f9fe268dfa9776ecdc25b6cc0a49486bf53238341a339647f1e475240ead3cec1f4af9a237f6518ace015103e90ce8afe4d44539a566e04
+ checksum: 10c0/465ac42856ca1a57aa2b9ea41ede31d9e2bcf2fe84345dbc182ae41f463069a0cfd41041b834b5133108c702cd85ecb8636b51b0b88fff8a221628639b59f386
languageName: node
linkType: hard
-"@csstools/postcss-hwb-function@npm:^3.0.13":
- version: 3.0.13
- resolution: "@csstools/postcss-hwb-function@npm:3.0.13"
+"@csstools/postcss-hwb-function@npm:^3.0.15":
+ version: 3.0.15
+ resolution: "@csstools/postcss-hwb-function@npm:3.0.15"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/684c3d408ceb027e7276c4f25c9a17ef9bd52f0948268cf58b5184097e9b71f5364a41b42bab44691938c6fadffcba0c8e66f809a339a8b282f4a432d32d00ef
+ checksum: 10c0/fdfaeefbab1008ab1e4a98a2b45cc3db002b2724c404fa0600954b411a68b1fa4028286250bf9898eed10fa80c44e4d6b4e55f1aca073c3dfce8198a0aaedf3f
languageName: node
linkType: hard
@@ -1761,17 +1761,17 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-light-dark-function@npm:^1.0.3":
- version: 1.0.3
- resolution: "@csstools/postcss-light-dark-function@npm:1.0.3"
+"@csstools/postcss-light-dark-function@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "@csstools/postcss-light-dark-function@npm:1.0.5"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/99a1b72aba08a6fa5c7271d42f4459d86f001fe83f533c0ed3d21556f53ee227f65f94cda1feee1aa910890fc42482f15a4dfb3edbc7afdad828ce8897d0c52b
+ checksum: 10c0/4fbeda98372d0da25d3ed87da09903c9a0a5d0b8c13cc9de82a98acce4a8f8367e5ba33bfc25c2534d10f2b1db9d5b4278df4ebab755e27ef2b03a95e0ebe264
languageName: node
linkType: hard
@@ -1813,42 +1813,42 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-logical-viewport-units@npm:^2.0.7":
- version: 2.0.7
- resolution: "@csstools/postcss-logical-viewport-units@npm:2.0.7"
+"@csstools/postcss-logical-viewport-units@npm:^2.0.9":
+ version: 2.0.9
+ resolution: "@csstools/postcss-logical-viewport-units@npm:2.0.9"
dependencies:
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/9493f5395ccfe88d0d0740e54f77f0c844afc79b164068fdd907aed75004b4252ba9423dea22194ad98114dd1a2e77c14e307604305d926425251d4ab3013949
+ checksum: 10c0/25b01e36b08c571806d09046be63582dbebf97a4612df59be405fa8a92e6eebcd4e768ad7fbe53b0b8739d6ab04d56957964fb04d6a3ea129fc5f72e6d0adf95
languageName: node
linkType: hard
-"@csstools/postcss-media-minmax@npm:^1.1.4":
- version: 1.1.4
- resolution: "@csstools/postcss-media-minmax@npm:1.1.4"
+"@csstools/postcss-media-minmax@npm:^1.1.6":
+ version: 1.1.6
+ resolution: "@csstools/postcss-media-minmax@npm:1.1.6"
dependencies:
- "@csstools/css-calc": "npm:^1.2.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
- "@csstools/media-query-list-parser": "npm:^2.1.9"
+ "@csstools/css-calc": "npm:^1.2.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
+ "@csstools/media-query-list-parser": "npm:^2.1.11"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/620bb85065195c72cf9c0abe9af822f9feeaf919b53bfd47ec09f75b644cb544bd967b09278c48f829348808b34c552718c1aa3eb5342e2dec983e22eb63b0a0
+ checksum: 10c0/2cbfb3728a232c655d82f63d5ac7da36876d14e5fee5d62a0738efed40c58f20ef11f600395ade24d5063d750e8e093251dd93cc361f782b5a6c0e0f80288f51
languageName: node
linkType: hard
-"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^2.0.7":
- version: 2.0.7
- resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:2.0.7"
+"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^2.0.9":
+ version: 2.0.9
+ resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:2.0.9"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
- "@csstools/media-query-list-parser": "npm:^2.1.9"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
+ "@csstools/media-query-list-parser": "npm:^2.1.11"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/d5d52a744f9a9466d86a506aab430811778dfa681d3f52f5486ee9b686390919eaae9ad356b84bc782d263227f35913ef68d9a6c3eefcfc38d8ffaccc9b94de0
+ checksum: 10c0/d431d2900a7177c938d9dc2d5bdf3c1930758adc214cc72f94b34e6bbd02fd917c200dc81482db515519c97d4f1e766ba3200f3ec9b55081887f2f8111f68e20
languageName: node
linkType: hard
@@ -1875,18 +1875,18 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-oklab-function@npm:^3.0.14":
- version: 3.0.14
- resolution: "@csstools/postcss-oklab-function@npm:3.0.14"
+"@csstools/postcss-oklab-function@npm:^3.0.16":
+ version: 3.0.16
+ resolution: "@csstools/postcss-oklab-function@npm:3.0.16"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/dfe0b12c2256dded995c64825fac9507be9c747d776cfa09eeefff6dee0efa5eed6a92a1ecba39069a751a7fc3cefa8891c34209a7a3c7ea33d356c95d01a02d
+ checksum: 10c0/9c67ee5f51116df16ab6baffa1b3c6c7aa93d53b836f421125ae8824075bd3cfaa1a93594466de0ac935c89c4fc8171e80974e1a15bafa23ea864e4cf1f1c1f2
languageName: node
linkType: hard
@@ -1901,18 +1901,18 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-relative-color-syntax@npm:^2.0.14":
- version: 2.0.14
- resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.14"
+"@csstools/postcss-relative-color-syntax@npm:^2.0.16":
+ version: 2.0.16
+ resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.16"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/64cd5f8054e4403f4e25ed11a5b9d157098af639dbc30ac25b94660b3af489c0bacc49fc439cba1ccceefa4caa5831a913e3d1d889a9796cc6fbf3902c7c31c1
+ checksum: 10c0/cdc965706212dcbc03394f55c79a0ad043d1e0174059c4d0d90e4267fe8e6fd9eef7cfed4f5bbc1f8e89c225c1c042ae792e115bba198eb2daae763d65f44679
languageName: node
linkType: hard
@@ -1927,16 +1927,16 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-stepped-value-functions@npm:^3.0.6":
- version: 3.0.6
- resolution: "@csstools/postcss-stepped-value-functions@npm:3.0.6"
+"@csstools/postcss-stepped-value-functions@npm:^3.0.8":
+ version: 3.0.8
+ resolution: "@csstools/postcss-stepped-value-functions@npm:3.0.8"
dependencies:
- "@csstools/css-calc": "npm:^1.2.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-calc": "npm:^1.2.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/a198aedc4fffe88909c92bfaa36031e6803e739a2578ba4a81c01b9f1525e6a6876d6ffacbbe21701298598dcade8b2ac8423d8ab0fc5d9f4ba86ed60f53cbca
+ checksum: 10c0/2be66aa769808245137be8ff14308aa17c3a0d75433f6fd6789114966a78c365dbf173d087e7ff5bc80118c75be2ff740baab83ed39fc0671980f6217779956b
languageName: node
linkType: hard
@@ -1952,16 +1952,16 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-trigonometric-functions@npm:^3.0.6":
- version: 3.0.6
- resolution: "@csstools/postcss-trigonometric-functions@npm:3.0.6"
+"@csstools/postcss-trigonometric-functions@npm:^3.0.8":
+ version: 3.0.8
+ resolution: "@csstools/postcss-trigonometric-functions@npm:3.0.8"
dependencies:
- "@csstools/css-calc": "npm:^1.2.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-calc": "npm:^1.2.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/4b484af853d9eb59a4a4b1c063fcf48e2658bb2d6930dfab1d79e676986534687e6440b8cdcd2731ddcb7726537f4ed484208a2b80ef2c9359053762ba35e5e7
+ checksum: 10c0/aeed8d1026f4a5cb7afafbadd739af84291d5bfcbcdef2f79b77174f003d0cd0c7f9deb3fe0b9377efab37ce9bb17a2499efd4af8211f5ff9eb01b878b0b62b3
languageName: node
linkType: hard
@@ -2212,16 +2212,37 @@ __metadata:
linkType: hard
"@formatjs/cli@npm:^6.1.1":
- version: 6.2.9
- resolution: "@formatjs/cli@npm:6.2.9"
- peerDependencies:
+ version: 6.2.10
+ resolution: "@formatjs/cli@npm:6.2.10"
+ peerDependencies:
+ "@glimmer/env": ^0.1.7
+ "@glimmer/reference": ^0.91.1
+ "@glimmer/syntax": ^0.91.1
+ "@glimmer/validator": ^0.91.1
+ "@vue/compiler-core": ^3.4.0
+ content-tag: ^2.0.1
+ ember-template-recast: ^6.1.4
vue: ^3.4.0
peerDependenciesMeta:
+ "@glimmer/env":
+ optional: true
+ "@glimmer/reference":
+ optional: true
+ "@glimmer/syntax":
+ optional: true
+ "@glimmer/validator":
+ optional: true
+ "@vue/compiler-core":
+ optional: true
+ content-tag:
+ optional: true
+ ember-template-recast:
+ optional: true
vue:
optional: true
bin:
formatjs: bin/formatjs
- checksum: 10c0/498383bcdca7f8f8a748c1151be17392f71eb1861f6a23bc714280533167cba7cdc35a470a380113f6111236e721ff43cbee7b084939dac67b6a5d9b04c0587c
+ checksum: 10c0/34b1b0b3be25d945111c1f57913f50da7308ecd05501a27eaca210a774eb50c616b5706ba796d37ffa223ac4c5cddd5f36fe0ca8d31ad8c8ade79cdd497ccfb9
languageName: node
linkType: hard
@@ -2307,23 +2328,23 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/intl@npm:2.10.1":
- version: 2.10.1
- resolution: "@formatjs/intl@npm:2.10.1"
+"@formatjs/intl@npm:2.10.2":
+ version: 2.10.2
+ resolution: "@formatjs/intl@npm:2.10.2"
dependencies:
"@formatjs/ecma402-abstract": "npm:1.18.2"
"@formatjs/fast-memoize": "npm:2.2.0"
"@formatjs/icu-messageformat-parser": "npm:2.7.6"
"@formatjs/intl-displaynames": "npm:6.6.6"
"@formatjs/intl-listformat": "npm:7.5.5"
- intl-messageformat: "npm:10.5.11"
+ intl-messageformat: "npm:10.5.12"
tslib: "npm:^2.4.0"
peerDependencies:
typescript: ^4.7 || 5
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/24eee77382d1efd226aee7590228d3ae80f66a8547a65295f8028986b15b6abbfea3e380f4a338ece0e841e1db6f36554ca48124d84c0830382e3a9d395b5d75
+ checksum: 10c0/20df407e141055e8c7b2605c06e952b643be7ea01d992862e13fc623ca2db034069744eae2be16655bf7888b3add1bfc2653fd0a08bcfdb67fb9b72a306f7718
languageName: node
linkType: hard
@@ -2925,7 +2946,7 @@ __metadata:
pg: "npm:^8.5.0"
pg-connection-string: "npm:^2.6.0"
pino: "npm:^9.0.0"
- pino-http: "npm:^9.0.0"
+ pino-http: "npm:^10.0.0"
pino-pretty: "npm:^11.0.0"
prom-client: "npm:^15.0.0"
typescript: "npm:^5.0.4"
@@ -3353,8 +3374,8 @@ __metadata:
linkType: hard
"@testing-library/jest-dom@npm:^6.0.0":
- version: 6.4.2
- resolution: "@testing-library/jest-dom@npm:6.4.2"
+ version: 6.4.5
+ resolution: "@testing-library/jest-dom@npm:6.4.5"
dependencies:
"@adobe/css-tools": "npm:^4.3.2"
"@babel/runtime": "npm:^7.9.2"
@@ -3362,7 +3383,7 @@ __metadata:
chalk: "npm:^3.0.0"
css.escape: "npm:^1.5.1"
dom-accessibility-api: "npm:^0.6.3"
- lodash: "npm:^4.17.15"
+ lodash: "npm:^4.17.21"
redent: "npm:^3.0.0"
peerDependencies:
"@jest/globals": ">= 28"
@@ -3381,21 +3402,25 @@ __metadata:
optional: true
vitest:
optional: true
- checksum: 10c0/e7eba527b34ce30cde94424d2ec685bdfed51daaafb7df9b68b51aec6052e99a50c8bfe654612dacdf857a1eb81d68cf294fc89de558ee3a992bf7a6019fffcc
+ checksum: 10c0/4cfdd44e2abab2b9d399c47cbfe686729bb65160d7df0f9e2329aaaea7702f6e852a9eefb29b468f00c1e5a5274b684f8cac76959d33299dfa909ba007ea191d
languageName: node
linkType: hard
"@testing-library/react@npm:^15.0.0":
- version: 15.0.5
- resolution: "@testing-library/react@npm:15.0.5"
+ version: 15.0.6
+ resolution: "@testing-library/react@npm:15.0.6"
dependencies:
"@babel/runtime": "npm:^7.12.5"
"@testing-library/dom": "npm:^10.0.0"
"@types/react-dom": "npm:^18.0.0"
peerDependencies:
+ "@types/react": ^18.0.0
react: ^18.0.0
react-dom: ^18.0.0
- checksum: 10c0/8759cc8e7e6b4d8964f151d8872ea3c91b6ef6d8fb3b9116fae53350b9a6b29e5ad45b18408c22525924d050263f7ea77cd17ca803918759f22a760f68a42227
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/3705a2272f929f2f848f5d7e6ac9829bf7ecc1725a35733ffae7e7a261d4bdab470b080558e8544edb1f9ba25db9fbc4232527df9b4ec6ab6ae4462a902a7f95
languageName: node
linkType: hard
@@ -3696,9 +3721,9 @@ __metadata:
linkType: hard
"@types/lodash@npm:^4.14.195":
- version: 4.17.0
- resolution: "@types/lodash@npm:4.17.0"
- checksum: 10c0/4c5b41c9a6c41e2c05d08499e96f7940bcf194dcfa84356235b630da920c2a5e05f193618cea76006719bec61c76617dff02defa9d29934f9f6a76a49291bd8f
+ version: 4.17.1
+ resolution: "@types/lodash@npm:4.17.1"
+ checksum: 10c0/af2ad8a3c8d7deb170a7ec6e18afc5ae8980576e5f7fe798d8a95a1df7222c15bdf967a25a35879f575a3b64743de00145710ee461a0051e055e94e4fe253f45
languageName: node
linkType: hard
@@ -3754,13 +3779,13 @@ __metadata:
linkType: hard
"@types/pg@npm:^8.6.6":
- version: 8.11.5
- resolution: "@types/pg@npm:8.11.5"
+ version: 8.11.6
+ resolution: "@types/pg@npm:8.11.6"
dependencies:
"@types/node": "npm:*"
pg-protocol: "npm:*"
pg-types: "npm:^4.0.1"
- checksum: 10c0/d64d183bee2df96cd0558231190ff629558e8c0fd3203b880f48a7d34b1eaea528d20c09b57b19c0939f369136e6c6941533592eadd71174be78d1ec0ca5e60e
+ checksum: 10c0/e68e057d9500b25cd776f4fcc547b4880c4f3b0c7b6e03c8a0e5e262b6189dd7a00f4edc8937ffc55a9f6a136a78d7e4a9b6bbe6a46122a95c134f7be66f6842
languageName: node
linkType: hard
@@ -3814,11 +3839,11 @@ __metadata:
linkType: hard
"@types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.2.4":
- version: 18.2.25
- resolution: "@types/react-dom@npm:18.2.25"
+ version: 18.3.0
+ resolution: "@types/react-dom@npm:18.3.0"
dependencies:
"@types/react": "npm:*"
- checksum: 10c0/87604407eca6884c5b4d4657cb511dc5ba28ea1cfa5d0ce1fc2d659a7ad1b64ae85dcda60e3f010641f9a52a6a60dfcaa6be3b0d0de9d624475052a13dae01f4
+ checksum: 10c0/6c90d2ed72c5a0e440d2c75d99287e4b5df3e7b011838cdc03ae5cd518ab52164d86990e73246b9d812eaf02ec351d74e3b4f5bd325bf341e13bf980392fd53b
languageName: node
linkType: hard
@@ -3890,11 +3915,11 @@ __metadata:
linkType: hard
"@types/react-test-renderer@npm:^18.0.0":
- version: 18.0.7
- resolution: "@types/react-test-renderer@npm:18.0.7"
+ version: 18.3.0
+ resolution: "@types/react-test-renderer@npm:18.3.0"
dependencies:
"@types/react": "npm:*"
- checksum: 10c0/45cbe963354acee2ab090979d856763c84f59ef7b63477d1fef5d0fd52760b69aa67bbd205fbd3bd36264620fce72c8e407735a9f2009c40ca50da59b0058c34
+ checksum: 10c0/3c9748be52e8e659e7adf91dea6939486463264e6f633bf21c4cb116de18af7bef0595568a1e588160420b2f65289473075dda1cb417c2875df8cf7a09f5d913
languageName: node
linkType: hard
@@ -3917,12 +3942,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.79
- resolution: "@types/react@npm:18.2.79"
+ version: 18.3.1
+ resolution: "@types/react@npm:18.3.1"
dependencies:
"@types/prop-types": "npm:*"
csstype: "npm:^3.0.2"
- checksum: 10c0/c8a8a005d8830a48cc1ef93c3510c4935a2a03e5557dbecaa8f1038450cbfcb18eb206fa7fba7077d54b8da21faeb25577e897a333392770a7797f625b62c78a
+ checksum: 10c0/18d856c12a4ec93f3cda2d58ef3d77a9480818afd3af895f812896fb82cfca1f35a692ab1add4ce826a4eb58a071624c7d1c8c6c4ccfb81c100d2916dc607614
languageName: node
linkType: hard
@@ -4101,14 +4126,14 @@ __metadata:
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^7.0.0":
- version: 7.7.1
- resolution: "@typescript-eslint/eslint-plugin@npm:7.7.1"
+ version: 7.8.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:7.8.0"
dependencies:
"@eslint-community/regexpp": "npm:^4.10.0"
- "@typescript-eslint/scope-manager": "npm:7.7.1"
- "@typescript-eslint/type-utils": "npm:7.7.1"
- "@typescript-eslint/utils": "npm:7.7.1"
- "@typescript-eslint/visitor-keys": "npm:7.7.1"
+ "@typescript-eslint/scope-manager": "npm:7.8.0"
+ "@typescript-eslint/type-utils": "npm:7.8.0"
+ "@typescript-eslint/utils": "npm:7.8.0"
+ "@typescript-eslint/visitor-keys": "npm:7.8.0"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.3.1"
@@ -4121,25 +4146,25 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/11a085240e7daf4bdeb011aa53ac7cfeea6263c60d53607823f5c314eb5c9d559b28fce0d6686acb9702ee3d0cb0406534fafae61163e5a903eaf818c48194ad
+ checksum: 10c0/37ca22620d1834ff0baa28fa4b8fd92039a3903cb95748353de32d56bae2a81ce50d1bbaed27487eebc884e0a0f9387fcb0f1647593e4e6df5111ef674afa9f0
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^7.0.0":
- version: 7.7.1
- resolution: "@typescript-eslint/parser@npm:7.7.1"
+ version: 7.8.0
+ resolution: "@typescript-eslint/parser@npm:7.8.0"
dependencies:
- "@typescript-eslint/scope-manager": "npm:7.7.1"
- "@typescript-eslint/types": "npm:7.7.1"
- "@typescript-eslint/typescript-estree": "npm:7.7.1"
- "@typescript-eslint/visitor-keys": "npm:7.7.1"
+ "@typescript-eslint/scope-manager": "npm:7.8.0"
+ "@typescript-eslint/types": "npm:7.8.0"
+ "@typescript-eslint/typescript-estree": "npm:7.8.0"
+ "@typescript-eslint/visitor-keys": "npm:7.8.0"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/ace43eeb8123bbee61e936650e1d57a2cf70f2030870c6dcad8602fce3f7cdf2cce350121dbbc66cffd60bac36652f426a1c5293c45ed28998b90cd95673b5c9
+ checksum: 10c0/0dd994c1b31b810c25e1b755b8d352debb7bf21a31f9a91acaec34acf4e471320bcceaa67cf64c110c0b8f5fac10a037dbabac6ec423e17adf037e59a7bce9c1
languageName: node
linkType: hard
@@ -4153,22 +4178,22 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:7.7.1":
- version: 7.7.1
- resolution: "@typescript-eslint/scope-manager@npm:7.7.1"
+"@typescript-eslint/scope-manager@npm:7.8.0":
+ version: 7.8.0
+ resolution: "@typescript-eslint/scope-manager@npm:7.8.0"
dependencies:
- "@typescript-eslint/types": "npm:7.7.1"
- "@typescript-eslint/visitor-keys": "npm:7.7.1"
- checksum: 10c0/4032da8fce8922044a6b659c8435ba203377778d5b7de6a5572c1172f2e3cf8ddd890a0f9e083c5d5315a9c2dba323707528ee4ad3cc1be2bd334de2527ef5cb
+ "@typescript-eslint/types": "npm:7.8.0"
+ "@typescript-eslint/visitor-keys": "npm:7.8.0"
+ checksum: 10c0/c253b98e96d4bf0375f473ca2c4d081726f1fd926cdfa65ee14c9ee99cca8eddb763b2d238ac365daa7246bef21b0af38180d04e56e9df7443c0e6f8474d097c
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:7.7.1":
- version: 7.7.1
- resolution: "@typescript-eslint/type-utils@npm:7.7.1"
+"@typescript-eslint/type-utils@npm:7.8.0":
+ version: 7.8.0
+ resolution: "@typescript-eslint/type-utils@npm:7.8.0"
dependencies:
- "@typescript-eslint/typescript-estree": "npm:7.7.1"
- "@typescript-eslint/utils": "npm:7.7.1"
+ "@typescript-eslint/typescript-estree": "npm:7.8.0"
+ "@typescript-eslint/utils": "npm:7.8.0"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.3.0"
peerDependencies:
@@ -4176,7 +4201,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/bd083c4106e207aa8c2a71251eca52d23c7ea905399b8c62004f3bb1e85b9c88d601db9dcecae88beef0f8362d53450bb2721aab353ee731c1665496fea3fbda
+ checksum: 10c0/00f6315626b64f7dbc1f7fba6f365321bb8d34141ed77545b2a07970e59a81dbdf768c1e024225ea00953750d74409ddd8a16782fc4a39261e507c04192dacab
languageName: node
linkType: hard
@@ -4187,10 +4212,10 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:7.7.1":
- version: 7.7.1
- resolution: "@typescript-eslint/types@npm:7.7.1"
- checksum: 10c0/7d240503d9d0b12d68c8204167690609f02ededb77dcb035c1c8b932da08cf43553829c29a5f7889824a7337463c300343bc5abe532479726d4c83443a7e2704
+"@typescript-eslint/types@npm:7.8.0":
+ version: 7.8.0
+ resolution: "@typescript-eslint/types@npm:7.8.0"
+ checksum: 10c0/b2fdbfc21957bfa46f7d8809b607ad8c8b67c51821d899064d09392edc12f28b2318a044f0cd5d523d782e84e8f0558778877944964cf38e139f88790cf9d466
languageName: node
linkType: hard
@@ -4213,12 +4238,12 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:7.7.1":
- version: 7.7.1
- resolution: "@typescript-eslint/typescript-estree@npm:7.7.1"
+"@typescript-eslint/typescript-estree@npm:7.8.0":
+ version: 7.8.0
+ resolution: "@typescript-eslint/typescript-estree@npm:7.8.0"
dependencies:
- "@typescript-eslint/types": "npm:7.7.1"
- "@typescript-eslint/visitor-keys": "npm:7.7.1"
+ "@typescript-eslint/types": "npm:7.8.0"
+ "@typescript-eslint/visitor-keys": "npm:7.8.0"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -4228,24 +4253,24 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/c6b32bd96fd13b9da0a30de01935066f7505f6214f5759e3cd019f7d1852f7bf19358765f62e51de72be47647656aa0e8f07ac0ab316c4149a4e6bd1dd12cbb6
+ checksum: 10c0/1690b62679685073dcb0f62499f0b52b445b37ae6e12d02aa4acbafe3fb023cf999b01f714b6282e88f84fd934fe3e2eefb21a64455d19c348d22bbc68ca8e47
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:7.7.1":
- version: 7.7.1
- resolution: "@typescript-eslint/utils@npm:7.7.1"
+"@typescript-eslint/utils@npm:7.8.0":
+ version: 7.8.0
+ resolution: "@typescript-eslint/utils@npm:7.8.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.15"
"@types/semver": "npm:^7.5.8"
- "@typescript-eslint/scope-manager": "npm:7.7.1"
- "@typescript-eslint/types": "npm:7.7.1"
- "@typescript-eslint/typescript-estree": "npm:7.7.1"
+ "@typescript-eslint/scope-manager": "npm:7.8.0"
+ "@typescript-eslint/types": "npm:7.8.0"
+ "@typescript-eslint/typescript-estree": "npm:7.8.0"
semver: "npm:^7.6.0"
peerDependencies:
eslint: ^8.56.0
- checksum: 10c0/0986b8c297d6bfdbd2ac8cd3bcf447ef9b934e2dae536771d3368a5c284a0b16c0ea041f82aa100c48d05acc33198e1a3d9d721d3319ae80abba0f5e69c21633
+ checksum: 10c0/31fb58388d15b082eb7bd5bce889cc11617aa1131dfc6950471541b3df64c82d1c052e2cccc230ca4ae80456d4f63a3e5dccb79899a8f3211ce36c089b7d7640
languageName: node
linkType: hard
@@ -4276,13 +4301,13 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:7.7.1":
- version: 7.7.1
- resolution: "@typescript-eslint/visitor-keys@npm:7.7.1"
+"@typescript-eslint/visitor-keys@npm:7.8.0":
+ version: 7.8.0
+ resolution: "@typescript-eslint/visitor-keys@npm:7.8.0"
dependencies:
- "@typescript-eslint/types": "npm:7.7.1"
+ "@typescript-eslint/types": "npm:7.8.0"
eslint-visitor-keys: "npm:^3.4.3"
- checksum: 10c0/19cbd14ac9a234d847f457cbd880cbd98b83c331a46d2dc2d8c0e6cb54ce6159552f6dd2f7236035be1a71f13f48df4a2aa09e70ad1f1e2ff3da7c3622927bd3
+ checksum: 10c0/5892fb5d9c58efaf89adb225f7dbbb77f9363961f2ff420b6b130bdd102dddd7aa8a16c46a5a71c19889d27b781e966119a89270555ea2cb5653a04d8994123d
languageName: node
linkType: hard
@@ -7775,8 +7800,8 @@ __metadata:
linkType: hard
"eslint-plugin-formatjs@npm:^4.10.1":
- version: 4.13.0
- resolution: "eslint-plugin-formatjs@npm:4.13.0"
+ version: 4.13.1
+ resolution: "eslint-plugin-formatjs@npm:4.13.1"
dependencies:
"@formatjs/icu-messageformat-parser": "npm:2.7.6"
"@formatjs/ts-transformer": "npm:3.13.12"
@@ -7791,7 +7816,7 @@ __metadata:
unicode-emoji-utils: "npm:^1.2.0"
peerDependencies:
eslint: 7 || 8
- checksum: 10c0/3dbe4ffd3e72d4ce5b14afdcf6dd5db889dd09cb15bc875f29bcc5b49295e0ae4a3eb672ed89ed33f22aacbfe655151398ca4307fd0610508e568a6e4db50aa8
+ checksum: 10c0/ce18141dff84e8fe026127085c1a63279acb3a1bc0b70dc1ddce2fc65bb37d68ccf6d097231428745eda2caea42080e1c80a01a1895803155c15123a01bfeee3
languageName: node
linkType: hard
@@ -9643,15 +9668,15 @@ __metadata:
languageName: node
linkType: hard
-"intl-messageformat@npm:10.5.11, intl-messageformat@npm:^10.3.5":
- version: 10.5.11
- resolution: "intl-messageformat@npm:10.5.11"
+"intl-messageformat@npm:10.5.12, intl-messageformat@npm:^10.3.5":
+ version: 10.5.12
+ resolution: "intl-messageformat@npm:10.5.12"
dependencies:
"@formatjs/ecma402-abstract": "npm:1.18.2"
"@formatjs/fast-memoize": "npm:2.2.0"
"@formatjs/icu-messageformat-parser": "npm:2.7.6"
tslib: "npm:^2.4.0"
- checksum: 10c0/423f1c879ce2d0e7b9e0b4c1787a81ead7fe4d1734e0366a20fef56b06c09146e7ca3618e2e78b4f8b8f2b59cafe6237ceed21530fe0c16cfb47d915fc80222d
+ checksum: 10c0/f95734e98a05ef7f51de0c27904d3a994528e3a174963bd1b3a6db9416b5fd84bbd8f7d26d84fc547d51af69ccf46dd3f73a3f4f20a2ccef5c9cd90e946ad82c
languageName: node
linkType: hard
@@ -11431,7 +11456,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21":
+"lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.20, lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c
@@ -12996,7 +13021,7 @@ __metadata:
languageName: node
linkType: hard
-"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:^1.1.0, pino-abstract-transport@npm:^1.2.0":
+"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:^1.2.0":
version: 1.2.0
resolution: "pino-abstract-transport@npm:1.2.0"
dependencies:
@@ -13006,15 +13031,15 @@ __metadata:
languageName: node
linkType: hard
-"pino-http@npm:^9.0.0":
- version: 9.0.0
- resolution: "pino-http@npm:9.0.0"
+"pino-http@npm:^10.0.0":
+ version: 10.0.0
+ resolution: "pino-http@npm:10.0.0"
dependencies:
get-caller-file: "npm:^2.0.5"
- pino: "npm:^8.17.1"
- pino-std-serializers: "npm:^6.2.2"
+ pino: "npm:^9.0.0"
+ pino-std-serializers: "npm:^7.0.0"
process-warning: "npm:^3.0.0"
- checksum: 10c0/05496cb76cc9908658e50c4620fbdf7b0b5d99fb529493d601c3e4635b0bf7ce12b8a8eed7b5b520089f643b099233d61dd71f7cdfad8b66e59b9b81d79b6512
+ checksum: 10c0/40d2dcb2bc0c51f1ce45d3d7144c54f087fe1a122d82d0f497d65656151a1603a64f82f62d7fc6a3c172754c5a5cf6105b3096620eece31cefbc8cf95b26c062
languageName: node
linkType: hard
@@ -13042,31 +13067,17 @@ __metadata:
languageName: node
linkType: hard
-"pino-std-serializers@npm:^6.0.0, pino-std-serializers@npm:^6.2.2":
+"pino-std-serializers@npm:^6.0.0":
version: 6.2.2
resolution: "pino-std-serializers@npm:6.2.2"
checksum: 10c0/8f1c7f0f0d8f91e6c6b5b2a6bfb48f06441abeb85f1c2288319f736f9c6d814fbeebe928d2314efc2ba6018fa7db9357a105eca9fc99fc1f28945a8a8b28d3d5
languageName: node
linkType: hard
-"pino@npm:^8.17.1":
- version: 8.20.0
- resolution: "pino@npm:8.20.0"
- dependencies:
- atomic-sleep: "npm:^1.0.0"
- fast-redact: "npm:^3.1.1"
- on-exit-leak-free: "npm:^2.1.0"
- pino-abstract-transport: "npm:^1.1.0"
- pino-std-serializers: "npm:^6.0.0"
- process-warning: "npm:^3.0.0"
- quick-format-unescaped: "npm:^4.0.3"
- real-require: "npm:^0.2.0"
- safe-stable-stringify: "npm:^2.3.1"
- sonic-boom: "npm:^3.7.0"
- thread-stream: "npm:^2.0.0"
- bin:
- pino: bin.js
- checksum: 10c0/6b973474160e1fa01fa150de0f69b7db9c6c06ae15f992d369669751825c8f2af3bb5600348eaf9be65b4952326bbdfa226f51e425820eb511f0f594fbddbaa7
+"pino-std-serializers@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "pino-std-serializers@npm:7.0.0"
+ checksum: 10c0/73e694d542e8de94445a03a98396cf383306de41fd75ecc07085d57ed7a57896198508a0dec6eefad8d701044af21eb27253ccc352586a03cf0d4a0bd25b4133
languageName: node
linkType: hard
@@ -13175,18 +13186,18 @@ __metadata:
languageName: node
linkType: hard
-"postcss-color-functional-notation@npm:^6.0.9":
- version: 6.0.9
- resolution: "postcss-color-functional-notation@npm:6.0.9"
+"postcss-color-functional-notation@npm:^6.0.11":
+ version: 6.0.11
+ resolution: "postcss-color-functional-notation@npm:6.0.11"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/120f7bc23bf46dd1c008b3aa806fb02dd988ae180f9c0c10dca9f5ea3473bf20d7743aafae1441df5b4a3945a63ebb0dae1d4d55f7c8bcd34540529b627c4e3e
+ checksum: 10c0/7fd75e6881cf62f536f79dfc0ae1b709ea0b8b84833cce1671372711f6019ab4360c6a17089b654b2d376b87e7f9455b94f0d13b45ab0ab767e547b604709b3d
languageName: node
linkType: hard
@@ -13240,46 +13251,46 @@ __metadata:
languageName: node
linkType: hard
-"postcss-custom-media@npm:^10.0.4":
- version: 10.0.4
- resolution: "postcss-custom-media@npm:10.0.4"
+"postcss-custom-media@npm:^10.0.6":
+ version: 10.0.6
+ resolution: "postcss-custom-media@npm:10.0.6"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^1.0.9"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
- "@csstools/media-query-list-parser": "npm:^2.1.9"
+ "@csstools/cascade-layer-name-parser": "npm:^1.0.11"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
+ "@csstools/media-query-list-parser": "npm:^2.1.11"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/2384a40f0e38abe92fbfc707000b264e4bdfe65bd0086ab18c6aab71049198f9dd1431bc4f9bbf68f7cca86b4ff0da352bac4a6ecd04e3671b7ddf6ed6ec3d04
+ checksum: 10c0/98a524bc46b780a86094bbe8007f1e577137da5490823631a683d4b3df4a13e40c5e1ab52380275a54f7011abfd98bb597c6293d964c14f9f22ec6cf9d75c550
languageName: node
linkType: hard
-"postcss-custom-properties@npm:^13.3.8":
- version: 13.3.8
- resolution: "postcss-custom-properties@npm:13.3.8"
+"postcss-custom-properties@npm:^13.3.10":
+ version: 13.3.10
+ resolution: "postcss-custom-properties@npm:13.3.10"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^1.0.9"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/cascade-layer-name-parser": "npm:^1.0.11"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/utilities": "npm:^1.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/03dd1918f897005b23d09615ebb2c3faf4a01cac67462069c9cfa87c024b2a878f64948b0cf668971bc0ca00cfc349080879b3864deb3808a32d52ff2b473319
+ checksum: 10c0/52688fd0aaadccfdf4a3d86d3a2ab988163e8108088c5e33fc9145d261f75b92b8321c044a8161345abda10df5715d674330309dcc0c17f2980db5515f6a76d6
languageName: node
linkType: hard
-"postcss-custom-selectors@npm:^7.1.8":
- version: 7.1.8
- resolution: "postcss-custom-selectors@npm:7.1.8"
+"postcss-custom-selectors@npm:^7.1.10":
+ version: 7.1.10
+ resolution: "postcss-custom-selectors@npm:7.1.10"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^1.0.9"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/cascade-layer-name-parser": "npm:^1.0.11"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
postcss-selector-parser: "npm:^6.0.13"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/6a7d8248342177a222821531ea3b4008764362e4f7e8f7f2d5767e5880c37ffa39ac5adced2c686baeb9c1f4ed4c283fcc8a8d30ef3b4fc5f63d4ef9a691285e
+ checksum: 10c0/11311ae6f306420223c6bf926fb1798738f3aa525a267de204de8e8ee9de467bf63b580d9ad5dbb0fff4bd9266770a3fa7e27a24af08a2e0a4115d0727d1d043
languageName: node
linkType: hard
@@ -13395,18 +13406,18 @@ __metadata:
languageName: node
linkType: hard
-"postcss-lab-function@npm:^6.0.14":
- version: 6.0.14
- resolution: "postcss-lab-function@npm:6.0.14"
+"postcss-lab-function@npm:^6.0.16":
+ version: 6.0.16
+ resolution: "postcss-lab-function@npm:6.0.16"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.0"
- "@csstools/css-parser-algorithms": "npm:^2.6.1"
- "@csstools/css-tokenizer": "npm:^2.2.4"
+ "@csstools/css-color-parser": "npm:^2.0.2"
+ "@csstools/css-parser-algorithms": "npm:^2.6.3"
+ "@csstools/css-tokenizer": "npm:^2.3.1"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
"@csstools/utilities": "npm:^1.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/0b5d998ddb98ec6243448f1eca216f6e23872431885b152843feef1e844fc5b6b3ebe16ea8940f3d6abea732aa0c51b2ec0e57437e4326e5b2cb2bcb949e6d9f
+ checksum: 10c0/ba8717cd8a197ec17acaac1b61631cd4403f07bd406b0c92f2e430a55e3f786cd6c338b626c3326e9178a0f3e58ff838ebaded19f480f39197a9cb17349ecdcd
languageName: node
linkType: hard
@@ -13726,37 +13737,37 @@ __metadata:
linkType: hard
"postcss-preset-env@npm:^9.5.2":
- version: 9.5.9
- resolution: "postcss-preset-env@npm:9.5.9"
+ version: 9.5.11
+ resolution: "postcss-preset-env@npm:9.5.11"
dependencies:
"@csstools/postcss-cascade-layers": "npm:^4.0.4"
- "@csstools/postcss-color-function": "npm:^3.0.14"
- "@csstools/postcss-color-mix-function": "npm:^2.0.14"
- "@csstools/postcss-exponential-functions": "npm:^1.0.5"
+ "@csstools/postcss-color-function": "npm:^3.0.16"
+ "@csstools/postcss-color-mix-function": "npm:^2.0.16"
+ "@csstools/postcss-exponential-functions": "npm:^1.0.7"
"@csstools/postcss-font-format-keywords": "npm:^3.0.2"
- "@csstools/postcss-gamut-mapping": "npm:^1.0.7"
- "@csstools/postcss-gradients-interpolation-method": "npm:^4.0.15"
- "@csstools/postcss-hwb-function": "npm:^3.0.13"
+ "@csstools/postcss-gamut-mapping": "npm:^1.0.9"
+ "@csstools/postcss-gradients-interpolation-method": "npm:^4.0.17"
+ "@csstools/postcss-hwb-function": "npm:^3.0.15"
"@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.3"
+ "@csstools/postcss-light-dark-function": "npm:^1.0.5"
"@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"
"@csstools/postcss-logical-resize": "npm:^2.0.1"
- "@csstools/postcss-logical-viewport-units": "npm:^2.0.7"
- "@csstools/postcss-media-minmax": "npm:^1.1.4"
- "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^2.0.7"
+ "@csstools/postcss-logical-viewport-units": "npm:^2.0.9"
+ "@csstools/postcss-media-minmax": "npm:^1.1.6"
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^2.0.9"
"@csstools/postcss-nested-calc": "npm:^3.0.2"
"@csstools/postcss-normalize-display-values": "npm:^3.0.2"
- "@csstools/postcss-oklab-function": "npm:^3.0.14"
+ "@csstools/postcss-oklab-function": "npm:^3.0.16"
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
- "@csstools/postcss-relative-color-syntax": "npm:^2.0.14"
+ "@csstools/postcss-relative-color-syntax": "npm:^2.0.16"
"@csstools/postcss-scope-pseudo-class": "npm:^3.0.1"
- "@csstools/postcss-stepped-value-functions": "npm:^3.0.6"
+ "@csstools/postcss-stepped-value-functions": "npm:^3.0.8"
"@csstools/postcss-text-decoration-shorthand": "npm:^3.0.6"
- "@csstools/postcss-trigonometric-functions": "npm:^3.0.6"
+ "@csstools/postcss-trigonometric-functions": "npm:^3.0.8"
"@csstools/postcss-unset-value": "npm:^3.0.1"
autoprefixer: "npm:^10.4.19"
browserslist: "npm:^4.22.3"
@@ -13766,12 +13777,12 @@ __metadata:
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.9"
+ postcss-color-functional-notation: "npm:^6.0.11"
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.8"
- postcss-custom-selectors: "npm:^7.1.8"
+ postcss-custom-media: "npm:^10.0.6"
+ postcss-custom-properties: "npm:^13.3.10"
+ postcss-custom-selectors: "npm:^7.1.10"
postcss-dir-pseudo-class: "npm:^8.0.1"
postcss-double-position-gradients: "npm:^5.0.6"
postcss-focus-visible: "npm:^9.0.1"
@@ -13779,7 +13790,7 @@ __metadata:
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.14"
+ postcss-lab-function: "npm:^6.0.16"
postcss-logical: "npm:^7.0.1"
postcss-nesting: "npm:^12.1.2"
postcss-opacity-percentage: "npm:^2.0.0"
@@ -13791,7 +13802,7 @@ __metadata:
postcss-selector-not: "npm:^7.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/dbe020e3fc08f0b71a3ee9d3c8a66a93bb6ba62281ac89fa59c82b8632ca58d6a911ddd9c65f15355c36aad63477633fc101cc0f3ce494dbc757193ba42eb61c
+ checksum: 10c0/9460f4ce18cf1af7582d0a1f366151f59b6e9b0c7cbb62e59081dc91da14760a749f59fa52bc190e5e2c8fd531952c647719d19c4740aa1a0ebcb93f075ad931
languageName: node
linkType: hard
@@ -14381,18 +14392,18 @@ __metadata:
linkType: hard
"react-intl@npm:^6.4.2":
- version: 6.6.5
- resolution: "react-intl@npm:6.6.5"
+ version: 6.6.6
+ resolution: "react-intl@npm:6.6.6"
dependencies:
"@formatjs/ecma402-abstract": "npm:1.18.2"
"@formatjs/icu-messageformat-parser": "npm:2.7.6"
- "@formatjs/intl": "npm:2.10.1"
+ "@formatjs/intl": "npm:2.10.2"
"@formatjs/intl-displaynames": "npm:6.6.6"
"@formatjs/intl-listformat": "npm:7.5.5"
"@types/hoist-non-react-statics": "npm:^3.3.1"
"@types/react": "npm:16 || 17 || 18"
hoist-non-react-statics: "npm:^3.3.2"
- intl-messageformat: "npm:10.5.11"
+ intl-messageformat: "npm:10.5.12"
tslib: "npm:^2.4.0"
peerDependencies:
react: ^16.6.0 || 17 || 18
@@ -14400,7 +14411,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/31f231701af080bc923fdf25ff22ae7ad56bd7892602879fe6fa3de0c6ab95aab10ff86595372be155e0be45a7130a2cca91dbab73e558359cebc1785711ded2
+ checksum: 10c0/04c1d1ca783f2a5e605544290c93e57629500be6811d7c2c3342903bf9f9a720d2e4c9cf3924133bf84e510ee879bf3d870a3ff269f5b197f894a49047bd089d
languageName: node
linkType: hard
@@ -16505,8 +16516,8 @@ __metadata:
linkType: hard
"stylelint@npm:^16.0.2":
- version: 16.4.0
- resolution: "stylelint@npm:16.4.0"
+ version: 16.5.0
+ resolution: "stylelint@npm:16.5.0"
dependencies:
"@csstools/css-parser-algorithms": "npm:^2.6.1"
"@csstools/css-tokenizer": "npm:^2.2.4"
@@ -16549,7 +16560,7 @@ __metadata:
write-file-atomic: "npm:^5.0.1"
bin:
stylelint: bin/stylelint.mjs
- checksum: 10c0/7e603a0d88732180b60528c9f2edfca7fdf8c966f42c260af16131854c3acb5acfa30403b1f4fd72cd1470eb9ba625ca4de84e8cb379942df54127c55afc1288
+ checksum: 10c0/9281693ff6c1918e07fdcf7a950531f79678a28261a0d5bd36ca2fcf524e53d7305158d20ba890f5dd01c0ff90c09a13453dce2fe6887f4c157d8c2c0acf3666
languageName: node
linkType: hard
@@ -16829,7 +16840,7 @@ __metadata:
languageName: node
linkType: hard
-"thread-stream@npm:^2.0.0, thread-stream@npm:^2.6.0":
+"thread-stream@npm:^2.6.0":
version: 2.6.0
resolution: "thread-stream@npm:2.6.0"
dependencies: