diff --git a/.eslintrc.js b/.eslintrc.js
index 87a1af483b..8fe3a98b4a 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -380,6 +380,7 @@ module.exports = defineConfig({
"message": "Use typed hooks `useAppDispatch` and `useAppSelector` instead."
}
],
+ "@typescript-eslint/restrict-template-expressions": ['warn', { allowNumber: true }],
'jsdoc/require-jsdoc': 'off',
// Those rules set stricter rules for TS files
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index e7d1d08011..db728e64b9 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp`
-# using RuboCop version 1.60.2.
+# using RuboCop version 1.62.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
@@ -36,7 +36,7 @@ Metrics/PerceivedComplexity:
# Configuration parameters: CountAsOne.
RSpec/ExampleLength:
- Max: 20 # Override default of 5
+ Max: 18
RSpec/MultipleExpectations:
Max: 7
@@ -88,7 +88,6 @@ Style/FetchEnvVar:
Exclude:
- 'app/lib/redis_configuration.rb'
- 'app/lib/translation_service.rb'
- - 'config/environments/development.rb'
- 'config/environments/production.rb'
- 'config/initializers/2_limited_federation_mode.rb'
- 'config/initializers/3_omniauth.rb'
@@ -144,7 +143,6 @@ Style/GuardClause:
- 'lib/mastodon/cli/accounts.rb'
- 'lib/mastodon/cli/maintenance.rb'
- 'lib/mastodon/cli/media.rb'
- - 'lib/paperclip/attachment_extensions.rb'
- 'lib/tasks/repo.rake'
# This cop supports safe autocorrection (--autocorrect).
diff --git a/Gemfile.lock b/Gemfile.lock
index 702eb39584..acc4394940 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -663,9 +663,9 @@ GEM
rubocop (~> 1.41)
rubocop-factory_bot (2.25.1)
rubocop (~> 1.41)
- rubocop-performance (1.20.2)
+ rubocop-performance (1.21.0)
rubocop (>= 1.48.1, < 2.0)
- rubocop-ast (>= 1.30.0, < 2.0)
+ rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rails (2.24.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
diff --git a/app/javascript/mastodon/components/hashtag_bar.tsx b/app/javascript/mastodon/components/hashtag_bar.tsx
index 91fa922198..ed5de7d3a5 100644
--- a/app/javascript/mastodon/components/hashtag_bar.tsx
+++ b/app/javascript/mastodon/components/hashtag_bar.tsx
@@ -24,7 +24,7 @@ export type StatusLike = Record<{
function normalizeHashtag(hashtag: string) {
return (
- hashtag && hashtag.startsWith('#') ? hashtag.slice(1) : hashtag
+ !!hashtag && hashtag.startsWith('#') ? hashtag.slice(1) : hashtag
).normalize('NFKC');
}
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index 74f3f560d4..eda2099357 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -476,10 +476,13 @@
"notification.relationships_severance_event.account_suspension": "{from} admin on kustutanud {target}, mis tähendab, et sa ei saa enam neilt uuendusi või suhelda nendega.",
"notification.relationships_severance_event.domain_block": "{from} admin on blokeerinud {target}, sealhulgas {followersCount} sinu jälgijat ja {followingCount, plural, one {# konto} other {# kontot}}, mida jälgid.",
"notification.relationships_severance_event.learn_more": "Saa rohkem teada",
+ "notification.relationships_severance_event.user_domain_block": "Blokeerisid {target}, eemaldades oma jälgijate hulgast {followersCount} ja jälgitavate hulgast {followingCount, plural, one {# konto} other {# kontot}}.",
"notification.status": "{name} just postitas",
"notification.update": "{name} muutis postitust",
"notification_requests.accept": "Nõus",
"notification_requests.dismiss": "Hülga",
+ "notification_requests.notifications_from": "Teavitus kasutajalt {name}",
+ "notification_requests.title": "Filtreeritud teavitused",
"notifications.clear": "Puhasta teated",
"notifications.clear_confirmation": "Oled kindel, et soovid püsivalt kõik oma teated eemaldada?",
"notifications.column_settings.admin.report": "Uued teavitused:",
@@ -515,6 +518,13 @@
"notifications.permission_required": "Töölaua märguanded ei ole saadaval, kuna vajalik luba pole antud.",
"notifications.policy.filter_new_accounts.hint": "Loodud viimase {days, plural, one {ühe päeva} other {# päeva}} jooksul",
"notifications.policy.filter_new_accounts_title": "Uued kontod",
+ "notifications.policy.filter_not_followers_hint": "Kaasates kasutajad, kes on sind jälginud vähem kui {days, plural, one {ühe päeva} other {# päeva}}",
+ "notifications.policy.filter_not_followers_title": "Sind mittejälgivad kasutajad",
+ "notifications.policy.filter_not_following_hint": "Kuni sa nad käsitsi kinnitad",
+ "notifications.policy.filter_not_following_title": "Inimesed, keda sa ei jälgi",
+ "notifications.policy.filter_private_mentions_hint": "Filtreeritud, kui see pole vastus sinupoolt mainimisele või kui jälgid saatjat",
+ "notifications.policy.filter_private_mentions_title": "Soovimatud privaatsed mainimised",
+ "notifications.policy.title": "Filtreeri välja teavitused kohast…",
"notifications_permission_banner.enable": "Luba töölaua märguanded",
"notifications_permission_banner.how_to_control": "Et saada teateid, ajal mil Mastodon pole avatud, luba töölauamärguanded. Saad täpselt määrata, mis tüüpi tegevused tekitavad märguandeid, kasutates peale teadaannete sisse lülitamist üleval olevat nuppu {icon}.",
"notifications_permission_banner.title": "Ära jää millestki ilma",
@@ -691,9 +701,11 @@
"status.direct": "Maini privaatselt @{name}",
"status.direct_indicator": "Privaatne mainimine",
"status.edit": "Muuda",
+ "status.edited": "Viimati muudetud {date}",
"status.edited_x_times": "Muudetud {count, plural, one{{count} kord} other {{count} korda}}",
"status.embed": "Manustamine",
"status.favourite": "Lemmik",
+ "status.favourites": "{count, plural, one {lemmik} other {lemmikud}}",
"status.filter": "Filtreeri seda postitust",
"status.filtered": "Filtreeritud",
"status.hide": "Peida postitus",
@@ -714,6 +726,7 @@
"status.reblog": "Jaga",
"status.reblog_private": "Jaga algse nähtavusega",
"status.reblogged_by": "{name} jagas",
+ "status.reblogs": "{count, plural, one {jagamine} other {jagamist}}",
"status.reblogs.empty": "Keegi pole seda postitust veel jaganud. Kui keegi seda teeb, näeb seda siin.",
"status.redraft": "Kustuta & alga uuesti",
"status.remove_bookmark": "Eemalda järjehoidja",
diff --git a/app/javascript/mastodon/locales/fil.json b/app/javascript/mastodon/locales/fil.json
index afa0e5fbc2..894d73c8cc 100644
--- a/app/javascript/mastodon/locales/fil.json
+++ b/app/javascript/mastodon/locales/fil.json
@@ -50,6 +50,7 @@
"admin.dashboard.retention.cohort_size": "Mga bagong tagagamit",
"alert.rate_limited.message": "Mangyaring subukan muli pagkatapos ng {retry_time, time, medium}.",
"audio.hide": "Itago ang tunog",
+ "block_modal.title": "Harangan ang tagagamit?",
"bundle_column_error.error.title": "Naku!",
"bundle_column_error.network.body": "Nagkaroon ng kamalian habang sinusubukang i-karga ang pahinang ito. Maaaring dahil ito sa pansamantalang problema ng iyong koneksyon sa internet o ang server na ito.",
"bundle_column_error.network.title": "Kamaliang network",
@@ -104,6 +105,7 @@
"compose_form.poll.multiple": "Maraming pagpipilian",
"compose_form.poll.single": "Piliin ang isa",
"compose_form.reply": "Tumugon",
+ "compose_form.spoiler.marked": "Tanggalin ang babala sa nilalaman",
"compose_form.spoiler.unmarked": "Idagdag ang babala sa nilalaman",
"confirmation_modal.cancel": "Pagpaliban",
"confirmations.block.confirm": "Harangan",
@@ -115,6 +117,7 @@
"confirmations.discard_edit_media.confirm": "Ipagpaliban",
"confirmations.edit.confirm": "Baguhin",
"confirmations.reply.confirm": "Tumugon",
+ "conversation.mark_as_read": "Markahan bilang nabasa na",
"copy_icon_button.copied": "Sinipi sa clipboard",
"copypaste.copied": "Sinipi",
"copypaste.copy_to_clipboard": "I-sipi sa clipboard",
@@ -130,6 +133,10 @@
"dismissable_banner.explore_statuses": "Ito ang mga sumisikat na mga post sa iba't ibang bahagi ng social web ngayon. Ang mga mas bagong post na mas marami ang mga pagpapalakas at paborito ay tinataasan ng antas.",
"dismissable_banner.explore_tags": "Ito ang mga sumisikat na mga hashtag sa iba't ibang bahagi ng social web ngayon. Ang mga hashtag ginagamit ng mas maraming mga iba't ibang tao ay tinataasan ng antas.",
"dismissable_banner.public_timeline": "Ito ang mga pinakamakailang nakapublikong post mula sa mga taong nasa social web na sinusundan ng mga tao sa {domain}.",
+ "domain_block_modal.block": "Harangan ang serbiro",
+ "domain_block_modal.title": "Harangan ang domain?",
+ "domain_block_modal.you_will_lose_followers": "Mabubura ang iyong mga tagasunod mula sa serbirong ito.",
+ "domain_pill.server": "Serbiro",
"embed.instructions": "I-embed ang post na ito sa iyong pook-sapot sa pamamagitan ng pagsipi ng kodigo sa ilalim.",
"embed.preview": "Ito ang magiging itsura:",
"emoji_button.activity": "Aktibidad",
@@ -166,6 +173,8 @@
"empty_column.list": "Wala pang laman ang listahang ito. Kapag naglathala ng mga bagong post ang mga miyembro ng listahang ito, makikita iyon dito.",
"empty_column.lists": "Wala ka pang mga listahan. Kapag gumawa ka ng isa, makikita yun dito.",
"explore.search_results": "Mga resulta ng paghahanap",
+ "explore.title": "Tuklasin",
+ "explore.trending_links": "Mga balita",
"filter_modal.select_filter.search": "Hanapin o gumawa",
"firehose.all": "Lahat",
"firehose.local": "Itong serbiro",
@@ -180,6 +189,7 @@
"generic.saved": "Nakaimbak",
"hashtag.column_header.tag_mode.all": "at {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
+ "home.column_settings.show_replies": "Ipakita ang mga tugon",
"home.pending_critical_update.body": "Mangyaring i-update ang iyong serbiro ng Mastodon sa lalong madaling panahon!",
"interaction_modal.login.action": "Iuwi mo ako",
"interaction_modal.no_account_yet": "Wala sa Mastodon?",
@@ -216,14 +226,21 @@
"notification.follow": "Sinundan ka ni {name}",
"notification.follow_request": "Hinihiling ni {name} na sundan ka",
"notification.mention": "Binanggit ka ni {name}",
+ "notification.relationships_severance_event.learn_more": "Matuto nang higit pa",
+ "notification_requests.accept": "Tanggapin",
+ "notification_requests.notifications_from": "Mga abiso mula kay/sa {name}",
"notifications.clear": "Burahin mga abiso",
"notifications.column_settings.admin.report": "Mga bagong ulat:",
+ "notifications.column_settings.alert": "Mga abiso sa Desktop",
"notifications.column_settings.favourite": "Mga paborito:",
"notifications.column_settings.follow": "Mga bagong tagasunod:",
"notifications.column_settings.unread_notifications.category": "Hindi Nabasang mga Abiso",
"notifications.column_settings.update": "Mga pagbago:",
"notifications.filter.all": "Lahat",
+ "notifications.filter.favourites": "Mga paborito",
"notifications.mark_as_read": "Markahan lahat ng abiso bilang nabasa na",
+ "notifications.policy.filter_not_followers_title": "Mga taong hindi ka susundan",
+ "notifications.policy.filter_not_following_title": "Mga taong hindi mo sinusundan",
"onboarding.action.back": "Ibalik mo ako",
"onboarding.actions.back": "Ibalik mo ako",
"onboarding.profile.note_hint": "Maaari mong @bangitin ang ibang mga tao o mga #hashtag…",
@@ -236,6 +253,8 @@
"privacy.direct.long": "Lahat ng mga binanggit sa post",
"privacy.private.long": "Mga tagasunod mo lamang",
"privacy.private.short": "Mga tagasunod",
+ "privacy.public.long": "Sinumang nasa loob at labas ng Mastodon",
+ "regeneration_indicator.label": "Kumakarga…",
"relative_time.days": "{number}a",
"relative_time.full.days": "{number, plural, one {# araw} other {# na araw}} ang nakalipas",
"relative_time.full.hours": "{number, plural, one {# oras} other {# na oras}} ang nakalipas",
@@ -261,6 +280,10 @@
"report.thanks.title": "Ayaw mo bang makita ito?",
"report.thanks.title_actionable": "Salamat sa pag-uulat, titingnan namin ito.",
"report_notification.categories.other": "Iba pa",
+ "search.quick_action.open_url": "Buksan ang URL sa Mastodon",
+ "search.search_or_paste": "Maghanap o ilagay ang URL",
+ "search_popout.full_text_search_disabled_message": "Hindi magagamit sa {domain}.",
+ "search_popout.full_text_search_logged_out_message": "Magagamit lamang kapag naka-log in.",
"search_results.all": "Lahat",
"search_results.see_all": "Ipakita lahat",
"server_banner.learn_more": "Matuto nang higit pa",
diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json
index d982381c42..428abb8c5a 100644
--- a/app/javascript/mastodon/locales/ia.json
+++ b/app/javascript/mastodon/locales/ia.json
@@ -159,8 +159,13 @@
"disabled_account_banner.account_settings": "Parametros de conto",
"disabled_account_banner.text": "Tu conto {disabledAccount} es actualmente disactivate.",
"dismissable_banner.dismiss": "Dimitter",
+ "domain_block_modal.block": "Blocar le servitor",
+ "domain_block_modal.block_account_instead": "Blocar @{name} in su loco",
+ "domain_block_modal.they_cant_follow": "Nulle persona ab iste servitor pote sequer te.",
+ "domain_block_modal.they_wont_know": "Illes non sapera que illes ha essite blocate.",
"domain_block_modal.title": "Blocar dominio?",
"domain_block_modal.you_will_lose_followers": "Omne sequitores ab iste servitor essera removite.",
+ "domain_block_modal.you_wont_see_posts": "Tu non videra messages e notificationes ab usatores sur iste servitor.",
"domain_pill.server": "Servitor",
"domain_pill.username": "Nomine de usator",
"embed.preview": "Ecce como illlo parera:",
@@ -202,6 +207,7 @@
"filter_modal.select_filter.search": "Cercar o crear",
"filter_modal.select_filter.title": "Filtrar iste message",
"filter_modal.title.status": "Filtrar un message",
+ "filtered_notifications_banner.pending_requests": "Notificationes ab {count, plural, =0 {nemo} one {un persona} other {# personas}} tu poterea cognoscer",
"firehose.all": "Toto",
"firehose.local": "Iste servitor",
"firehose.remote": "Altere servitores",
@@ -251,7 +257,9 @@
"keyboard_shortcuts.federated": "Aperir le chronologia federate",
"keyboard_shortcuts.heading": "Accessos directe de claviero",
"keyboard_shortcuts.home": "Aperir le chronologia de initio",
+ "keyboard_shortcuts.legend": "Monstrar iste legenda",
"keyboard_shortcuts.local": "Aperir le chronologia local",
+ "keyboard_shortcuts.mention": "Mentionar le author",
"keyboard_shortcuts.muted": "Aperir lista de usatores silentiate",
"keyboard_shortcuts.my_profile": "Aperir tu profilo",
"keyboard_shortcuts.notifications": "Aperir columna de notificationes",
@@ -264,6 +272,8 @@
"lightbox.close": "Clauder",
"lightbox.next": "Sequente",
"lightbox.previous": "Precedente",
+ "limited_account_hint.action": "Monstrar profilo in omne caso",
+ "limited_account_hint.title": "Iste profilo esseva celate per le moderatores de {domain}.",
"link_preview.author": "Per {name}",
"lists.account.add": "Adder al lista",
"lists.account.remove": "Remover del lista",
@@ -278,8 +288,13 @@
"lists.subheading": "Tu listas",
"loading_indicator.label": "Cargante…",
"media_gallery.toggle_visible": "{number, plural, one {Celar imagine} other {Celar imagines}}",
+ "mute_modal.hide_from_notifications": "Celar ab notificationes",
"mute_modal.hide_options": "Celar optiones",
+ "mute_modal.show_options": "Monstrar optiones",
+ "mute_modal.they_can_mention_and_follow": "Illes pote mentionar te e sequer te, ma tu non potera vider los.",
+ "mute_modal.they_wont_know": "Illes non sapera que illes ha essite silentiate.",
"mute_modal.title": "Silentiar le usator?",
+ "mute_modal.you_wont_see_mentions": "Tu non videra messages que los mentiona.",
"navigation_bar.about": "A proposito",
"navigation_bar.advanced_interface": "Aperir in le interfacie web avantiate",
"navigation_bar.blocks": "Usatores blocate",
@@ -304,7 +319,10 @@
"notification.own_poll": "Tu sondage ha finite",
"notification.relationships_severance_event.learn_more": "Apprender plus",
"notification.update": "{name} ha modificate un message",
+ "notification_requests.accept": "Acceptar",
+ "notification_requests.dismiss": "Dimitter",
"notification_requests.notifications_from": "Notificationes de {name}",
+ "notification_requests.title": "Notificationes filtrate",
"notifications.clear": "Rader notificationes",
"notifications.clear_confirmation": "Es tu secur que tu vole rader permanentemente tote tu notificationes?",
"notifications.column_settings.alert": "Notificationes de scriptorio",
@@ -325,6 +343,7 @@
"notifications.filter.statuses": "Actualisationes de personas que tu seque",
"notifications.grant_permission": "Conceder permission.",
"notifications.group": "{count} notificationes",
+ "notifications.mark_as_read": "Marcar cata notification como legite",
"notifications.policy.filter_new_accounts_title": "Nove contos",
"notifications_permission_banner.enable": "Activar notificationes de scriptorio",
"onboarding.compose.template": "Salute #Mastodon!",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index d7e447626e..fd12ee298b 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -354,7 +354,7 @@
"interaction_modal.description.follow": "Con un profilo di Mastodon, puoi seguire {name} per ricevere i suoi post nel feed della tua home.",
"interaction_modal.description.reblog": "Con un profilo di Mastodon, puoi rebloggare questo post per condividerlo con i tuoi seguaci.",
"interaction_modal.description.reply": "Con un profilo di Mastodon, puoi rispondere a questo post.",
- "interaction_modal.login.action": "Torna all’inizio",
+ "interaction_modal.login.action": "Portami alla pagina iniziale",
"interaction_modal.login.prompt": "Dominio del tuo server principale, ad esempio mastodon.social",
"interaction_modal.no_account_yet": "Non su Mastodon?",
"interaction_modal.on_another_server": "Su un altro server",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index f9ef7e242c..b43af3c0aa 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -442,6 +442,8 @@
"notification.own_poll": "Tavo apklausa baigėsi",
"notification.poll": "Apklausa, kurioje balsavai, pasibaigė",
"notification.reblog": "{name} pakėlė tavo įrašą",
+ "notification.relationships_severance_event.learn_more": "Sužinoti daugiau",
+ "notification.relationships_severance_event.user_domain_block": "Tu užblokavai {target}. Pašalinama {followersCount} savo sekėjų ir {followingCount, plural, one {# paskyrą} few {# paskyrai} many {# paskyros} other {# paskyrų}}, kurios seki.",
"notification.status": "{name} ką tik paskelbė",
"notification.update": "{name} redagavo įrašą",
"notification_requests.accept": "Priimti",
@@ -454,6 +456,8 @@
"notifications.column_settings.admin.sign_up": "Naujos registracijos:",
"notifications.column_settings.alert": "Darbalaukio pranešimai",
"notifications.column_settings.favourite": "Mėgstami:",
+ "notifications.column_settings.filter_bar.advanced": "Rodyti visas kategorijas",
+ "notifications.column_settings.filter_bar.category": "Spartaus filtro juosta",
"notifications.column_settings.follow": "Nauji sekėjai:",
"notifications.column_settings.follow_request": "Nauji sekimo prašymai:",
"notifications.column_settings.mention": "Paminėjimai:",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index c47831b389..23960e9f86 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -705,7 +705,7 @@
"status.edited_x_times": "{count, plural, one {{count} keer} other {{count} keer}} bewerkt",
"status.embed": "Embedden",
"status.favourite": "Favoriet",
- "status.favourites": "{count, plural, one {# favoriet} other {# favorieten}}",
+ "status.favourites": "{count, plural, one {favoriet} other {favorieten}}",
"status.filter": "Dit bericht filteren",
"status.filtered": "Gefilterd",
"status.hide": "Bericht verbergen",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 026e198206..95768b811a 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.pending_requests": "Njoftime prej {count, plural, =0 {askujt} one {një personi} other {# vetësh}} që mund të njihni",
"filtered_notifications_banner.private_mentions": "{count, plural, one {përmendje private} other {përmendje private}}",
"filtered_notifications_banner.title": "Njoftime të filtruar",
"firehose.all": "Krejt",
@@ -515,7 +516,9 @@
"notifications.permission_denied": "S’merren dot njoftime në desktop, ngaqë më herët shfletuesit i janë mohuar lejet për këtë",
"notifications.permission_denied_alert": "S’mund të aktivizohen njoftimet në desktop, ngaqë lejet e shfletuesit për këtë janë mohuar më herët",
"notifications.permission_required": "S’merren dot njoftime desktop, ngaqë s’është akorduar leja përkatëse.",
+ "notifications.policy.filter_new_accounts.hint": "Krijuar brenda {days, plural, one {një dite} other {# ditësh}} të shkuara",
"notifications.policy.filter_new_accounts_title": "Llogari të reja",
+ "notifications.policy.filter_not_followers_hint": "Përfshi persona që ju kanë ndjekur brenda më pak se {days, plural, one {një dite} other {# ditësh}}",
"notifications.policy.filter_not_followers_title": "Persona që s’ju ndjekin",
"notifications.policy.filter_not_following_hint": "Deri sa t’i miratoni dorazi",
"notifications.policy.filter_not_following_title": "Persona që s’i ndiqni",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index 85511df8cc..46a6cb7943 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -476,6 +476,7 @@
"notification.relationships_severance_event.account_suspension": "En administratör från {from} har stängt av {target}, vilket innebär att du inte längre kan ta emot uppdateringar från dem eller interagera med dem.",
"notification.relationships_severance_event.domain_block": "En administratör från {from} har blockerat {target}, inklusive {followersCount} av dina följare och {followingCount, plural, one {# konto} other {# konton}} du följer.",
"notification.relationships_severance_event.learn_more": "Läs mer",
+ "notification.relationships_severance_event.user_domain_block": "Du har blockerat {target} och tar därmed bort {followersCount} av dina följare samt {followingCount, plural, one {# konto} other {# konton}} du följer.",
"notification.status": "{name} publicerade just ett inlägg",
"notification.update": "{name} redigerade ett inlägg",
"notification_requests.accept": "Godkänn",
@@ -489,6 +490,7 @@
"notifications.column_settings.alert": "Skrivbordsaviseringar",
"notifications.column_settings.favourite": "Favoriter:",
"notifications.column_settings.filter_bar.advanced": "Visa alla kategorier",
+ "notifications.column_settings.filter_bar.category": "Snabbfilter",
"notifications.column_settings.follow": "Nya följare:",
"notifications.column_settings.follow_request": "Ny följ-förfrågan:",
"notifications.column_settings.mention": "Omnämningar:",
@@ -516,8 +518,11 @@
"notifications.permission_required": "Skrivbordsaviseringar är otillgängliga eftersom att rättigheten som krävs inte har godkänts.",
"notifications.policy.filter_new_accounts.hint": "Skapad inom de senaste {days, plural, one {dagen} other {# dagarna}}",
"notifications.policy.filter_new_accounts_title": "Nya konton",
+ "notifications.policy.filter_not_followers_hint": "Inklusive personer som har följt dig kortare än {days, plural, one {en dag} other {# dagar}}",
"notifications.policy.filter_not_followers_title": "Personer som inte följer dig",
+ "notifications.policy.filter_not_following_hint": "Tills du manuellt godkänner dem",
"notifications.policy.filter_not_following_title": "Personer du inte följer",
+ "notifications.policy.filter_private_mentions_hint": "Filtrerat om det inte är som svar på ditt eget omnämnande eller om du följer avsändaren",
"notifications.policy.filter_private_mentions_title": "Oombedda privata omnämnanden",
"notifications.policy.title": "Filtrera ut aviseringar från…",
"notifications_permission_banner.enable": "Aktivera skrivbordsaviseringar",
@@ -721,6 +726,7 @@
"status.reblog": "Boosta",
"status.reblog_private": "Boosta med ursprunglig synlighet",
"status.reblogged_by": "{name} boostade",
+ "status.reblogs": "{count, plural, one {# röst} other {# röster}}",
"status.reblogs.empty": "Ingen har boostat detta inlägg än. När någon gör det kommer de synas här.",
"status.redraft": "Radera & gör om",
"status.remove_bookmark": "Ta bort bokmärke",
diff --git a/app/javascript/mastodon/uuid.ts b/app/javascript/mastodon/uuid.ts
index 4d0a8a8036..0b4d55beb6 100644
--- a/app/javascript/mastodon/uuid.ts
+++ b/app/javascript/mastodon/uuid.ts
@@ -4,5 +4,6 @@ export function uuid(a?: string): string {
(a as unknown as number) ^
((Math.random() * 16) >> ((a as unknown as number) / 4))
).toString(16)
- : ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
+ : // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
+ ('' + 1e7 + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
}
diff --git a/app/javascript/packs/admin.tsx b/app/javascript/packs/admin.tsx
index 9fee560565..225cb16330 100644
--- a/app/javascript/packs/admin.tsx
+++ b/app/javascript/packs/admin.tsx
@@ -363,6 +363,6 @@ ready(() => {
document.querySelectorAll('[data-admin-component]').forEach((element) => {
void mountReactComponent(element);
});
-}).catch((reason) => {
+}).catch((reason: unknown) => {
throw reason;
});
diff --git a/app/javascript/packs/public.tsx b/app/javascript/packs/public.tsx
index 044faeb296..d45927226c 100644
--- a/app/javascript/packs/public.tsx
+++ b/app/javascript/packs/public.tsx
@@ -69,7 +69,7 @@ window.addEventListener('message', (e) => {
},
'*',
);
- }).catch((e) => {
+ }).catch((e: unknown) => {
console.error('Error in setHeightMessage postMessage', e);
});
});
@@ -206,7 +206,7 @@ function loaded() {
return true;
})
- .catch((error) => {
+ .catch((error: unknown) => {
console.error(error);
});
}
@@ -448,7 +448,7 @@ Rails.delegate(document, '#registration_new_user,#new_user', 'submit', () => {
});
function main() {
- ready(loaded).catch((error) => {
+ ready(loaded).catch((error: unknown) => {
console.error(error);
});
}
@@ -457,6 +457,6 @@ loadPolyfills()
.then(loadLocale)
.then(main)
.then(loadKeyboardExtensions)
- .catch((error) => {
+ .catch((error: unknown) => {
console.error(error);
});
diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss
index 1de90e0016..07e9d9868b 100644
--- a/app/javascript/styles/mastodon-light/diff.scss
+++ b/app/javascript/styles/mastodon-light/diff.scss
@@ -477,10 +477,7 @@ html {
color: $white;
}
-.compose-form,
-.spoiler-input__input,
-.search__input,
-.search__popout {
+.compose-form .spoiler-input__input {
color: lighten($ui-highlight-color, 8%);
}
@@ -488,6 +485,8 @@ html {
.compose-form__highlightable,
.search__input,
.search__popout,
+.emoji-mart-search input,
+.language-dropdown__dropdown .emoji-mart-search input,
.poll__option input[type='text'] {
background: darken($ui-base-color, 10%);
}
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 1e08abc950..97c0f58238 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -2244,14 +2244,14 @@ a.account__display-name {
&.activate {
& > .icon {
animation: spring-rotate-in 1s linear;
- transform-origin: 50% 55%;
+ transform-origin: 50% 52%;
}
}
&.deactivate {
& > .icon {
animation: spring-rotate-out 1s linear;
- transform-origin: 50% 55%;
+ transform-origin: 50% 52%;
}
}
}
diff --git a/app/javascript/styles/mastodon/emoji_picker.scss b/app/javascript/styles/mastodon/emoji_picker.scss
index 14ce6a14b5..9473858371 100644
--- a/app/javascript/styles/mastodon/emoji_picker.scss
+++ b/app/javascript/styles/mastodon/emoji_picker.scss
@@ -112,10 +112,9 @@
border: 0;
}
- &::-moz-focus-inner,
&:focus,
&:active {
- outline: 0 !important;
+ outline: none !important;
}
&::-webkit-search-cancel-button {
diff --git a/app/lib/annual_report/top_statuses.rb b/app/lib/annual_report/top_statuses.rb
index 112e5591ce..1ab1709523 100644
--- a/app/lib/annual_report/top_statuses.rb
+++ b/app/lib/annual_report/top_statuses.rb
@@ -16,6 +16,6 @@ class AnnualReport::TopStatuses < AnnualReport::Source
end
def base_scope
- @account.statuses.with_public_visibility.joins(:status_stat).where(id: year_as_snowflake_range).reorder(nil)
+ @account.statuses.public_visibility.joins(:status_stat).where(id: year_as_snowflake_range).reorder(nil)
end
end
diff --git a/app/views/application/mailer/_feature.html.haml b/app/views/application/mailer/_feature.html.haml
index d051338a9c..5facdd0866 100644
--- a/app/views/application/mailer/_feature.html.haml
+++ b/app/views/application/mailer/_feature.html.haml
@@ -11,10 +11,8 @@
%table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' }
%tr
%td.email-column-td
- - if defined?(feature_title)
- %h2.email-h2= feature_title
- - if defined?(feature_text)
- %p.email-p= feature_text
+ %h2.email-h2= t("user_mailer.welcome.feature_#{feature}_title")
+ %p.email-p= t("user_mailer.welcome.feature_#{feature}")
- if defined?(feature_btn_url)
= link_to '', href: feature_btn_url, class: 'email-link-with-arrow' do
#{t('user_mailer.welcome.feature_action')}
@@ -25,8 +23,8 @@
%table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' }
%tr
%td.email-column-td
- - if defined?(key)
+ - if defined?(feature)
%p{ class: ('email-desktop-text-right' if defined?(text_first_on_desktop) && text_first_on_desktop) }
- = image_tag frontend_asset_url("images/mailer-new/welcome/#{key}.png"), alt: '', width: 240, height: 230
+ = image_tag frontend_asset_url("images/mailer-new/welcome/feature_#{feature}.png"), alt: '', width: 240, height: 230
/[if mso]
diff --git a/app/views/application/mailer/_hashtag.html.haml b/app/views/application/mailer/_hashtag.html.haml
index fcedfa80a5..74a00e67e1 100644
--- a/app/views/application/mailer/_hashtag.html.haml
+++ b/app/views/application/mailer/_hashtag.html.haml
@@ -1,4 +1,4 @@
-- accounts = hashtag.statuses.with_public_visibility.joins(:account).merge(Account.without_suspended.without_silenced).includes(:account).limit(3).map(&:account)
+- accounts = hashtag.statuses.public_visibility.joins(:account).merge(Account.without_suspended.without_silenced).includes(:account).limit(3).map(&:account)
%table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' }
%tr
diff --git a/app/views/user_mailer/welcome.html.haml b/app/views/user_mailer/welcome.html.haml
index 0e55707d36..97fb0a2c97 100644
--- a/app/views/user_mailer/welcome.html.haml
+++ b/app/views/user_mailer/welcome.html.haml
@@ -68,7 +68,7 @@
%table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' }
%tr
%td.email-extra-td
- = render 'application/mailer/feature', key: 'feature_control', feature_title: t('user_mailer.welcome.feature_control_title'), feature_text: t('user_mailer.welcome.feature_control'), text_first_on_desktop: true
- = render 'application/mailer/feature', key: 'feature_audience', feature_title: t('user_mailer.welcome.feature_audience_title'), feature_text: t('user_mailer.welcome.feature_audience'), text_first_on_desktop: false
- = render 'application/mailer/feature', key: 'feature_moderation', feature_title: t('user_mailer.welcome.feature_moderation_title'), feature_text: t('user_mailer.welcome.feature_moderation'), text_first_on_desktop: true
- = render 'application/mailer/feature', key: 'feature_creativity', feature_title: t('user_mailer.welcome.feature_creativity_title'), feature_text: t('user_mailer.welcome.feature_creativity'), text_first_on_desktop: false
+ = render 'application/mailer/feature', feature: 'control', text_first_on_desktop: true
+ = render 'application/mailer/feature', feature: 'audience', text_first_on_desktop: false
+ = render 'application/mailer/feature', feature: 'moderation', text_first_on_desktop: true
+ = render 'application/mailer/feature', feature: 'creativity', text_first_on_desktop: false
diff --git a/config/locales/ia.yml b/config/locales/ia.yml
index ecdf73ef9e..5065ca7bbb 100644
--- a/config/locales/ia.yml
+++ b/config/locales/ia.yml
@@ -15,17 +15,40 @@ ia:
instance_actor_flash: Iste conto es un agente virtual usate pro representar le servitor mesme e non alcun usator individual. Illo es usate pro le federation e non debe esser suspendite.
last_active: ultime activitate
link_verified_on: Le proprietate de iste ligamine ha essite verificate le %{date}
+ posts:
+ one: Message
+ other: Messages
+ posts_tab_heading: Messages
admin:
+ account_moderation_notes:
+ create: Lassar un nota
accounts:
+ add_email_domain_block: Blocar dominio de e-mail
are_you_sure: Es tu secur?
by_domain: Dominio
+ change_email:
+ changed_msg: Email cambiate con successo!
+ current_email: E-mail actual
+ label: Cambiar e-mail
+ new_email: Nove e-mail
+ submit: Cambiar e-mail
+ title: Cambiar e-mail pro %{username}
+ confirm: Confirmar
+ confirmed: Confirmate
+ confirming: In confirmation
custom: Personalisate
delete: Deler datos
deleted: Delite
+ demote: Degradar
+ destroyed_msg: Le datos de %{username} ora es in cauda pro su imminente deletion
disable_two_factor_authentication: Disactivar 2FA
display_name: Nomine visibile
domain: Dominio
+ edit: Modificar
+ email: E-mail
+ email_status: Stato de e-mail
enabled: Activate
+ followers: Sequitores
location:
all: Toto
title: Location
@@ -34,31 +57,50 @@ ia:
most_recent_activity: Activitate plus recente
most_recent_ip: IP plus recente
public: Public
+ redownload: Actualisar profilo
+ resend_confirmation:
+ already_confirmed: Iste usator jam es confirmate
+ send: Reinviar ligamine de confirmation
+ success: Ligamine de confirmation inviate con successo!
reset: Reinitialisar
reset_password: Reinitialisar contrasigno
search: Cercar
+ search_same_email_domain: Altere usatores con le mesme dominio de e-mail
+ search_same_ip: Altere usatores con le mesme IP
security: Securitate
security_measures:
only_password: Solmente contrasigno
password_and_2fa: Contrasigno e 2FA
+ silenced: Limitate
statuses: Messages
+ subscribe: Subscriber
title: Contos
+ unblock_email: Disblocar adresse de e-mail
+ unblocked_email_msg: Adresse de e-mail de %{username} disblocate con successo
+ unconfirmed_email: E-mail non confirmate
username: Nomine de usator
+ view_domain: Vider summario de dominio
action_logs:
action_types:
+ confirm_user: Confirmar le usator
create_announcement: Crear annuncio
destroy_ip_block: Deler le regula IP
destroy_status: Deler le message
destroy_unavailable_domain: Deler le dominio non disponibile
+ disable_2fa_user: Disactivar 2FA
disable_user: Disactivar le usator
enable_user: Activar le usator
reset_password_user: Reinitialisar contrasigno
update_announcement: Actualisar annuncio
update_custom_emoji: Actualisar emoji personalisate
+ update_ip_block: Actualisar le regula IP
+ update_status: Actualisar le message
actions:
change_email_user_html: "%{name} cambiava le adresse de e-mail address del usator %{target}"
create_announcement_html: "%{name} creava un nove annuncio %{target}"
+ deleted_account: conto delite
announcements:
+ destroyed_msg: Annuncio delite con successo!
edit:
title: Modificar annuncio
empty: Necun annuncios trovate.
@@ -80,6 +122,7 @@ ia:
enabled_msg: Emoji activate con successo
new:
title: Adder nove emoji personalisate
+ upload: Incargar
dashboard:
active_users: usatores active
media_storage: Immagazinage de medios
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 12627434a5..dcacb46bf9 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -844,10 +844,10 @@ sq:
elasticsearch_index_mismatch:
message_html: Përshoqërimet e treguesit të Elasticsearch-it janë të vjetruara. Ju lutemi, xhironi tootctl search deploy --only=%{value}
elasticsearch_preset:
- action: Shihni documentimin
+ action: Shihni dokumentimin
message_html: Grupi i instancave tuaja Elasticsearch ka më shumë se një nyjë, por Mastodon-i s’është formësuar t’i përdorë ato.
elasticsearch_preset_single_node:
- action: Shihni documentimin
+ action: Shihni dokumentimin
message_html: Grupi i instancave tuaja Elasticsearch ka vetëm një nyjë, ES_PRESET
i duhet dhënë vlera single_node_cluster
.
elasticsearch_reset_chewy:
message_html: Treguesi juaj i sistemit Elasticsearch është i vjetruar, për shkak të një ndryshimi rregullimesh. Për ta përditësuar, ju lutemi, xhironi tootctl search deploy --reset-chewy
.
@@ -1666,6 +1666,8 @@ sq:
account_suspension: Pezullim llogarie (%{target_name})
domain_block: Pezullim shërbyesi (%{target_name})
user_domain_block: Bllokuat %{target_name}
+ lost_followers: Ndjekës të humbur
+ lost_follows: Ndjekje të humbura
preamble: Mund të humbni ndjekje dhe ndjekës, kur bllokoni një përkatësi, ose kur moderatorët tuaj vendosin të pezullojnë një shërbyes të largët. Kur kjo ndodh, do të jeni në gjendje të shkarkoni lista marrëdhëniesh të dëmtuara, për t’i shqyrtuar dhe mundet për t’i importuar në një shërbyes tjetër.
purged: Hollësitë rreth këtij shërbyesi janë spastuar nga përgjegjësit e shërbyesit tuaj.
type: Akt
diff --git a/yarn.lock b/yarn.lock
index def300701d..02accb2596 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -52,24 +52,24 @@ __metadata:
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5, @babel/compat-data@npm:^7.24.1":
- version: 7.24.1
- resolution: "@babel/compat-data@npm:7.24.1"
- checksum: 10c0/8a1935450345c326b14ea632174696566ef9b353bd0d6fb682456c0774342eeee7654877ced410f24a731d386fdcbf980b75083fc764964d6f816b65792af2f5
+"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5, @babel/compat-data@npm:^7.24.4":
+ version: 7.24.4
+ resolution: "@babel/compat-data@npm:7.24.4"
+ checksum: 10c0/9cd8a9cd28a5ca6db5d0e27417d609f95a8762b655e8c9c97fd2de08997043ae99f0139007083c5e607601c6122e8432c85fe391731b19bf26ad458fa0c60dd3
languageName: node
linkType: hard
"@babel/core@npm:^7.10.4, @babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1":
- version: 7.24.3
- resolution: "@babel/core@npm:7.24.3"
+ version: 7.24.4
+ resolution: "@babel/core@npm:7.24.4"
dependencies:
"@ampproject/remapping": "npm:^2.2.0"
"@babel/code-frame": "npm:^7.24.2"
- "@babel/generator": "npm:^7.24.1"
+ "@babel/generator": "npm:^7.24.4"
"@babel/helper-compilation-targets": "npm:^7.23.6"
"@babel/helper-module-transforms": "npm:^7.23.3"
- "@babel/helpers": "npm:^7.24.1"
- "@babel/parser": "npm:^7.24.1"
+ "@babel/helpers": "npm:^7.24.4"
+ "@babel/parser": "npm:^7.24.4"
"@babel/template": "npm:^7.24.0"
"@babel/traverse": "npm:^7.24.1"
"@babel/types": "npm:^7.24.0"
@@ -78,19 +78,19 @@ __metadata:
gensync: "npm:^1.0.0-beta.2"
json5: "npm:^2.2.3"
semver: "npm:^6.3.1"
- checksum: 10c0/e6e756b6de27d0312514a005688fa1915c521ad4269a388913eff2120a546538078f8488d6d16e86f851872f263cb45a6bbae08738297afb9382600d2ac342a9
+ checksum: 10c0/fc136966583e64d6f84f4a676368de6ab4583aa87f867186068655b30ef67f21f8e65a88c6d446a7efd219ad7ffb9185c82e8a90183ee033f6f47b5026641e16
languageName: node
linkType: hard
-"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.7.2":
- version: 7.24.1
- resolution: "@babel/generator@npm:7.24.1"
+"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.24.4, @babel/generator@npm:^7.7.2":
+ version: 7.24.4
+ resolution: "@babel/generator@npm:7.24.4"
dependencies:
"@babel/types": "npm:^7.24.0"
"@jridgewell/gen-mapping": "npm:^0.3.5"
"@jridgewell/trace-mapping": "npm:^0.3.25"
jsesc: "npm:^2.5.1"
- checksum: 10c0/f0eea7497657cdf68cfb4b7d181588e1498eefd1f303d73b0d8ca9b21a6db27136a6f5beb8f988b6bdcd4249870826080950450fd310951de42ecf36df274881
+ checksum: 10c0/67a1b2f7cc985aaaa11b01e8ddd4fffa4f285837bc7a209738eb8203aa34bdafeb8507ed75fd883ddbabd641a036ca0a8d984e760f28ad4a9d60bff29d0a60bb
languageName: node
linkType: hard
@@ -135,9 +135,9 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-create-class-features-plugin@npm:^7.24.1":
- version: 7.24.1
- resolution: "@babel/helper-create-class-features-plugin@npm:7.24.1"
+"@babel/helper-create-class-features-plugin@npm:^7.24.1, @babel/helper-create-class-features-plugin@npm:^7.24.4":
+ version: 7.24.4
+ resolution: "@babel/helper-create-class-features-plugin@npm:7.24.4"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5"
"@babel/helper-environment-visitor": "npm:^7.22.20"
@@ -150,7 +150,7 @@ __metadata:
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/45372890634c37deefc81f44b7d958fe210f7da7d8a2239c9849c6041a56536f74bf3aa2d115bc06d5680d0dc49c1303f74a045d76ae0dd1592c7d5c0c268ebc
+ checksum: 10c0/6ebb38375dcd44c79f40008c2de4d023376cf436c135439f15c9c54603c2d6a8ada39b2e07be545da684d9e40b602a0cb0d1670f3877d056deb5f0d786c4bf86
languageName: node
linkType: hard
@@ -342,14 +342,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helpers@npm:^7.24.1":
- version: 7.24.1
- resolution: "@babel/helpers@npm:7.24.1"
+"@babel/helpers@npm:^7.24.4":
+ version: 7.24.4
+ resolution: "@babel/helpers@npm:7.24.4"
dependencies:
"@babel/template": "npm:^7.24.0"
"@babel/traverse": "npm:^7.24.1"
"@babel/types": "npm:^7.24.0"
- checksum: 10c0/b3445860ae749fc664682b291f092285e949114e8336784ae29f88eb4c176279b01cc6740005a017a0389ae4b4e928d5bbbc01de7da7e400c972e3d6f792063a
+ checksum: 10c0/747ef62b7fe87de31a2f3c19ff337a86cbb79be2f6c18af63133b614ab5a8f6da5b06ae4b06fb0e71271cb6a27efec6f8b6c9f44c60b8a18777832dc7929e6c5
languageName: node
linkType: hard
@@ -365,12 +365,24 @@ __metadata:
languageName: node
linkType: hard
-"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1":
- version: 7.24.1
- resolution: "@babel/parser@npm:7.24.1"
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1, @babel/parser@npm:^7.24.4":
+ version: 7.24.4
+ resolution: "@babel/parser@npm:7.24.4"
bin:
parser: ./bin/babel-parser.js
- checksum: 10c0/d2a8b99aa5f33182b69d5569367403a40e7c027ae3b03a1f81fd8ac9b06ceb85b31f6ee4267fb90726dc2ac99909c6bdaa9cf16c379efab73d8dfe85cee32c50
+ checksum: 10c0/8381e1efead5069cb7ed2abc3a583f4a86289b2f376c75cecc69f59a8eb36df18274b1886cecf2f97a6a0dff5334b27330f58535be9b3e4e26102cc50e12eac8
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.4":
+ version: 7.24.4
+ resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.4"
+ dependencies:
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-plugin-utils": "npm:^7.24.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/9aed453a1a21e4fd29add0b4a2d82a2c6f43a47c80d28411f8327f2a714064bc93a6f622c701d263970e0d72d7901d28f7f51e91ba91a31306efe8f17c411182
languageName: node
linkType: hard
@@ -700,14 +712,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoping@npm:^7.24.1":
- version: 7.24.1
- resolution: "@babel/plugin-transform-block-scoping@npm:7.24.1"
+"@babel/plugin-transform-block-scoping@npm:^7.24.4":
+ version: 7.24.4
+ resolution: "@babel/plugin-transform-block-scoping@npm:7.24.4"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.24.0"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/1a230ad95d9672626831e22df9b4838901681fa11d44c3811d71ca64ea53f5e87de2abef865f70fe62657053278d9034cc4ea3bab0fd3300bdf9e73b3f85f97a
+ checksum: 10c0/62f55fd1b60a115506e9553c3bf925179b1ab8a42dc31471c4e3ada20573a488b5c5e3317145da352493ef07f1d9750ce1f8a49cb3f39489ac1ab42e5ddc883d
languageName: node
linkType: hard
@@ -723,16 +735,16 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-class-static-block@npm:^7.24.1":
- version: 7.24.1
- resolution: "@babel/plugin-transform-class-static-block@npm:7.24.1"
+"@babel/plugin-transform-class-static-block@npm:^7.24.4":
+ version: 7.24.4
+ resolution: "@babel/plugin-transform-class-static-block@npm:7.24.4"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.24.1"
+ "@babel/helper-create-class-features-plugin": "npm:^7.24.4"
"@babel/helper-plugin-utils": "npm:^7.24.0"
"@babel/plugin-syntax-class-static-block": "npm:^7.14.5"
peerDependencies:
"@babel/core": ^7.12.0
- checksum: 10c0/3095d02b7932890b82346d42200a89a56b6ca7d25a69a94242ab5b1772f18138b8e639358dd70d23add2df8b0d1640e1e13729c2c275ecce550cbe89048ba85f
+ checksum: 10c0/19dfeaf4a2ac03695034f7211a8b5ad89103b224608ac3e91791055107c5fe4d7ebe5d9fbb31b4a91265694af78762260642eb270f4b239c175984ee4b253f80
languageName: node
linkType: hard
@@ -1333,13 +1345,14 @@ __metadata:
linkType: hard
"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4":
- version: 7.24.3
- resolution: "@babel/preset-env@npm:7.24.3"
+ version: 7.24.4
+ resolution: "@babel/preset-env@npm:7.24.4"
dependencies:
- "@babel/compat-data": "npm:^7.24.1"
+ "@babel/compat-data": "npm:^7.24.4"
"@babel/helper-compilation-targets": "npm:^7.23.6"
"@babel/helper-plugin-utils": "npm:^7.24.0"
"@babel/helper-validator-option": "npm:^7.23.5"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.4"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.1"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.1"
"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.24.1"
@@ -1366,9 +1379,9 @@ __metadata:
"@babel/plugin-transform-async-generator-functions": "npm:^7.24.3"
"@babel/plugin-transform-async-to-generator": "npm:^7.24.1"
"@babel/plugin-transform-block-scoped-functions": "npm:^7.24.1"
- "@babel/plugin-transform-block-scoping": "npm:^7.24.1"
+ "@babel/plugin-transform-block-scoping": "npm:^7.24.4"
"@babel/plugin-transform-class-properties": "npm:^7.24.1"
- "@babel/plugin-transform-class-static-block": "npm:^7.24.1"
+ "@babel/plugin-transform-class-static-block": "npm:^7.24.4"
"@babel/plugin-transform-classes": "npm:^7.24.1"
"@babel/plugin-transform-computed-properties": "npm:^7.24.1"
"@babel/plugin-transform-destructuring": "npm:^7.24.1"
@@ -1418,7 +1431,7 @@ __metadata:
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/abd6f3b6c6a71d4ff766cda5b51467677a811240d022492e651065e26ce1a8eb2067eabe5653fce80dda9c5c204fb7b89b419578d7e86eaaf7970929ee7b4885
+ checksum: 10c0/72a79d0cd38cb26f143509dd0c58db34b5b1ae90116863f55a404f0eb06a64a3cdcb1abd0b6435fafe463bbf55b82ffcf56aedee91e8d37797bf53e4ae74c413
languageName: node
linkType: hard
@@ -1483,11 +1496,11 @@ __metadata:
linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
- version: 7.24.1
- resolution: "@babel/runtime@npm:7.24.1"
+ version: 7.24.4
+ resolution: "@babel/runtime@npm:7.24.4"
dependencies:
regenerator-runtime: "npm:^0.14.0"
- checksum: 10c0/500c6a99ddd84f37c7bc5dbc84777af47b1372b20e879941670451d55484faf18a673c5ebee9ca2b0f36208a729417873b35b1b92e76f811620f6adf7b8cb0f1
+ checksum: 10c0/785aff96a3aa8ff97f90958e1e8a7b1d47f793b204b47c6455eaadc3f694f48c97cd5c0a921fe3596d818e71f18106610a164fb0f1c71fd68c622a58269d537c
languageName: node
linkType: hard
@@ -4031,14 +4044,14 @@ __metadata:
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^7.0.0":
- version: 7.1.1
- resolution: "@typescript-eslint/eslint-plugin@npm:7.1.1"
+ version: 7.5.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:7.5.0"
dependencies:
"@eslint-community/regexpp": "npm:^4.5.1"
- "@typescript-eslint/scope-manager": "npm:7.1.1"
- "@typescript-eslint/type-utils": "npm:7.1.1"
- "@typescript-eslint/utils": "npm:7.1.1"
- "@typescript-eslint/visitor-keys": "npm:7.1.1"
+ "@typescript-eslint/scope-manager": "npm:7.5.0"
+ "@typescript-eslint/type-utils": "npm:7.5.0"
+ "@typescript-eslint/utils": "npm:7.5.0"
+ "@typescript-eslint/visitor-keys": "npm:7.5.0"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.4"
@@ -4051,25 +4064,25 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/041799604176bbee01f6ff029c5e2fcf1196db2737ba219a20b095f095dc0064ea425d15dd6dc22eaef294daa838209601ec7bc19317258dfa89a13afb8126ba
+ checksum: 10c0/932a7b5a09c0138ef5a0bf00f8e6039fa209d4047092ffc187de048543c21f7ce24dc14f25f4c87b6f3bbb62335fc952e259e271fde88baf793217bde6460cfa
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^7.0.0":
- version: 7.1.1
- resolution: "@typescript-eslint/parser@npm:7.1.1"
+ version: 7.5.0
+ resolution: "@typescript-eslint/parser@npm:7.5.0"
dependencies:
- "@typescript-eslint/scope-manager": "npm:7.1.1"
- "@typescript-eslint/types": "npm:7.1.1"
- "@typescript-eslint/typescript-estree": "npm:7.1.1"
- "@typescript-eslint/visitor-keys": "npm:7.1.1"
+ "@typescript-eslint/scope-manager": "npm:7.5.0"
+ "@typescript-eslint/types": "npm:7.5.0"
+ "@typescript-eslint/typescript-estree": "npm:7.5.0"
+ "@typescript-eslint/visitor-keys": "npm:7.5.0"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/84eb44f3767aaa1d7b26176348c89bd6732bc711f7f24186b1354eba95bf9e9c65b5675838772b831391210e525ff1f3bd4b51a3130ec35413aa362920effc57
+ checksum: 10c0/65521202ff024e79594272fbb7e4731ecf9d2fdd2f58fc81450bfd2bca94ce9c17b0eadd7338c01701f5cf16d38b6c025ed3fc322380b1e4b5424b7484098cda
languageName: node
linkType: hard
@@ -4083,22 +4096,22 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:7.1.1":
- version: 7.1.1
- resolution: "@typescript-eslint/scope-manager@npm:7.1.1"
+"@typescript-eslint/scope-manager@npm:7.5.0":
+ version: 7.5.0
+ resolution: "@typescript-eslint/scope-manager@npm:7.5.0"
dependencies:
- "@typescript-eslint/types": "npm:7.1.1"
- "@typescript-eslint/visitor-keys": "npm:7.1.1"
- checksum: 10c0/a955c8529f24945d448b95982d06b5f15a74fc5df97307f5821d55e9861d6c26d61cbd118c1ca41634164ed1d4f6c74fcb8388761341c49e6902a6fb72036afc
+ "@typescript-eslint/types": "npm:7.5.0"
+ "@typescript-eslint/visitor-keys": "npm:7.5.0"
+ checksum: 10c0/a017b151a6b39ef591f8e2e65598e005e1b4b2d5494e4b91bddb5856b3a4d57dd8a58d2bc7a140e627eb574f93a2c8fe55f1307aa264c928ffd31d9e190bc5dd
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:7.1.1":
- version: 7.1.1
- resolution: "@typescript-eslint/type-utils@npm:7.1.1"
+"@typescript-eslint/type-utils@npm:7.5.0":
+ version: 7.5.0
+ resolution: "@typescript-eslint/type-utils@npm:7.5.0"
dependencies:
- "@typescript-eslint/typescript-estree": "npm:7.1.1"
- "@typescript-eslint/utils": "npm:7.1.1"
+ "@typescript-eslint/typescript-estree": "npm:7.5.0"
+ "@typescript-eslint/utils": "npm:7.5.0"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.0.1"
peerDependencies:
@@ -4106,7 +4119,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/6f19dc383718cce42ed7262d134f5f0221bcbf225fea28975cd714c90e57d861608d5187c7ad731f6281813f94b00f22282a99a8a852167366064abc6e256341
+ checksum: 10c0/12915d4d1872638f5281e222a0d191676c478f250699c84864862e95a59e708222acefbf7ffdafc0872a007261219a3a2b1e667ff45eeafea7c4bcc5b955262c
languageName: node
linkType: hard
@@ -4117,10 +4130,10 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:7.1.1":
- version: 7.1.1
- resolution: "@typescript-eslint/types@npm:7.1.1"
- checksum: 10c0/2bef95ec0c60e67fada336db3e82fac2be16c21a9e54fc45c7aeda3291abcceefa12aa970025db88bc2b3e113b1e70abd7f89c2a651c16b816dff1a0c46e7907
+"@typescript-eslint/types@npm:7.5.0":
+ version: 7.5.0
+ resolution: "@typescript-eslint/types@npm:7.5.0"
+ checksum: 10c0/f3394f71f422dbd89f63b230f20e9769c12e47a287ff30ca03a80714e57ea21279b6f12a8ab14bafb00b59926f20a88894b2d1e72679f7ff298bae112679d4b3
languageName: node
linkType: hard
@@ -4143,12 +4156,12 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:7.1.1":
- version: 7.1.1
- resolution: "@typescript-eslint/typescript-estree@npm:7.1.1"
+"@typescript-eslint/typescript-estree@npm:7.5.0":
+ version: 7.5.0
+ resolution: "@typescript-eslint/typescript-estree@npm:7.5.0"
dependencies:
- "@typescript-eslint/types": "npm:7.1.1"
- "@typescript-eslint/visitor-keys": "npm:7.1.1"
+ "@typescript-eslint/types": "npm:7.5.0"
+ "@typescript-eslint/visitor-keys": "npm:7.5.0"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -4158,24 +4171,24 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/2cec9d21cfe46e523a6d29aff554e5450edf1ee30ce9cf644ee8f1f5e1cfd44b94afb3632db97a949c86c4a392ae80f264d56d8747b2b0fdbe5c54139433366a
+ checksum: 10c0/ea3a270c725d6be273188b86110e0393052cd64d1c54a56eb5ea405e6d3fbbe84fb3b1ce1b8496a4078ac1eefd37aedcf12be91876764f6de31d5aa5131c7bcd
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:7.1.1":
- version: 7.1.1
- resolution: "@typescript-eslint/utils@npm:7.1.1"
+"@typescript-eslint/utils@npm:7.5.0":
+ version: 7.5.0
+ resolution: "@typescript-eslint/utils@npm:7.5.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.12"
"@types/semver": "npm:^7.5.0"
- "@typescript-eslint/scope-manager": "npm:7.1.1"
- "@typescript-eslint/types": "npm:7.1.1"
- "@typescript-eslint/typescript-estree": "npm:7.1.1"
+ "@typescript-eslint/scope-manager": "npm:7.5.0"
+ "@typescript-eslint/types": "npm:7.5.0"
+ "@typescript-eslint/typescript-estree": "npm:7.5.0"
semver: "npm:^7.5.4"
peerDependencies:
eslint: ^8.56.0
- checksum: 10c0/3e70834c5b49e4643ec8da63fa2acaab54283a566af2cedcd4c2f4210833a59bf71c459dde69e738115633c7de9f1339130552ff246e8e1bb4db26910685408b
+ checksum: 10c0/c815ed6909769648953d6963c069038f7cac0c979051b25718feb30e0d3337b9647b75b8de00ac03fe960f0cc8dc4e8a81d4aac4719090a99785e0068712bd24
languageName: node
linkType: hard
@@ -4206,13 +4219,13 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:7.1.1":
- version: 7.1.1
- resolution: "@typescript-eslint/visitor-keys@npm:7.1.1"
+"@typescript-eslint/visitor-keys@npm:7.5.0":
+ version: 7.5.0
+ resolution: "@typescript-eslint/visitor-keys@npm:7.5.0"
dependencies:
- "@typescript-eslint/types": "npm:7.1.1"
+ "@typescript-eslint/types": "npm:7.5.0"
eslint-visitor-keys: "npm:^3.4.1"
- checksum: 10c0/1ab19ec966ff0b86317eddcbfcda645856ec01c3b76a451298031f35e4da0a363e4888ce5ae9e2526e874799a502c49922d83d57d21cb6fef7f3912f51e4a271
+ checksum: 10c0/eecf02b8dd54e83738a143aca87b902af4b357028a90fd34ed7a2f40a3ae2f6a188b9ba53903f23c80e868f1fffbb039e9ddb63525438d659707cc7bfb269317
languageName: node
linkType: hard
@@ -7803,8 +7816,8 @@ __metadata:
linkType: hard
"eslint-plugin-jsdoc@npm:^48.0.0":
- version: 48.2.1
- resolution: "eslint-plugin-jsdoc@npm:48.2.1"
+ version: 48.2.2
+ resolution: "eslint-plugin-jsdoc@npm:48.2.2"
dependencies:
"@es-joy/jsdoccomment": "npm:~0.42.0"
are-docs-informative: "npm:^0.0.2"
@@ -7817,7 +7830,7 @@ __metadata:
spdx-expression-parse: "npm:^4.0.0"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
- checksum: 10c0/92237f08b7dadb21f9eda50eda00bf69ac5e0bfcb9d179bf118e096178d7dc4a62b34fd01b3b7b0ba1142ff6e13814cfe2cf9a60c6cfcc879559b6b509d0d4e1
+ checksum: 10c0/d6911e73d36757de5aef127e795116fbbcdef504f7e91d9c0863faf0b1693271d96188f0f1d54c0d74c56652bfa3fb4f1aa1a2f0876b0c6a5e57a874bcb3ac2b
languageName: node
linkType: hard
@@ -7866,8 +7879,8 @@ __metadata:
linkType: hard
"eslint-plugin-react@npm:^7.33.2":
- version: 7.34.0
- resolution: "eslint-plugin-react@npm:7.34.0"
+ version: 7.34.1
+ resolution: "eslint-plugin-react@npm:7.34.1"
dependencies:
array-includes: "npm:^3.1.7"
array.prototype.findlast: "npm:^1.2.4"
@@ -7889,7 +7902,7 @@ __metadata:
string.prototype.matchall: "npm:^4.0.10"
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
- checksum: 10c0/9bf0b959373ace66e799adbbfb493a7ceae54751e8f90fcce1da1a2a67b277ee23ba845571eaa4d4f05d96dba4e4977bf938b350f18bad26201fa616ee6aa4b8
+ checksum: 10c0/7c61b1314d37a4ac2f2474f9571f801f1a1a5d81dcd4abbb5d07145406518722fb792367267757ee116bde254be9753242d6b93c9619110398b3fe1746e4848c
languageName: node
linkType: hard
@@ -12818,10 +12831,10 @@ __metadata:
languageName: node
linkType: hard
-"pg-connection-string@npm:^2.6.0, pg-connection-string@npm:^2.6.3":
- version: 2.6.3
- resolution: "pg-connection-string@npm:2.6.3"
- checksum: 10c0/e7eab3a2bb8dec5067fab8a46c90d8f7920946d46ad771a410de3929490c676ee91950424d4405295dd0fde5acbd39ccd99afd603a15d616d0a4a6fa9bf80ad7
+"pg-connection-string@npm:^2.6.0, pg-connection-string@npm:^2.6.4":
+ version: 2.6.4
+ resolution: "pg-connection-string@npm:2.6.4"
+ checksum: 10c0/0d0b617df0fc6507bf6a94bdcd56c7a305788a1402d69bff9773350947c8f525d6d8136128065370749a3325e99658ae40fbdcce620fb8e60126181f0591a6a6
languageName: node
linkType: hard
@@ -12884,11 +12897,11 @@ __metadata:
linkType: hard
"pg@npm:^8.5.0":
- version: 8.11.4
- resolution: "pg@npm:8.11.4"
+ version: 8.11.5
+ resolution: "pg@npm:8.11.5"
dependencies:
pg-cloudflare: "npm:^1.1.1"
- pg-connection-string: "npm:^2.6.3"
+ pg-connection-string: "npm:^2.6.4"
pg-pool: "npm:^3.6.2"
pg-protocol: "npm:^1.6.1"
pg-types: "npm:^2.1.0"
@@ -12901,7 +12914,7 @@ __metadata:
peerDependenciesMeta:
pg-native:
optional: true
- checksum: 10c0/b3e473c52572be259a7418ee506a0ee9d66121971e73fe8cdf584addb9ef4d34cf66ea5c8a99ad9226c421d31a1848c39225bd201743ddd529276de1dec81e46
+ checksum: 10c0/20f29a41a99bad5931faf4d4a01e7be7fb27e5b5338fdfb06d2368e295c3d3d4ef49958ad57d2b17bad108e5c84574db6244ed8221e6b77a767f64ef12564119
languageName: node
linkType: hard
@@ -15311,15 +15324,15 @@ __metadata:
linkType: hard
"sass@npm:^1.62.1":
- version: 1.72.0
- resolution: "sass@npm:1.72.0"
+ version: 1.74.1
+ resolution: "sass@npm:1.74.1"
dependencies:
chokidar: "npm:>=3.0.0 <4.0.0"
immutable: "npm:^4.0.0"
source-map-js: "npm:>=0.6.2 <2.0.0"
bin:
sass: sass.js
- checksum: 10c0/7df1bb470648edc4b528976b1b165c78d4c6731f680afac7cdc8324142f1ef4304598d317d98dac747a2ae8eee17271d760def90bba072021a8b19b459336ccd
+ checksum: 10c0/4610257ee27823276ce4998a534b4ee9f313e5a0b3d3899e70e0f87096feeae4cd8dd3c2f765b52f57dd87f5dab22370ef63f95a837a189fbb9401396d5ce717
languageName: node
linkType: hard