diff --git a/.env.production.sample b/.env.production.sample index a32c6519e1..f687053d50 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -71,7 +71,6 @@ DB_PORT=5432 # Generate each with the `RAILS_ENV=production bundle exec rails secret` task (`docker-compose run --rm web bundle exec rails secret` if you use docker compose) # ------- SECRET_KEY_BASE= -OTP_SECRET= # Encryption secrets # ------------------ diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml index 2fa28a587c..3efa35bc03 100644 --- a/.github/workflows/test-ruby.yml +++ b/.github/workflows/test-ruby.yml @@ -143,7 +143,7 @@ jobs: uses: ./.github/actions/setup-ruby with: ruby-version: ${{ matrix.ruby-version}} - additional-system-dependencies: ffmpeg imagemagick libpam-dev + additional-system-dependencies: ffmpeg libpam-dev - name: Load database schema run: | @@ -173,8 +173,8 @@ jobs: env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - test-libvips: - name: Libvips tests + test-imagemagick: + name: ImageMagick tests runs-on: ubuntu-latest needs: @@ -220,7 +220,7 @@ jobs: CAS_ENABLED: true BUNDLE_WITH: 'pam_authentication test' GITHUB_RSPEC: ${{ matrix.ruby-version == '.ruby-version' && github.event.pull_request && 'true' }} - MASTODON_USE_LIBVIPS: true + MASTODON_USE_LIBVIPS: false strategy: fail-fast: false @@ -245,7 +245,7 @@ jobs: uses: ./.github/actions/setup-ruby with: ruby-version: ${{ matrix.ruby-version}} - additional-system-dependencies: ffmpeg libpam-dev + additional-system-dependencies: ffmpeg imagemagick libpam-dev - name: Load database schema run: './bin/rails db:create db:schema:load db:seed' @@ -324,7 +324,7 @@ jobs: uses: ./.github/actions/setup-ruby with: ruby-version: ${{ matrix.ruby-version}} - additional-system-dependencies: ffmpeg imagemagick + additional-system-dependencies: ffmpeg - name: Set up Javascript environment uses: ./.github/actions/setup-javascript @@ -443,7 +443,7 @@ jobs: uses: ./.github/actions/setup-ruby with: ruby-version: ${{ matrix.ruby-version}} - additional-system-dependencies: ffmpeg imagemagick + additional-system-dependencies: ffmpeg - name: Set up Javascript environment uses: ./.github/actions/setup-javascript diff --git a/Gemfile b/Gemfile index e2d1a66751..126d1bebbd 100644 --- a/Gemfile +++ b/Gemfile @@ -78,7 +78,6 @@ gem 'rack-cors', '~> 2.0', require: 'rack/cors' gem 'rails-i18n', '~> 8.0' gem 'redcarpet', '~> 3.6' gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis'] -gem 'redis-namespace', '~> 1.10' gem 'rqrcode', '~> 3.0' gem 'ruby-progressbar', '~> 1.13' gem 'sanitize', '~> 7.0' diff --git a/Gemfile.lock b/Gemfile.lock index 0f22fe4368..d47d6ab91b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -696,8 +696,6 @@ GEM psych (>= 4.0.0) redcarpet (3.6.1) redis (4.8.1) - redis-namespace (1.11.0) - redis (>= 4) redlock (1.3.2) redis (>= 3.0.0, < 6.0) regexp_parser (2.10.0) @@ -1046,7 +1044,6 @@ DEPENDENCIES rdf-normalize (~> 0.5) redcarpet (~> 3.6) redis (~> 4.5) - redis-namespace (~> 1.10) rqrcode (~> 3.0) rspec-github (~> 3.0) rspec-rails (~> 8.0) diff --git a/README.md b/README.md index f1c6cd4322..008393b118 100644 --- a/README.md +++ b/README.md @@ -73,10 +73,10 @@ Mastodon is a **free, open-source social network server** based on ActivityPub w ### Requirements -- **PostgreSQL** 12+ -- **Redis** 4+ +- **PostgreSQL** 13+ +- **Redis** 6.2+ - **Ruby** 3.2+ -- **Node.js** 18+ +- **Node.js** 20+ The repository includes deployment configurations for **Docker and docker-compose** as well as specific platforms like **Heroku**, and **Scalingo**. For Helm charts, reference the [mastodon/chart repository](https://github.com/mastodon/chart). The [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation. diff --git a/app.json b/app.json index 5e5a3dc1e7..fe8415be3c 100644 --- a/app.json +++ b/app.json @@ -17,10 +17,6 @@ "description": "The secret key base", "generator": "secret" }, - "OTP_SECRET": { - "description": "One-time password secret", - "generator": "secret" - }, "SINGLE_USER_MODE": { "description": "Should the instance run in single user mode? (Disable registrations, redirect to front page)", "value": "false", diff --git a/app/controllers/admin/rules_controller.rb b/app/controllers/admin/rules_controller.rb index 837eb91489..58d52e6291 100644 --- a/app/controllers/admin/rules_controller.rb +++ b/app/controllers/admin/rules_controller.rb @@ -7,7 +7,7 @@ module Admin def index authorize :rule, :index? - @rules = Rule.ordered + @rules = Rule.ordered.includes(:translations) end def new @@ -27,7 +27,6 @@ module Admin if @rule.save redirect_to admin_rules_path else - @rules = Rule.ordered render :new end end @@ -50,6 +49,22 @@ module Admin redirect_to admin_rules_path end + def move_up + authorize @rule, :update? + + @rule.move!(-1) + + redirect_to admin_rules_path + end + + def move_down + authorize @rule, :update? + + @rule.move!(+1) + + redirect_to admin_rules_path + end + private def set_rule @@ -58,7 +73,7 @@ module Admin def resource_params params - .expect(rule: [:text, :hint, :priority]) + .expect(rule: [:text, :hint, :priority, translations_attributes: [[:id, :language, :text, :hint, :_destroy]]]) end end end diff --git a/app/controllers/api/v1/instances/rules_controller.rb b/app/controllers/api/v1/instances/rules_controller.rb index 3930eec0dd..2b6e534875 100644 --- a/app/controllers/api/v1/instances/rules_controller.rb +++ b/app/controllers/api/v1/instances/rules_controller.rb @@ -18,6 +18,6 @@ class Api::V1::Instances::RulesController < Api::V1::Instances::BaseController private def set_rules - @rules = Rule.ordered + @rules = Rule.ordered.includes(:translations) end end diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index 0b6f5b3af4..973724cf7c 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -126,7 +126,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController end def set_rules - @rules = Rule.ordered + @rules = Rule.ordered.includes(:translations) end def require_rules_acceptance! diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb index 250573fc7d..2808066aaf 100644 --- a/app/controllers/auth/sessions_controller.rb +++ b/app/controllers/auth/sessions_controller.rb @@ -177,9 +177,7 @@ class Auth::SessionsController < Devise::SessionsController ) # Only send a notification email every hour at most - return if redis.get("2fa_failure_notification:#{user.id}").present? - - redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour) + return if redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour, get: true).present? UserMailer.failed_2fa(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later! end diff --git a/app/javascript/mastodon/components/account.tsx b/app/javascript/mastodon/components/account.tsx index f6241504f6..87e9a6eccf 100644 --- a/app/javascript/mastodon/components/account.tsx +++ b/app/javascript/mastodon/components/account.tsx @@ -11,9 +11,12 @@ import { unblockAccount, muteAccount, unmuteAccount, + followAccountSuccess, } from 'mastodon/actions/accounts'; +import { showAlertForError } from 'mastodon/actions/alerts'; import { openModal } from 'mastodon/actions/modal'; import { initMuteModal } from 'mastodon/actions/mutes'; +import { apiFollowAccount } from 'mastodon/api/accounts'; import { Avatar } from 'mastodon/components/avatar'; import { Button } from 'mastodon/components/button'; import { FollowersCounter } from 'mastodon/components/counters'; @@ -24,6 +27,7 @@ import { RelativeTimestamp } from 'mastodon/components/relative_timestamp'; import { ShortNumber } from 'mastodon/components/short_number'; import { Skeleton } from 'mastodon/components/skeleton'; import { VerifiedBadge } from 'mastodon/components/verified_badge'; +import { me } from 'mastodon/initial_state'; import type { MenuItem } from 'mastodon/models/dropdown_menu'; import { useAppSelector, useAppDispatch } from 'mastodon/store'; @@ -113,14 +117,43 @@ export const Account: React.FC<{ ]; } else if (defaultAction !== 'block') { const handleAddToLists = () => { - dispatch( - openModal({ - modalType: 'LIST_ADDER', - modalProps: { - accountId: id, - }, - }), - ); + const openAddToListModal = () => { + dispatch( + openModal({ + modalType: 'LIST_ADDER', + modalProps: { + accountId: id, + }, + }), + ); + }; + if (relationship?.following || relationship?.requested || id === me) { + openAddToListModal(); + } else { + dispatch( + openModal({ + modalType: 'CONFIRM_FOLLOW_TO_LIST', + modalProps: { + accountId: id, + onConfirm: () => { + apiFollowAccount(id) + .then((relationship) => { + dispatch( + followAccountSuccess({ + relationship, + alreadyFollowing: false, + }), + ); + openAddToListModal(); + }) + .catch((err: unknown) => { + dispatch(showAlertForError(err)); + }); + }, + }, + }), + ); + } }; arr = [ diff --git a/app/javascript/mastodon/features/about/index.jsx b/app/javascript/mastodon/features/about/index.jsx index 34e84506f0..f2ea16a952 100644 --- a/app/javascript/mastodon/features/about/index.jsx +++ b/app/javascript/mastodon/features/about/index.jsx @@ -44,6 +44,7 @@ const severityMessages = { const mapStateToProps = state => ({ server: state.getIn(['server', 'server']), + locale: state.getIn(['meta', 'locale']), extendedDescription: state.getIn(['server', 'extendedDescription']), domainBlocks: state.getIn(['server', 'domainBlocks']), }); @@ -91,6 +92,7 @@ class About extends PureComponent { static propTypes = { server: ImmutablePropTypes.map, + locale: ImmutablePropTypes.string, extendedDescription: ImmutablePropTypes.map, domainBlocks: ImmutablePropTypes.contains({ isLoading: PropTypes.bool, @@ -114,7 +116,7 @@ class About extends PureComponent { }; render () { - const { multiColumn, intl, server, extendedDescription, domainBlocks } = this.props; + const { multiColumn, intl, server, extendedDescription, domainBlocks, locale } = this.props; const isLoading = server.get('isLoading'); return ( @@ -168,12 +170,15 @@ class About extends PureComponent {

) : (
    - {server.get('rules').map(rule => ( -
  1. -
    {rule.get('text')}
    - {rule.get('hint').length > 0 && (
    {rule.get('hint')}
    )} -
  2. - ))} + {server.get('rules').map(rule => { + const text = rule.getIn(['translations', locale, 'text']) || rule.get('text'); + const hint = rule.getIn(['translations', locale, 'hint']) || rule.get('hint'); + return ( +
  3. +
    {text}
    + {hint.length > 0 && (
    {hint}
    )} +
  4. + )})}
))} diff --git a/app/javascript/mastodon/features/report/rules.jsx b/app/javascript/mastodon/features/report/rules.jsx index 621f140adb..dff3769379 100644 --- a/app/javascript/mastodon/features/report/rules.jsx +++ b/app/javascript/mastodon/features/report/rules.jsx @@ -12,6 +12,7 @@ import Option from './components/option'; const mapStateToProps = state => ({ rules: state.getIn(['server', 'server', 'rules']), + locale: state.getIn(['meta', 'locale']), }); class Rules extends PureComponent { @@ -19,6 +20,7 @@ class Rules extends PureComponent { static propTypes = { onNextStep: PropTypes.func.isRequired, rules: ImmutablePropTypes.list, + locale: PropTypes.string, selectedRuleIds: ImmutablePropTypes.set.isRequired, onToggle: PropTypes.func.isRequired, }; @@ -34,7 +36,7 @@ class Rules extends PureComponent { }; render () { - const { rules, selectedRuleIds } = this.props; + const { rules, locale, selectedRuleIds } = this.props; return ( <> @@ -49,7 +51,7 @@ class Rules extends PureComponent { value={item.get('id')} checked={selectedRuleIds.includes(item.get('id'))} onToggle={this.handleRulesToggle} - label={item.get('text')} + label={item.getIn(['translations', locale, 'text']) || item.get('text')} multiple /> ))} diff --git a/app/javascript/mastodon/features/video/components/hotkey_indicator.tsx b/app/javascript/mastodon/features/video/components/hotkey_indicator.tsx index 1abbb96fc0..6251729273 100644 --- a/app/javascript/mastodon/features/video/components/hotkey_indicator.tsx +++ b/app/javascript/mastodon/features/video/components/hotkey_indicator.tsx @@ -24,7 +24,9 @@ export const HotkeyIndicator: React.FC<{ enter: [{ opacity: 1 }], leave: [{ opacity: 0 }], onRest: (_result, _ctrl, item) => { - onDismiss(item); + if (item) { + onDismiss(item); + } }, }); diff --git a/app/javascript/mastodon/features/video/index.tsx b/app/javascript/mastodon/features/video/index.tsx index 0d1ecddcba..e9c3cdefb6 100644 --- a/app/javascript/mastodon/features/video/index.tsx +++ b/app/javascript/mastodon/features/video/index.tsx @@ -346,8 +346,10 @@ export const Video: React.FC<{ const updateProgress = () => { nextFrame = requestAnimationFrame(() => { if (videoRef.current) { + const progress = + videoRef.current.currentTime / videoRef.current.duration; void api.start({ - progress: `${(videoRef.current.currentTime / videoRef.current.duration) * 100}%`, + progress: isNaN(progress) ? '0%' : `${progress * 100}%`, immediate: reduceMotion, config: config.stiff, }); diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 787fb4c6fc..85d22ed018 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -52,7 +52,7 @@ "account.joined_short": "S'hi va unir", "account.languages": "Canvia les llengües subscrites", "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}", - "account.locked_info": "L'estat de privadesa del compte està definit com a blocat. El propietari revisa manualment qui pot seguir-lo.", + "account.locked_info": "L'estat de privacitat del compte està definit com a blocat. El propietari revisa manualment qui pot seguir-lo.", "account.media": "Contingut", "account.mention": "Menciona @{name}", "account.moved_to": "{name} ha indicat que el seu nou compte és:", @@ -727,7 +727,7 @@ "privacy.unlisted.long": "Menys fanfàrries algorísmiques", "privacy.unlisted.short": "Públic silenciós", "privacy_policy.last_updated": "Darrera actualització {date}", - "privacy_policy.title": "Política de privadesa", + "privacy_policy.title": "Política de Privacitat", "recommended": "Recomanat", "refresh": "Actualitza", "regeneration_indicator.please_stand_by": "Espereu.", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 0337c3736c..001aab2005 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -28,7 +28,11 @@ "account.edit_profile": "Cuir an phróifíl in eagar", "account.enable_notifications": "Cuir mé in eol nuair bpostálann @{name}", "account.endorse": "Cuir ar an phróifíl mar ghné", + "account.familiar_followers_many": "Ina dhiaidh sin ag {name1}, {name2}, agus {othersCount, plural, \n one {duine eile atá aithnid duit} \n two {# duine eile atá aithnid duit} \n few {# dhuine eile atá aithnid duit} \n many {# nduine eile atá aithnid duit} \n other {# duine eile atá aithnid duit}}", + "account.familiar_followers_one": "Ina dhiaidh sin {name1}", + "account.familiar_followers_two": "Ina dhiaidh sin tá {name1} agus {name2}", "account.featured": "Faoi thrácht", + "account.featured.accounts": "Próifílí", "account.featured.hashtags": "Haischlibeanna", "account.featured.posts": "Poist", "account.featured_tags.last_status_at": "Postáil is déanaí ar {date}", @@ -405,8 +409,10 @@ "hashtag.counter_by_accounts": "{count, plural, one {{counter} rannpháirtí} two {{counter} rannpháirtí} few {{counter} rannpháirtí} many {{counter} rannpháirtí} other {{counter} rannpháirtí}}", "hashtag.counter_by_uses": "{count, plural, one {{counter} post} two {{counter} post} few {{counter} post} many {{counter} post} other {{counter} poist}}", "hashtag.counter_by_uses_today": "{count, plural, one {{counter} post inniu} other {{counter} poist inniu}} inniu", + "hashtag.feature": "Gné ar phróifíl", "hashtag.follow": "Lean haischlib", "hashtag.mute": "Balbhaigh #{hashtag}", + "hashtag.unfeature": "Ná cuir le feiceáil ar phróifíl", "hashtag.unfollow": "Ná lean haischlib", "hashtags.and_other": "agus {count, plural, one {} two {# níos} few {# níos} many {# níos} other {# níos}}", "hints.profiles.followers_may_be_missing": "Seans go bhfuil leantóirí don phróifíl seo in easnamh.", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 51275bfaee..9db5c4dfbd 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -391,7 +391,7 @@ "footer.privacy_policy": "Política de privacidade", "footer.source_code": "Ver código fonte", "footer.status": "Estado", - "footer.terms_of_service": "Termos do servizo", + "footer.terms_of_service": "Condicións do servizo", "generic.saved": "Gardado", "getting_started.heading": "Primeiros pasos", "hashtag.admin_moderation": "Abrir interface de moderación para ##{name}", @@ -894,7 +894,7 @@ "tabs_bar.home": "Inicio", "tabs_bar.notifications": "Notificacións", "terms_of_service.effective_as_of": "Con efecto desde o {date}", - "terms_of_service.title": "Termos do Servizo", + "terms_of_service.title": "Condicións do Servizo", "terms_of_service.upcoming_changes_on": "Cambios por vir o {date}", "time_remaining.days": "Remata en {number, plural, one {# día} other {# días}}", "time_remaining.hours": "Remata en {number, plural, one {# hora} other {# horas}}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 97f9b7d387..b4edfd4818 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -28,6 +28,7 @@ "account.edit_profile": "Profil szerkesztése", "account.enable_notifications": "Figyelmeztessen, ha @{name} bejegyzést tesz közzé", "account.endorse": "Kiemelés a profilodon", + "account.familiar_followers_many": "{name1}, {name2} és még {othersCount, plural, one {egy valaki} other {# valaki}}, akit ismersz", "account.familiar_followers_one": "{name1} követi", "account.familiar_followers_two": "{name1} és {name2} követi", "account.featured": "Kiemelt", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index cd08fb6f25..e6d7297391 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -28,6 +28,9 @@ "account.edit_profile": "Rediger profil", "account.enable_notifications": "Varsle meg når @{name} skriv innlegg", "account.endorse": "Vis på profilen", + "account.familiar_followers_many": "Fylgt av {name1}, {name2}, og {othersCount, plural, one {ein annan du kjenner} other {# andre du kjenner}}", + "account.familiar_followers_one": "Fylgt av {name1}", + "account.familiar_followers_two": "Fylgt av {name1} og {name2}", "account.featured": "Utvald", "account.featured.accounts": "Profilar", "account.featured.hashtags": "Emneknaggar", diff --git a/app/javascript/material-icons/400-24px/arrow_downward-fill.svg b/app/javascript/material-icons/400-24px/arrow_downward-fill.svg new file mode 100644 index 0000000000..a9157219ca --- /dev/null +++ b/app/javascript/material-icons/400-24px/arrow_downward-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/arrow_downward.svg b/app/javascript/material-icons/400-24px/arrow_downward.svg new file mode 100644 index 0000000000..a9157219ca --- /dev/null +++ b/app/javascript/material-icons/400-24px/arrow_downward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/arrow_upward-fill.svg b/app/javascript/material-icons/400-24px/arrow_upward-fill.svg new file mode 100644 index 0000000000..1ec54b0702 --- /dev/null +++ b/app/javascript/material-icons/400-24px/arrow_upward-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/arrow_upward.svg b/app/javascript/material-icons/400-24px/arrow_upward.svg new file mode 100644 index 0000000000..1ec54b0702 --- /dev/null +++ b/app/javascript/material-icons/400-24px/arrow_upward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/javascript/styles/contrast/variables.scss b/app/javascript/styles/contrast/variables.scss index b3feee1ca4..a494b96832 100644 --- a/app/javascript/styles/contrast/variables.scss +++ b/app/javascript/styles/contrast/variables.scss @@ -1,7 +1,7 @@ @use '../mastodon/functions' as *; // Dependent colors -$black: #000000; +$black: #000; $classic-base-color: hsl(240deg, 16%, 19%); $classic-primary-color: hsl(240deg, 29%, 70%); diff --git a/app/javascript/styles/entrypoints/mailer.scss b/app/javascript/styles/entrypoints/mailer.scss index 876fb21024..7d2a54afae 100644 --- a/app/javascript/styles/entrypoints/mailer.scss +++ b/app/javascript/styles/entrypoints/mailer.scss @@ -2,7 +2,7 @@ body { accent-color: #6364ff; - word-break: break-word; + overflow-wrap: anywhere; margin: 0; background-color: #f3f2f5; padding: 0; @@ -45,7 +45,7 @@ table + p { .email { min-width: 280px; font-family: Inter, 'Lucida Grande', sans-serif; - word-break: break-word; + overflow-wrap: anywhere; color: #17063b; background-color: #f3f2f5; } diff --git a/app/javascript/styles/fonts/inter.scss b/app/javascript/styles/fonts/inter.scss index e155f772be..816fc75b85 100644 --- a/app/javascript/styles/fonts/inter.scss +++ b/app/javascript/styles/fonts/inter.scss @@ -4,5 +4,5 @@ format('woff2-variations'); font-weight: 100 900; font-style: normal; - mso-generic-font-family: swiss; /* stylelint-disable-line property-no-unknown -- Proprietary property for Outlook on Windows. */ + mso-generic-font-family: swiss; } diff --git a/app/javascript/styles/mastodon-light/variables.scss b/app/javascript/styles/mastodon-light/variables.scss index 68596e4470..a6a5e5556b 100644 --- a/app/javascript/styles/mastodon-light/variables.scss +++ b/app/javascript/styles/mastodon-light/variables.scss @@ -5,8 +5,8 @@ $lighten-multiplier: -1 ); -$black: #000000; // Black -$white: #ffffff; // White +$black: #000; // Black +$white: #fff; // White $blurple-500: #6364ff; // Brand purple $grey-600: hsl(240deg, 8%, 33%); // Trout $grey-100: hsl(240deg, 51%, 90%); // Topaz diff --git a/app/javascript/styles/mastodon/_variables.scss b/app/javascript/styles/mastodon/_variables.scss index c2664d1dcd..d528cba6c4 100644 --- a/app/javascript/styles/mastodon/_variables.scss +++ b/app/javascript/styles/mastodon/_variables.scss @@ -2,8 +2,8 @@ @use 'functions' as *; // Commonly used web colors -$black: #000000; // Black -$white: #ffffff; // White +$black: #000; // Black +$white: #fff; // White $red-600: #b7253d !default; // Deep Carmine $red-500: #df405a !default; // Cerise $blurple-600: #563acc; // Iris diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index 2ec45f5df5..a43420b9e1 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -114,15 +114,14 @@ $content-width: 840px; a { font-size: 14px; - display: block; + display: flex; + align-items: center; + gap: 6px; padding: 15px; color: $darker-text-color; text-decoration: none; transition: all 200ms linear; transition-property: color, background-color; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; &:hover { color: $primary-text-color; @@ -1121,7 +1120,7 @@ a.name-tag, display: flex; justify-content: space-between; margin-bottom: 0; - word-break: break-word; + overflow-wrap: anywhere; } &__permissions { @@ -1144,6 +1143,15 @@ a.name-tag, } } +.rule-actions { + display: flex; + flex-direction: column; + + a.table-action-link { + padding-inline-start: 0; + } +} + .dashboard__counters.admin-account-counters { margin-top: 10px; } diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 90a2135ca7..f9f70c4da2 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -8385,7 +8385,7 @@ noscript { } a { - word-break: break-word; + overflow-wrap: anywhere; } } } diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index e4644a24ce..4762168bd8 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -1156,7 +1156,7 @@ code { &__type { color: $darker-text-color; - word-break: break-word; + overflow-wrap: anywhere; } } diff --git a/app/lib/admin/metrics/dimension/software_versions_dimension.rb b/app/lib/admin/metrics/dimension/software_versions_dimension.rb index 84ffc41d74..91ab4f836d 100644 --- a/app/lib/admin/metrics/dimension/software_versions_dimension.rb +++ b/app/lib/admin/metrics/dimension/software_versions_dimension.rb @@ -119,10 +119,6 @@ class Admin::Metrics::Dimension::SoftwareVersionsDimension < Admin::Metrics::Dim end def redis_info - @redis_info ||= if redis.is_a?(Redis::Namespace) - redis.redis.info - else - redis.info - end + @redis_info ||= redis.info end end diff --git a/app/lib/admin/metrics/dimension/space_usage_dimension.rb b/app/lib/admin/metrics/dimension/space_usage_dimension.rb index 0d3fd8db33..3fd8d86856 100644 --- a/app/lib/admin/metrics/dimension/space_usage_dimension.rb +++ b/app/lib/admin/metrics/dimension/space_usage_dimension.rb @@ -58,11 +58,7 @@ class Admin::Metrics::Dimension::SpaceUsageDimension < Admin::Metrics::Dimension end def redis_info - @redis_info ||= if redis.is_a?(Redis::Namespace) - redis.redis.info - else - redis.info - end + @redis_info ||= redis.info end def search_size diff --git a/app/lib/redis_connection.rb b/app/lib/redis_connection.rb index 24e376e6a5..cbbd7e5a7a 100644 --- a/app/lib/redis_connection.rb +++ b/app/lib/redis_connection.rb @@ -29,12 +29,7 @@ class RedisConnection end def connection - namespace = config[:namespace] - if namespace.present? - Redis::Namespace.new(namespace, redis: raw_connection) - else - raw_connection - end + raw_connection end private diff --git a/app/models/concerns/legacy_otp_secret.rb b/app/models/concerns/legacy_otp_secret.rb deleted file mode 100644 index 466c4ec9bb..0000000000 --- a/app/models/concerns/legacy_otp_secret.rb +++ /dev/null @@ -1,77 +0,0 @@ -# frozen_string_literal: true - -# TODO: This file is here for legacy support during devise-two-factor upgrade. -# It should be removed after all records have been migrated. - -module LegacyOtpSecret - extend ActiveSupport::Concern - - private - - # Decrypt and return the `encrypted_otp_secret` attribute which was used in - # prior versions of devise-two-factor - # @return [String] The decrypted OTP secret - def legacy_otp_secret - return nil unless self[:encrypted_otp_secret] - return nil unless self.class.otp_secret_encryption_key - - hmac_iterations = 2000 # a default set by the Encryptor gem - key = self.class.otp_secret_encryption_key - salt = Base64.decode64(encrypted_otp_secret_salt) - iv = Base64.decode64(encrypted_otp_secret_iv) - - raw_cipher_text = Base64.decode64(encrypted_otp_secret) - # The last 16 bytes of the ciphertext are the authentication tag - we use - # Galois Counter Mode which is an authenticated encryption mode - cipher_text = raw_cipher_text[0..-17] - auth_tag = raw_cipher_text[-16..-1] # rubocop:disable Style/SlicingWithRange - - # this alrorithm lifted from - # https://github.com/attr-encrypted/encryptor/blob/master/lib/encryptor.rb#L54 - - # create an OpenSSL object which will decrypt the AES cipher with 256 bit - # keys in Galois Counter Mode (GCM). See - # https://ruby.github.io/openssl/OpenSSL/Cipher.html - cipher = OpenSSL::Cipher.new('aes-256-gcm') - - # tell the cipher we want to decrypt. Symmetric algorithms use a very - # similar process for encryption and decryption, hence the same object can - # do both. - cipher.decrypt - - # Use a Password-Based Key Derivation Function to generate the key actually - # used for encryptoin from the key we got as input. - cipher.key = OpenSSL::PKCS5.pbkdf2_hmac_sha1(key, salt, hmac_iterations, cipher.key_len) - - # set the Initialization Vector (IV) - cipher.iv = iv - - # The tag must be set after calling Cipher#decrypt, Cipher#key= and - # Cipher#iv=, but before calling Cipher#final. After all decryption is - # performed, the tag is verified automatically in the call to Cipher#final. - # - # If the auth_tag does not verify, then #final will raise OpenSSL::Cipher::CipherError - cipher.auth_tag = auth_tag - - # auth_data must be set after auth_tag has been set when decrypting See - # http://ruby-doc.org/stdlib-2.0.0/libdoc/openssl/rdoc/OpenSSL/Cipher.html#method-i-auth_data-3D - # we are not adding any authenticated data but OpenSSL docs say this should - # still be called. - cipher.auth_data = '' - - # #update is (somewhat confusingly named) the method which actually - # performs the decryption on the given chunk of data. Our OTP secret is - # short so we only need to call it once. - # - # It is very important that we call #final because: - # - # 1. The authentication tag is checked during the call to #final - # 2. Block based cipher modes (e.g. CBC) work on fixed size chunks. We need - # to call #final to get it to process the last chunk properly. The output - # of #final should be appended to the decrypted value. This isn't - # required for streaming cipher modes but including it is a best practice - # so that your code will continue to function correctly even if you later - # change to a block cipher mode. - cipher.update(cipher_text) + cipher.final - end -end diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index fc7d8e778b..6314fe1fd5 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -35,6 +35,7 @@ class Form::AdminSettings trending_status_cw show_domain_blocks show_domain_blocks_rationale + allow_referrer_origin noindex outgoing_spoilers require_invite_text @@ -57,6 +58,7 @@ class Form::AdminSettings ).freeze BOOLEAN_KEYS = %i( + allow_referrer_origin timeline_preview activity_api_enabled peers_api_enabled diff --git a/app/models/rule.rb b/app/models/rule.rb index 99a36397aa..8f36f11abb 100644 --- a/app/models/rule.rb +++ b/app/models/rule.rb @@ -19,7 +19,29 @@ class Rule < ApplicationRecord self.discard_column = :deleted_at + has_many :translations, inverse_of: :rule, class_name: 'RuleTranslation', dependent: :destroy + accepts_nested_attributes_for :translations, reject_if: :all_blank, allow_destroy: true + validates :text, presence: true, length: { maximum: TEXT_SIZE_LIMIT } scope :ordered, -> { kept.order(priority: :asc, id: :asc) } + + def move!(offset) + rules = Rule.ordered.to_a + position = rules.index(self) + + rules.delete_at(position) + rules.insert(position + offset, self) + + transaction do + rules.each.with_index do |rule, index| + rule.update!(priority: index) + end + end + end + + def translation_for(locale) + @cached_translations ||= {} + @cached_translations[locale] ||= translations.find_by(language: locale) || RuleTranslation.new(language: locale, text: text, hint: hint) + end end diff --git a/app/models/rule_translation.rb b/app/models/rule_translation.rb new file mode 100644 index 0000000000..99991b2ee1 --- /dev/null +++ b/app/models/rule_translation.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +# == Schema Information +# +# Table name: rule_translations +# +# id :bigint(8) not null, primary key +# hint :text default(""), not null +# language :string not null +# text :text default(""), not null +# created_at :datetime not null +# updated_at :datetime not null +# rule_id :bigint(8) not null +# +class RuleTranslation < ApplicationRecord + belongs_to :rule + + validates :language, presence: true, uniqueness: { scope: :rule_id } + validates :text, presence: true, length: { maximum: Rule::TEXT_SIZE_LIMIT } +end diff --git a/app/models/user.rb b/app/models/user.rb index e80e0cda94..7735c0d04d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -15,9 +15,6 @@ # current_sign_in_at :datetime # disabled :boolean default(FALSE), not null # email :string default(""), not null -# encrypted_otp_secret :string -# encrypted_otp_secret_iv :string -# encrypted_otp_secret_salt :string # encrypted_password :string default(""), not null # last_emailed_at :datetime # last_sign_in_at :datetime @@ -46,14 +43,17 @@ class User < ApplicationRecord self.ignored_columns += %w( + admin + current_sign_in_ip + encrypted_otp_secret + encrypted_otp_secret_iv + encrypted_otp_secret_salt + filtered_languages + last_sign_in_ip + moderator remember_created_at remember_token - current_sign_in_ip - last_sign_in_ip skip_sign_in_token - filtered_languages - admin - moderator ) include LanguagesHelper @@ -76,8 +76,6 @@ class User < ApplicationRecord otp_secret_encryption_key: Rails.configuration.x.otp_secret, otp_secret_length: 32 - include LegacyOtpSecret # Must be after the above `devise` line in order to override the legacy method - devise :two_factor_backupable, otp_number_of_backup_codes: 10 diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb index 92415a6903..6923f565ef 100644 --- a/app/presenters/instance_presenter.rb +++ b/app/presenters/instance_presenter.rb @@ -47,7 +47,7 @@ class InstancePresenter < ActiveModelSerializers::Model end def rules - Rule.ordered + Rule.ordered.includes(:translations) end def user_count diff --git a/app/serializers/rest/rule_serializer.rb b/app/serializers/rest/rule_serializer.rb index 9e2bcda15e..3ce2d02e66 100644 --- a/app/serializers/rest/rule_serializer.rb +++ b/app/serializers/rest/rule_serializer.rb @@ -1,9 +1,15 @@ # frozen_string_literal: true class REST::RuleSerializer < ActiveModel::Serializer - attributes :id, :text, :hint + attributes :id, :text, :hint, :translations def id object.id.to_s end + + def translations + object.translations.to_h do |translation| + [translation.language, { text: translation.text, hint: translation.hint }] + end + end end diff --git a/app/views/admin/rules/_rule.html.haml b/app/views/admin/rules/_rule.html.haml index eb97eefb3c..7d84534d59 100644 --- a/app/views/admin/rules/_rule.html.haml +++ b/app/views/admin/rules/_rule.html.haml @@ -7,5 +7,7 @@ .announcements-list__item__meta = rule.hint - %div + .rule-actions + = table_link_to 'arrow_upward', t('admin.rules.move_up'), move_up_admin_rule_path(rule), method: :post if can?(:update, rule) && !rule_iteration.first? = table_link_to 'delete', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule) + = table_link_to 'arrow_downward', t('admin.rules.move_down'), move_down_admin_rule_path(rule), method: :post if can?(:update, rule) && !rule_iteration.last? diff --git a/app/views/admin/rules/_translation_fields.html.haml b/app/views/admin/rules/_translation_fields.html.haml new file mode 100644 index 0000000000..bf8d817224 --- /dev/null +++ b/app/views/admin/rules/_translation_fields.html.haml @@ -0,0 +1,27 @@ +%tr.nested-fields + %td + .fields-row + .fields-row__column.fields-group + = f.input :language, + collection: ui_languages, + include_blank: false, + label_method: ->(locale) { native_locale_name(locale) } + + .fields-row__column.fields-group + = f.hidden_field :id if f.object&.persisted? # Required so Rails doesn't put the field outside of the + = link_to_remove_association(f, class: 'table-action-link') do + = safe_join([material_symbol('close'), t('filters.index.delete')]) + + .fields-group + = f.input :text, + label: I18n.t('simple_form.labels.rule.text'), + hint: I18n.t('simple_form.hints.rule.text'), + input_html: { lang: f.object&.language }, + wrapper: :with_block_label + + .fields-group + = f.input :hint, + label: I18n.t('simple_form.labels.rule.hint'), + hint: I18n.t('simple_form.hints.rule.hint'), + input_html: { lang: f.object&.language }, + wrapper: :with_block_label diff --git a/app/views/admin/rules/edit.html.haml b/app/views/admin/rules/edit.html.haml index 9e3c915812..b64a27d751 100644 --- a/app/views/admin/rules/edit.html.haml +++ b/app/views/admin/rules/edit.html.haml @@ -6,5 +6,26 @@ = render form + %hr.spacer/ + + %h4= t('admin.rules.translations') + + %p.hint= t('admin.rules.translations_explanation') + + .table-wrapper + %table.table.keywords-table + %thead + %tr + %th= t('admin.rules.translation') + %th + %tbody + = form.simple_fields_for :translations do |translation| + = render 'translation_fields', f: translation + %tfoot + %tr + %td{ colspan: 3 } + = link_to_add_association form, :translations, class: 'table-action-link', partial: 'translation_fields', 'data-association-insertion-node': '.keywords-table tbody', 'data-association-insertion-method': 'append' do + = safe_join([material_symbol('add'), t('admin.rules.add_translation')]) + .actions = form.button :button, t('generic.save_changes'), type: :submit diff --git a/app/views/admin/settings/discovery/show.html.haml b/app/views/admin/settings/discovery/show.html.haml index f95c6d22a3..b38813fb10 100644 --- a/app/views/admin/settings/discovery/show.html.haml +++ b/app/views/admin/settings/discovery/show.html.haml @@ -38,6 +38,8 @@ as: :boolean, wrapper: :with_label + %h4= t('admin.settings.discovery.privacy') + .fields-group = f.input :noindex, as: :boolean, @@ -45,6 +47,13 @@ label: t('admin.settings.default_noindex.title'), wrapper: :with_label + .fields-group + = f.input :allow_referrer_origin, + as: :boolean, + hint: t('admin.settings.allow_referrer_origin.desc'), + label: t('admin.settings.allow_referrer_origin.title'), + wrapper: :with_label + %h4= t('admin.settings.discovery.publish_statistics') .fields-group @@ -53,8 +62,6 @@ wrapper: :with_label, recommended: :recommended - %h4= t('admin.settings.discovery.publish_discovered_servers') - .fields-group = f.input :peers_api_enabled, as: :boolean, diff --git a/app/views/auth/registrations/rules.html.haml b/app/views/auth/registrations/rules.html.haml index 4b0159e862..59e7c9072f 100644 --- a/app/views/auth/registrations/rules.html.haml +++ b/app/views/auth/registrations/rules.html.haml @@ -18,10 +18,11 @@ %ol.rules-list - @rules.each do |rule| + - translation = rule.translation_for(I18n.locale.to_s) %li %button{ type: 'button', aria: { expanded: 'false' } } - .rules-list__text= rule.text - .rules-list__hint= rule.hint + .rules-list__text= translation.text + .rules-list__hint= translation.hint .stacked-actions - accept_path = @invite_code.present? ? public_invite_url(invite_code: @invite_code, accept: @accept_token) : new_user_registration_path(accept: @accept_token) diff --git a/config/application.rb b/config/application.rb index d88334f933..675a3c0c19 100644 --- a/config/application.rb +++ b/config/application.rb @@ -24,7 +24,6 @@ Bundler.require(*Rails.groups) require_relative '../lib/exceptions' require_relative '../lib/sanitize_ext/sanitize_config' -require_relative '../lib/redis/namespace_extensions' require_relative '../lib/paperclip/url_generator_extensions' require_relative '../lib/paperclip/attachment_extensions' @@ -95,7 +94,7 @@ module Mastodon require 'mastodon/redis_configuration' ::REDIS_CONFIGURATION = Mastodon::RedisConfiguration.new - config.x.use_vips = ENV['MASTODON_USE_LIBVIPS'] == 'true' + config.x.use_vips = ENV['MASTODON_USE_LIBVIPS'] != 'false' if config.x.use_vips require_relative '../lib/paperclip/vips_lazy_thumbnail' diff --git a/config/environments/development.rb b/config/environments/development.rb index bbdd9e2fce..e640f2604a 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -37,10 +37,8 @@ Rails.application.configure do config.action_controller.forgery_protection_origin_check = ENV['DISABLE_FORGERY_REQUEST_PROTECTION'].nil? - ActiveSupport::Logger.new($stdout).tap do |logger| - logger.formatter = config.log_formatter - config.logger = ActiveSupport::TaggedLogging.new(logger) - end + # Override default file logging in favor of STDOUT logging in dev environment + config.logger = ActiveSupport::TaggedLogging.logger($stdout, formatter: config.log_formatter) # Generate random VAPID keys Webpush.generate_key.tap do |vapid_key| diff --git a/config/environments/production.rb b/config/environments/production.rb index f37a1ebc98..ac5c463415 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -52,17 +52,14 @@ Rails.application.configure do }, } - # Log to STDOUT by default - config.logger = ActiveSupport::Logger.new($stdout) - .tap { |logger| logger.formatter = ::Logger::Formatter.new } - .then { |logger| ActiveSupport::TaggedLogging.new(logger) } + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = Logger::Formatter.new - # Prepend all log lines with the following tags. + # Log to STDOUT with the current request id as a default log tag. config.log_tags = [:request_id] + config.logger = ActiveSupport::TaggedLogging.logger($stdout, formatter: config.log_formatter) - # "info" includes generic and useful information about system operation, but avoids logging too much - # information to avoid inadvertent exposure of personally identifiable information (PII). If you - # want to log everything, set the level to "debug". + # Change to "debug" to log everything (including potentially personally-identifiable information!) config.log_level = ENV.fetch('RAILS_LOG_LEVEL', 'info') # Use a different cache store in production. @@ -90,9 +87,6 @@ Rails.application.configure do # Don't log any deprecations. config.active_support.report_deprecations = false - # Use default logging formatter so that PID and timestamp are not suppressed. - config.log_formatter = ::Logger::Formatter.new - # Better log formatting config.lograge.enabled = true diff --git a/config/initializers/chewy.rb b/config/initializers/chewy.rb index 0d9fc75e99..b1c50ce525 100644 --- a/config/initializers/chewy.rb +++ b/config/initializers/chewy.rb @@ -5,8 +5,7 @@ host = ENV.fetch('ES_HOST') { 'localhost' } port = ENV.fetch('ES_PORT') { 9200 } user = ENV.fetch('ES_USER', nil).presence password = ENV.fetch('ES_PASS', nil).presence -fallback_prefix = ENV.fetch('REDIS_NAMESPACE', nil).presence -prefix = ENV.fetch('ES_PREFIX') { fallback_prefix } +prefix = ENV.fetch('ES_PREFIX', nil) ca_file = ENV.fetch('ES_CA_FILE', nil).presence transport_options = { ssl: { ca_file: ca_file } } if ca_file.present? diff --git a/config/initializers/deprecations.rb b/config/initializers/deprecations.rb index f9f3745d6a..55293abe8a 100644 --- a/config/initializers/deprecations.rb +++ b/config/initializers/deprecations.rb @@ -16,3 +16,9 @@ if ENV['REDIS_NAMESPACE'] abort message end + +if ENV['MASTODON_USE_LIBVIPS'] == 'false' + warn <<~MESSAGE + WARNING: Mastodon support for ImageMagick is deprecated and will be removed in future versions. Please consider using libvips instead. + MESSAGE +end diff --git a/config/initializers/strong_migrations.rb b/config/initializers/strong_migrations.rb index 4dcec1c2a2..59053ca187 100644 --- a/config/initializers/strong_migrations.rb +++ b/config/initializers/strong_migrations.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true StrongMigrations.start_after = 2017_09_24_022025 -StrongMigrations.target_version = 12 +StrongMigrations.target_version = 13 diff --git a/config/locales/an.yml b/config/locales/an.yml index 6598ea3b90..172799aec9 100644 --- a/config/locales/an.yml +++ b/config/locales/an.yml @@ -683,7 +683,6 @@ an: preamble: Exposar conteniu interesant a la superficie ye fundamental pa incorporar nuevos usuarios que pueden no conoixer a dengún Mastodon. Controla cómo funcionan quantas opcions d'escubrimiento en o tuyo servidor. profile_directory: Directorio de perfils public_timelines: Linias de tiempo publicas - publish_discovered_servers: Publicar los servidors descubiertos publish_statistics: Publicar las estatisticas title: Escubrimiento trends: Tendencias diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 556c47b10b..b6bba218db 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -790,7 +790,6 @@ ar: preamble: يُعد إتاحة رؤية المحتوى المثير للاهتمام أمرًا ضروريًا لجذب مستخدمين جدد قد لا يعرفون أي شخص في Mastodon. تحكم في كيفية عمل ميزات الاكتشاف المختلفة على خادمك الخاص. profile_directory: دليل الصفحات التعريفية public_timelines: الخيوط الزمنية العامة - publish_discovered_servers: نشر الخوادم المكتشَفة publish_statistics: نشر الإحصائيات title: الاستكشاف trends: المتداوَلة diff --git a/config/locales/ast.yml b/config/locales/ast.yml index 83d158766b..c0836d33fa 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -319,7 +319,6 @@ ast: preamble: L'apaición de conteníu interesante ye fundamental p'atrayer persones nueves que nun conozan nada de Mastodon. Controla'l funcionamientu de delles funciones de descubrimientu d'esti sirvidor. profile_directory: Direutoriu de perfiles public_timelines: Llinies de tiempu públiques - publish_discovered_servers: Espublizamientu de sirvidores descubiertos publish_statistics: Espublizamientu d'estadístiques title: Descubrimientu trends: Tendencies diff --git a/config/locales/be.yml b/config/locales/be.yml index 539d3baa5f..1e6394fa42 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -807,7 +807,6 @@ be: preamble: Прадстаўленне цікавага кантэнту дапамагае прыцягнуць новых карыстальнікаў, якія могуць не ведаць нікога на Mastodon. Кантралюйце працу розных функцый выяўлення на вашым серверы. profile_directory: Дырэкторыя профіляў public_timelines: Публічная паслядоўнасць публікацый - publish_discovered_servers: Апублікаваць знойдзеныя серверы publish_statistics: Апублікаваць статыстыку title: Выяўленне trends: Актуальныя diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 7954a7b539..a55603516d 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -806,7 +806,6 @@ bg: preamble: За потребители, които са нови и не познават никого в Mastodon, показването на интересно съдържание е ключово. Настройте начина, по който различни функции по откриване на съдържание работят на вашия сървър. profile_directory: Указател на профила public_timelines: Публични хронологии - publish_discovered_servers: Публикуване на откритите сървъри publish_statistics: Публикуване на статистиката title: Откриване trends: Изгряващи diff --git a/config/locales/br.yml b/config/locales/br.yml index 8a18e000f8..3cce0be533 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -273,6 +273,8 @@ br: rules: delete: Dilemel edit: Kemmañ ar reolenn + move_down: D'an traoñ + move_up: D'ar c'hrec'h settings: about: title: Diwar-benn @@ -281,6 +283,7 @@ br: content_retention: danger_zone: Takad dañjer discovery: + privacy: Buhez prevez title: Dizoloadur trends: Luskadoù domain_blocks: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index f02ac44ea6..1a41a426f8 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -787,9 +787,11 @@ ca: rules: add_new: Afegir norma delete: Elimina - description_html: Tot i que molts diuen que han llegit les normes i estan d'acord amb els termes del servei, normalment no les llegeixen fins que surgeix un problema. Fes que sigui més fàcil veure les normes del teu servidor d'una ullada proporcionant-les en una llista de punts. Intenta mantenir les normes individuals curtes i senzilles però sense dividir-les en massa parts separades. + description_html: Tot i que molts diuen que han llegit les normes i estan d'acord amb les condicions de servei, normalment no les llegeixen fins que surgeix un problema. Fes que sigui més fàcil veure les normes del teu servidor d'una ullada proporcionant-les en una llista de punts. Intenta mantenir les normes individuals curtes i senzilles però sense dividir-les en massa parts separades. edit: Edita la norma empty: Encara no s'han definit les normes del servidor. + move_down: Mou cap avall + move_up: Mou cap amunt title: Normes del servidor settings: about: @@ -816,9 +818,9 @@ ca: discovery: follow_recommendations: Seguir les recomanacions preamble: L'aparició de contingut interessant és fonamental per atraure els nous usuaris que podrien no saber res de Mastodon. Controla com funcionen diverses opcions de descobriment en el teu servidor. + privacy: Privacitat profile_directory: Directori de perfils public_timelines: Línies de temps públiques - publish_discovered_servers: Publica els servidors descoberts publish_statistics: Publica estadístiques title: Descobriment trends: Tendències @@ -1246,7 +1248,7 @@ ca: view_strikes: Veure accions del passat contra el teu compte too_fast: Formulari enviat massa ràpid, torna a provar-ho. use_security_key: Usa clau de seguretat - user_agreement_html: He llegit i estic d'acord amb les condicions de servei i la política de privadesa + user_agreement_html: He llegit i estic d'acord amb les condicions de servei i la política de privacitat user_privacy_agreement_html: He llegit i estic d'acord amb la política de privacitat author_attribution: example_title: Text d'exemple @@ -1296,7 +1298,7 @@ ca: email_contact_html: Si encara no arriba, podeu enviar un correu-e a %{email} per a demanar ajuda email_reconfirmation_html: Si no rebeu el correu electrònic de confirmació , podeu tornar-lo a demanar irreversible: No seràs capaç de restaurar o reactivar el teu compte - more_details_html: Per a més detalls, llegeix la política de privadesa. + more_details_html: Per a més detalls, llegeix la política de privacitat. username_available: El teu nom d'usuari esdevindrà altre cop disponible username_unavailable: El teu nom d'usuari quedarà inutilitzable disputes: @@ -1893,6 +1895,11 @@ ca: does_not_match_previous_name: no coincideix amb el nom anterior terms_of_service: title: Condicions de servei + terms_of_service_interstitial: + future_preamble_html: Hem fet canvis a les condicions de servei que entraran en efecte el %{date}. Us recomanem que hi doneu un cop d'ull. + past_preamble_html: Hem fet canvis a les condicions de servei des de la vostra darrera visita. Us recomanem que hi doneu un cop d'ull. + review_link: Revisió de les condicions de servei + title: Les condicions de servei de %{domain} han canviat themes: contrast: Mastodon (alt contrast) default: Mastodon (fosc) @@ -1960,6 +1967,8 @@ ca: terms_of_service_changed: agreement: En continuar fent servir %{domain} accepteu aquestes condicions. Si no esteu d'acord amb els nous termes, podeu acabar el vostre acord amb %{domain} tot esborrant el vostre compte. changelog: 'En un cop d''ull, això és el que aquest canvi us implica:' + description: 'Heu rebut aquest correu-e perquè hem fet alguns canvis a les condicions de servei de %{domain}. Aquests canvis tindran efecte el %{date}. Us recomanem que hi doneu un cop d''ull:' + description_html: Heu rebut aquest correu-e perquè hem fet alguns canvis a les condicions de servei de %{domain}. Aquests canvis tindran efecte el %{date}. Us recomanem que hi doneu un cop d'ull. sign_off: L'equip de %{domain} subject: Actualitzacions de les condicions de servei subtitle: Les condicions de servei de %{domain} canvien diff --git a/config/locales/cs.yml b/config/locales/cs.yml index af9bdff1ee..3834e58146 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -825,6 +825,9 @@ cs: preamble: Uveďte podrobné informace o tom, jak je server provozován, moderován, financován. rules_hint: Existuje vyhrazená oblast pro pravidla, u nichž se očekává, že je budou uživatelé dodržovat. title: O aplikaci + allow_referrer_origin: + desc: Když vaši uživatelé kliknou na odkazy na externí stránky, jejich prohlížeč může odeslat adresu vašeho Mastodon serveru, jako odkazujícího serveru. Zakažte tuto možnost, pokud by to jednoznačně identifikovalo vaše uživatele, např. pokud se jedná o osobní Mastodon server. + title: Povolit externím stránkám vidět váš Mastodon server, jako zdroj, ze kterého jdou návštěvníci appearance: preamble: Přizpůsobte si webové rozhraní Mastodon. title: Vzhled @@ -844,9 +847,9 @@ cs: discovery: follow_recommendations: Doporučená sledování preamble: Povrchový zajímavý obsah je užitečný pro zapojení nových uživatelů, kteří možná neznají žádného Mastodona. Mějte pod kontrolou, jak různé objevovací funkce fungují na vašem serveru. + privacy: Soukromí profile_directory: Adresář profilů public_timelines: Veřejné časové osy - publish_discovered_servers: Zveřejnit objevené servery publish_statistics: Zveřejnit statistiku title: Objevujte trends: Trendy diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 44b262e8ec..102c4e3b65 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -853,6 +853,9 @@ cy: preamble: Darparu gwybodaeth fanwl am sut mae'r gweinydd yn cael ei weithredu, ei gymedroli a'i ariannu. rules_hint: Mae maes penodol ar gyfer rheolau y disgwylir i'ch defnyddwyr gadw ato. title: Ynghylch + allow_referrer_origin: + desc: Pan fydd eich defnyddwyr yn clicio ar ddolenni i wefannau allanol, gall eu porwr anfon cyfeiriad eich gweinydd Mastodon fel y cyfeiriwr. Gallwch analluogi hyn os byddai hyn yn amlygu pwy yw eich defnyddwyr, e.e. os yw hwn yn weinydd Mastodon personol. + title: Caniatáu i wefannau allanol weld eich gweinydd Mastodon fel ffynhonnell traffig appearance: preamble: Cyfaddasu rhyngwyneb gwe Mastodon. title: Golwg @@ -872,9 +875,9 @@ cy: discovery: follow_recommendations: Dilyn yr argymhellion preamble: Mae amlygu cynnwys diddorol yn allweddol ar gyfer derbyn defnyddwyr newydd nad ydynt efallai'n gyfarwydd ag unrhyw un Mastodon. Rheolwch sut mae nodweddion darganfod amrywiol yn gweithio ar eich gweinydd. + privacy: Preifatrwydd profile_directory: Cyfeiriadur proffiliau public_timelines: Ffrydiau cyhoeddus - publish_discovered_servers: Cyhoeddi gweinyddion a ddarganfuwyd publish_statistics: Cyhoeddi ystadegau title: Darganfod trends: Tueddiadau diff --git a/config/locales/da.yml b/config/locales/da.yml index d0b2ad759a..44f5bd9e6a 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -790,6 +790,8 @@ da: description_html: Mens de fleste hævder at have læst og accepteret tjenestevilkårene, så læser folk normalt ikke disse, før et problem er opstået. Gør det lettere med ét blik at se din servers regler ved at opliste disse på en punktliste. Forsøg at holde individuelle regler korte og enkle, men undgå også at opdele dem i mange separate underpunkter. edit: Redigér regel empty: Ingen serverregler defineret endnu. + move_down: Flyt ned + move_up: Flyt op title: Serverregler settings: about: @@ -797,6 +799,9 @@ da: preamble: Giv dybdegående oplysninger om, hvordan serveren opereres, modereres, finansieres. rules_hint: Der er et dedikeret område for regler, som forventes overholdt af brugerne. title: Om + allow_referrer_origin: + desc: Når brugerne klikker på links til eksterne websteder, sender deres webbrowser muligvis adressen på Mastodon-serveren som referrer. Deaktivér dette, hvis det entydigt kan identificere brugerne, f.eks. hvis dette er en personlig Mastodon-server. + title: Tillad eksterne websteder at se Mastodon-serveren som en trafikkilde appearance: preamble: Tilpas Mastodon-webgrænsefladen. title: Udseende @@ -816,9 +821,9 @@ da: discovery: follow_recommendations: Følg-anbefalinger preamble: At vise interessant indhold er vitalt ifm. at få nye brugere om bord, som måske ikke kender nogen på Mastodon. Styr, hvordan forskellige opdagelsesfunktioner fungerer på serveren. + privacy: Fortrolighed profile_directory: Profiloversigt public_timelines: Offentlige tidslinjer - publish_discovered_servers: Udgiv fundne servere publish_statistics: Udgiv statistik title: Opdagelse trends: Trends diff --git a/config/locales/de.yml b/config/locales/de.yml index 90ddd7b33b..afb4ed0d69 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -794,6 +794,9 @@ de: preamble: Schildere ausführlich, wie dein Server betrieben, moderiert und finanziert wird. rules_hint: Es gibt einen eigenen Bereich für Regeln, die deine Benutzer*innen einhalten müssen. title: Über + allow_referrer_origin: + desc: Klicken Nutzer*innen auf Links zu externen Seiten, kann der Browser die Adresse deines Mastodon-Servers als Referrer (Verweis) übermitteln. Diese Option sollte deaktiviert werden, wenn Nutzer*innen dadurch eindeutig identifiziert würden – z. B. wenn es sich um einen privaten Mastodon-Server handelt. + title: Externen Seiten erlauben, diesen Mastodon-Server als Traffic-Quelle zu sehen appearance: preamble: Passe das Webinterface von Mastodon an. title: Design @@ -813,9 +816,9 @@ de: discovery: follow_recommendations: Follower-Empfehlungen preamble: Das Auffinden interessanter Inhalte ist wichtig, um neue Nutzer einzubinden, die Mastodon noch nicht kennen. Bestimme, wie verschiedene Suchfunktionen auf deinem Server funktionieren. + privacy: Datenschutz profile_directory: Profilverzeichnis public_timelines: Öffentliche Timeline - publish_discovered_servers: Entdeckte Server offenlegen publish_statistics: Statistiken veröffentlichen title: Entdecken trends: Trends diff --git a/config/locales/el.yml b/config/locales/el.yml index 9e82063f98..2f7b66796a 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -818,7 +818,6 @@ el: preamble: Δημοσιεύοντας ενδιαφέρον περιεχόμενο είναι καθοριστικό για την ενσωμάτωση νέων χρηστών που μπορεί να μη γνωρίζουν κανέναν στο Mastodon. Έλεγξε πώς λειτουργούν διάφορες δυνατότητες ανακάλυψης στον διακομιστή σας. profile_directory: Κατάλογος προφίλ public_timelines: Δημόσιες ροές - publish_discovered_servers: Δημοσίευση διακομιστών που έχουν ανακαλυφθεί publish_statistics: Δημοσίευση στατιστικών title: Ανακάλυψη trends: Τάσεις diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index 92934f50f0..52e2ca68b9 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -783,7 +783,6 @@ en-GB: preamble: Surfacing interesting content is instrumental in onboarding new users who may not know anyone Mastodon. Control how various discovery features work on your server. profile_directory: Profile directory public_timelines: Public timelines - publish_discovered_servers: Publish discovered servers publish_statistics: Publish statistics title: Discovery trends: Trends diff --git a/config/locales/en.yml b/config/locales/en.yml index 4e48a0be19..2ab8f015d3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -786,17 +786,26 @@ en: title: Roles rules: add_new: Add rule + add_translation: Add translation delete: Delete description_html: While most claim to have read and agree to the terms of service, usually people do not read through until after a problem arises. Make it easier to see your server's rules at a glance by providing them in a flat bullet point list. Try to keep individual rules short and simple, but try not to split them up into many separate items either. edit: Edit rule empty: No server rules have been defined yet. + move_down: Move down + move_up: Move up title: Server rules + translation: Translation + translations: Translations + translations_explanation: You can optionally add translations for the rules. The default value will be shown if no translated version is available. Please always ensure any provided translation is in sync with the default value. settings: about: manage_rules: Manage server rules preamble: Provide in-depth information about how the server is operated, moderated, funded. rules_hint: There is a dedicated area for rules that your users are expected to adhere to. title: About + allow_referrer_origin: + desc: When your users click links to external sites, their browser may send the address of your Mastodon server as the referrer. Disable this if this would uniquely identify your users, e.g. if this is a personal Mastodon server. + title: Allow external sites to see your Mastodon server as a traffic source appearance: preamble: Customize Mastodon's web interface. title: Appearance @@ -816,9 +825,9 @@ en: discovery: follow_recommendations: Follow recommendations preamble: Surfacing interesting content is instrumental in onboarding new users who may not know anyone Mastodon. Control how various discovery features work on your server. + privacy: Privacy profile_directory: Profile directory public_timelines: Public timelines - publish_discovered_servers: Publish discovered servers publish_statistics: Publish statistics title: Discovery trends: Trends diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 05d511ce2d..d0a75c7db7 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -818,7 +818,6 @@ eo: preamble: Interesa enhavo estas grava por novaj uzantoj kiuj eble ne konas ajn iun. profile_directory: Profilujo public_timelines: Publikaj templinioj - publish_discovered_servers: Publikigi la malkovritajn servilojn publish_statistics: Publikigi statistikojn title: Eltrovado trends: Tendencoj @@ -1194,7 +1193,7 @@ eo: forgot_password: Pasvorto forgesita? invalid_reset_password_token: La ĵetono por restarigi la pasvorton estas nevalida aŭ eksvalida. Bonvolu peti novon. link_to_otp: Enigu 2-faktorkodo de via telefono au regajnkodo - link_to_webauth: Uzi vian sekurigan ŝlosilon + link_to_webauth: Uzi vian aparaton de sekuriga ŝlosilo log_in_with: Ensaluti per login: Ensaluti logout: Adiaŭi diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 1f75fcef9c..204967ca45 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -790,6 +790,8 @@ es-AR: description_html: Aunque la mayoría afirma haber leído y aceptado los términos del servicio, normalmente la gente no los revisa hasta después de que surge un problema. Hacé que sea más fácil ver las reglas de tu servidor, de un vistazo, disponiéndolas en una lista por puntos. Tratá de hacer cada regla corta y sencilla, pero no de dividirlas en muchos temas individuales. edit: Editar regla empty: Aún no se han definido las reglas del servidor. + move_down: Bajar + move_up: Subir title: Reglas del servidor settings: about: @@ -797,6 +799,9 @@ es-AR: preamble: Proveé información en profundidad sobre cómo el servidor es operado, moderado y financiado. rules_hint: Hay un área dedicada para las reglas a las que se espera que tus usuarios se adhieran. title: Información + allow_referrer_origin: + desc: Cuando tus usuarios hagan clic en enlaces a sitios externos, sus navegadores pueden enviar la dirección de tu servidor de Mastodon como la referencia. Deshabilitá esto si significase identificar inequívocamente a tus usuarios; por ejemplo, si se trata de un servidor personal de Mastodon. + title: Permitir a los sitios externos ver tu servidor de Mastodon como fuente de tráfico appearance: preamble: Personalizá la interface web de Mastodon. title: Apariencia @@ -816,9 +821,9 @@ es-AR: discovery: follow_recommendations: Recom. de cuentas a seguir preamble: Exponer contenido interesante a la superficie es fundamental para incorporar nuevos usuarios que pueden no conocer a nadie Mastodon. Controlá cómo funcionan varias opciones de descubrimiento en tu servidor. + privacy: Privacidad profile_directory: Directorio de perfiles public_timelines: Líneas temporales públicas - publish_discovered_servers: Publicar servidores descubiertos publish_statistics: Publicar estadísticas title: Descubrí trends: Tendencias diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 8f632bc683..63ad0f7a85 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -797,6 +797,8 @@ es-MX: preamble: Proporciona información detallada sobre cómo el servidor es operado, moderado y financiado. rules_hint: Hay un área dedicada para las reglas a las que se espera que tus usuarios se adhieran. title: Acerca de + allow_referrer_origin: + desc: Cuando tus usuarios cliquen en enlaces a sitios externos, su navegador podría enviar la dirección de su servidor de Mastodon como referencia. Deshabilita esto si identifica a tus usuarios unívocamente, por ejemplo, si este es un servidor de Mastodon personal. appearance: preamble: Personalizar la interfaz web de Mastodon. title: Apariencia @@ -816,9 +818,9 @@ es-MX: discovery: follow_recommendations: Recomendaciones de cuentas preamble: Exponer contenido interesante a la superficie es fundamental para incorporar nuevos usuarios que pueden no conocer a nadie Mastodon. Controla cómo funcionan varias opciones de descubrimiento en tu servidor. + privacy: Privacidad profile_directory: Directorio de perfiles public_timelines: Lineas de tiempo públicas - publish_discovered_servers: Publicar servidores descubiertos publish_statistics: Publicar estadísticas title: Descubrimiento trends: Tendencias diff --git a/config/locales/es.yml b/config/locales/es.yml index 6fb0145165..02dcb8abcc 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -797,6 +797,8 @@ es: preamble: Proporciona información detallada sobre cómo el servidor es operado, moderado y financiado. rules_hint: Hay un área dedicada para las reglas a las que se espera que tus usuarios se adhieran. title: Acerca de + allow_referrer_origin: + desc: Cuando tus usuarios cliquen en enlaces a sitios externos, su navegador podría enviar la dirección de su servidor de Mastodon como referencia. Deshabilita esto si identifica a tus usuarios unívocamente, por ejemplo, si este es un servidor de Mastodon personal. appearance: preamble: Personalizar la interfaz web de Mastodon. title: Apariencia @@ -816,9 +818,9 @@ es: discovery: follow_recommendations: Recomendaciones de cuentas preamble: Exponer contenido interesante a la superficie es fundamental para incorporar nuevos usuarios que pueden no conocer a nadie Mastodon. Controla cómo funcionan varias opciones de descubrimiento en tu servidor. + privacy: Privacidad profile_directory: Directorio de perfiles public_timelines: Lineas de tiempo públicas - publish_discovered_servers: Publicar servidores descubiertos publish_statistics: Publicar estadísticas title: Descubrimiento trends: Tendencias diff --git a/config/locales/et.yml b/config/locales/et.yml index 8339ed087f..399b5ceab0 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -773,7 +773,6 @@ et: preamble: Huvitava sisu esiletoomine on oluline uute kasutajate kaasamisel, kes ei pruugi Mastodonist kedagi tunda. Kontrolli, kuidas erinevad avastamisfunktsioonid serveris töötavad. profile_directory: Kasutajate kataloog public_timelines: Avalikud ajajooned - publish_discovered_servers: Avalda avastatud serverid publish_statistics: Avalda statistika title: Avastamine trends: Trendid diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 97943a46bb..90a3ef4938 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -749,7 +749,6 @@ eu: preamble: Eduki interesgarria aurkitzea garrantzitsua da Mastodoneko erabiltzaile berrientzat, behar bada inor ez dutelako ezagutuko. Kontrolatu zure zerbitzariko aurkikuntza-ezaugarriek nola funtzionatzen duten. profile_directory: Profil-direktorioa public_timelines: Denbora-lerro publikoak - publish_discovered_servers: Argitaratu aurkitutako zerbitzariak publish_statistics: Argitaratu estatistikak title: Aurkitzea trends: Joerak diff --git a/config/locales/fa.yml b/config/locales/fa.yml index ccd600edfa..0ee4e6dd22 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -818,7 +818,6 @@ fa: preamble: ارائه محتوای جالب در جذب کاربران جدیدی که ممکن است کسی ماستودون را نشناسند، مفید است. نحوه عملکرد ویژگی‌های کشف مختلف روی سرور خود را کنترل کنید. profile_directory: شاخهٔ نمایه public_timelines: خط زمانی‌های عمومی - publish_discovered_servers: انتشار کارسازهای کشف شده publish_statistics: انتشار آمار title: کشف trends: پرطرفدارها diff --git a/config/locales/fi.yml b/config/locales/fi.yml index a5478dc298..c1f727045e 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -784,6 +784,8 @@ fi: description_html: Vaikka useimmat väittävät, että ovat lukeneet ja hyväksyneet käyttöehdot, niin yleensä ihmiset eivät lue niitä läpi ennen kuin ilmenee ongelma. Helpota palvelimen sääntöjen näkemistä yhdellä silmäyksellä tarjoamalla ne tiiviissä luettelossa. Yritä pitää säännöt lyhyinä ja yksinkertaisina, mutta yritä olla jakamatta niitä useisiin erillisiin kohtiin. edit: Muokkaa sääntöä empty: Palvelimen sääntöjä ei ole vielä määritelty. + move_down: Siirrä alaspäin + move_up: Siirrä ylöspäin title: Palvelimen säännöt settings: about: @@ -791,6 +793,9 @@ fi: preamble: Kerro syventävästi siitä, kuinka palvelinta käytetään, moderoidaan ja rahoitetaan. rules_hint: On olemassa erityinen alue sääntöjä, joita käyttäjien odotetaan noudattavan. title: Tietoja + allow_referrer_origin: + desc: Kun käyttäjät napsauttavat ulkoisille sivustoille johtavia linkkejä, heidän selaimensa saattaa lähettää Mastodon-palvelimesi osoitteen viittauksena. Poista tämä käytöstä, jos se yksilöi käyttäjäsi, esimerkiksi jos tämä on henkilökohtainen Mastodon-palvelin. + title: Salli ulkoisten sivustojen nähdä Mastodon-palvelin liikenteen lähteenä appearance: preamble: Mukauta Mastodonin selainkäyttöliittymää. title: Ulkoasu @@ -810,9 +815,9 @@ fi: discovery: follow_recommendations: Seurantasuositukset preamble: Mielenkiintoisen sisällön esille tuominen auttaa saamaan uusia käyttäjiä, jotka eivät ehkä tunne ketään Mastodonista. Määrittele, kuinka erilaiset löytämisominaisuudet toimivat palvelimellasi. + privacy: Yksityisyys profile_directory: Profiilihakemisto public_timelines: Julkiset aikajanat - publish_discovered_servers: Julkaise löydetyt palvelimet publish_statistics: Julkaise tilastot title: Löytäminen trends: Trendit diff --git a/config/locales/fo.yml b/config/locales/fo.yml index 8606fa7913..4f061922bd 100644 --- a/config/locales/fo.yml +++ b/config/locales/fo.yml @@ -790,6 +790,8 @@ fo: description_html: Sjálvt um tey flestu vilja vera við, at tey hava lisið og tikið undir við tænastutreytunum, so lesa tey flestu tær ikki fyrr enn eftir at ein trupulleiki stingur seg upp. Ger tað lættari at skimma ígjøgnum ambætarareglurnar við at veita tær í einum fløtum punkt-lista. Royn at gera einstøku reglurnar stuttar og einfaldar, samstundis sum at tær ikki blíva pettaðar ov nógv sundur. edit: Broyt reglur empty: Ongar ambætarareglur eru ásettar enn. + move_down: Flyt niður + move_up: Flyt upp title: Ambætarareglur settings: about: @@ -797,6 +799,9 @@ fo: preamble: Gev útdýpandi upplýsingar um, hvussu ambætarin er rikin, umsýndur og fíggjaður. rules_hint: Eitt øki er burturav fyri reglur, sum brúkararnir hjá tær skulu fylgja. title: Um + allow_referrer_origin: + desc: Tá brúkarar tínir klikkja á leinki til uttanhýsis vevstøð, so kann kagin senda adressuna á tínum Mastodon ambætara við. Óvirkja hetta, um hetta kann eyðmerkja brúkarar tínar, t.d. um hetta er ein persónligur Mastodon ambætari. + title: Loyv uttanhýsis vevstøðum at síggja tín Mastodon ambætara sum ferðslukeldu appearance: preamble: Tillaga brúkaramarkamótið hjá Mastodon. title: Útsjónd @@ -816,9 +821,9 @@ fo: discovery: follow_recommendations: Tilmæli um at fylgja preamble: At fáa áhugavert innihald í ljósmála er avgerandi fyri at nýggir brúkarar, sum kanska ongan kenna á Mastodon, kunnu koma væl umborð. Stýr, hvussu hentleikarnir at uppdaga ymiskt rigga á ambætaranum hjá tær. + privacy: Privatlív profile_directory: Vangaskrá public_timelines: Almennar tíðarlinjur - publish_discovered_servers: Kunnger uppdagaðu ambætararnar publish_statistics: Legg hagtøl út title: Uppdaging trends: Rák diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml index 53b510e57e..4de99762d8 100644 --- a/config/locales/fr-CA.yml +++ b/config/locales/fr-CA.yml @@ -803,7 +803,6 @@ fr-CA: preamble: Faire apparaître un contenu intéressant est essentiel pour interagir avec de nouveaux utilisateurs qui ne connaissent peut-être personne sur Mastodonte. Contrôlez le fonctionnement des différentes fonctionnalités de découverte sur votre serveur. profile_directory: Annuaire des profils public_timelines: Fils publics - publish_discovered_servers: Publier les serveurs découverts publish_statistics: Publier les statistiques title: Découverte trends: Tendances diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 1ff2254a57..b89fed362e 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -803,7 +803,6 @@ fr: preamble: Il est essentiel de donner de la visibilité à des contenus intéressants pour attirer des utilisateur⋅rice⋅s néophytes qui ne connaissent peut-être personne sur Mastodon. Contrôlez le fonctionnement des différentes fonctionnalités de découverte sur votre serveur. profile_directory: Annuaire des profils public_timelines: Fils publics - publish_discovered_servers: Publier les serveurs découverts publish_statistics: Publier les statistiques title: Découverte trends: Tendances diff --git a/config/locales/fy.yml b/config/locales/fy.yml index 791b8ae455..9fe53b7951 100644 --- a/config/locales/fy.yml +++ b/config/locales/fy.yml @@ -818,7 +818,6 @@ fy: preamble: It toanen fan ynteressante ynhâld is fan essinsjeel belang foar it oan board heljen fan nije brûkers dy’t mooglik net ien fan Mastodon kinne. Bepaal hoe’t ferskate funksjes foar it ûntdekken fan ynhâld en brûkers op jo server wurkje. profile_directory: Profylmap public_timelines: Iepenbiere tiidlinen - publish_discovered_servers: Untdekte servers publisearje publish_statistics: Statistiken publisearje title: Untdekke trends: Trends diff --git a/config/locales/ga.yml b/config/locales/ga.yml index d27f531c7e..13fc4fd6f9 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -860,7 +860,6 @@ ga: preamble: Tá sé ríthábhachtach dromchla a chur ar ábhar suimiúil chun úsáideoirí nua a chur ar bord nach bhfuil aithne acu ar dhuine ar bith Mastodon. Rialú conas a oibríonn gnéithe fionnachtana éagsúla ar do fhreastalaí. profile_directory: Eolaire próifíle public_timelines: Amlínte poiblí - publish_discovered_servers: Foilsigh freastalaithe aimsithe publish_statistics: Staitisticí a fhoilsiú title: Fionnachtain trends: Treochtaí @@ -1987,6 +1986,10 @@ ga: limit: Tá uaslíon na bpostálacha pinn agat cheana féin ownership: Ní féidir postáil duine éigin eile a phionnáil reblog: Ní féidir treisiú a phinnáil + quote_policies: + followers: Leantóirí agus úsáideoirí luaite + nobody: Úsáideoirí luaite amháin + public: Gach duine title: '%{name}: "%{quote}"' visibilities: direct: Díreach @@ -2040,6 +2043,11 @@ ga: does_not_match_previous_name: nach meaitseálann an t-ainm roimhe seo terms_of_service: title: Téarmaí Seirbhíse + terms_of_service_interstitial: + future_preamble_html: Táimid ag déanamh roinnt athruithe ar ár dtéarmaí seirbhíse, a thiocfaidh i bhfeidhm ar %{date}. Molaimid duit na téarmaí nuashonraithe a athbhreithniú. + past_preamble_html: Tá ár dtéarmaí seirbhíse athraithe againn ó thug tú cuairt dheireanach. Molaimid duit na téarmaí nuashonraithe a athbhreithniú. + review_link: Athbhreithnigh téarmaí seirbhíse + title: Tá téarmaí seirbhíse %{domain} ag athrú themes: contrast: Mastodon (Codarsnacht ard) default: Mastodon (Dorcha) diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 3bffae650e..2baf397715 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -846,7 +846,6 @@ gd: preamble: Tha tighinn an uachdar susbainte inntinniche fìor-chudromach airson toiseach-tòiseachaidh an luchd-cleachdaidh ùr nach eil eòlach air duine sam bith air Mastodon, ma dh’fhaoidte. Stiùirich mar a dh’obraicheas gleusan an rùrachaidh air an fhrithealaiche agad. profile_directory: Eòlaire nam pròifil public_timelines: Loidhnichean-ama poblach - publish_discovered_servers: Foillsich na frithealaichean a chaidh a rùrachadh publish_statistics: Foillsich an stadastaireachd title: Rùrachadh trends: Treandaichean diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 6faa967f30..0398f0b672 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -214,7 +214,7 @@ gl: enable_user: Activar usuaria memorialize_account: Transformar en conta conmemorativa promote_user: Promover usuaria - publish_terms_of_service: Publicar os Termos do Servizo + publish_terms_of_service: Publicar as Condicións do Servizo reject_appeal: Rexeitar apelación reject_user: Rexeitar Usuaria remove_avatar_user: Eliminar avatar @@ -279,7 +279,7 @@ gl: enable_user_html: "%{name} activou as credenciais para a usuaria %{target}" memorialize_account_html: "%{name} convertiu a conta de %{target} nunha páxina para o recordo" promote_user_html: "%{name} promocionou a usuaria %{target}" - publish_terms_of_service_html: "%{name} actualizou os termos do servizo" + publish_terms_of_service_html: "%{name} actualizou as condicións do servizo" reject_appeal_html: "%{name} rexeitou a apelación da decisión da moderación de %{target}" reject_user_html: "%{name} rexeitou o rexistro de %{target}" remove_avatar_user_html: "%{name} eliminou o avatar de %{target}" @@ -787,9 +787,11 @@ gl: rules: add_new: Engadir regra delete: Eliminar - description_html: Aínda que a maioría di que leu e acepta os termos de servizo, normalmente non os lemos ata que xurde un problema. Facilita a visualización das regras do servidor mostrándoas nunha lista de puntos. Intenta manter as regras individuais curtas e simples, mais non dividilas en demasiados elementos separados. + description_html: Aínda que a maioría di que leu e acepta as condicións do servizo, normalmente non as lemos ata que xurde un problema. Facilita a visualización das regras do servidor mostrándoas nunha lista de puntos. Intenta manter as regras individuais curtas e simples, mais non dividilas en demasiados elementos separados. edit: Editar regra empty: Aínda non se definiron as regras do servidor. + move_down: Baixar + move_up: Subir title: Regras do servidor settings: about: @@ -797,6 +799,9 @@ gl: preamble: Proporciona información detallada acerca do xeito en que se xestiona, modera e financia o servidor. rules_hint: Hai un espazo dedicado para as normas que é de agardar as usuarias acaten. title: Sobre + allow_referrer_origin: + desc: 'Cando as túas usuarias premen en ligazóns a sitios web externos o seu navegador pode enviar o enderezo do teu servidor Mastodon como «referrer». Destactiva esta opción se isto permitiría identificar de xeito único ás túas usuarias. Ex.: un servidor persoal de Mastodon.' + title: Permitir a sitios web externos ver o teu servidor Mastodon como orixe do tráfico appearance: preamble: Personalizar a interface web de Mastodon. title: Aparencia @@ -816,9 +821,9 @@ gl: discovery: follow_recommendations: Recomendacións de seguimento preamble: Destacar contido interesante é importante para axudar a que as novas usuarias se sintan cómodas se non coñecen a ninguén en Mastodon. Xestiona os diferentes xeitos de promocionar contidos. + privacy: Privacidade profile_directory: Directorio de perfís public_timelines: Cronoloxías públicas - publish_discovered_servers: Publicar os servidores descubertos publish_statistics: Publicar estatísticas title: Descubrir trends: Tendencias @@ -965,22 +970,22 @@ gl: title: Cancelos updated_msg: Actualizaronse os axustes dos cancelos terms_of_service: - back: Volver aos termos do servizo + back: Volver ás condicións do servizo changelog: Que cambios se fixeron - create: Usa os teus propios + create: Usa as túas propias current: Actuais draft: Borrador generate: Usar un modelo generates: action: Crear - chance_to_review_html: "Vanse publicar automaticamente os termos do servizo creados. Terás a oportunidade de revisar o resultado. Por favor completa os detalles precisos para continuar." + chance_to_review_html: "Vanse publicar automaticamente as condicións do servizo creadas. Terás a oportunidade de revisar o resultado. Por favor completa os detalles precisos para continuar." explanation_html: O modelo dos termos do servizo proporcionados é soamente informativo, e en ningún caso constitúe un consello legal. Por favor realiza unha consulta legal sobre a túa situación concreta e posibles cuestións legais que debas afrontar. - title: Configurar os Termos do Servizo - going_live_on_html: Aplicados, con efecto desde %{date} + title: Configurar as Condicións do Servizo + going_live_on_html: Aplicadas, con efecto desde %{date} history: Historial live: Actuais - no_history: Non hai rexistrados cambios nos termos do servizo. - no_terms_of_service_html: Actualmente non tes configurados ningúns termos do servizo. Os Termos do servizo están pensados para dar claridade e protexerte de responsabilidades potenciais nas disputas coas túas usuarias. + no_history: Non hai rexistrados cambios nas condicións do servizo. + no_terms_of_service_html: Actualmente non tes configurados ningunhas condicións do servizo. As Condicións do Servizo están pensadas para dar claridade e protexerte de responsabilidades potenciais nas disputas coas túas usuarias. notified_on_html: Informouse ás usuarias o %{date} notify_users: Informar ás usuarias preview: @@ -993,7 +998,7 @@ gl: publish: Publicar published_on_html: Publicados o %{date} save_draft: Gardar borrador - title: Termos do Servizo + title: Condicións do Servizo title: Administración trends: allow: Permitir @@ -1246,7 +1251,7 @@ gl: view_strikes: Ver avisos anteriores respecto da túa conta too_fast: Formulario enviado demasiado rápido, inténtao outra vez. use_security_key: Usa chave de seguridade - user_agreement_html: Lin e acepto os termos do servizo e a política de privacidade + user_agreement_html: Lin e acepto as condicións do servizo e a directiva de privacidade user_privacy_agreement_html: Lin e acepto a política de privacidade author_attribution: example_title: Texto de mostra @@ -1296,7 +1301,7 @@ gl: email_contact_html: Se non o recibes, podes escribir a %{email} pedindo axuda email_reconfirmation_html: Se non recibes o correo de confirmación, podes solicitalo de novo irreversible: Non poderás restaurar ou reactivar a conta - more_details_html: Para máis detalles, mira a política de privacidade. + more_details_html: Para máis detalles, mira a directiva de privacidade. username_available: O nome de usuaria estará dispoñible novamente username_unavailable: O nome de usuaria non estará dispoñible disputes: @@ -1914,7 +1919,12 @@ gl: tags: does_not_match_previous_name: non concorda co nome anterior terms_of_service: - title: Termos do Servizo + title: Condicións do Servizo + terms_of_service_interstitial: + future_preamble_html: Estamos a facer cambios nas condicións do servizo, que terán efecto o %{date}. Cremos que debes revisar as condicións actualizados. + past_preamble_html: Cambiamos as condicións do servizo desde a túa última visita. Recomendámosche revisar estas condicións actualizadas. + review_link: Revisar as condicións do sevizo + title: Cambios nas condicións do servizo de %{domain} themes: contrast: Mastodon (Alto contraste) default: Mastodon (Escuro) @@ -1982,11 +1992,11 @@ gl: terms_of_service_changed: agreement: Se continúas a usar %{domain} aceptas estas condicións. Se non aceptas as condicións actualizadas podería rematar o acordo con %{domain} en calquera momento e eliminarse a túa conta. changelog: 'Dunha ollada, aquí tes o que implican os cambios para ti:' - description: 'Estás a recibir este correo porque fixemos cambios nos termos do servizo en %{domain}. Estas actualizacións terán efecto desde o %{date}. Convidámoste a que revises os termos ao completo aquí:' - description_html: 'Estás a recibir este correo porque fixemos algúns cambios nos nosos termos do servizo en %{domain}. Estas actualizacións terán efecto desde o %{date}. Convidámoste a que leas aquí as condicións actualizadas ao completo:' + description: 'Estás a recibir este correo porque fixemos cambios nas condicións do servizo en %{domain}. Estas actualizacións terán efecto desde o %{date}. Convidámoste a que revises os termos ao completo aquí:' + description_html: 'Estás a recibir este correo porque fixemos algúns cambios nas nósas condicións do servizo en %{domain}. Estas actualizacións terán efecto desde o %{date}. Convidámoste a que leas aquí as condicións actualizadas ao completo:' sign_off: O equipo de %{domain} - subject: Actualización dos nosos termos do servizo - subtitle: Cambiaron os termos do servizo de %{domain} + subject: Actualización das condicións do servizo + subtitle: Cambiaron as condicións do servizo de %{domain} title: Notificación importante warning: appeal: Enviar unha apelación diff --git a/config/locales/he.yml b/config/locales/he.yml index a0fb7053c4..e87acdb895 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -818,6 +818,8 @@ he: description_html: בעוד הרוב טוען שקרא והסכים לתנאי השימוש, אנשים לא נוטים לקרוא אותם עד הסוף עד שמתעוררת בעיה. כדי שיקל לראות את כללי השרת במבט, יש לספקם כרשימת נקודות. כדאי לשמור על הכללים קצרים ופשוטים, אבל מאידך גם לא לפצל אותם ליותר מדי נקודות נפרדות. edit: עריכת כלל empty: שום כללי שרת לא הוגדרו עדיין. + move_down: הזזה למטה + move_up: הזזה למעלה title: כללי שרת settings: about: @@ -825,6 +827,9 @@ he: preamble: תיאור מעמיק על דרכי ניהול השרת, ניהול הדיונים, ומקורות המימון שלו. rules_hint: קיים מקום ייעודי לחוקים שעל המשתמשים שלך לדבוק בהם. title: אודות + allow_referrer_origin: + desc: כאשר משתמשיך לוחצים על קישור לאתר חיצוני, הדפדפן ישלח את כתובת אתר המסטודון בתור האתר המפנה. ניתן לבטל את האפשרות אם עולה בך חשש שמתמשיך יזוהו בצורה זו, למשל אם מדובר בשרת מסטודון פרטי. + title: אפשר לאתרים חיצוניים לראות את שרת המסטודון שלך בתור האתר המפנה appearance: preamble: התאמה מיוחדת של מנשק המשתמש של מסטודון. title: מראה @@ -844,9 +849,9 @@ he: discovery: follow_recommendations: המלצות מעקב preamble: הצפה של תוכן מעניין בקבלת פני משתמשות חדשות שאולי אינן מכירות עדיין א.נשים במסטודון. ניתן לשלוט איך אפשרויות גילוי שונות עובדות על השרת שלך. + privacy: פרטיות profile_directory: ספריית פרופילים public_timelines: פידים פומביים - publish_discovered_servers: פרסום שרתים שנתגלו publish_statistics: פרסום הסטטיסטיקות בפומבי title: תגליות trends: נושאים חמים diff --git a/config/locales/hu.yml b/config/locales/hu.yml index dfd6a597d4..6c2bcaad51 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -790,6 +790,8 @@ hu: description_html: Bár a többség azt állítja, hogy elolvasták és egyetértenek a felhasználói feltételekkel, általában ez nem teljesül, amíg egy probléma elő nem jön. Tedd könnyebbé a kiszolgálód szabályainak áttekintését azzal, hogy pontokba foglalod azt egy listában. Az egyes szabályok legyenek rövidek és egyszerűek. Próbáld meg nem túl sok önálló pontra darabolni őket. edit: Szabály szerkesztése empty: Még nincsenek meghatározva a kiszolgáló szabályai. + move_down: Mozgás lefelé + move_up: Mozgatás felfelé title: Kiszolgáló szabályai settings: about: @@ -797,6 +799,9 @@ hu: preamble: Adj meg részletes információkat arról, hogy a kiszolgáló hogyan működik, miként moderálják és finanszírozzák. rules_hint: Van egy helyünk a szabályoknak, melyeket a felhasználóidnak be kellene tartani. title: Névjegy + allow_referrer_origin: + desc: Amikor a felhasználók külső webhelyekre mutató hivatkozásokra kattintanak, a böngészőjük elküldheti a Mastodon kiszolgálócímét hivatkozóként (Referer fejléc). Kapcsold ki a funkciót, ha ez egyértelműen azonosítaná a felhasználókat, például ha ez egy személyes Mastodon-kiszolgáló. + title: Engedélyezés, hogy külső oldalak a Mastodon-kiszolgálódat lássák a forgalom forrásaként appearance: preamble: A Mastodon webes felületének testreszabása. title: Megjelenés @@ -816,9 +821,9 @@ hu: discovery: follow_recommendations: Ajánlottak követése preamble: Az érdekes tartalmak felszínre hozása fontos szerepet játszik az új felhasználók bevonásában, akik esetleg nem ismerik a Mastodont. Szabályozd, hogy a különböző felfedezési funkciók hogyan működjenek a kiszolgálón. + privacy: Adatvédelem profile_directory: Profiladatbázis public_timelines: Nyilvános idővonalak - publish_discovered_servers: Felfedezett kiszolgálók közzététele publish_statistics: Statisztikák közzététele title: Felfedezés trends: Trendek @@ -1858,6 +1863,10 @@ hu: limit: Elérted a kitűzhető bejegyzések maximális számát ownership: Nem tűzheted ki valaki más bejegyzését reblog: Megtolt bejegyzést nem tudsz kitűzni + quote_policies: + followers: Követők és említett felhasználók + nobody: Csak említett felhasználók + public: Mindenki title: "%{name}: „%{quote}”" visibilities: direct: Közvetlen @@ -1911,6 +1920,11 @@ hu: does_not_match_previous_name: nem illeszkedik az előző névvel terms_of_service: title: Felhasználási feltételek + terms_of_service_interstitial: + future_preamble_html: A használati feltételekben módosításokat végzünk, amely %{date} dátummal lép életbe. Ajánljuk a frissített feltételek elolvasását. + past_preamble_html: A legutóbbi látogatásod óta módosítottunk a felhasználási feltétleinken. Azt javasoljuk, hogy tekintsd át a frissített feltételeket. + review_link: Felhasználási feltételek áttekintése + title: A(z) %{domain} felhasználási feltételei megváltoznak themes: contrast: Mastodon (nagy kontrasztú) default: Mastodon (sötét) diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 8f064376b4..592f66864a 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -309,6 +309,7 @@ ia: title: Registro de inspection unavailable_instance: "(nomine de dominio non disponibile)" announcements: + back: Retornar al annuncios destroyed_msg: Annuncio delite con successo! edit: title: Modificar annuncio @@ -317,6 +318,10 @@ ia: new: create: Crear annuncio title: Nove annuncio + preview: + disclaimer: Proque le usatores non pote optar pro non reciper los, le notificationes per e-mail debe limitar se a annuncios importante tal como le notificationes de violation de datos personal o de clausura de servitores. + explanation_html: 'Le e-mail essera inviate a %{display_count} usatores. Le sequente texto essera includite in le e-mail:' + title: Previder le notification de annuncio publish: Publicar published_msg: Annuncio publicate con successo! scheduled_for: Programmate pro %{time} @@ -762,6 +767,9 @@ ia: 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 + allow_referrer_origin: + desc: Quando tu usatores clicca sur ligamines a sitos externe, lor navigator pote inviar le adresse de tu servitor Mastodon como le referente. Disactiva iste option si illo pote identificar univocamente tu usatores, p. ex., si isto es un servitor Mastodon personal. + title: Permiter que sitos externe vide tu servitor Mastodon como un fonte de traffico appearance: preamble: Personalisar le interfacie web de Mastodon. title: Apparentia @@ -781,9 +789,9 @@ ia: discovery: follow_recommendations: Recommendationes de contos a sequer preamble: Presentar contento interessante es essential pro attraher e retener nove usatores qui pote non cognoscer alcun persona sur Mastodon. Controla como varie optiones de discoperta functiona sur tu servitor. + privacy: Confidentialitate profile_directory: Directorio de profilos public_timelines: Chronologias public - publish_discovered_servers: Publicar servitores discoperite publish_statistics: Publicar statisticas title: Discoperta trends: Tendentias @@ -868,6 +876,8 @@ ia: system_checks: database_schema_check: message_html: Il ha migrationes de base de datos pendente. Per favor exeque los pro assecurar que le application se comporta como expectate + elasticsearch_analysis_index_mismatch: + message_html: Le parametros del analisator del indice de Elasticsearch es obsolete. Executa tootctl search deploy --only-mapping --only=%{value} elasticsearch_health_red: message_html: Le aggregation Elasticsearch es malsan (stato rubie), le functiones de recerca es indisponibile elasticsearch_health_yellow: @@ -1821,6 +1831,10 @@ ia: limit: Tu ha jam appunctate le maxime numero de messages ownership: Le message de alcuno altere non pote esser appunctate reblog: Un impulso non pote esser affixate + quote_policies: + followers: Sequitores e usatores mentionate + nobody: Solmente usatores mentionate + public: Omnes title: "%{name}: “%{quote}”" visibilities: direct: Directe @@ -1874,6 +1888,11 @@ ia: does_not_match_previous_name: non corresponde al nomine precedente terms_of_service: title: Conditiones de servicio + terms_of_service_interstitial: + future_preamble_html: Nos face alcun cambios a nostre conditiones de servicio, que entrara in vigor in %{date}. Nos te invita a revider le conditiones actualisate. + past_preamble_html: Nos ha cambiate nostre conditiones de servicio desde tu ultime visita. Nos te invita a revider le conditiones actualisate. + review_link: Revider le conditiones de servicio + title: Le conditiones de servicio de %{domain} cambia themes: contrast: Mastodon (Alte contrasto) default: Mastodon (Obscur) @@ -1905,6 +1924,10 @@ ia: recovery_instructions_html: Si tu perde le accesso a tu telephono, tu pote usar un del codices de recuperation hic infra pro reganiar le accesso a tu conto. Mantene le codices de recuperation secur. Per exemplo, tu pote imprimer los e guardar los con altere documentos importante. webauthn: Claves de securitate user_mailer: + announcement_published: + description: 'Le administratores de %{domain} face un annuncio:' + subject: Annuncio de servicio + title: Annuncio de servicio de %{domain} appeal_approved: action: Parametros de conto explanation: Le appello contra le sanction del %{strike_date} contra tu conto, que tu ha submittite le %{appeal_date}, ha essite approbate. Tu conto es de bon reputation de novo. @@ -1937,6 +1960,8 @@ ia: terms_of_service_changed: agreement: Si tu continua a usar %{domain}, tu accepta iste conditiones. Si tu non es de accordo con le conditiones actualisate, tu pote sempre eliminar tu conto pro terminar tu accordo con %{domain}. changelog: 'In summario, ecce lo que iste actualisation significa pro te:' + description: 'Tu recipe iste e-mail proque nos face alcun cambios al nostre conditiones de servicio a %{domain}. Iste actualisationes entrara in vigor in %{date}. Nos te invita a revider integralmente le conditiones actualisate hic:' + description_html: Tu recipe iste e-mail proque nos face alcun cambios al nostre conditiones de servicio a %{domain}. Iste actualisationes entrara in vigor in %{date}. Nos te invita a revider integralmente le conditiones actualisate hic. sign_off: Le equipa de %{domain} subject: Actualisationes de nostre conditiones de servicio subtitle: Le conditiones de servicio de %{domain} ha cambiate diff --git a/config/locales/ie.yml b/config/locales/ie.yml index 4e154b3114..a694ae95ad 100644 --- a/config/locales/ie.yml +++ b/config/locales/ie.yml @@ -732,7 +732,6 @@ ie: preamble: Exposir interessant contenete es importantissim por incorporar nov usatores qui fórsan conosse nequi che Mastodon. Decider qualmen diferent utensiles de decovrition functiona che vor servitor. profile_directory: Profilarium public_timelines: Public témpor-lineas - publish_discovered_servers: Publicar decovrit servitores publish_statistics: Publicar statisticas title: Decovriment trends: Tendenties diff --git a/config/locales/io.yml b/config/locales/io.yml index ee905aaf86..59c02fc875 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -783,7 +783,6 @@ io: preamble: Montrar interesanta kontenajo esas importanta ye voligar nova uzanti quo forsan ne savas irgu. Dominacez quale ca deskovrotraiti funcionar en ca servilo. profile_directory: Profiluyo public_timelines: Publika tempolinei - publish_discovered_servers: Publikar deskovrita servili publish_statistics: Publikar statistiki title: Deskovro trends: Populari diff --git a/config/locales/is.yml b/config/locales/is.yml index f4a6b2d68f..c44181f036 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -790,6 +790,8 @@ is: description_html: Þó að flestir segist hafa lesið og samþykkt þjónustuskilmála, er fólk samt gjarnt á að lesa slíkar upplýsingar ekki til enda fyrr en upp koma einhver vandamál. Gerðu fólki auðvelt að sjá mikilvægustu reglurnar með því að setja þær fram í flötum punktalista. Reyndu að hafa hverja reglu stutta og skýra, en ekki vera heldur að skipta þeim upp í mörg aðskilin atriði. edit: Breyta reglu empty: Engar reglur fyrir netþjón hafa ennþá verið skilgreindar. + move_down: Færa niður + move_up: Færa upp title: Reglur netþjónsins settings: about: @@ -797,6 +799,9 @@ is: preamble: Gefðu nánari upplýsingar um hvernig þessi netþjónn er rekinn, hvernig umsjón fer fram með efni á honum eða hann fjármagnaður. rules_hint: Það er sérstakt svæði með þeim reglum sem ætlast er til að notendur þínir fari eftir. title: Um hugbúnaðinn + allow_referrer_origin: + desc: Þegar notendurnir þínir smella á tengla á utanaðkomandi vefsvæði, gæti vafrinn þeirra sent vistfang Mastodon-þjónsins þíns sem tilvísanda (referrer). Gerðu þetta óvirkt ef slíkt myndi berskjalda notendurna, t.d. ef þetta er einkanetþjónn í Mastodon-sambandi. + title: Leyfa utanaðkomandi vefsvæðum að líta á Mastodon-þjóninn þinn sem efnisveitu appearance: preamble: Sérsníddu vefviðmót Mastodon. title: Útlit @@ -818,9 +823,9 @@ is: discovery: follow_recommendations: Meðmæli um að fylgjast með preamble: Að láta áhugavert efni koma skýrt fram er sérstaklega mikilvægt til að nálgast nýja notendur sem ekki þekkja neinn sem er á Mastodon. Stýrðu því hvernig hinir ýmsu eiginleikar við uppgötvun efnis virka á netþjóninum þínum. + privacy: Persónuvernd profile_directory: Notendamappa public_timelines: Opinberar tímalínur - publish_discovered_servers: Birta uppgötvaða netþjóna publish_statistics: Birta tölfræði title: Uppgötvun trends: Vinsælt @@ -1919,6 +1924,11 @@ is: does_not_match_previous_name: samsvarar ekki fyrra nafni terms_of_service: title: Þjónustuskilmálar + terms_of_service_interstitial: + future_preamble_html: Við erum að gera nokkrar breytingar á þjónustuskilmálum okkar, og taka þær gildi %{date}. Við hvetjum þig til að yfirfara uppfærðu skilmálana í heild hér. + past_preamble_html: Við höfum breytt þjónustuskilmálum okkar síðan þú leist við síðast. Við hvetjum þig til að yfirfara uppfærðu skilmálana. + review_link: Yfirfara þjónustuskilmála + title: Þjónustuskilmálar eru að breytast á %{domain} themes: contrast: Mastodon (mikil birtuskil) default: Mastodon (dökkt) diff --git a/config/locales/it.yml b/config/locales/it.yml index 6ff9b33310..0f05e9e348 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -797,6 +797,9 @@ it: preamble: Fornire informazioni approfondite su come, il server, venga gestito, moderato e finanziato. rules_hint: C'è un'area dedicata per le regole che i tuoi utenti dovrebbero rispettare. title: Info + allow_referrer_origin: + desc: Quando i tuoi utenti cliccano su link a siti esterni, il loro browser potrebbe inviare l'indirizzo del tuo server Mastodon come referente. Disattiva questa opzione se ciò identificherebbe in modo univoco i tuoi utenti, ad esempio se si tratta di un server Mastodon personale. + title: Consenti ai siti esterni di vedere il tuo server Mastodon come fonte di traffico appearance: preamble: Personalizza l'interfaccia web di Mastodon. title: Aspetto @@ -816,9 +819,9 @@ it: discovery: follow_recommendations: Segui le raccomandazioni preamble: La comparsa di contenuti interessanti è determinante per l'arrivo di nuovi utenti che potrebbero non conoscere nessuno su Mastodon. Controlla in che modo varie funzionalità di scoperta funzionano sul tuo server. + privacy: Privacy profile_directory: Directory del profilo public_timelines: Timeline pubbliche - publish_discovered_servers: Pubblica i server scoperti publish_statistics: Pubblica le statistiche title: Scopri trends: Tendenze @@ -1917,6 +1920,11 @@ it: does_not_match_previous_name: non corrisponde al nome precedente terms_of_service: title: Termini di Servizio + terms_of_service_interstitial: + future_preamble_html: Stiamo apportando alcune modifiche ai nostri termini di servizio, che entreranno in vigore in data %{date}. Ti invitiamo a consultare i termini aggiornati. + past_preamble_html: Abbiamo modificato i nostri termini di servizio dalla tua ultima visita. Ti invitiamo a consultare i termini aggiornati. + review_link: Rivedi i termini di servizio + title: I termini di servizio di %{domain} stanno cambiando themes: contrast: Mastodon (contrasto elevato) default: Mastodon (scuro) diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 3914bfffba..091c9b3387 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -804,7 +804,6 @@ ja: preamble: Mastodon を知らないユーザーを取り込むには、興味深いコンテンツを浮上させることが重要です。サーバー上で様々なディスカバリー機能がどのように機能するかを制御します。 profile_directory: ディレクトリ public_timelines: 公開タイムライン - publish_discovered_servers: 接続しているサーバーを公開する publish_statistics: 統計情報を公開する title: 見つける trends: トレンド diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 1ce5ef2da9..12ab40265d 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -806,7 +806,6 @@ ko: preamble: 흥미로운 콘텐츠를 노출하는 것은 마스토돈을 알지 못할 수도 있는 신규 사용자를 유입시키는 데 중요합니다. 이 서버에서 작동하는 다양한 발견하기 기능을 제어합니다. profile_directory: 프로필 책자 public_timelines: 공개 타임라인 - publish_discovered_servers: 발견 된 서버들 발행 publish_statistics: 통계 발행 title: 발견하기 trends: 유행 diff --git a/config/locales/lad.yml b/config/locales/lad.yml index c1364fbb01..c83d336338 100644 --- a/config/locales/lad.yml +++ b/config/locales/lad.yml @@ -777,7 +777,6 @@ lad: preamble: Ekspone kontenido enteresante a la superfisie es fundamental para inkorporar muevos utilizadores ke pueden no koneser a dinguno Mastodon. Kontrola komo fonksionan varias opsiones de diskuvrimiento en tu sirvidor. profile_directory: Katalogo de profiles public_timelines: Linyas de tiempo publikas - publish_discovered_servers: Publika sirvidores diskuviertos publish_statistics: Publika estatistikas title: Diskuvrimiento trends: Trendes diff --git a/config/locales/lv.yml b/config/locales/lv.yml index f97c1ded13..3e2e3b33f8 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -826,7 +826,6 @@ lv: preamble: Interesanta satura parādīšana palīdz piesaistīt jaunus lietotājus, kuri, iespējams, nepazīst nevienu Mastodon. Kontrolē, kā tavā serverī darbojas dažādi atklāšanas līdzekļi. profile_directory: Profila direktorija public_timelines: Publiskās ziņu lentas - publish_discovered_servers: Publicēt atklātos serverus publish_statistics: Publicēt statistiku title: Atklāt trends: Tendences diff --git a/config/locales/ms.yml b/config/locales/ms.yml index 68f4e872b6..dc522f0af1 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -717,7 +717,6 @@ ms: preamble: Memaparkan kandungan yang menarik adalah penting dalam memasukkan pengguna baharu yang mungkin tidak mengenali sesiapa Mastodon. Kawal cara pelbagai ciri penemuan berfungsi pada server anda. profile_directory: Direktori profil public_timelines: Garis masa awam - publish_discovered_servers: Terbitkan pelayan yang ditemui publish_statistics: Terbitkan statistik title: Penemuan trends: Sohor kini diff --git a/config/locales/my.yml b/config/locales/my.yml index cba06d15f4..f46035833e 100644 --- a/config/locales/my.yml +++ b/config/locales/my.yml @@ -712,7 +712,6 @@ my: preamble: စိတ်ဝင်စားစရာကောင်းသော အကြောင်းအရာများပြထားခြင်းမှာ Mastodon ကို မသိသေးသော သုံးစွဲသူအသစ်များအတွက် အရေးပါပါသည်။ သင့်ဆာဗာတွင် မည်သည့်ရှာဖွေတွေ့ရှိမှုအကြောင်းအရာများ ပြထားမည်ကို ထိန်းချုပ်ပါ။ profile_directory: ပရိုဖိုင်လမ်းညွှန် public_timelines: အများမြင်စာမျက်နှာ - publish_discovered_servers: ရှာဖွေတွေ့ရှိထားသော ဆာဗာများကို ထုတ်ပြန်ပါ publish_statistics: စာရင်းဇယားထုတ်ပြန်မည် title: ရှာဖွေတွေ့ရှိမှု trends: လက်ရှိခေတ်စားမှုများ diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 48952b0d6d..8b9a70e9ee 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -790,6 +790,8 @@ nl: description_html: Hoewel de meeste mensen zeggen dat ze de gebruiksvoorwaarden hebben gelezen en er mee akkoord gaan, lezen mensen deze meestal niet totdat er een probleem optreedt. Maak het eenvoudiger om de regels van deze server in één oogopslag te zien, door ze puntsgewijs in een lijst te zetten. Probeer de verschillende regels kort en simpel te houden, maar probeer ze ook niet in verschillende items onder te verdelen. edit: Regel bewerken empty: Voor deze server zijn nog geen regels opgesteld. + move_down: Omlaag verplaatsen + move_up: Omhoog verplaatsen title: Serverregels settings: about: @@ -797,6 +799,9 @@ nl: preamble: Geef uitgebreide informatie over hoe de server wordt beheerd, gemodereerd en gefinancierd. rules_hint: Er is een speciaal gebied voor regels waaraan uw gebruikers zich dienen te houden. title: Over + allow_referrer_origin: + desc: Wanneer je gebruikers op links naar externe sites klikken, kan hun browser het adres van jouw Mastodon-server als de referrer verzenden. Zet dit uit als dit jouw gebruikers uniek zou identificeren, bijvoorbeeld als dit een persoonlijke Mastodon-server is. + title: Externe sites toestaan om jouw Mastodon-server te zien als de bron appearance: preamble: Mastodons webomgeving aanpassen. title: Weergave @@ -816,9 +821,9 @@ nl: discovery: follow_recommendations: Aanbevolen accounts preamble: Het tonen van interessante inhoud is van essentieel belang voor het aan boord halen van nieuwe gebruikers, die mogelijk niemand van Mastodon kennen. Bepaal hoe verschillende functies voor het ontdekken van inhoud en gebruikers op jouw server werken. + privacy: Privacy profile_directory: Gebruikersgids public_timelines: Openbare tijdlijnen - publish_discovered_servers: Ontdekte servers publiceren publish_statistics: Statistieken publiceren title: Ontdekken trends: Trends @@ -1916,10 +1921,10 @@ nl: terms_of_service: title: Gebruiksvoorwaarden terms_of_service_interstitial: - future_preamble_html: We brengen enkele wijzigingen aan in onze servicevoorwaarden, die van kracht worden op %{date}. We raden je aan om de bijgewerkte voorwaarden door te nemen. - past_preamble_html: We hebben onze servicevoorwaarden gewijzigd sinds je laatste bezoek. We raden je aan om de bijgewerkte voorwaarden door te nemen. - review_link: Bekijk de servicevoorwaarden - title: De servicevoorwaarden van %{domain} worden gewijzigd + future_preamble_html: We brengen enkele wijzigingen aan in onze gebruiksvoorwaarden, die van kracht worden op %{date}. We raden je aan om de bijgewerkte voorwaarden door te nemen. + past_preamble_html: We hebben onze gebruiksvoorwaarden gewijzigd sinds je laatste bezoek. We raden je aan om de bijgewerkte voorwaarden door te nemen. + review_link: De gebruiksvoorwaarden bekijken + title: De gebruiksvoorwaarden van %{domain} worden gewijzigd themes: contrast: Mastodon (hoog contrast) default: Mastodon (donker) diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 363b9d4e0a..7b7e5c6eaa 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -797,6 +797,9 @@ nn: preamble: Gje grundig informasjon om korleis tenaren blir drifta, moderert og finansiert. rules_hint: Det er eit eige område for reglar som brukarar må retta seg etter. title: Om + allow_referrer_origin: + desc: Når medlemene dine klikkar på lenker til eksterne sider, kan nettlesaren deira òg senda adressa til Mastodon-tenaren som referanse. Skru av dette viss det ville identifisera medlemene dine, til dømes viss dette er ein personleg Mastodon-tenar. + title: Gje eksterne sider lov til å sjå at Mastodon-tenaren din er kjelde til trafikken appearance: preamble: Tilpasse web-grensesnittet. title: Utsjånad @@ -816,9 +819,9 @@ nn: discovery: follow_recommendations: Fylgjeforslag preamble: Å framheva interessant innhald er vitalt i mottakinga av nye brukarar som ikkje nødvendigvis kjenner nokon på Mastodon. Kontroller korleis oppdagingsfunksjonane på tenaren din fungerar. + privacy: Personvern profile_directory: Profilkatalog public_timelines: Offentlege tidsliner - publish_discovered_servers: Publiser oppdaga tenarar publish_statistics: Publiser statistikk title: Oppdaging trends: Trender @@ -1858,6 +1861,10 @@ nn: limit: Du har allereie festa så mange tut som det går an å festa ownership: Du kan ikkje festa andre sine tut reblog: Ei framheving kan ikkje festast + quote_policies: + followers: Tilhengjarar og nemnde folk + nobody: Berre nemnde folk + public: Alle title: "%{name}: «%{quote}»" visibilities: direct: Direkte @@ -1911,6 +1918,11 @@ nn: does_not_match_previous_name: stemmar ikkje med det førre namnet terms_of_service: title: Bruksvilkår + terms_of_service_interstitial: + future_preamble_html: Me gjer nokre endringar i brukarvilkåra våre, og dei blir tekne i bruk %{date}. Det er fint viss du ser på dei nye vilkåra. + past_preamble_html: Me har endra brukarvilkåra våre sidan du var her sist. Det er fint viss du ser på dei oppdaterte vilkåra. + review_link: Les gjennom brukarvilkåra + title: Brukarvilkåra på %{domain} er endra themes: contrast: Mastodon (Høg kontrast) default: Mastodon (Mørkt) diff --git a/config/locales/no.yml b/config/locales/no.yml index d70e60df0a..620fe828ea 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -729,7 +729,6 @@ preamble: Å fremheve interessant innhold er viktig i ombordstigning av nye brukere som kanskje ikke kjenner noen Mastodon. Kontroller hvordan ulike oppdagelsesfunksjoner fungerer på serveren. profile_directory: Profilkatalog public_timelines: Offentlige tidslinjer - publish_discovered_servers: Publiser liste over oppdagede servere publish_statistics: Publiser statistikk title: Oppdagelse trends: Trender diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 8703633286..a77f82d634 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -811,7 +811,6 @@ pl: preamble: Prezentowanie interesujących treści ma kluczowe znaczenie dla nowych użytkowników, którzy mogą nie znać nikogo z Mastodona. Kontroluj, jak różne funkcje odkrywania działają na Twoim serwerze. profile_directory: Katalog profilów public_timelines: Publiczne osie czasu - publish_discovered_servers: Opublikuj znane serwery publish_statistics: Publikuj statystyki title: Odkrywanie trends: Trendy diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index a2e142ab55..d1958ad006 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -817,7 +817,6 @@ pt-BR: preamble: Navegar por um conteúdo interessante é fundamental para integrar novos usuários que podem não conhecer ninguém no Mastodon. Controle como várias características de descoberta funcionam no seu servidor. profile_directory: Diretório de perfis public_timelines: Timelines públicas - publish_discovered_servers: Publicar servidores descobertos publish_statistics: Publicar estatísticas title: Descobrir trends: Tendências diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index ccd20e209d..791a0d7719 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -787,7 +787,6 @@ pt-PT: preamble: Revelar conteúdos interessantes é fundamental para a entrada de novos utilizadores que podem não conhecer ninguém no Mastodon. Controla como os vários recursos de descoberta funcionam no teu servidor. profile_directory: Diretório de perfis public_timelines: Cronologias públicas - publish_discovered_servers: Publicar servidores descobertos publish_statistics: Publicar estatísticas title: Descobrir trends: Tendências diff --git a/config/locales/ru.yml b/config/locales/ru.yml index d6ed3f917c..67b3aa09d4 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -831,7 +831,6 @@ ru: preamble: Наблюдение интересного контента играет важную роль при открытии новых пользователей, которые могут не знать ни одного Mastodon. Контролируйте как работают различные функции обнаружения на вашем сервере. profile_directory: Каталог профилей public_timelines: Публичные ленты - publish_discovered_servers: Публикация списка обнаруженных узлов publish_statistics: Опубликовать стаитстику title: Обзор trends: Популярное diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index 19d5c537a3..26205e3826 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -139,6 +139,8 @@ ca: text: S'hi pot fer servir sintaxi Markdown. terms_of_service_generator: admin_email: Els avisos legals inclouen contraavisos, ordres judicials, sol·licituds de retirada i sol·licituds d'aplicació de la llei. + arbitration_address: Pot ser la mateixa adreça física d'abans or "N/A" si feu servir correu-e. + arbitration_website: Pot ser un formulari web or "N/A" si feu servir correu-e. choice_of_law: Ciutat, regió, territori o estat els jutjats del qual hauran de dirimir qualsevol disputa legal. dmca_email: Pot ser la mateixa que heu fet servir abans per a «adreça-e per als avisos legals». domain: Identificació única del servei en línia que oferiu. diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml index 86ca027566..b26cd854fc 100644 --- a/config/locales/simple_form.ga.yml +++ b/config/locales/simple_form.ga.yml @@ -56,6 +56,7 @@ ga: scopes: Cé na APIanna a mbeidh cead ag an bhfeidhmchlár rochtain a fháil orthu. Má roghnaíonn tú raon feidhme barrleibhéil, ní gá duit cinn aonair a roghnú. setting_aggregate_reblogs: Ná taispeáin treisithe nua do phoist a treisíodh le déanaí (ní dhéanann difear ach do threisithe nuafhaighte) setting_always_send_emails: Go hiondúil ní sheolfar fógraí ríomhphoist agus tú ag úsáid Mastodon go gníomhach + setting_default_quote_policy: Ceadaítear d’úsáideoirí luaite lua a dhéanamh i gcónaí. Ní bheidh an socrú seo i bhfeidhm ach amháin maidir le poist a cruthaíodh leis an gcéad leagan eile de Mastodon, ach is féidir leat do rogha féin a roghnú agus tú ag ullmhú setting_default_sensitive: Tá meáin íogair i bhfolach de réir réamhshocraithe agus is féidir iad a nochtadh le cliceáil setting_display_media_default: Folaigh meáin atá marcáilte mar íogair setting_display_media_hide_all: Folaigh meáin i gcónaí @@ -148,6 +149,12 @@ ga: min_age: Níor chóir go mbeidís faoi bhun na haoise íosta a éilíonn dlíthe do dhlínse. user: chosen_languages: Nuair a dhéantar iad a sheiceáil, ní thaispeánfar ach postálacha i dteangacha roghnaithe in amlínte poiblí + date_of_birth: + few: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo. + many: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo. + one: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo. + other: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo. + two: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo. role: Rialaíonn an ról na ceadanna atá ag an úsáideoir. user_role: color: Dath le húsáid don ról ar fud an Chomhéadain, mar RGB i bhformáid heicsidheachúlach @@ -228,6 +235,7 @@ ga: setting_boost_modal: Taispeáin dialóg deimhnithe roimh threisiú setting_default_language: Teanga postála setting_default_privacy: Postáil príobháideachta + setting_default_quote_policy: Cé a fhéadfaidh lua setting_default_sensitive: Marcáil na meáin mar íogair i gcónaí setting_delete_modal: Taispeáin dialóg deimhnithe sula scriostar postáil setting_disable_hover_cards: Díchumasaigh réamhamharc próifíle ar ainlíon diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index 9643f92b1d..a425a10384 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -98,7 +98,7 @@ gl: site_contact_username: De que xeito se pode contactar contigo en Mastodon. site_extended_description: Calquera información adicional que poida ser útil para visitantes e usuarias. Pode utilizarse sintaxe Markdown. site_short_description: Breve descrición que axuda a identificar de xeito único o teu servidor. Quen o xestiona, a quen vai dirixido? - site_terms: Escribe a túa propia política de privacidade ou usa o valor por defecto. Podes usar sintaxe Markdow. + site_terms: Escribe a túa propia directiva de privacidade ou usa o valor por defecto. Podes usar sintaxe Markdown. site_title: De que xeito se pode referir o teu servidor ademáis do seu nome de dominio. status_page_url: URL dunha páxina onde se pode ver o estado deste servidor cando non está a funcionar theme: Decorado que verán visitantes e novas usuarias. @@ -290,7 +290,7 @@ gl: site_contact_username: Nome do contacto site_extended_description: Descrición ampla site_short_description: Descrición do servidor - site_terms: Política de Privacidade + site_terms: Directiva de Privacidade site_title: Nome do servidor status_page_url: URL da páxina do estado theme: Decorado predeterminado diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml index e517ddd954..e54adb8ca2 100644 --- a/config/locales/simple_form.hu.yml +++ b/config/locales/simple_form.hu.yml @@ -56,6 +56,7 @@ hu: scopes: Mely API-kat érheti el az alkalmazás. Ha felső szintű hatáskört választasz, nem kell egyesével kiválasztanod az alatta lévőeket. setting_aggregate_reblogs: Ne mutassunk megtolásokat olyan bejegyzésekhez, melyeket nemrég toltak meg (csak új megtolásokra lép életbe) setting_always_send_emails: Alapesetben nem küldünk e-mail-értesítéseket, ha aktívan használod a Mastodont + setting_default_quote_policy: A megemlített felhasználók mindig idézhetnek. A beállítás csak a Mastodon következő verziójával készült bejegyzésekre lesz hatással, de előre kiválaszthatod az előnyben részesített beállítást. setting_default_sensitive: A kényes médiatartalmat alapesetben elrejtjük, de egyetlen kattintással előhozható setting_display_media_default: Kényes tartalomnak jelölt média elrejtése setting_display_media_hide_all: Média elrejtése mindig @@ -231,6 +232,7 @@ hu: setting_boost_modal: Megerősítés kérése megtolás előtt setting_default_language: Bejegyzések nyelve setting_default_privacy: Bejegyzések láthatósága + setting_default_quote_policy: Ki idézhet setting_default_sensitive: Minden médiafájl megjelölése kényesként setting_delete_modal: Megerősítés kérése bejegyzés törlése előtt setting_disable_hover_cards: Profilelőnézet letiltása föléhúzás esetén diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml index f18c6ed606..71de819342 100644 --- a/config/locales/simple_form.ia.yml +++ b/config/locales/simple_form.ia.yml @@ -56,6 +56,7 @@ ia: scopes: Le APIs al quales le application habera accesso. Si tu selige un ambito de nivello superior, non es necessari seliger ambitos individual. setting_aggregate_reblogs: Non monstrar nove impulsos pro messages que ha essite recentemente impulsate (affecta solmente le impulsos novemente recipite) setting_always_send_emails: Normalmente, le notificationes de e-mail non es inviate quando tu activemente usa Mastodon + setting_default_quote_policy: Le usatores mentionate sempre ha permission pro citar. Iste parametro solo habera effecto pro messages create con le proxime version de Mastodon, ma tu pote seliger tu preferentia anticipatemente 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 contento multimedial diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml index bca47319cb..d23ef70830 100644 --- a/config/locales/simple_form.nn.yml +++ b/config/locales/simple_form.nn.yml @@ -56,6 +56,7 @@ nn: scopes: API-ane som programmet vil få tilgjenge til. Ettersom du vel eit toppnivåomfang tarv du ikkje velja einskilde API-ar. setting_aggregate_reblogs: Ikkje vis nye framhevingar for tut som nyleg har vorte heva fram (Påverkar berre nylege framhevingar) setting_always_send_emails: Vanlegvis vil ikkje e-postvarsel bli sendt når du brukar Mastodon aktivt + setting_default_quote_policy: Dei nemnde folka får alltid lov å sitera. Denne innstillinga har berre verknad for innlegg som er laga med den neste utgåva av Mastodon, men du kan velja kva du vil ha i førebuingane setting_default_sensitive: Sensitive media vert gøymde som standard, og du syner dei ved å klikka på dei setting_display_media_default: Gøym media som er merka som sensitive setting_display_media_hide_all: Alltid skjul alt media @@ -228,6 +229,7 @@ nn: setting_boost_modal: Vis stadfesting før framheving setting_default_language: Språk på innlegg setting_default_privacy: Privatliv + setting_default_quote_policy: Kven kan sitera setting_default_sensitive: Merk alltid media som nærtakande setting_delete_modal: Vis stadfesting før du slettar eit tut setting_disable_hover_cards: Skru av profilvising når peikaren er over diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index e1dd0a555a..80bc56d033 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -149,6 +149,9 @@ tr: min_age: Tabi olduğunuz yasaların gerektirdiği yaştan düşük olmamalıdır. user: chosen_languages: İşaretlendiğinde, yalnızca seçilen dillerdeki gönderiler genel zaman çizelgelerinde görüntülenir + date_of_birth: + one: Mastodon kullanmak için en az %{count} yaşında olduğunuzdan emin olmalıyız. Bu bilgiyi saklamıyoruz. + other: Mastodon kullanmak için en az %{count} yaşında olduğunuzdan emin olmalıyız. Bu bilgiyi saklamıyoruz. role: Rol, kullanıcıların sahip olduğu izinleri denetler. user_role: color: Arayüz boyunca rol için kullanılacak olan renk, hex biçiminde RGB diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 8ae14231ca..a34013bd61 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -645,7 +645,6 @@ sk: follow_recommendations: Odporúčania pre nasledovanie profile_directory: Katalóg profilov public_timelines: Verejné časové osi - publish_discovered_servers: Zverejni objavené servery publish_statistics: Zverejni štatistiky title: Objavovanie trends: Trendy diff --git a/config/locales/sl.yml b/config/locales/sl.yml index b048dbf728..9cbd5453b8 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -815,7 +815,6 @@ sl: preamble: Izpostavljanje zanimivih vsebin je ključno za pridobivanje novih uporabnikov, ki morda ne poznajo nikogar na Mastodonu. Nadzirajte, kako različne funkcionalnosti razkritja delujejo na vašem strežniku. profile_directory: Imenik profilov public_timelines: Javne časovnice - publish_discovered_servers: Objavi odkrite strežnike publish_statistics: Objavi statistiko title: Razkrivanje trends: Trendi diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 5061ba94c1..b1209e8ead 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -790,6 +790,9 @@ sq: preamble: Jepni informacion të hollësishëm rreth se si mbahet në punë, si moderohet dhe si financohet shërbyesi. rules_hint: Ka një zonë enkas për rregulla me të cilat pritet që përdoruesit tuaj të pajtohen. title: Mbi + allow_referrer_origin: + desc: Kur përdoruesit tuaj klikojnë lidhje në sajte të jashtëm, shfletuesi i tyre mund të dërgojë si referues adresën e shërbyesit tuaj Mastodon. Çaktivizojeni këtë, nëse kjo do të lejonte identifikim unik të përdoruesve tuaj, për shembull, nëse është një shërbyes personal Mastodon. + title: Lejoni sajte të jashtëm të shohin shërbyesin tuaj Mastodon si burim traffiku appearance: preamble: Përshtatni ndërfaqen web të Mastodon-it. title: Dukje @@ -809,9 +812,9 @@ sq: discovery: follow_recommendations: Rekomandime ndjekjeje preamble: Shpërfaqja e lëndës interesante është me rëndësi kyçe për mirëseardhjen e përdoruesve të rinj që mund të mos njohin njeri në Mastodon. Kontrolloni se si funksionojnë në shërbyesin tuaj veçori të ndryshme zbulimi. + privacy: Privatësi profile_directory: Drejtori profilesh public_timelines: Rrjedha kohore publike - publish_discovered_servers: Publiko shërbyes të njohur publish_statistics: Publiko statistika title: Zbulim trends: Në modë diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 700e588550..6833b7fdc1 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -748,7 +748,6 @@ sr-Latn: preamble: Održavanje zanimljivih sadržaja na površini je ključno u privlačenju novih korisnika koji možda ne znaju nikoga na Mastodon-u. Kontrolišite kako različiti načini istraživanja funkcionišu na vašem serveru. profile_directory: Direktorijum profilâ public_timelines: Javne vremenske linije - publish_discovered_servers: Objavi otkrivene servere publish_statistics: Objavi statistiku title: Otkrivanje trends: Trendovi diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 28abe3b46e..a2b6559515 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -778,7 +778,6 @@ sr: preamble: Одржавање занимљивих садржаја на површини је кључно у привлачењу нових корисника који можда не знају никога на Mastodon-у. Контролишите како различити начини истраживања функционишу на вашем серверу. profile_directory: Директоријум профилâ public_timelines: Јавне временске линије - publish_discovered_servers: Објави откривене сервере publish_statistics: Објави статистику title: Откривање trends: Трендови diff --git a/config/locales/sv.yml b/config/locales/sv.yml index bc351a8f3b..c5920048fc 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -796,7 +796,6 @@ sv: preamble: Att visa intressant innehåll är avgörande i onboarding av nya användare som kanske inte känner någon på Mastodon. Styr hur olika upptäcktsfunktioner fungerar på din server. profile_directory: Profilkatalog public_timelines: Offentliga tidslinjer - publish_discovered_servers: Publicera upptäckta servrar publish_statistics: Publicera statistik title: Upptäck trends: Trender diff --git a/config/locales/th.yml b/config/locales/th.yml index 19f9e4da1f..6e4e769b5d 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -774,7 +774,6 @@ th: preamble: การแสดงเนื้อหาที่น่าสนใจเป็นเครื่องมือในการเตรียมความพร้อมให้ผู้ใช้ใหม่ที่อาจไม่รู้จักใครก็ตามใน Mastodon ควบคุมวิธีที่คุณลักษณะการค้นพบต่าง ๆ ทำงานในเซิร์ฟเวอร์ของคุณ profile_directory: ไดเรกทอรีโปรไฟล์ public_timelines: เส้นเวลาสาธารณะ - publish_discovered_servers: เผยแพร่เซิร์ฟเวอร์ที่ค้นพบ publish_statistics: เผยแพร่สถิติ title: การค้นพบ trends: แนวโน้ม diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 2e12cc55b4..968a6a5b5c 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -790,6 +790,8 @@ tr: description_html: Her ne kadar çoğu hizmet kullanım şartlarını okuyup kabul ettiğini söylese de, insanlar onu ancak bir sorun çıktığında gözden geçiriyorlar. Sunucunuzun kurallarını bir bakışta kolayca görülecek şekilde düz bir madde listesi şeklinde sunun. Tekil kuralları kısa ve yalın tutmaya çalışan ama onları çok sayıda maddeye bölmemeye de çalışın. edit: Kuralı düzenle empty: Henüz bir sunucu kuralı tanımlanmadı. + move_down: Aşağı taşı + move_up: Yukarı taşı title: Sunucu kuralları settings: about: @@ -797,6 +799,9 @@ tr: preamble: Sunucunun nasıl işletildiği, yönetildiği ve fonlandığı hakkında ayrıntılı bilgi verin. rules_hint: Kullanıcılarınızın uyması beklenen kurallar için özel bir alan var. title: Hakkında + allow_referrer_origin: + desc: Kullanıcılarınız harici sitelere giden bağlantılara tıkladığında, tarayıcıları Mastodon sunucunuzun adresini yönlendiren olarak gönderebilir. Bu, kullanıcılarınızı benzersiz bir şekilde tanımlayacaksa, örneğin bu kişisel bir Mastodon sunucusuysa, bunu devre dışı bırakın. + title: Harici sitelerin Mastodon sunucunuzu bir trafik kaynağı olarak görmesine izin verin appearance: preamble: Mastodon'un web arayüzünü düzenleyin. title: Görünüm @@ -816,9 +821,9 @@ tr: discovery: follow_recommendations: Takip önerileri preamble: İlginç içeriği gezinmek, Mastodon'da kimseyi tanımayan yeni kullanıcıları alıştırmak için oldukça etkilidir. Sunucunuzdaki çeşitli keşif özelliklerinin nasıl çalıştığını denetleyin. + privacy: Gizlilik profile_directory: Profil dizini public_timelines: Genel zaman çizelgeleri - publish_discovered_servers: Keşfedilen sunucuları yayınla publish_statistics: İstatistikleri yayınla title: Keşfet trends: Öne çıkanlar diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 34a9613181..55cc9820e2 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -814,9 +814,9 @@ uk: discovery: follow_recommendations: Поради щодо підписок preamble: Показ цікавих матеріалів відіграє важливу роль у залученні нових користувачів, які, можливо, не знають нікого з Mastodon. Контролюйте роботу різних функцій виявлення на вашому сервері. + privacy: Конфіденційність profile_directory: Каталог профілів public_timelines: Публічна стрічка - publish_discovered_servers: Опублікувати знайдені сервери publish_statistics: Публікувати статистику title: Виявлення trends: Популярні diff --git a/config/locales/vi.yml b/config/locales/vi.yml index a654a32322..a99b3e6d20 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -776,6 +776,8 @@ vi: description_html: Mặc dù được yêu cầu chấp nhận điều khoản dịch vụ khi đăng ký, nhưng mọi người thường không đọc cho đến khi vấn đề gì đó xảy ra. Hãy làm điều này rõ ràng hơn bằng cách liệt kê nội quy máy chủ theo gạch đầu dòng. Cố gắng viết ngắn và đơn giản, nhưng đừng tách ra quá nhiều mục. edit: Sửa nội quy empty: Chưa có nội quy máy chủ. + move_down: Hạ cấp + move_up: Thăng cấp title: Nội quy máy chủ settings: about: @@ -783,6 +785,9 @@ vi: preamble: Cung cấp thông tin chuyên sâu về cách máy chủ được vận hành, kiểm duyệt, tài trợ. rules_hint: Có một khu vực dành riêng cho các nội quy mà người tham gia máy chủ của bạn phải tuân thủ. title: Giới thiệu + allow_referrer_origin: + desc: 'Khi người dùng của bạn nhấn vào liên kết đến các trang web bên ngoài, trình duyệt của họ có thể gửi địa chỉ máy chủ Mastodon của bạn làm người giới thiệu. Tắt tùy chọn này nếu điều này sẽ xác định duy nhất người dùng của bạn, ví dụ: nếu đây là máy chủ Mastodon cá nhân.' + title: Cho phép các trang web bên ngoài xem máy chủ Mastodon của bạn như một nguồn lưu lượng truy cập appearance: preamble: Tùy chỉnh giao diện web của Mastodon. title: Giao diện @@ -802,9 +807,9 @@ vi: discovery: follow_recommendations: Gợi ý theo dõi preamble: Hiển thị nội dung thú vị là công cụ để thu hút người dùng mới, những người có thể không quen bất kỳ ai trong Mastodon. Kiểm soát cách các tính năng khám phá hoạt động trên máy chủ của bạn. + privacy: Riêng tư profile_directory: Cộng đồng public_timelines: Bảng tin - publish_discovered_servers: Công khai các máy chủ được phát hiện publish_statistics: Công khai số liệu thống kê title: Khám phá trends: Xu hướng diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index aae4785790..01d05089e2 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -800,7 +800,6 @@ zh-CN: preamble: 露出有趣的内容有助于新加入 Mastodon 的用户融入。可在这里控制多种发现功能如何在你的服务器上工作。 profile_directory: 个人资料目录 public_timelines: 公共时间线 - publish_discovered_servers: 已公开实例的服务器 publish_statistics: 发布统计数据 title: 发现 trends: 热门 diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index 43f4f3ecba..10228b4245 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -725,7 +725,6 @@ zh-HK: preamble: 呈現有趣的內容有助於吸引不認識 Mastodon 的使用者新手上路。控制各種探索功能在你的伺服器上的運作方式。 profile_directory: 個人檔案目錄 public_timelines: 公共時間軸 - publish_discovered_servers: 公開已知的伺服器 publish_statistics: 公佈統計數據 title: 探索 trends: 熱門 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 6db361b9f9..fc48c94db0 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -776,6 +776,8 @@ zh-TW: description_html: 雖然大多數人皆宣稱已閱讀並同意服務條款,通常直到某些問題發生時人們從未讀過。以透過提供條列式規則的方式使您的伺服器規則可以一目了然。試著維持各項條款簡短而明瞭,但也試著不要將條款切割為許多分開的項目。 edit: 編輯規則 empty: 未曾定義任何伺服器規則 + move_down: 向下移 + move_up: 向上移 title: 伺服器規則 settings: about: @@ -783,6 +785,9 @@ zh-TW: preamble: 提供關於此伺服器如何運作、管理、及金援之供詳細資訊。 rules_hint: 這是關於您的使用者應遵循規則之專有區域。 title: 關於 + allow_referrer_origin: + desc: 當您的使用者點擊連結至外部網站時,他們的瀏覽器可能會將您 Mastodon 伺服器網址作為流量來源送出。若這將唯一識別您的使用者,請停用此選項,例如這是一個個人 Mastodon 伺服器。 + title: 允許外部網站視您的 Mastodon 伺服器為流量來源 appearance: preamble: 客製化 Mastodon 網頁介面。 title: 外觀設定 @@ -804,9 +809,9 @@ zh-TW: discovery: follow_recommendations: 跟隨建議 preamble: 呈現有趣的內容有助於 Mastodon 上一人不識的新手上路。控制各種不同的分類於您伺服器上如何被探索到。 + privacy: 隱私權 profile_directory: 個人檔案目錄 public_timelines: 公開時間軸 - publish_discovered_servers: 公開已知伺服器列表 publish_statistics: 公開統計資料 title: 探索 trends: 熱門趨勢 diff --git a/config/routes/admin.rb b/config/routes/admin.rb index 62c0670cde..7bf569ad24 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -94,7 +94,12 @@ namespace :admin do end end - resources :rules, only: [:index, :new, :create, :edit, :update, :destroy] + resources :rules, only: [:index, :new, :create, :edit, :update, :destroy] do + member do + post :move_up + post :move_down + end + end resources :webhooks do member do diff --git a/db/migrate/20250520204643_create_rule_translations.rb b/db/migrate/20250520204643_create_rule_translations.rb new file mode 100644 index 0000000000..cf696e769d --- /dev/null +++ b/db/migrate/20250520204643_create_rule_translations.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class CreateRuleTranslations < ActiveRecord::Migration[8.0] + def change + create_table :rule_translations do |t| + t.text :text, null: false, default: '' + t.text :hint, null: false, default: '' + t.string :language, null: false + t.references :rule, null: false, foreign_key: { on_delete: :cascade }, index: false + + t.timestamps + end + + add_index :rule_translations, [:rule_id, :language], unique: true + end +end diff --git a/db/post_migrate/20240307180905_migrate_devise_two_factor_secrets.rb b/db/post_migrate/20240307180905_migrate_devise_two_factor_secrets.rb index 6194cf9ee3..d34128796c 100644 --- a/db/post_migrate/20240307180905_migrate_devise_two_factor_secrets.rb +++ b/db/post_migrate/20240307180905_migrate_devise_two_factor_secrets.rb @@ -3,13 +3,86 @@ class MigrateDeviseTwoFactorSecrets < ActiveRecord::Migration[7.1] disable_ddl_transaction! + module LegacyOtpSecret + extend ActiveSupport::Concern + + private + + # Decrypt and return the `encrypted_otp_secret` attribute which was used in + # prior versions of devise-two-factor + # @return [String] The decrypted OTP secret + def legacy_otp_secret + return nil unless self[:encrypted_otp_secret] + return nil unless self.class.otp_secret_encryption_key + + hmac_iterations = 2000 # a default set by the Encryptor gem + key = self.class.otp_secret_encryption_key + salt = Base64.decode64(encrypted_otp_secret_salt) + iv = Base64.decode64(encrypted_otp_secret_iv) + + raw_cipher_text = Base64.decode64(encrypted_otp_secret) + # The last 16 bytes of the ciphertext are the authentication tag - we use + # Galois Counter Mode which is an authenticated encryption mode + cipher_text = raw_cipher_text[0..-17] + auth_tag = raw_cipher_text[-16..-1] # rubocop:disable Style/SlicingWithRange + + # this alrorithm lifted from + # https://github.com/attr-encrypted/encryptor/blob/master/lib/encryptor.rb#L54 + + # create an OpenSSL object which will decrypt the AES cipher with 256 bit + # keys in Galois Counter Mode (GCM). See + # https://ruby.github.io/openssl/OpenSSL/Cipher.html + cipher = OpenSSL::Cipher.new('aes-256-gcm') + + # tell the cipher we want to decrypt. Symmetric algorithms use a very + # similar process for encryption and decryption, hence the same object can + # do both. + cipher.decrypt + + # Use a Password-Based Key Derivation Function to generate the key actually + # used for encryptoin from the key we got as input. + cipher.key = OpenSSL::PKCS5.pbkdf2_hmac_sha1(key, salt, hmac_iterations, cipher.key_len) + + # set the Initialization Vector (IV) + cipher.iv = iv + + # The tag must be set after calling Cipher#decrypt, Cipher#key= and + # Cipher#iv=, but before calling Cipher#final. After all decryption is + # performed, the tag is verified automatically in the call to Cipher#final. + # + # If the auth_tag does not verify, then #final will raise OpenSSL::Cipher::CipherError + cipher.auth_tag = auth_tag + + # auth_data must be set after auth_tag has been set when decrypting See + # http://ruby-doc.org/stdlib-2.0.0/libdoc/openssl/rdoc/OpenSSL/Cipher.html#method-i-auth_data-3D + # we are not adding any authenticated data but OpenSSL docs say this should + # still be called. + cipher.auth_data = '' + + # #update is (somewhat confusingly named) the method which actually + # performs the decryption on the given chunk of data. Our OTP secret is + # short so we only need to call it once. + # + # It is very important that we call #final because: + # + # 1. The authentication tag is checked during the call to #final + # 2. Block based cipher modes (e.g. CBC) work on fixed size chunks. We need + # to call #final to get it to process the last chunk properly. The output + # of #final should be appended to the decrypted value. This isn't + # required for streaming cipher modes but including it is a best practice + # so that your code will continue to function correctly even if you later + # change to a block cipher mode. + cipher.update(cipher_text) + cipher.final + end + end + class MigrationUser < ApplicationRecord self.table_name = :users devise :two_factor_authenticatable, otp_secret_encryption_key: Rails.configuration.x.otp_secret - include LegacyOtpSecret # Must be after the above `devise` line in order to override the legacy method + include LegacyOtpSecret end def up diff --git a/db/post_migrate/20250520192024_remove_legacy_devise_two_factor_secrets_from_users.rb b/db/post_migrate/20250520192024_remove_legacy_devise_two_factor_secrets_from_users.rb new file mode 100644 index 0000000000..b883bd2b28 --- /dev/null +++ b/db/post_migrate/20250520192024_remove_legacy_devise_two_factor_secrets_from_users.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class RemoveLegacyDeviseTwoFactorSecretsFromUsers < ActiveRecord::Migration[7.1] + def change + safety_assured do + remove_column :users, :encrypted_otp_secret, :string + remove_column :users, :encrypted_otp_secret_iv, :string + remove_column :users, :encrypted_otp_secret_salt, :string + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 79a93ba43f..61f412774d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_04_28_104538) do +ActiveRecord::Schema[8.0].define(version: 2025_05_20_204643) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" @@ -962,6 +962,16 @@ ActiveRecord::Schema[8.0].define(version: 2025_04_28_104538) do t.index ["target_account_id"], name: "index_reports_on_target_account_id" end + create_table "rule_translations", force: :cascade do |t| + t.text "text", default: "", null: false + t.text "hint", default: "", null: false + t.string "language", null: false + t.bigint "rule_id", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["rule_id", "language"], name: "index_rule_translations_on_rule_id_and_language", unique: true + end + create_table "rules", force: :cascade do |t| t.integer "priority", default: 0, null: false t.datetime "deleted_at", precision: nil @@ -1227,9 +1237,6 @@ ActiveRecord::Schema[8.0].define(version: 2025_04_28_104538) do t.datetime "confirmation_sent_at", precision: nil t.string "unconfirmed_email" t.string "locale" - t.string "encrypted_otp_secret" - t.string "encrypted_otp_secret_iv" - t.string "encrypted_otp_secret_salt" t.integer "consumed_timestep" t.boolean "otp_required_for_login", default: false, null: false t.datetime "last_emailed_at", precision: nil @@ -1412,6 +1419,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_04_28_104538) do add_foreign_key "reports", "accounts", column: "target_account_id", name: "fk_eb37af34f0", on_delete: :cascade add_foreign_key "reports", "accounts", name: "fk_4b81f7522c", on_delete: :cascade add_foreign_key "reports", "oauth_applications", column: "application_id", on_delete: :nullify + add_foreign_key "rule_translations", "rules", on_delete: :cascade add_foreign_key "scheduled_statuses", "accounts", on_delete: :cascade add_foreign_key "session_activations", "oauth_access_tokens", column: "access_token_id", name: "fk_957e5bda89", on_delete: :cascade add_foreign_key "session_activations", "users", name: "fk_e5fda67334", on_delete: :cascade diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index a20a5db0b0..79153a2021 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -37,7 +37,7 @@ complete the following steps: To set up **macOS** for native development, complete the following steps: - Install [Homebrew] and run: - `brew install postgresql@14 redis imagemagick libidn nvm` + `brew install postgresql@14 redis libidn nvm vips` to install the required project dependencies - Use a Ruby version manager to activate the ruby in `.ruby-version` and run `nvm use` to activate the node version from `.nvmrc` @@ -45,6 +45,9 @@ To set up **macOS** for native development, complete the following steps: `brew services start redis` - Run `RAILS_ENV=development bin/setup`, which will install the required ruby gems and node packages and prepare the database for local development + + (Note: If you are on Apple Silicon and get an error related to `libidn`, you should be able to fix this by running `gem install idn-ruby -- --with-idn-dir=$(brew --prefix libidn)`, then re-running the command above.) + - Finally, run the `bin/dev` script which will launch services via `overmind` (if installed) or `foreman` diff --git a/lib/mastodon/redis_configuration.rb b/lib/mastodon/redis_configuration.rb index 3d739a2ac6..5b04b24e09 100644 --- a/lib/mastodon/redis_configuration.rb +++ b/lib/mastodon/redis_configuration.rb @@ -9,18 +9,17 @@ class Mastodon::RedisConfiguration def base @base ||= setup_config(prefix: nil, defaults: DEFAULTS) - .merge(namespace: base_namespace) + .merge(namespace: nil) end def sidekiq @sidekiq ||= setup_config(prefix: 'SIDEKIQ_') - .merge(namespace: sidekiq_namespace) end def cache @cache ||= setup_config(prefix: 'CACHE_') .merge({ - namespace: cache_namespace, + namespace: 'cache', expires_in: 10.minutes, connect_timeout: 5, pool: { @@ -36,24 +35,6 @@ class Mastodon::RedisConfiguration ENV['REDIS_DRIVER'] == 'ruby' ? :ruby : :hiredis end - def namespace - @namespace ||= ENV.fetch('REDIS_NAMESPACE', nil) - end - - def base_namespace - return "mastodon_test#{ENV.fetch('TEST_ENV_NUMBER', nil)}" if Rails.env.test? - - namespace - end - - def sidekiq_namespace - namespace - end - - def cache_namespace - namespace ? "#{namespace}_cache" : 'cache' - end - def setup_config(prefix: nil, defaults: {}) prefix = "#{prefix}REDIS_" @@ -62,7 +43,7 @@ class Mastodon::RedisConfiguration password = ENV.fetch("#{prefix}PASSWORD", nil) host = ENV.fetch("#{prefix}HOST", defaults[:host]) port = ENV.fetch("#{prefix}PORT", defaults[:port]) - db = ENV.fetch("#{prefix}DB", defaults[:db]) + db = Rails.env.test? ? ENV.fetch('TEST_ENV_NUMBER', defaults[:db]).to_i + 1 : ENV.fetch("#{prefix}DB", defaults[:db]) return { url:, driver: } if url diff --git a/lib/redis/namespace_extensions.rb b/lib/redis/namespace_extensions.rb deleted file mode 100644 index 2be738b04d..0000000000 --- a/lib/redis/namespace_extensions.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -class Redis - module NamespaceExtensions - def exists?(...) - call_with_namespace('exists?', ...) - end - - def with - yield self - end - end -end - -Redis::Namespace::COMMANDS['exists?'] = [:first] -Redis::Namespace.prepend(Redis::NamespaceExtensions) diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake index f261041901..054f8b0177 100644 --- a/lib/tasks/db.rake +++ b/lib/tasks/db.rake @@ -63,7 +63,7 @@ namespace :db do task pre_migration_check: :environment do pg_version = ActiveRecord::Base.connection.database_version - abort 'This version of Mastodon requires PostgreSQL 12.0 or newer. Please update PostgreSQL before updating Mastodon.' if pg_version < 120_000 + abort 'This version of Mastodon requires PostgreSQL 13.0 or newer. Please update PostgreSQL before updating Mastodon.' if pg_version < 130_000 schema_version = ActiveRecord::Migrator.current_version abort <<~MESSAGE if ENV['SKIP_POST_DEPLOYMENT_MIGRATIONS'] && schema_version < 2023_09_07_150100 diff --git a/lib/tasks/dev.rake b/lib/tasks/dev.rake index fbb971ba87..61ee605d95 100644 --- a/lib/tasks/dev.rake +++ b/lib/tasks/dev.rake @@ -11,7 +11,8 @@ namespace :dev do password: SecureRandom.hex, email: ENV.fetch('TEST_DATA_SHOWCASE_EMAIL', 'showcase_account@joinmastodon.org'), confirmed_at: Time.now.utc, - approved: true + approved: true, + bypass_registration_checks: true ).find_or_create_by!(id: 10_000_000) showcase_user.mark_email_as_confirmed! showcase_user.approve! diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 99f4b86b73..a679f7a976 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -32,7 +32,7 @@ namespace :mastodon do prompt.say('Single user mode disables registrations and redirects the landing page to your public profile.') env['SINGLE_USER_MODE'] = prompt.yes?('Do you want to enable single user mode?', default: false) - %w(SECRET_KEY_BASE OTP_SECRET).each do |key| + %w(SECRET_KEY_BASE).each do |key| env[key] = SecureRandom.hex(64) end diff --git a/package.json b/package.json index ed6e9449d8..a3df6b2186 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "license": "AGPL-3.0-or-later", "packageManager": "yarn@4.9.1", "engines": { - "node": ">=18" + "node": ">=20" }, "workspaces": [ ".", @@ -44,7 +44,7 @@ "@github/webauthn-json": "^2.1.1", "@optimize-lodash/rollup-plugin": "^5.0.2", "@rails/ujs": "7.1.501", - "@react-spring/web": "^9.7.5", + "@react-spring/web": "^10.0.0", "@reduxjs/toolkit": "^2.0.1", "@use-gesture/react": "^10.3.1", "@vitejs/plugin-react": "^4.2.1", @@ -161,12 +161,12 @@ "eslint-plugin-react-hooks": "^5.2.0", "globals": "^16.0.0", "husky": "^9.0.11", - "lint-staged": "^15.0.0", + "lint-staged": "^16.0.0", "prettier": "^3.3.3", "react-test-renderer": "^18.2.0", - "stylelint": "^16.11.0", + "stylelint": "^16.19.1", "stylelint-config-prettier-scss": "^1.0.0", - "stylelint-config-standard-scss": "^14.0.0", + "stylelint-config-standard-scss": "^15.0.1", "typescript": "~5.7.3", "typescript-eslint": "^8.29.1", "vite-plugin-rails": "^0.5.0", diff --git a/scalingo.json b/scalingo.json index 58c943b63c..866ef61fa5 100644 --- a/scalingo.json +++ b/scalingo.json @@ -12,10 +12,6 @@ "description": "The secret key base", "generator": "secret" }, - "OTP_SECRET": { - "description": "One-time password secret", - "generator": "secret" - }, "SINGLE_USER_MODE": { "description": "Should the instance run in single user mode? (Disable registrations, redirect to front page)", "value": "false", diff --git a/spec/controllers/oauth/authorized_applications_controller_spec.rb b/spec/controllers/oauth/authorized_applications_controller_spec.rb index 1cf0984abe..60f9602136 100644 --- a/spec/controllers/oauth/authorized_applications_controller_spec.rb +++ b/spec/controllers/oauth/authorized_applications_controller_spec.rb @@ -43,7 +43,7 @@ RSpec.describe Oauth::AuthorizedApplicationsController do let!(:application) { Fabricate(:application) } let!(:access_token) { Fabricate(:accessible_access_token, application: application, resource_owner_id: user.id) } let!(:web_push_subscription) { Fabricate(:web_push_subscription, user: user, access_token: access_token) } - let(:redis_pipeline_stub) { instance_double(Redis::Namespace, publish: nil) } + let(:redis_pipeline_stub) { instance_double(Redis::PipelinedConnection, publish: nil) } before do sign_in user, scope: :user diff --git a/spec/fabricators/rule_translation_fabricator.rb b/spec/fabricators/rule_translation_fabricator.rb new file mode 100644 index 0000000000..de29e47e7e --- /dev/null +++ b/spec/fabricators/rule_translation_fabricator.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +Fabricator(:rule_translation) do + text 'MyText' + hint 'MyText' + language 'en' + rule { Fabricate.build(:rule) } +end diff --git a/spec/lib/mastodon/redis_configuration_spec.rb b/spec/lib/mastodon/redis_configuration_spec.rb index 90dc20f6dd..1f8f116bbf 100644 --- a/spec/lib/mastodon/redis_configuration_spec.rb +++ b/spec/lib/mastodon/redis_configuration_spec.rb @@ -26,20 +26,6 @@ RSpec.describe Mastodon::RedisConfiguration do end end - shared_examples 'setting a namespace' do - context 'when setting the `REDIS_NAMESPACE` variable' do - around do |example| - ClimateControl.modify REDIS_NAMESPACE: 'testns' do - example.run - end - end - - it 'uses the value for the namespace' do - expect(subject[:namespace]).to eq 'testns' - end - end - end - shared_examples 'secondary configuration' do |prefix| context "when no `#{prefix}_REDIS_` environment variables are present" do it 'uses the url from the base config' do @@ -208,7 +194,6 @@ RSpec.describe Mastodon::RedisConfiguration do end it_behaves_like 'setting a different driver' - it_behaves_like 'setting a namespace' it_behaves_like 'sentinel support' end @@ -217,7 +202,6 @@ RSpec.describe Mastodon::RedisConfiguration do it_behaves_like 'secondary configuration', 'SIDEKIQ' it_behaves_like 'setting a different driver' - it_behaves_like 'setting a namespace' it_behaves_like 'sentinel support', 'SIDEKIQ' end @@ -238,22 +222,8 @@ RSpec.describe Mastodon::RedisConfiguration do }) end - context 'when `REDIS_NAMESPACE` is not set' do - it 'uses the `cache` namespace' do - expect(subject[:namespace]).to eq 'cache' - end - end - - context 'when setting the `REDIS_NAMESPACE` variable' do - around do |example| - ClimateControl.modify REDIS_NAMESPACE: 'testns' do - example.run - end - end - - it 'attaches the `_cache` postfix to the namespace' do - expect(subject[:namespace]).to eq 'testns_cache' - end + it 'uses the `cache` namespace' do + expect(subject[:namespace]).to eq 'cache' end it_behaves_like 'secondary configuration', 'CACHE' diff --git a/spec/models/rule_spec.rb b/spec/models/rule_spec.rb index 375483e0db..a7fc5ef693 100644 --- a/spec/models/rule_spec.rb +++ b/spec/models/rule_spec.rb @@ -16,4 +16,24 @@ RSpec.describe Rule do end end end + + describe '#move!' do + let!(:first_rule) { Fabricate(:rule, text: 'foo') } + let!(:second_rule) { Fabricate(:rule, text: 'bar') } + let!(:third_rule) { Fabricate(:rule, text: 'baz') } + + it 'moves the rules as expected' do + expect { first_rule.move!(+1) } + .to change { described_class.ordered.pluck(:text) }.from(%w(foo bar baz)).to(%w(bar foo baz)) + + expect { first_rule.move!(-1) } + .to change { described_class.ordered.pluck(:text) }.from(%w(bar foo baz)).to(%w(foo bar baz)) + + expect { third_rule.move!(-1) } + .to change { described_class.ordered.pluck(:text) }.from(%w(foo bar baz)).to(%w(foo baz bar)) + + expect { second_rule.move!(-1) } + .to change { described_class.ordered.pluck(:text) }.from(%w(foo baz bar)).to(%w(foo bar baz)) + end + end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 08d410bb16..a13b27b0cb 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -11,17 +11,6 @@ RSpec.describe User do it_behaves_like 'two_factor_backupable' - describe 'legacy_otp_secret' do - it 'is encrypted with OTP_SECRET environment variable' do - user = Fabricate(:user, - encrypted_otp_secret: "Fttsy7QAa0edaDfdfSz094rRLAxc8cJweDQ4BsWH/zozcdVA8o9GLqcKhn2b\nGi/V\n", - encrypted_otp_secret_iv: 'rys3THICkr60BoWC', - encrypted_otp_secret_salt: '_LMkAGvdg7a+sDIKjI3mR2Q==') - - expect(user.send(:legacy_otp_secret)).to eq 'anotpsecretthatshouldbeencrypted' - end - end - describe 'otp_secret' do it 'encrypts the saved value' do user = Fabricate(:user, otp_secret: '123123123') @@ -489,7 +478,7 @@ RSpec.describe User do let!(:access_token) { Fabricate(:access_token, resource_owner_id: user.id) } let!(:web_push_subscription) { Fabricate(:web_push_subscription, access_token: access_token) } - let(:redis_pipeline_stub) { instance_double(Redis::Namespace, publish: nil) } + let(:redis_pipeline_stub) { instance_double(Redis::PipelinedConnection, publish: nil) } before { stub_redis } diff --git a/spec/serializers/rest/rule_serializer_spec.rb b/spec/serializers/rest/rule_serializer_spec.rb index 4d801e77d3..9d2889c9fc 100644 --- a/spec/serializers/rest/rule_serializer_spec.rb +++ b/spec/serializers/rest/rule_serializer_spec.rb @@ -11,7 +11,8 @@ RSpec.describe REST::RuleSerializer do it 'returns expected values' do expect(subject) .to include( - 'id' => be_a(String).and(eq('123')) + 'id' => be_a(String).and(eq('123')), + 'translations' => be_a(Hash) ) end end diff --git a/spec/support/streaming_server_manager.rb b/spec/support/streaming_server_manager.rb index 78cadcf6ad..d98f7dd960 100644 --- a/spec/support/streaming_server_manager.rb +++ b/spec/support/streaming_server_manager.rb @@ -17,7 +17,7 @@ class StreamingServerManager @running_thread = Thread.new do Open3.popen2e( { - 'REDIS_NAMESPACE' => REDIS_CONFIGURATION.base[:namespace], + 'REDIS_DB' => (ENV.fetch('TEST_ENV_NUMBER', 0).to_i + 1).to_s, 'DB_NAME' => "#{ENV.fetch('DB_NAME', 'mastodon')}_test#{ENV.fetch('TEST_ENV_NUMBER', '')}", 'RAILS_ENV' => ENV.fetch('RAILS_ENV', 'test'), 'NODE_ENV' => ENV.fetch('STREAMING_NODE_ENV', 'development'), diff --git a/spec/system/admin/rules_spec.rb b/spec/system/admin/rules_spec.rb index afe9e87a52..dca6323f6c 100644 --- a/spec/system/admin/rules_spec.rb +++ b/spec/system/admin/rules_spec.rb @@ -48,6 +48,29 @@ RSpec.describe 'Admin Rules' do end end + describe 'Moving down an existing rule' do + let!(:first_rule) { Fabricate(:rule, text: 'This is another rule') } + let!(:second_rule) { Fabricate(:rule, text: 'This is a rule') } + + it 'moves the rule down' do + visit admin_rules_path + + expect(page) + .to have_content(I18n.t('admin.rules.title')) + + expect(Rule.ordered.pluck(:text)).to eq ['This is another rule', 'This is a rule'] + + click_on(I18n.t('admin.rules.move_down')) + + expect(page) + .to have_content(I18n.t('admin.rules.title')) + .and have_content(first_rule.text) + .and have_content(second_rule.text) + + expect(Rule.ordered.pluck(:text)).to eq ['This is a rule', 'This is another rule'] + end + end + describe 'Editing an existing rule' do let!(:rule) { Fabricate :rule, text: 'Rule text' } diff --git a/spec/system/settings/applications_spec.rb b/spec/system/settings/applications_spec.rb index 5a8c97dd1e..a97d5d8aab 100644 --- a/spec/system/settings/applications_spec.rb +++ b/spec/system/settings/applications_spec.rb @@ -101,7 +101,7 @@ RSpec.describe 'Settings applications page' do end describe 'Destroying an application' do - let(:redis_pipeline_stub) { instance_double(Redis::Namespace, publish: nil) } + let(:redis_pipeline_stub) { instance_double(Redis::PipelinedConnection, publish: nil) } let!(:access_token) { Fabricate(:accessible_access_token, application: application) } before { stub_redis_pipeline } diff --git a/streaming/package.json b/streaming/package.json index fa33b575db..a8dbe6802b 100644 --- a/streaming/package.json +++ b/streaming/package.json @@ -3,7 +3,7 @@ "license": "AGPL-3.0-or-later", "packageManager": "yarn@4.9.1", "engines": { - "node": ">=18" + "node": ">=20" }, "description": "Mastodon's Streaming Server", "private": true, diff --git a/streaming/redis.js b/streaming/redis.js index 0b582ef2f5..040246fda9 100644 --- a/streaming/redis.js +++ b/streaming/redis.js @@ -4,7 +4,6 @@ import { parseIntFromEnvValue } from './utils.js'; /** * @typedef RedisConfiguration - * @property {string|undefined} namespace * @property {string|undefined} url * @property {import('ioredis').RedisOptions} options */ @@ -64,8 +63,6 @@ function getSentinelConfiguration(env, commonOptions) { * @returns {RedisConfiguration} configuration for the Redis connection */ export function configFromEnv(env) { - const redisNamespace = env.REDIS_NAMESPACE; - // These options apply for both REDIS_URL based connections and connections // using the other REDIS_* environment variables: const commonOptions = { @@ -82,16 +79,14 @@ export function configFromEnv(env) { if (typeof env.REDIS_URL === 'string' && env.REDIS_URL.length > 0) { return { url: env.REDIS_URL, - options: commonOptions, - namespace: redisNamespace + options: commonOptions }; } // If we have configuration for Redis Sentinel mode, prefer that: if (hasSentinelConfiguration(env)) { return { - options: getSentinelConfiguration(env, commonOptions), - namespace: redisNamespace + options: getSentinelConfiguration(env, commonOptions) }; } @@ -110,8 +105,7 @@ export function configFromEnv(env) { }; return { - options, - namespace: redisNamespace + options }; } diff --git a/stylelint.config.js b/stylelint.config.js index b3e2adfbac..fabcd538f1 100644 --- a/stylelint.config.js +++ b/stylelint.config.js @@ -17,7 +17,7 @@ module.exports = { rules: { 'at-rule-empty-line-before': null, 'color-function-notation': null, - 'color-hex-length': null, + 'color-function-alias-notation': null, 'declaration-block-no-redundant-longhand-properties': null, 'no-descending-specificity': null, 'no-duplicate-selectors': null, diff --git a/yarn.lock b/yarn.lock index 6f44791f35..c22dea110a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,21 +48,21 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.26.2": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.27.1" js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.8": - version: 7.26.8 - resolution: "@babel/compat-data@npm:7.26.8" - checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/compat-data@npm:7.27.2" + checksum: 10c0/077c9e01af3b90decee384a6a44dcf353898e980cee22ec7941f9074655dbbe97ec317345536cdc7ef7391521e1497930c522a3816af473076dd524be7fccd32 languageName: node linkType: hard @@ -89,68 +89,68 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/generator@npm:7.27.0" +"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/generator@npm:7.27.1" dependencies: - "@babel/parser": "npm:^7.27.0" - "@babel/types": "npm:^7.27.0" + "@babel/parser": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/7cb10693d2b365c278f109a745dc08856cae139d262748b77b70ce1d97da84627f79648cab6940d847392c0e5d180441669ed958b3aee98d9c7d274b37c553bd + checksum: 10c0/c4156434b21818f558ebd93ce45f027c53ee570ce55a84fd2d9ba45a79ad204c17e0bff753c886fb6c07df3385445a9e34dc7ccb070d0ac7e80bb91c8b57f423 languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" +"@babel/helper-annotate-as-pure@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe + "@babel/types": "npm:^7.27.1" + checksum: 10c0/fc4751b59c8f5417e1acb0455d6ffce53fa5e79b3aca690299fbbf73b1b65bfaef3d4a18abceb190024c5836bb6cfbc3711e83888648df93df54e18152a1196c languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9, @babel/helper-compilation-targets@npm:^7.26.5": - version: 7.27.0 - resolution: "@babel/helper-compilation-targets@npm:7.27.0" +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.26.5, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" dependencies: - "@babel/compat-data": "npm:^7.26.8" - "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/375c9f80e6540118f41bd53dd54d670b8bf91235d631bdead44c8b313b26e9cd89aed5c6df770ad13a87a464497b5346bb72b9462ba690473da422f5402618b6 + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.25.9": - version: 7.27.0 - resolution: "@babel/helper-create-class-features-plugin@npm:7.27.0" +"@babel/helper-create-class-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.27.0" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/c4945903136d934050e070f69a4d72ec425f1f70634e0ddf14ad36695f935125a6df559f8d5b94cc1ed49abd4ce9c5be8ef3ba033fa8d09c5dd78d1a9b97d8cc + checksum: 10c0/4ee199671d6b9bdd4988aa2eea4bdced9a73abfc831d81b00c7634f49a8fc271b3ceda01c067af58018eb720c6151322015d463abea7072a368ee13f35adbb4c languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": - version: 7.27.0 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.0" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" regexpu-core: "npm:^6.2.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/62513522a43521d8a29285a47127694ec28d66d793cd156cf875cdee6a9b3a9a1626c43c1eb75ce18fa2bf5dc3140f0a8081a34feb24272ecf66084f3cc3b00a + checksum: 10c0/591fe8bd3bb39679cc49588889b83bd628d8c4b99c55bafa81e80b1e605a348b64da955e3fd891c4ba3f36fd015367ba2eadea22af6a7de1610fbb5bcc2d3df0 languageName: node linkType: hard @@ -169,120 +169,120 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" +"@babel/helper-member-expression-to-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/5762ad009b6a3d8b0e6e79ff6011b3b8fdda0fefad56cfa8bfbe6aa02d5a8a8a9680a45748fe3ac47e735a03d2d88c0a676e3f9f59f20ae9fadcc8d51ccd5a53 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" +"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/helper-module-transforms@npm:7.26.0" +"@babel/helper-module-transforms@npm:^7.26.0, @babel/helper-module-transforms@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-transforms@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a + checksum: 10c0/196ab29635fe6eb5ba6ead2972d41b1c0d40f400f99bd8fc109cef21440de24c26c972fabf932585e618694d590379ab8d22def8da65a54459d38ec46112ead7 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.27.1": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-plugin-utils@npm:7.27.1" checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-wrap-function": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.9, @babel/helper-replace-supers@npm:^7.26.5": - version: 7.26.5 - resolution: "@babel/helper-replace-supers@npm:7.26.5" +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/traverse": "npm:^7.26.5" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b19b1245caf835207aaaaac3a494f03a16069ae55e76a2e1350b5acd560e6a820026997a8160e8ebab82ae873e8208759aa008eb8422a67a775df41f0a4633d4 + checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-option@npm:7.25.9" - checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-wrap-function@npm:7.25.9" +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-wrap-function@npm:7.27.1" dependencies: - "@babel/template": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/c472f75c0951bc657ab0a117538c7c116566ae7579ed47ac3f572c42dc78bd6f1e18f52ebe80d38300c991c3fcaa06979e2f8864ee919369dabd59072288de30 languageName: node linkType: hard @@ -296,73 +296,73 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/parser@npm:7.27.0" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/parser@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.27.0" + "@babel/types": "npm:^7.27.1" bin: parser: ./bin/babel-parser.js - checksum: 10c0/ba2ed3f41735826546a3ef2a7634a8d10351df221891906e59b29b0a0cd748f9b0e7a6f07576858a9de8e77785aad925c8389ddef146de04ea2842047c9d2859 + checksum: 10c0/ae4a5eda3ada3fd54c9942d9f14385df7a18e71b386cf2652505bb9a40a32250dfde3bdda71fb08af00b1e154f0a6213e6cdaaa88e9941229ec0003f7fead759 languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 + checksum: 10c0/7dfffa978ae1cd179641a7c4b4ad688c6828c2c58ec96b118c2fb10bc3715223de6b88bff1ebff67056bb5fccc568ae773e3b83c592a1b843423319f80c99ebd languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 + checksum: 10c0/b94e6c3fc019e988b1499490829c327a1067b4ddea8ad402f6d0554793c9124148c2125338c723661b6dff040951abc1f092afbf3f2d234319cd580b68e52445 languageName: node linkType: hard @@ -375,36 +375,36 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" +"@babel/plugin-syntax-import-assertions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e + checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" +"@babel/plugin-syntax-import-attributes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 + checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a languageName: node linkType: hard "@babel/plugin-syntax-jsx@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c + checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 languageName: node linkType: hard @@ -420,452 +420,453 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.26.8": - version: 7.26.8 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.26.8" +"@babel/plugin-transform-async-generator-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" - "@babel/traverse": "npm:^7.26.8" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f6fefce963fe2e6268dde1958975d7adbce65fba94ca6f4bc554c90da03104ad1dd2e66d03bc0462da46868498428646e30b03a218ef0e5a84bfc87a7e375cec + checksum: 10c0/772e449c69ee42a466443acefb07083bd89efb1a1d95679a4dc99ea3be9d8a3c43a2b74d2da95d7c818e9dd9e0b72bfa7c03217a1feaf108f21b7e542f0943c0 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" +"@babel/plugin-transform-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 + checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.26.5": - version: 7.26.5 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5" +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f3060800ead46b09971dd7bf830d66383b7bc61ced9945633b4ef9bf87787956ea83fcf49b387cecb377812588c6b81681714c760f9cf89ecba45edcbab1192 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.9": - version: 7.27.0 - resolution: "@babel/plugin-transform-block-scoping@npm:7.27.0" +"@babel/plugin-transform-block-scoping@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoping@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/15a604fac04151a795ff3213c73ece06bda7cd5f7c8cb7a3b29563ab243f0b3f7cba9e6facfc9d70e3e63b21af32f9d26bd10ccc58e1c425c7801186014b5ce4 + checksum: 10c0/d3f357beeb92fbdf3045aea2ba286a60dafc9c2d2a9f89065bb3c4bea9cc48934ee6689df3db0439d9ec518eda5e684f3156cab792b7c38c33ece2f8204ddee8 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" +"@babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 + checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" +"@babel/plugin-transform-class-static-block@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b + checksum: 10c0/396997dd81fc1cf242b921e337d25089d6b9dc3596e81322ff11a6359326dc44f2f8b82dcc279c2e514cafaf8964dc7ed39e9fab4b8af1308b57387d111f6a20 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-classes@npm:7.25.9" +"@babel/plugin-transform-classes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-classes@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d + checksum: 10c0/1071f4cb1ed5deb5e6f8d0442f2293a540cac5caa5ab3c25ad0571aadcbf961f61e26d367a67894976165a543e02f3a19e40b63b909afbed6e710801a590635c languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" +"@babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b + checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" +"@babel/plugin-transform-destructuring@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-destructuring@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 + checksum: 10c0/56afda7a0b205f8d1af727daef4c529fc2e756887408affd39033ae4476e54d586d3d9dc1e72cfb15c74a2a5ca0653ab13dbaa8cbf79fbb2a3a746d0f107cb86 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" +"@babel/plugin-transform-dotall-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 + checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 + checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.26.3" +"@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/cac922e851c6a0831fdd2e3663564966916015aeff7f4485825fc33879cbc3a313ceb859814c9200248e2875d65bb13802a723e5d7d7b40a2e90da82a5a1e15c + checksum: 10c0/953d21e01fed76da8e08fb5094cade7bf8927c1bb79301916bec2db0593b41dbcfbca1024ad5db886b72208a93ada8f57a219525aad048cf15814eeb65cf760d languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.26.9": - version: 7.26.9 - resolution: "@babel/plugin-transform-for-of@npm:7.26.9" +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e28a521521cf9f84ddd69ca8da7c89fb9f7aa38e4dea35742fe973e4e1d7c23f9cee1a4861a2fdd9e9f18ff945886a44d7335cea1c603b96bfcb1c7c8791ef09 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-function-name@npm:7.25.9" +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" +"@babel/plugin-transform-json-strings@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 + checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-literals@npm:7.25.9" +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 + checksum: 10c0/5b0abc7c0d09d562bf555c646dce63a30288e5db46fd2ce809a61d064415da6efc3b2b3c59b8e4fe98accd072c89a2f7c3765b400e4bf488651735d314d9feeb languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.26.0" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/82e59708f19f36da29531a64a7a94eabbf6ff46a615e0f5d9b49f3f59e8ef10e2bac607d749091508d3fa655146c9e5647c3ffeca781060cdabedb4c7a33c6f2 + checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" +"@babel/plugin-transform-modules-systemjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a + checksum: 10c0/f16fca62d144d9cbf558e7b5f83e13bb6d0f21fdeff3024b0cecd42ffdec0b4151461da42bd0963512783ece31aafa5ffe03446b4869220ddd095b24d414e2b5 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef + checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-new-target@npm:7.25.9" +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.26.6": - version: 7.26.6 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/574d6db7cbc5c092db5d1dece8ce26195e642b9c40dbfeaf3082058a78ad7959c1c333471cdd45f38b784ec488850548075d527b178c5010ee9bff7aa527cc7a + checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" +"@babel/plugin-transform-numeric-separator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 + checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" +"@babel/plugin-transform-object-rest-spread@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.27.2" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af + checksum: 10c0/5e255b262dd65c8700078d9f6ed87bd45f951a905dda6b3414be28d7b2781b18e6b812e9d71421e61360c9cf51e1e619c1d48348593bb7399496f61f5f221446 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-super@npm:7.25.9" +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" +"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c + checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" +"@babel/plugin-transform-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 + checksum: 10c0/5b18ff5124e503f0a25d6b195be7351a028b3992d6f2a91fb4037e2a2c386400d66bc1df8f6df0a94c708524f318729e81a95c41906e5a7919a06a43e573a525 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-parameters@npm:7.25.9" +"@babel/plugin-transform-parameters@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-parameters@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 + checksum: 10c0/453a9618735eeff5551d4c7f02c250606586fe1dd210ec9f69a4f15629ace180cd944339ebff2b0f11e1a40567d83a229ba1c567620e70b2ebedea576e12196a languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" +"@babel/plugin-transform-private-methods@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd + checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" +"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 + checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c languageName: node linkType: hard @@ -891,211 +892,210 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.25.9": - version: 7.27.0 - resolution: "@babel/plugin-transform-regenerator@npm:7.27.0" +"@babel/plugin-transform-regenerator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regenerator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" - regenerator-transform: "npm:^0.15.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/aa1c6a1592338df96034e0c3933d9c84d0ae25e9768413fda90d4896470192a11e2ab146dbcb92005c5059bbea67aea3d11936de8e4be382613efceafc9c92b5 + checksum: 10c0/42395908899310bb107d9ca31ebd4c302e14c582e3ad3ebfe1498fabafc43155c8f10850265c1e686a2afcf50d1f402cc5c5218fba72e167852607a4d8d6492e languageName: node linkType: hard -"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" +"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed + checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-spread@npm:7.25.9" +"@babel/plugin-transform-spread@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-spread@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf + checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.26.8": - version: 7.26.8 - resolution: "@babel/plugin-transform-template-literals@npm:7.26.8" +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/205a938ded9554857a604416d369023a961334b6c20943bd861b45f0e5dbbeca1cf6fda1c2049126e38a0d18865993433fdc78eae3028e94836b3b643c08ba0d + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.26.7": - version: 7.27.0 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.0" +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00adbd4e044166ac291978bd64173b4a0d36cbcfae3495a196816dd16ba889cc8b5becee232086241d714cd67a80c15742402504fc36f6db4f746a7dd8d2b1c4 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" +"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c + checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f + checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 languageName: node linkType: hard "@babel/preset-env@npm:^7.11.0": - version: 7.26.9 - resolution: "@babel/preset-env@npm:7.26.9" + version: 7.27.2 + resolution: "@babel/preset-env@npm:7.27.2" dependencies: - "@babel/compat-data": "npm:^7.26.8" - "@babel/helper-compilation-targets": "npm:^7.26.5" - "@babel/helper-plugin-utils": "npm:^7.26.5" - "@babel/helper-validator-option": "npm:^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.27.1" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" - "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" - "@babel/plugin-transform-async-generator-functions": "npm:^7.26.8" - "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.26.5" - "@babel/plugin-transform-block-scoping": "npm:^7.25.9" - "@babel/plugin-transform-class-properties": "npm:^7.25.9" - "@babel/plugin-transform-class-static-block": "npm:^7.26.0" - "@babel/plugin-transform-classes": "npm:^7.25.9" - "@babel/plugin-transform-computed-properties": "npm:^7.25.9" - "@babel/plugin-transform-destructuring": "npm:^7.25.9" - "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.26.3" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" - "@babel/plugin-transform-for-of": "npm:^7.26.9" - "@babel/plugin-transform-function-name": "npm:^7.25.9" - "@babel/plugin-transform-json-strings": "npm:^7.25.9" - "@babel/plugin-transform-literals": "npm:^7.25.9" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" - "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" - "@babel/plugin-transform-modules-amd": "npm:^7.25.9" - "@babel/plugin-transform-modules-commonjs": "npm:^7.26.3" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" - "@babel/plugin-transform-modules-umd": "npm:^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-new-target": "npm:^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.26.6" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" - "@babel/plugin-transform-object-super": "npm:^7.25.9" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" - "@babel/plugin-transform-private-methods": "npm:^7.25.9" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" - "@babel/plugin-transform-property-literals": "npm:^7.25.9" - "@babel/plugin-transform-regenerator": "npm:^7.25.9" - "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" - "@babel/plugin-transform-reserved-words": "npm:^7.25.9" - "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" - "@babel/plugin-transform-spread": "npm:^7.25.9" - "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" - "@babel/plugin-transform-template-literals": "npm:^7.26.8" - "@babel/plugin-transform-typeof-symbol": "npm:^7.26.7" - "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.27.1" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-classes": "npm:^7.27.1" + "@babel/plugin-transform-computed-properties": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.27.1" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.27.1" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-systemjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.27.2" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.1" + "@babel/plugin-transform-private-methods": "npm:^7.27.1" + "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.27.1" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.27.1" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.11.0" @@ -1104,7 +1104,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6812ca76bd38165a58fe8354bab5e7204e1aa17d8b9270bd8f8babb08cc7fa94cd29525fe41b553f2ba0e84033d566f10da26012b8ee0f81897005c5225d0051 + checksum: 10c0/fd7ec310832a9ff26ed8d56bc0832cdbdb3a188e022050b74790796650649fb8373568af05b320b58b3ff922507979bad50ff95a4d504ab0081134480103504e languageName: node linkType: hard @@ -1130,7 +1130,7 @@ __metadata: languageName: node 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.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": +"@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.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": version: 7.27.0 resolution: "@babel/runtime@npm:7.27.0" dependencies: @@ -1139,39 +1139,39 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/template@npm:7.27.0" +"@babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0, @babel/template@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/template@npm:7.27.1" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/parser": "npm:^7.27.0" - "@babel/types": "npm:^7.27.0" - checksum: 10c0/13af543756127edb5f62bf121f9b093c09a2b6fe108373887ccffc701465cfbcb17e07cf48aa7f440415b263f6ec006e9415c79dfc2e8e6010b069435f81f340 + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/155a8e056e82f1f1e2413b7bf9d96890e371d617c7f77f25621fb0ddb32128958d86bc5c3356f00be266e9f8c121d886de5b4143dbb72eac362377f53aba72a2 languageName: node linkType: hard -"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/traverse@npm:7.27.0" +"@babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/traverse@npm:7.27.1" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.27.0" - "@babel/parser": "npm:^7.27.0" - "@babel/template": "npm:^7.27.0" - "@babel/types": "npm:^7.27.0" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/c7af29781960dacaae51762e8bc6c4b13d6ab4b17312990fbca9fc38e19c4ad7fecaae24b1cf52fb844e8e6cdc76c70ad597f90e496bcb3cc0a1d66b41a0aa5b + checksum: 10c0/d912110037b03b1d70a2436cfd51316d930366a5f54252da2bced1ba38642f644f848240a951e5caf12f1ef6c40d3d96baa92ea6e84800f2e891c15e97b25d50 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.0, @babel/types@npm:^7.4.4": - version: 7.27.0 - resolution: "@babel/types@npm:7.27.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.4.4": + version: 7.27.1 + resolution: "@babel/types@npm:7.27.1" dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/6f1592eabe243c89a608717b07b72969be9d9d2fce1dee21426238757ea1fa60fdfc09b29de9e48d8104311afc6e6fb1702565a9cc1e09bc1e76f2b2ddb0f6e1 + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/ed736f14db2fdf0d36c539c8e06b6bb5e8f9649a12b5c0e1c516fed827f27ef35085abe08bf4d1302a4e20c9a254e762eed453bce659786d4a6e01ba26a91377 languageName: node linkType: hard @@ -2436,6 +2436,15 @@ __metadata: languageName: node linkType: hard +"@keyv/serialize@npm:^1.0.3": + version: 1.0.3 + resolution: "@keyv/serialize@npm:1.0.3" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/24a257870b0548cfe430680c2ae1641751e6a6ec90c573eaf51bfe956839b6cfa462b4d2827157363b6d620872d32d69fa2f37210a864ba488f8ec7158436398 + languageName: node + linkType: hard + "@mastodon/mastodon@workspace:.": version: 0.0.0-use.local resolution: "@mastodon/mastodon@workspace:." @@ -2451,7 +2460,7 @@ __metadata: "@github/webauthn-json": "npm:^2.1.1" "@optimize-lodash/rollup-plugin": "npm:^5.0.2" "@rails/ujs": "npm:7.1.501" - "@react-spring/web": "npm:^9.7.5" + "@react-spring/web": "npm:^10.0.0" "@reduxjs/toolkit": "npm:^2.0.1" "@testing-library/dom": "npm:^10.2.0" "@testing-library/react": "npm:^16.0.0" @@ -2517,7 +2526,7 @@ __metadata: intl-messageformat: "npm:^10.7.16" js-yaml: "npm:^4.1.0" lande: "npm:^1.0.10" - lint-staged: "npm:^15.0.0" + lint-staged: "npm:^16.0.0" lodash: "npm:^4.17.21" marky: "npm:^1.2.5" path-complete-extname: "npm:^1.0.0" @@ -2551,9 +2560,9 @@ __metadata: sass: "npm:^1.62.1" stacktrace-js: "npm:^2.0.2" stringz: "npm:^2.1.0" - stylelint: "npm:^16.11.0" + stylelint: "npm:^16.19.1" stylelint-config-prettier-scss: "npm:^1.0.0" - stylelint-config-standard-scss: "npm:^14.0.0" + stylelint-config-standard-scss: "npm:^15.0.1" substring-trie: "npm:^1.0.2" tesseract.js: "npm:^6.0.0" tiny-queue: "npm:^0.2.1" @@ -2880,76 +2889,78 @@ __metadata: languageName: node linkType: hard -"@react-spring/animated@npm:~9.7.5": - version: 9.7.5 - resolution: "@react-spring/animated@npm:9.7.5" +"@react-spring/animated@npm:~10.0.1": + version: 10.0.1 + resolution: "@react-spring/animated@npm:10.0.1" dependencies: - "@react-spring/shared": "npm:~9.7.5" - "@react-spring/types": "npm:~9.7.5" + "@react-spring/shared": "npm:~10.0.1" + "@react-spring/types": "npm:~10.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/f8c2473c60f39a878c7dd0fdfcfcdbc720521e1506aa3f63c9de64780694a0a73d5ccc535a5ccec3520ddb70a71cf43b038b32c18e99531522da5388c510ecd7 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/aaccd4a8b0280ac846d463b253ad8f092ee4afc9dbedc8e77616adf5399ffec755344f09fdd8487cadaf815840dff84d354d1143579c27c2fcd6937549b5fc40 languageName: node linkType: hard -"@react-spring/core@npm:~9.7.5": - version: 9.7.5 - resolution: "@react-spring/core@npm:9.7.5" +"@react-spring/core@npm:~10.0.1": + version: 10.0.1 + resolution: "@react-spring/core@npm:10.0.1" dependencies: - "@react-spring/animated": "npm:~9.7.5" - "@react-spring/shared": "npm:~9.7.5" - "@react-spring/types": "npm:~9.7.5" + "@react-spring/animated": "npm:~10.0.1" + "@react-spring/shared": "npm:~10.0.1" + "@react-spring/types": "npm:~10.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/5bfd83dfe248cd91889f215f015d908c7714ef445740fd5afa054b27ebc7d5a456abf6c309e2459d9b5b436e78d6fda16b62b9601f96352e9130552c02270830 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/059b122dda4138e5e7e461abd49350921e326735ca9a1d8aa19b1fdbae0937661b5f71af6fe82fd8f59e8db5549627849b38cc3f7ef2ec7ee9c93c3d6225174f languageName: node linkType: hard -"@react-spring/rafz@npm:~9.7.5": - version: 9.7.5 - resolution: "@react-spring/rafz@npm:9.7.5" - checksum: 10c0/8bdad180feaa9a0e870a513043a5e98a4e9b7292a9f887575b7e6fadab2677825bc894b7ff16c38511b35bfe6cc1072df5851c5fee64448d67551559578ca759 +"@react-spring/rafz@npm:~10.0.1": + version: 10.0.1 + resolution: "@react-spring/rafz@npm:10.0.1" + checksum: 10c0/cba76f143d3a06f79dd0c09f7aefd17df9cca9b2c1ef7f9103255e5351326f4a42a5a1366f731a78f74380d96ba683bcc2a49312ed1e4b9e9e249e72c9ff68cb languageName: node linkType: hard -"@react-spring/shared@npm:~9.7.5": - version: 9.7.5 - resolution: "@react-spring/shared@npm:9.7.5" +"@react-spring/shared@npm:~10.0.1": + version: 10.0.1 + resolution: "@react-spring/shared@npm:10.0.1" dependencies: - "@react-spring/rafz": "npm:~9.7.5" - "@react-spring/types": "npm:~9.7.5" + "@react-spring/rafz": "npm:~10.0.1" + "@react-spring/types": "npm:~10.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/0207eacccdedd918a2fc55e78356ce937f445ce27ad9abd5d3accba8f9701a39349b55115641dc2b39bb9d3a155b058c185b411d292dc8cc5686bfa56f73b94f + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/f056aaa018b3744afd8244e8eea24534d32f92fad9ace815b80e159b296fb5db148e2c9bd840ad9a5188e7a3c0778fd564b8af9ae02cd500e019a228398fb3cf languageName: node linkType: hard -"@react-spring/types@npm:~9.7.5": - version: 9.7.5 - resolution: "@react-spring/types@npm:9.7.5" - checksum: 10c0/85c05121853cacb64f7cf63a4855e9044635e1231f70371cd7b8c78bc10be6f4dd7c68f592f92a2607e8bb68051540989b4677a2ccb525dba937f5cd95dc8bc1 +"@react-spring/types@npm:~10.0.1": + version: 10.0.1 + resolution: "@react-spring/types@npm:10.0.1" + checksum: 10c0/260890f9c156dc69b77c846510017156d8c0a07cce70edc7c108e57b0cf4122b26a15e724b191481a51b2c914296de9e81d56618b2c339339d4b221930691baa languageName: node linkType: hard -"@react-spring/web@npm:^9.7.5": - version: 9.7.5 - resolution: "@react-spring/web@npm:9.7.5" +"@react-spring/web@npm:^10.0.0": + version: 10.0.1 + resolution: "@react-spring/web@npm:10.0.1" dependencies: - "@react-spring/animated": "npm:~9.7.5" - "@react-spring/core": "npm:~9.7.5" - "@react-spring/shared": "npm:~9.7.5" - "@react-spring/types": "npm:~9.7.5" + "@react-spring/animated": "npm:~10.0.1" + "@react-spring/core": "npm:~10.0.1" + "@react-spring/shared": "npm:~10.0.1" + "@react-spring/types": "npm:~10.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/bcd1e052e1b16341a12a19bf4515f153ca09d1fa86ff7752a5d02d7c4db58e8baf80e6283e64411f1e388c65340dce2254b013083426806b5dbae38bd151e53e + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/a0c788c9fd881ccb834feb22fc0694e74e59f7b76e498f0096f5b65e2c9812513955bf45ee27d7c5348f56a7bba7c5a6961d4be663728bb2172fe5aa6b6bdfc4 languageName: node linkType: hard "@reduxjs/toolkit@npm:^2.0.1": - version: 2.6.1 - resolution: "@reduxjs/toolkit@npm:2.6.1" + version: 2.8.2 + resolution: "@reduxjs/toolkit@npm:2.8.2" dependencies: + "@standard-schema/spec": "npm:^1.0.0" + "@standard-schema/utils": "npm:^0.3.0" immer: "npm:^10.0.3" redux: "npm:^5.0.1" redux-thunk: "npm:^3.1.0" @@ -2962,7 +2973,7 @@ __metadata: optional: true react-redux: optional: true - checksum: 10c0/6ae5db267f2b0a9da8b59080797c5adb1b92b50c0f2bdd933470206285d684b79ed2b1c4e2d7a0fb4aa9e3772d0e215fdcd3a8e4a4a2aac81400fcd790dbd6cd + checksum: 10c0/6a7a33bad5f1100340757151ff86ca0c4c248f030ae56ce0e6f1d98b39fa87c8f193e9faa2ebd6d5a4c0416921e9f9f7a2bbdd81156c39f08f6bf5ce70c2b927 languageName: node linkType: hard @@ -3216,6 +3227,20 @@ __metadata: languageName: node linkType: hard +"@standard-schema/spec@npm:^1.0.0": + version: 1.0.0 + resolution: "@standard-schema/spec@npm:1.0.0" + checksum: 10c0/a1ab9a8bdc09b5b47aa8365d0e0ec40cc2df6437be02853696a0e377321653b0d3ac6f079a8c67d5ddbe9821025584b1fb71d9cc041a6666a96f1fadf2ece15f + languageName: node + linkType: hard + +"@standard-schema/utils@npm:^0.3.0": + version: 0.3.0 + resolution: "@standard-schema/utils@npm:0.3.0" + checksum: 10c0/6eb74cd13e52d5fc74054df51e37d947ef53f3ab9e02c085665dcca3c38c60ece8d735cebbdf18fbb13c775fbcb9becb3f53109b0e092a63f0f7389ce0993fd0 + languageName: node + linkType: hard + "@surma/rollup-plugin-off-main-thread@npm:^2.2.3": version: 2.2.3 resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" @@ -4714,6 +4739,13 @@ __metadata: languageName: node linkType: hard +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + "bintrees@npm:1.0.2": version: 1.0.2 resolution: "bintrees@npm:1.0.2" @@ -4804,6 +4836,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + "bufferutil@npm:^4.0.7": version: 4.0.9 resolution: "bufferutil@npm:4.0.9" @@ -4848,6 +4890,16 @@ __metadata: languageName: node linkType: hard +"cacheable@npm:^1.9.0": + version: 1.9.0 + resolution: "cacheable@npm:1.9.0" + dependencies: + hookified: "npm:^1.8.2" + keyv: "npm:^5.3.3" + checksum: 10c0/1ca171dd2f7c3a929d84b3f94e712cb8fbbfb7c636f19ba01657cf89c6ea4316f21f2beb6c696fa5c87d42f52620f4a7c2dfecb41bf71ee3b249d539895256c4 + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -4924,10 +4976,10 @@ __metadata: languageName: node linkType: hard -"chalk@npm:~5.3.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 +"chalk@npm:^5.4.1": + version: 5.4.1 + resolution: "chalk@npm:5.4.1" + checksum: 10c0/b23e88132c702f4855ca6d25cb5538b1114343e41472d5263ee8a37cccfccd9c4216d111e1097c6a27830407a1dc81fecdf2a56f2c63033d4dbbd88c10b0dcef languageName: node linkType: hard @@ -5065,6 +5117,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^13.1.0": + version: 13.1.0 + resolution: "commander@npm:13.1.0" + checksum: 10c0/7b8c5544bba704fbe84b7cab2e043df8586d5c114a4c5b607f83ae5060708940ed0b5bd5838cf8ce27539cde265c1cbd59ce3c8c6b017ed3eec8943e3a415164 + languageName: node + linkType: hard + "commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" @@ -5072,13 +5131,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:~12.1.0": - version: 12.1.0 - resolution: "commander@npm:12.1.0" - checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 - languageName: node - linkType: hard - "comment-parser@npm:1.4.1": version: 1.4.1 resolution: "comment-parser@npm:1.4.1" @@ -5236,7 +5288,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -5294,13 +5346,13 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^3.0.1": - version: 3.0.1 - resolution: "css-tree@npm:3.0.1" +"css-tree@npm:^3.0.1, css-tree@npm:^3.1.0": + version: 3.1.0 + resolution: "css-tree@npm:3.1.0" dependencies: - mdn-data: "npm:2.12.1" + mdn-data: "npm:2.12.2" source-map-js: "npm:^1.0.1" - checksum: 10c0/9f117f3067e68e9edb0b3db0134f420db1a62bede3e84d8835767ecfaa6f8ced5e87989cf39b65ffe65d788c134c8ea9abd7393d7c35838a9da84326adf57a9b + checksum: 10c0/b5715852c2f397c715ca00d56ec53fc83ea596295ae112eb1ba6a1bda3b31086380e596b1d8c4b980fe6da09e7d0fc99c64d5bb7313030dd0fba9c1415f30979 languageName: node linkType: hard @@ -5403,7 +5455,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.0, debug@npm:~4.4.0": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.0": version: 4.4.0 resolution: "debug@npm:4.4.0" dependencies: @@ -6351,23 +6403,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:~8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af - languageName: node - linkType: hard - "expect-type@npm:^1.2.1": version: 1.2.1 resolution: "expect-type@npm:1.2.1" @@ -6435,16 +6470,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe languageName: node linkType: hard @@ -6518,6 +6553,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^10.0.8": + version: 10.1.0 + resolution: "file-entry-cache@npm:10.1.0" + dependencies: + flat-cache: "npm:^6.1.9" + checksum: 10c0/9464848577f68809237ffdf11c09a285d930ed4cda8cf392ee44ac8fa70658e41bbe60d08d883285d6af798a26f008dd8dfa94a31d42ecf1ba5a7bcd6dd8b07d + languageName: node + linkType: hard + "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -6527,15 +6571,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^9.1.0": - version: 9.1.0 - resolution: "file-entry-cache@npm:9.1.0" - dependencies: - flat-cache: "npm:^5.0.0" - checksum: 10c0/4b4dbc1e972f50202b1a4430d30fd99378ef6e2a64857176abdc65c5e4730a948fb37e274478520a7bacbc70f3abba455a4b9d2c1915c53f30d11dc85d3fef5e - languageName: node - linkType: hard - "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -6596,20 +6631,21 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^5.0.0": - version: 5.0.0 - resolution: "flat-cache@npm:5.0.0" +"flat-cache@npm:^6.1.9": + version: 6.1.9 + resolution: "flat-cache@npm:6.1.9" dependencies: - flatted: "npm:^3.3.1" - keyv: "npm:^4.5.4" - checksum: 10c0/847f25eefec5d6614fdce76dc6097ee98f63fd4dfbcb908718905ac56610f939f4c28b1f908d6e8857d49286fe73235095d2e7ac9df096c35a3e8a15204c361b + cacheable: "npm:^1.9.0" + flatted: "npm:^3.3.3" + hookified: "npm:^1.8.2" + checksum: 10c0/ca9241fab68154e9a4efe8875beff43cb7b2de65628d15dcf8488dc69bca3f8e98085a707c3395d03b1022f586364b0f37aa5dd5cc085a8cf7481516757ac864 languageName: node linkType: hard -"flatted@npm:^3.2.9, flatted@npm:^3.3.1": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf +"flatted@npm:^3.2.9, flatted@npm:^3.3.3": + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538 languageName: node linkType: hard @@ -6821,13 +6857,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 - languageName: node - linkType: hard - "get-symbol-description@npm:^1.1.0": version: 1.1.0 resolution: "get-symbol-description@npm:1.1.0" @@ -7083,6 +7112,13 @@ __metadata: languageName: node linkType: hard +"hookified@npm:^1.8.2": + version: 1.9.0 + resolution: "hookified@npm:1.9.0" + checksum: 10c0/28145882504e40ef58f328554966520c56dc2aaca92457996a5cd68fda6f92e38d3ca283e7ebbf3d71f36cda887234ce580abfa6532ade906be7810a812f15fa + languageName: node + linkType: hard + "html-encoding-sniffer@npm:^4.0.0": version: 4.0.0 resolution: "html-encoding-sniffer@npm:4.0.0" @@ -7146,13 +7182,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 - languageName: node - linkType: hard - "husky@npm:^9.0.11": version: 9.1.7 resolution: "husky@npm:9.1.7" @@ -7194,6 +7223,13 @@ __metadata: languageName: node linkType: hard +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + "ignore@npm:^5.2.0, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" @@ -7201,10 +7237,10 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^6.0.2": - version: 6.0.2 - resolution: "ignore@npm:6.0.2" - checksum: 10c0/9a38feac1861906a78ba0f03e8ef3cd6b0526dce2a1a84e1009324b557763afeb9c3ebcc04666b21f7bbf71adda45e76781bb9e2eaa0903d45dcaded634454f5 +"ignore@npm:^7.0.3": + version: 7.0.4 + resolution: "ignore@npm:7.0.4" + checksum: 10c0/90e1f69ce352b9555caecd9cbfd07abe7626d312a6f90efbbb52c7edca6ea8df065d66303863b30154ab1502afb2da8bc59d5b04e1719a52ef75bbf675c488eb languageName: node linkType: hard @@ -7613,13 +7649,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 - languageName: node - linkType: hard - "is-string@npm:^1.0.7, is-string@npm:^1.1.1": version: 1.1.1 resolution: "is-string@npm:1.1.1" @@ -7965,6 +7994,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^5.3.3": + version: 5.3.3 + resolution: "keyv@npm:5.3.3" + dependencies: + "@keyv/serialize": "npm:^1.0.3" + checksum: 10c0/6b9064d061784e80a5dc500453b03cacb099f06fddd0346063519371d563a66771237e04467f3387b60d8a33a3c99864288991274921fb1338c6adf638574924 + languageName: node + linkType: hard + "kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -7972,10 +8010,10 @@ __metadata: languageName: node linkType: hard -"known-css-properties@npm:^0.35.0": - version: 0.35.0 - resolution: "known-css-properties@npm:0.35.0" - checksum: 10c0/04a4a2859d62670bb25b5b28091a1f03f6f0d3298a5ed3e7476397c5287b98c434f6dd9c004a0c67a53b7f21acc93f83c972e98c122f568d4d0bd21fd2b90fb6 +"known-css-properties@npm:^0.36.0": + version: 0.36.0 + resolution: "known-css-properties@npm:0.36.0" + checksum: 10c0/098c8f956408a7ce26a639c2354e0184fb2bb2772bb7d1ba23192b6b6cf5818cbb8a0acfb4049705ea103d9916065703bc540fa084a6349fdb41bf745aada4bc languageName: node linkType: hard @@ -8021,7 +8059,7 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:~3.1.3": +"lilconfig@npm:^3.1.3": version: 3.1.3 resolution: "lilconfig@npm:3.1.3" checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc @@ -8035,29 +8073,29 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^15.0.0": - version: 15.2.11 - resolution: "lint-staged@npm:15.2.11" +"lint-staged@npm:^16.0.0": + version: 16.0.0 + resolution: "lint-staged@npm:16.0.0" dependencies: - chalk: "npm:~5.3.0" - commander: "npm:~12.1.0" - debug: "npm:~4.4.0" - execa: "npm:~8.0.1" - lilconfig: "npm:~3.1.3" - listr2: "npm:~8.2.5" - micromatch: "npm:~4.0.8" - pidtree: "npm:~0.6.0" - string-argv: "npm:~0.3.2" - yaml: "npm:~2.6.1" + chalk: "npm:^5.4.1" + commander: "npm:^13.1.0" + debug: "npm:^4.4.0" + lilconfig: "npm:^3.1.3" + listr2: "npm:^8.3.3" + micromatch: "npm:^4.0.8" + nano-spawn: "npm:^1.0.0" + pidtree: "npm:^0.6.0" + string-argv: "npm:^0.3.2" + yaml: "npm:^2.7.1" bin: lint-staged: bin/lint-staged.js - checksum: 10c0/28e2ad08b90460cc18398a023eaf93954d7753f958c2b889ead2d9305407d7b4ef0ee007875410d6ce1df758007fda77e079c82eb79c9ce684fba71e6f7d0452 + checksum: 10c0/8778dbe7892bbf14e378d612d1649c1e3df38a8ddf14cf35962b6e8a962be72efb1ebb48a697e38366be97d25b8d2599cad3c26ac5afc0d0460452484e27924d languageName: node linkType: hard -"listr2@npm:~8.2.5": - version: 8.2.5 - resolution: "listr2@npm:8.2.5" +"listr2@npm:^8.3.3": + version: 8.3.3 + resolution: "listr2@npm:8.3.3" dependencies: cli-truncate: "npm:^4.0.0" colorette: "npm:^2.0.20" @@ -8065,7 +8103,7 @@ __metadata: log-update: "npm:^6.1.0" rfdc: "npm:^1.4.1" wrap-ansi: "npm:^9.0.0" - checksum: 10c0/f5a9599514b00c27d7eb32d1117c83c61394b2a985ec20e542c798bf91cf42b19340215701522736f5b7b42f557e544afeadec47866e35e5d4f268f552729671 + checksum: 10c0/0792f8a7fd482fa516e21689e012e07081cab3653172ca606090622cfa0024c784a1eba8095a17948a0e9a4aa98a80f7c9c90f78a0dd35173d6802f9cc123a82 languageName: node linkType: hard @@ -8278,17 +8316,17 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.12.1": - version: 2.12.1 - resolution: "mdn-data@npm:2.12.1" - checksum: 10c0/1a09f441bdd423f2b0ab712665a1a3329fe7b15e9a2dad8c1c10c521ddb204ed186e7ac91052fd53a5ae0a07ac6eae53b5bcbb59ba8a1fb654268611297eea4a +"mdn-data@npm:2.12.2": + version: 2.12.2 + resolution: "mdn-data@npm:2.12.2" + checksum: 10c0/b22443b71d70f72ccc3c6ba1608035431a8fc18c3c8fc53523f06d20e05c2ac10f9b53092759a2ca85cf02f0d37036f310b581ce03e7b99ac74d388ef8152ade languageName: node linkType: hard -"mdn-data@npm:^2.12.2": - version: 2.13.0 - resolution: "mdn-data@npm:2.13.0" - checksum: 10c0/7f4cbba78ded58d63e28b7be68dc93a97cc4859d474b08e4570a9adb6cc57106c6b860a749b465a39be18eb8b010ad3b042b5d4d475f78fe1b3ea6156926bfa0 +"mdn-data@npm:^2.21.0": + version: 2.21.0 + resolution: "mdn-data@npm:2.21.0" + checksum: 10c0/cd26902551af2cc29f06f130893cb04bca9ee278939fce3ffbcb759497cc80d53a6f4abdef2ae2f3ed3c95ac8d651f53fc141defd580ebf4ae2f93aea325957b languageName: node linkType: hard @@ -8320,13 +8358,6 @@ __metadata: languageName: node linkType: hard -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - "merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -8341,7 +8372,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8, micromatch@npm:~4.0.8": +"micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -8376,13 +8407,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf - languageName: node - linkType: hard - "mimic-function@npm:^5.0.0": version: 5.0.1 resolution: "mimic-function@npm:5.0.1" @@ -8538,6 +8562,13 @@ __metadata: languageName: node linkType: hard +"nano-spawn@npm:^1.0.0": + version: 1.0.1 + resolution: "nano-spawn@npm:1.0.1" + checksum: 10c0/e03edc6971f653bc4651f2413b2011772a7c18797c0a4e986ff8eaea3adf4f017697d4d494ffb4ba6bce907b42abbeb0f7f681dbf336c84a324c940fb64c1dec + languageName: node + linkType: hard + "nanoid@npm:^3.3.8": version: 3.3.8 resolution: "nanoid@npm:3.3.8" @@ -8657,15 +8688,6 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^5.1.0": - version: 5.1.0 - resolution: "npm-run-path@npm:5.1.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: 10c0/ff6d77514489f47fa1c3b1311d09cd4b6d09a874cc1866260f9dea12cbaabda0436ed7f8c2ee44d147bf99a3af29307c6f63b0f83d242b0b6b0ab25dff2629e3 - languageName: node - linkType: hard - "nwsapi@npm:^2.2.16": version: 2.2.16 resolution: "nwsapi@npm:2.2.16" @@ -8786,15 +8808,6 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c - languageName: node - linkType: hard - "onetime@npm:^7.0.0": version: 7.0.0 resolution: "onetime@npm:7.0.0" @@ -8958,13 +8971,6 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 - languageName: node - linkType: hard - "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -9143,7 +9149,7 @@ __metadata: languageName: node linkType: hard -"pidtree@npm:~0.6.0": +"pidtree@npm:^0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" bin: @@ -9204,15 +9210,15 @@ __metadata: linkType: hard "pino@npm:^9.0.0": - version: 9.6.0 - resolution: "pino@npm:9.6.0" + version: 9.7.0 + resolution: "pino@npm:9.7.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:^2.0.0" pino-std-serializers: "npm:^7.0.0" - process-warning: "npm:^4.0.0" + process-warning: "npm:^5.0.0" quick-format-unescaped: "npm:^4.0.3" real-require: "npm:^0.2.0" safe-stable-stringify: "npm:^2.3.1" @@ -9220,7 +9226,7 @@ __metadata: thread-stream: "npm:^3.0.0" bin: pino: bin.js - checksum: 10c0/bcd1e9d9b301bea13b95689ca9ad7105ae9451928fb6c0b67b3e58c5fe37cea1d40665f3d6641e3da00be0bbc17b89031e67abbc8ea6aac6164f399309fd78e7 + checksum: 10c0/c7f8a83a9a9d728b4eff6d0f4b9367f031c91bcaa5806fbf0eedcc8e77faba593d59baf11a8fba0dd1c778bb17ca7ed01418ac1df4ec129faeedd4f3ecaff66f languageName: node linkType: hard @@ -9626,7 +9632,7 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^7.0.0": +"postcss-selector-parser@npm:^7.0.0, postcss-selector-parser@npm:^7.1.0": version: 7.1.0 resolution: "postcss-selector-parser@npm:7.1.0" dependencies: @@ -9643,7 +9649,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.49, postcss@npm:^8.5.3": +"postcss@npm:^8.5.3": version: 8.5.3 resolution: "postcss@npm:8.5.3" dependencies: @@ -9776,6 +9782,13 @@ __metadata: languageName: node linkType: hard +"process-warning@npm:^5.0.0": + version: 5.0.0 + resolution: "process-warning@npm:5.0.0" + checksum: 10c0/941f48863d368ec161e0b5890ba0c6af94170078f3d6b5e915c19b36fb59edb0dc2f8e834d25e0d375a8bf368a49d490f080508842168832b93489d17843ec29 + languageName: node + linkType: hard + "prom-client@npm:^15.0.0": version: 15.1.3 resolution: "prom-client@npm:15.1.3" @@ -10416,15 +10429,6 @@ __metadata: languageName: node linkType: hard -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" - dependencies: - "@babel/runtime": "npm:^7.8.4" - checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 - languageName: node - linkType: hard - "regexp.prototype.flags@npm:^1.5.3": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" @@ -10802,8 +10806,8 @@ __metadata: linkType: hard "sass@npm:^1.62.1": - version: 1.88.0 - resolution: "sass@npm:1.88.0" + version: 1.89.0 + resolution: "sass@npm:1.89.0" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -10814,7 +10818,7 @@ __metadata: optional: true bin: sass: sass.js - checksum: 10c0/dcb16dc29116bfa5a90485d24fd8020d2b0d95155bd2e31285901588729343b59fefe44365c5f146b2ba5a9ebadef90b23a7220b902507bdbd91ca2ba0a0b688 + checksum: 10c0/8e31b48c5e0abd9d437edb201919a82863f605ace1c1536ccdc6b3133937a70fe29b92ad536af632ecae2f140733931e4ec971e1bfbf8b835c54d392b28331df languageName: node linkType: hard @@ -11321,7 +11325,7 @@ __metadata: languageName: node linkType: hard -"string-argv@npm:~0.3.2": +"string-argv@npm:^0.3.2": version: 0.3.2 resolution: "string-argv@npm:0.3.2" checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 @@ -11493,13 +11497,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -11519,80 +11516,80 @@ __metadata: languageName: node linkType: hard -"stylelint-config-recommended-scss@npm:^14.1.0": - version: 14.1.0 - resolution: "stylelint-config-recommended-scss@npm:14.1.0" +"stylelint-config-recommended-scss@npm:^15.0.1": + version: 15.0.1 + resolution: "stylelint-config-recommended-scss@npm:15.0.1" dependencies: postcss-scss: "npm:^4.0.9" - stylelint-config-recommended: "npm:^14.0.1" - stylelint-scss: "npm:^6.4.0" + stylelint-config-recommended: "npm:^16.0.0" + stylelint-scss: "npm:^6.12.0" peerDependencies: postcss: ^8.3.3 - stylelint: ^16.6.1 + stylelint: ^16.16.0 peerDependenciesMeta: postcss: optional: true - checksum: 10c0/0a1c1bb6d9f7a21acea82e12fee1b36a195181ae1dd0d8b59145a56f76232a80d5b706269bc4ca4929680d36f10371bd8a7d0aeeee468fa9119a3b56410b052f + checksum: 10c0/8c5854e143145241dbff3d921298eb59e837aa695c0e6d7f08acf75de81f3f8307d39a931781bf8ac7cbe6bf9079a402fee89566206e9cfb1d728ef6b6486890 languageName: node linkType: hard -"stylelint-config-recommended@npm:^14.0.1": - version: 14.0.1 - resolution: "stylelint-config-recommended@npm:14.0.1" +"stylelint-config-recommended@npm:^16.0.0": + version: 16.0.0 + resolution: "stylelint-config-recommended@npm:16.0.0" peerDependencies: - stylelint: ^16.1.0 - checksum: 10c0/a0a0ecd91f4d193bbe2cc3408228f8a2d8fcb2b2578d77233f86780c9247c796a04e16aad7a91d97cb918e2de34b6a8062bab66ee017c3835d855081d94f4828 + stylelint: ^16.16.0 + checksum: 10c0/b2b4ea2633a606a0f686521aa5e8908810c9dd21fd4525c86b34213de1e362b445fd5472b6e5ff251d46f999e2ca2c6c704f2efc1c08d5a532084427f4e1c9d8 languageName: node linkType: hard -"stylelint-config-standard-scss@npm:^14.0.0": - version: 14.0.0 - resolution: "stylelint-config-standard-scss@npm:14.0.0" +"stylelint-config-standard-scss@npm:^15.0.1": + version: 15.0.1 + resolution: "stylelint-config-standard-scss@npm:15.0.1" dependencies: - stylelint-config-recommended-scss: "npm:^14.1.0" - stylelint-config-standard: "npm:^36.0.1" + stylelint-config-recommended-scss: "npm:^15.0.1" + stylelint-config-standard: "npm:^38.0.0" peerDependencies: postcss: ^8.3.3 - stylelint: ^16.11.0 + stylelint: ^16.18.0 peerDependenciesMeta: postcss: optional: true - checksum: 10c0/b885f02d955060a8e0214fd8dc30bfc6d84cbdeb870d34ce0761b258914857bd22d537ac1c8ee9755bf4cd5b1f3b94f4ad0270c2ff4362df7d5eb8d95b35db5e + checksum: 10c0/85b4c85a9ecd97176ac104fb4590cd48047b6253b830d08749c024752b9bc8871bbf69eca592769d69cd4c6e3f90005960630f1c2cdaf85dbfabdb5621ecc55f languageName: node linkType: hard -"stylelint-config-standard@npm:^36.0.1": - version: 36.0.1 - resolution: "stylelint-config-standard@npm:36.0.1" +"stylelint-config-standard@npm:^38.0.0": + version: 38.0.0 + resolution: "stylelint-config-standard@npm:38.0.0" dependencies: - stylelint-config-recommended: "npm:^14.0.1" + stylelint-config-recommended: "npm:^16.0.0" peerDependencies: - stylelint: ^16.1.0 - checksum: 10c0/7f9b954694358e77be5110418f31335be579ce59dd952bc3c6a9449265297db3170ec520e0905769253b48b99c3109a95c71f5b985bf402e48fd6c89b5364cb2 + stylelint: ^16.18.0 + checksum: 10c0/8b52c7b7d6287c7495a8fe3a681e07ea9478374e7e66b28d61779072d46cd5b845530b2410df7496a008a8efafe834fb46cf07792f4cf57f996e39f24a801b90 languageName: node linkType: hard -"stylelint-scss@npm:^6.4.0": - version: 6.10.0 - resolution: "stylelint-scss@npm:6.10.0" +"stylelint-scss@npm:^6.12.0": + version: 6.12.0 + resolution: "stylelint-scss@npm:6.12.0" dependencies: css-tree: "npm:^3.0.1" is-plain-object: "npm:^5.0.0" - known-css-properties: "npm:^0.35.0" - mdn-data: "npm:^2.12.2" + known-css-properties: "npm:^0.36.0" + mdn-data: "npm:^2.21.0" postcss-media-query-parser: "npm:^0.2.3" postcss-resolve-nested-selector: "npm:^0.1.6" - postcss-selector-parser: "npm:^7.0.0" + postcss-selector-parser: "npm:^7.1.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: stylelint: ^16.0.2 - checksum: 10c0/9086109bc36b46ea5e62aef5c1793debbd973aaecb28ba65cadaaf6761a295db1e52f94e1a6bae7ee884e440fc36463e9686941fc652a5ce79045ee58cae5308 + checksum: 10c0/c0ba314badd22118047e374febf8dabac56bd351d612ed9c9fc2da5dc760996c2768605aa8d4e483cf0b0fe649c35ae5a003c8a872ee5bec1bbc2d8d45673ff5 languageName: node linkType: hard -"stylelint@npm:^16.11.0": - version: 16.12.0 - resolution: "stylelint@npm:16.12.0" +"stylelint@npm:^16.19.1": + version: 16.19.1 + resolution: "stylelint@npm:16.19.1" dependencies: "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" @@ -11603,38 +11600,38 @@ __metadata: colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" css-functions-list: "npm:^3.2.3" - css-tree: "npm:^3.0.1" + css-tree: "npm:^3.1.0" debug: "npm:^4.3.7" - fast-glob: "npm:^3.3.2" + fast-glob: "npm:^3.3.3" fastest-levenshtein: "npm:^1.0.16" - file-entry-cache: "npm:^9.1.0" + file-entry-cache: "npm:^10.0.8" global-modules: "npm:^2.0.0" globby: "npm:^11.1.0" globjoin: "npm:^0.1.4" html-tags: "npm:^3.3.1" - ignore: "npm:^6.0.2" + ignore: "npm:^7.0.3" imurmurhash: "npm:^0.1.4" is-plain-object: "npm:^5.0.0" - known-css-properties: "npm:^0.35.0" + known-css-properties: "npm:^0.36.0" mathml-tag-names: "npm:^2.1.3" meow: "npm:^13.2.0" micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" picocolors: "npm:^1.1.1" - postcss: "npm:^8.4.49" + postcss: "npm:^8.5.3" postcss-resolve-nested-selector: "npm:^0.1.6" postcss-safe-parser: "npm:^7.0.1" - postcss-selector-parser: "npm:^7.0.0" + postcss-selector-parser: "npm:^7.1.0" postcss-value-parser: "npm:^4.2.0" resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" - supports-hyperlinks: "npm:^3.1.0" + supports-hyperlinks: "npm:^3.2.0" svg-tags: "npm:^1.0.0" table: "npm:^6.9.0" write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/d60bc6136f5bdc4e49ec22aee4d82130c4e9c94aa7d249da9dda315a862615e74acaefb24c560529b2102f8c27dde473b148ffcee861f5dab7b0225254765102 + checksum: 10c0/e633f323ff730e8f2ac982067e4caa9a6c98b81a519e7adff96fa7a7d047f68a24c0dd2d81f3511b0943d99c915f20f19da911d16d47336705ea70d46e960c89 languageName: node linkType: hard @@ -11661,13 +11658,13 @@ __metadata: languageName: node linkType: hard -"supports-hyperlinks@npm:^3.1.0": - version: 3.1.0 - resolution: "supports-hyperlinks@npm:3.1.0" +"supports-hyperlinks@npm:^3.2.0": + version: 3.2.0 + resolution: "supports-hyperlinks@npm:3.2.0" dependencies: has-flag: "npm:^4.0.0" supports-color: "npm:^7.0.0" - checksum: 10c0/78cc3e17eb27e6846fa355a8ebf343befe36272899cd409e45317a06c1997e95c23ff99d91080a517bd8c96508d4fa456e6ceb338c02ba5d7544277dbec0f10f + checksum: 10c0/bca527f38d4c45bc95d6a24225944675746c515ddb91e2456d00ae0b5c537658e9dd8155b996b191941b0c19036195a098251304b9082bbe00cd1781f3cd838e languageName: node linkType: hard @@ -11765,8 +11762,8 @@ __metadata: linkType: hard "terser@npm:^5.17.4": - version: 5.39.0 - resolution: "terser@npm:5.39.0" + version: 5.31.0 + resolution: "terser@npm:5.31.0" dependencies: "@jridgewell/source-map": "npm:^0.3.3" acorn: "npm:^8.8.2" @@ -11774,7 +11771,7 @@ __metadata: source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: 10c0/83326545ea1aecd6261030568b6191ccfa4cb6aa61d9ea41746a52479f50017a78b77e4725fbbc207c5df841ffa66a773c5ac33636e95c7ab94fe7e0379ae5c7 + checksum: 10c0/cb127a579b03fb9dcee0d293ff24814deedcd430f447933b618e8593b7454f615b5c8493c68e86a4b0188769d5ea2af5251b5d507edb208114f7e8aebdc7c850 languageName: node linkType: hard @@ -13200,12 +13197,12 @@ __metadata: languageName: node linkType: hard -"yaml@npm:~2.6.1": - version: 2.6.1 - resolution: "yaml@npm:2.6.1" +"yaml@npm:^2.7.1": + version: 2.8.0 + resolution: "yaml@npm:2.8.0" bin: yaml: bin.mjs - checksum: 10c0/aebf07f61c72b38c74d2b60c3a3ccf89ee4da45bcd94b2bfb7899ba07a5257625a7c9f717c65a6fc511563d48001e01deb1d9e55f0133f3e2edf86039c8c1be7 + checksum: 10c0/f6f7310cf7264a8107e72c1376f4de37389945d2fb4656f8060eca83f01d2d703f9d1b925dd8f39852a57034fafefde6225409ddd9f22aebfda16c6141b71858 languageName: node linkType: hard