Merge remote-tracking branch 'upstream/main'
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
commit
0552eda5d9
78 changed files with 697 additions and 465 deletions
2
.nvmrc
2
.nvmrc
|
@ -1 +1 @@
|
|||
20.13
|
||||
20.14
|
||||
|
|
|
@ -1 +1 @@
|
|||
3.3.1
|
||||
3.3.2
|
||||
|
|
55
CHANGELOG.md
55
CHANGELOG.md
|
@ -2,6 +2,61 @@
|
|||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [4.2.9] - 2024-05-30
|
||||
|
||||
### Security
|
||||
|
||||
- Update dependencies
|
||||
- Fix private mention filtering ([GHSA-5fq7-3p3j-9vrf](https://github.com/mastodon/mastodon/security/advisories/GHSA-5fq7-3p3j-9vrf))
|
||||
- Fix password change endpoint not being rate-limited ([GHSA-q3rg-xx5v-4mxh](https://github.com/mastodon/mastodon/security/advisories/GHSA-q3rg-xx5v-4mxh))
|
||||
- Add hardening around rate-limit bypass ([GHSA-c2r5-cfqr-c553](https://github.com/mastodon/mastodon/security/advisories/GHSA-c2r5-cfqr-c553))
|
||||
|
||||
### Added
|
||||
|
||||
- Add rate-limit on OAuth application registration ([ThisIsMissEm](https://github.com/mastodon/mastodon/pull/30316))
|
||||
- Add fallback redirection when getting a webfinger query `WEB_DOMAIN@WEB_DOMAIN` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/28592))
|
||||
- Add `digest` attribute to `Admin::DomainBlock` entity in REST API ([ThisIsMissEm](https://github.com/mastodon/mastodon/pull/29092))
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove superfluous application-level caching in some controllers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29862))
|
||||
- Remove aggressive OAuth application vacuuming ([ThisIsMissEm](https://github.com/mastodon/mastodon/pull/30316))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix leaking Elasticsearch connections in Sidekiq processes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30450))
|
||||
- Fix language of remote posts not being recognized when using unusual casing ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30403))
|
||||
- Fix off-by-one in `tootctl media` commands ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30306))
|
||||
- Fix removal of allowed domains (in `LIMITED_FEDERATION_MODE`) not being recorded in the audit log ([ThisIsMissEm](https://github.com/mastodon/mastodon/pull/30125))
|
||||
- Fix not being able to block a subdomain of an already-blocked domain through the API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30119))
|
||||
- Fix `Idempotency-Key` being ignored when scheduling a post ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30084))
|
||||
- Fix crash when supplying the `FFMPEG_BINARY` environment variable ([timothyjrogers](https://github.com/mastodon/mastodon/pull/30022))
|
||||
- Fix improper email address validation ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29838))
|
||||
- Fix results/query in `api/v1/featured_tags/suggestions` ([mjankowski](https://github.com/mastodon/mastodon/pull/29597))
|
||||
- Fix unblocking internationalized domain names under certain conditions ([tribela](https://github.com/mastodon/mastodon/pull/29530))
|
||||
- Fix admin account created by `mastodon:setup` not being auto-approved ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29379))
|
||||
- Fix reference to non-existent var in CLI maintenance command ([mjankowski](https://github.com/mastodon/mastodon/pull/28363))
|
||||
|
||||
## [4.2.8] - 2024-02-23
|
||||
|
||||
### Added
|
||||
|
||||
- Add hourly task to automatically require approval for new registrations in the absence of moderators ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29318), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/29355))
|
||||
In order to prevent future abandoned Mastodon servers from being used for spam, harassment and other malicious activity, Mastodon will now automatically switch new user registrations to require moderator approval whenever they are left open and no activity (including non-moderation actions from apps) from any logged-in user with permission to access moderation reports has been detected in a full week.
|
||||
When this happens, users with the permission to change server settings will receive an email notification.
|
||||
This feature is disabled when `EMAIL_DOMAIN_ALLOWLIST` is used, and can also be disabled with `DISABLE_AUTOMATIC_SWITCHING_TO_APPROVED_REGISTRATIONS=true`.
|
||||
|
||||
### Changed
|
||||
|
||||
- Change registrations to be closed by default on new installations ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29280))
|
||||
If you are running a server and never changed your registrations mode from the default, updating will automatically close your registrations.
|
||||
Simply re-enable them through the administration interface or using `tootctl settings registrations open` if you want to enable them again.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix processing of remote ActivityPub actors making use of `Link` objects as `Image` `url` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29335))
|
||||
- Fix link verifications when page size exceeds 1MB ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29358))
|
||||
|
||||
## [4.2.7] - 2024-02-16
|
||||
|
||||
### Fixed
|
||||
|
|
|
@ -168,7 +168,7 @@ GEM
|
|||
climate_control (1.2.0)
|
||||
cocoon (1.2.15)
|
||||
color_diff (0.1)
|
||||
concurrent-ruby (1.2.3)
|
||||
concurrent-ruby (1.3.1)
|
||||
connection_pool (2.4.1)
|
||||
cose (1.3.0)
|
||||
cbor (~> 0.5.9)
|
||||
|
@ -579,7 +579,7 @@ GEM
|
|||
orm_adapter (0.5.0)
|
||||
ox (2.14.18)
|
||||
parallel (1.24.0)
|
||||
parser (3.3.1.0)
|
||||
parser (3.3.2.0)
|
||||
ast (~> 2.4.1)
|
||||
racc
|
||||
parslet (2.0.0)
|
||||
|
@ -597,7 +597,7 @@ GEM
|
|||
net-smtp
|
||||
premailer (~> 1.7, >= 1.7.9)
|
||||
private_address_check (0.5.0)
|
||||
propshaft (0.8.0)
|
||||
propshaft (0.9.0)
|
||||
actionpack (>= 7.0.0)
|
||||
activesupport (>= 7.0.0)
|
||||
rack
|
||||
|
@ -726,7 +726,7 @@ GEM
|
|||
rspec-mocks (~> 3.0)
|
||||
sidekiq (>= 5, < 8)
|
||||
rspec-support (3.13.1)
|
||||
rubocop (1.64.0)
|
||||
rubocop (1.64.1)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (>= 3.17.0)
|
||||
parallel (~> 1.10)
|
||||
|
|
|
@ -60,8 +60,4 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
|
|||
def records_continue?
|
||||
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -60,8 +60,4 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
|
|||
def records_continue?
|
||||
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,6 @@ class Api::V1::Admin::CanonicalEmailBlocksController < Api::BaseController
|
|||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
PAGINATION_PARAMS = %i(limit).freeze
|
||||
|
||||
def index
|
||||
authorize :canonical_email_block, :index?
|
||||
render json: @canonical_email_blocks, each_serializer: REST::Admin::CanonicalEmailBlockSerializer
|
||||
|
@ -80,8 +78,4 @@ class Api::V1::Admin::CanonicalEmailBlocksController < Api::BaseController
|
|||
def records_continue?
|
||||
@canonical_email_blocks.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,8 +14,6 @@ class Api::V1::Admin::DomainAllowsController < Api::BaseController
|
|||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
PAGINATION_PARAMS = %i(limit).freeze
|
||||
|
||||
def index
|
||||
authorize :domain_allow, :index?
|
||||
render json: @domain_allows, each_serializer: REST::Admin::DomainAllowSerializer
|
||||
|
@ -77,10 +75,6 @@ class Api::V1::Admin::DomainAllowsController < Api::BaseController
|
|||
@domain_allows.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.permit(:domain)
|
||||
end
|
||||
|
|
|
@ -14,8 +14,6 @@ class Api::V1::Admin::DomainBlocksController < Api::BaseController
|
|||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
PAGINATION_PARAMS = %i(limit).freeze
|
||||
|
||||
def index
|
||||
authorize :domain_block, :index?
|
||||
render json: @domain_blocks, each_serializer: REST::Admin::DomainBlockSerializer
|
||||
|
@ -93,10 +91,6 @@ class Api::V1::Admin::DomainBlocksController < Api::BaseController
|
|||
@domain_blocks.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.permit(:domain, :severity, :reject_media, :reject_reports, :private_comment, :public_comment, :obfuscate)
|
||||
end
|
||||
|
|
|
@ -14,10 +14,6 @@ class Api::V1::Admin::EmailDomainBlocksController < Api::BaseController
|
|||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
PAGINATION_PARAMS = %i(
|
||||
limit
|
||||
).freeze
|
||||
|
||||
def index
|
||||
authorize :email_domain_block, :index?
|
||||
render json: @email_domain_blocks, each_serializer: REST::Admin::EmailDomainBlockSerializer
|
||||
|
@ -73,8 +69,4 @@ class Api::V1::Admin::EmailDomainBlocksController < Api::BaseController
|
|||
def records_continue?
|
||||
@email_domain_blocks.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,10 +14,6 @@ class Api::V1::Admin::IpBlocksController < Api::BaseController
|
|||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
PAGINATION_PARAMS = %i(
|
||||
limit
|
||||
).freeze
|
||||
|
||||
def index
|
||||
authorize :ip_block, :index?
|
||||
render json: @ip_blocks, each_serializer: REST::Admin::IpBlockSerializer
|
||||
|
@ -78,8 +74,4 @@ class Api::V1::Admin::IpBlocksController < Api::BaseController
|
|||
def records_continue?
|
||||
@ip_blocks.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,7 +12,6 @@ class Api::V1::Admin::TagsController < Api::BaseController
|
|||
after_action :verify_authorized
|
||||
|
||||
LIMIT = 100
|
||||
PAGINATION_PARAMS = %i(limit).freeze
|
||||
|
||||
def index
|
||||
authorize :tag, :index?
|
||||
|
@ -59,8 +58,4 @@ class Api::V1::Admin::TagsController < Api::BaseController
|
|||
def records_continue?
|
||||
@tags.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,8 +12,6 @@ class Api::V1::Admin::Trends::Links::PreviewCardProvidersController < Api::BaseC
|
|||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
PAGINATION_PARAMS = %i(limit).freeze
|
||||
|
||||
def index
|
||||
authorize :preview_card_provider, :index?
|
||||
|
||||
|
@ -57,8 +55,4 @@ class Api::V1::Admin::Trends::Links::PreviewCardProvidersController < Api::BaseC
|
|||
def records_continue?
|
||||
@providers.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -43,8 +43,4 @@ class Api::V1::BlocksController < Api::BaseController
|
|||
def records_continue?
|
||||
paginated_blocks.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -46,8 +46,4 @@ class Api::V1::BookmarksController < Api::BaseController
|
|||
def records_continue?
|
||||
results.size == limit_param(DEFAULT_STATUSES_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -72,8 +72,4 @@ class Api::V1::ConversationsController < Api::BaseController
|
|||
def records_continue?
|
||||
@conversations.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -44,8 +44,4 @@ class Api::V1::Crypto::EncryptedMessagesController < Api::BaseController
|
|||
def records_continue?
|
||||
@encrypted_messages.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -54,10 +54,6 @@ class Api::V1::DomainBlocksController < Api::BaseController
|
|||
@blocks.size == limit_param(BLOCK_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
|
||||
def domain_block_params
|
||||
params.permit(:domain)
|
||||
end
|
||||
|
|
|
@ -48,10 +48,6 @@ class Api::V1::EndorsementsController < Api::BaseController
|
|||
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
|
||||
def unlimited?
|
||||
params[:limit] == '0'
|
||||
end
|
||||
|
|
|
@ -46,8 +46,4 @@ class Api::V1::FavouritesController < Api::BaseController
|
|||
def records_continue?
|
||||
results.size == limit_param(DEFAULT_STATUSES_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -67,8 +67,4 @@ class Api::V1::FollowRequestsController < Api::BaseController
|
|||
def records_continue?
|
||||
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -37,8 +37,4 @@ class Api::V1::FollowedTagsController < Api::BaseController
|
|||
def records_continue?
|
||||
@results.size == limit_param(TAGS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ class Api::V1::Instances::ExtendedDescriptionsController < Api::V1::Instances::B
|
|||
|
||||
before_action :set_extended_description
|
||||
|
||||
# Override `current_user` to avoid reading session cookies unless in whitelist mode
|
||||
# Override `current_user` to avoid reading session cookies unless in limited federation mode
|
||||
def current_user
|
||||
super if limited_federation_mode?
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ class Api::V1::Instances::PeersController < Api::V1::Instances::BaseController
|
|||
|
||||
skip_around_action :set_locale
|
||||
|
||||
# Override `current_user` to avoid reading session cookies unless in whitelist mode
|
||||
# Override `current_user` to avoid reading session cookies unless in limited federation mode
|
||||
def current_user
|
||||
super if limited_federation_mode?
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ class Api::V1::Instances::RulesController < Api::V1::Instances::BaseController
|
|||
|
||||
before_action :set_rules
|
||||
|
||||
# Override `current_user` to avoid reading session cookies unless in whitelist mode
|
||||
# Override `current_user` to avoid reading session cookies unless in limited federation mode
|
||||
def current_user
|
||||
super if limited_federation_mode?
|
||||
end
|
||||
|
|
|
@ -6,7 +6,7 @@ class Api::V1::InstancesController < Api::BaseController
|
|||
|
||||
vary_by ''
|
||||
|
||||
# Override `current_user` to avoid reading session cookies unless in whitelist mode
|
||||
# Override `current_user` to avoid reading session cookies unless in limited federation mode
|
||||
def current_user
|
||||
super if limited_federation_mode?
|
||||
end
|
||||
|
|
|
@ -75,10 +75,6 @@ class Api::V1::Lists::AccountsController < Api::BaseController
|
|||
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
|
||||
def unlimited?
|
||||
params[:limit] == '0'
|
||||
end
|
||||
|
|
|
@ -43,8 +43,4 @@ class Api::V1::MutesController < Api::BaseController
|
|||
def records_continue?
|
||||
paginated_mutes.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -43,10 +43,6 @@ class Api::V1::ScheduledStatusesController < Api::BaseController
|
|||
params.permit(:scheduled_at)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
|
||||
def next_path
|
||||
api_v1_scheduled_statuses_url pagination_params(max_id: pagination_max_id) if records_continue?
|
||||
end
|
||||
|
|
|
@ -53,8 +53,4 @@ class Api::V1::Statuses::FavouritedByAccountsController < Api::V1::Statuses::Bas
|
|||
def records_continue?
|
||||
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -49,8 +49,4 @@ class Api::V1::Statuses::RebloggedByAccountsController < Api::V1::Statuses::Base
|
|||
def records_continue?
|
||||
@accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -188,8 +188,4 @@ class Api::V1::StatusesController < Api::BaseController
|
|||
def serialized_accounts(accounts)
|
||||
ActiveModel::Serializer::CollectionSerializer.new(accounts, serializer: REST::AccountSerializer)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -34,10 +34,6 @@ class Api::V1::Trends::LinksController < Api::BaseController
|
|||
scope
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
|
||||
def next_path
|
||||
api_v1_trends_links_url pagination_params(offset: offset_param + limit_param(DEFAULT_LINKS_LIMIT)) if records_continue?
|
||||
end
|
||||
|
|
|
@ -32,10 +32,6 @@ class Api::V1::Trends::StatusesController < Api::BaseController
|
|||
scope
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
|
||||
def next_path
|
||||
api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) if records_continue?
|
||||
end
|
||||
|
|
|
@ -30,10 +30,6 @@ class Api::V1::Trends::TagsController < Api::BaseController
|
|||
Trends.tags.query.allowed
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(:limit).permit(:limit).merge(core_params)
|
||||
end
|
||||
|
||||
def next_path
|
||||
api_v1_trends_tags_url pagination_params(offset: offset_param + limit_param(DEFAULT_TAGS_LIMIT)) if records_continue?
|
||||
end
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
module Api::Pagination
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
PAGINATION_PARAMS = %i(limit).freeze
|
||||
|
||||
protected
|
||||
|
||||
def pagination_max_id
|
||||
|
@ -24,6 +26,13 @@ module Api::Pagination
|
|||
render json: { error: 'Pagination values for `offset` and `limit` must be positive' }, status: 400 if pagination_options_invalid?
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params
|
||||
.slice(*PAGINATION_PARAMS)
|
||||
.permit(*PAGINATION_PARAMS)
|
||||
.merge(core_params)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def insert_pagination_headers
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Показване на профила въпреки това",
|
||||
"limited_account_hint.title": "Този профил е бил скрит от модераторите на {domain}.",
|
||||
"link_preview.author": "От {name}",
|
||||
"link_preview.more_from_author": "Още от {name}",
|
||||
"lists.account.add": "Добавяне към списък",
|
||||
"lists.account.remove": "Премахване от списъка",
|
||||
"lists.delete": "Изтриване на списъка",
|
||||
|
|
|
@ -221,6 +221,8 @@
|
|||
"domain_pill.activitypub_like_language": "ActivityPub er \"sproget\", Mastodon taler med andre sociale netværk.",
|
||||
"domain_pill.server": "Server",
|
||||
"domain_pill.their_handle": "Vedkommendes handle:",
|
||||
"domain_pill.their_server": "Det digitale hjem, hvor alle indlæggene findes.",
|
||||
"domain_pill.their_username": "Entydig identifikator på denne server. Det er muligt at finde brugere med samme brugernavn på forskellige servere.",
|
||||
"domain_pill.username": "Brugernavn",
|
||||
"domain_pill.whats_in_a_handle": "Hvad er der i et handle (@brugernavn)?",
|
||||
"domain_pill.who_they_are": "Da et handle fortæller, hvem nogen er, og hvor de er, kan man interagere med folk på tværs af det sociale net af <button>ActivityPub-drevne platforme</button>.",
|
||||
|
@ -412,6 +414,7 @@
|
|||
"limited_account_hint.action": "Vis profil alligevel",
|
||||
"limited_account_hint.title": "Denne profil er blevet skjult af {domain}-moderatorerne.",
|
||||
"link_preview.author": "Af {name}",
|
||||
"link_preview.more_from_author": "Mere fra {name}",
|
||||
"lists.account.add": "Føj til liste",
|
||||
"lists.account.remove": "Fjern fra liste",
|
||||
"lists.delete": "Slet liste",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Profil trotzdem anzeigen",
|
||||
"limited_account_hint.title": "Dieses Profil wurde von den Moderator*innen von {domain} ausgeblendet.",
|
||||
"link_preview.author": "Von {name}",
|
||||
"link_preview.more_from_author": "Mehr von {name}",
|
||||
"lists.account.add": "Zur Liste hinzufügen",
|
||||
"lists.account.remove": "Von der Liste entfernen",
|
||||
"lists.delete": "Liste löschen",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Mostrar perfil de todos modos",
|
||||
"limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de {domain}.",
|
||||
"link_preview.author": "Por {name}",
|
||||
"link_preview.more_from_author": "Más de {name}",
|
||||
"lists.account.add": "Añadir a lista",
|
||||
"lists.account.remove": "Quitar de lista",
|
||||
"lists.delete": "Borrar lista",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Mostrar perfil de todos modos",
|
||||
"limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de {domain}.",
|
||||
"link_preview.author": "Por {name}",
|
||||
"link_preview.more_from_author": "Más de {name}",
|
||||
"lists.account.add": "Añadir a lista",
|
||||
"lists.account.remove": "Quitar de lista",
|
||||
"lists.delete": "Borrar lista",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Vís vangamynd kortini",
|
||||
"limited_account_hint.title": "Hesin vangin er fjaldur av kjakleiðarunum á {domain}.",
|
||||
"link_preview.author": "Av {name}",
|
||||
"link_preview.more_from_author": "Meira frá {name}",
|
||||
"lists.account.add": "Legg afturat lista",
|
||||
"lists.account.remove": "Tak av lista",
|
||||
"lists.delete": "Strika lista",
|
||||
|
|
|
@ -89,9 +89,12 @@
|
|||
"announcement.announcement": "Oankundiging",
|
||||
"attachments_list.unprocessed": "(net ferwurke)",
|
||||
"audio.hide": "Audio ferstopje",
|
||||
"block_modal.remote_users_caveat": "Wy freegje de server {domain} om jo beslút te respektearjen. It neilibben hjirfan is echter net garandearre, omdat guon servers blokkaden oars ynterpretearje kinne. Iepenbiere berjochten binne mooglik noch hieltyd sichtber foar net-oanmelde brûkers.",
|
||||
"block_modal.show_less": "Minder toane",
|
||||
"block_modal.show_more": "Mear toane",
|
||||
"block_modal.they_cant_mention": "Sy kinne jo net fermelde of folgje.",
|
||||
"block_modal.they_cant_see_posts": "De persoan kin jo berjochten net sjen en jo ek net harren berjochten.",
|
||||
"block_modal.they_will_know": "De persoan kin sjen dat dy blokkearre wurdt.",
|
||||
"block_modal.title": "Brûker blokkearje?",
|
||||
"block_modal.you_wont_see_mentions": "Jo sjogge gjin berjochten mear dy’t dizze account fermelde.",
|
||||
"boost_modal.combo": "Jo kinne op {combo} drukke om dit de folgjende kear oer te slaan",
|
||||
|
@ -214,11 +217,15 @@
|
|||
"domain_block_modal.title": "Domein blokkearje?",
|
||||
"domain_block_modal.you_will_lose_followers": "Al jo folgers fan dizze server wurde ûntfolge.",
|
||||
"domain_block_modal.you_wont_see_posts": "Jo sjogge gjin berjochten of meldingen mear fan brûkers op dizze server.",
|
||||
"domain_pill.activitypub_lets_connect": "It soarget derfoar dat jo net allinnich mar ferbine en kommunisearje kinne mei minsken op Mastodon, mar ek mei oare sosjale apps.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub is de taal dy’t Mastodon mei oare sosjale netwurken sprekt.",
|
||||
"domain_pill.server": "Server",
|
||||
"domain_pill.their_handle": "Harren fediverse-adres:",
|
||||
"domain_pill.their_server": "Harren digitale thús, wer’t al harren berjochten binne.",
|
||||
"domain_pill.their_username": "Harren unike identifikaasje-adres op harren server. It is mooglik dat der brûkers mei deselde brûkersnamme op ferskate servers te finen binne.",
|
||||
"domain_pill.username": "Brûkersnamme",
|
||||
"domain_pill.whats_in_a_handle": "Wat is in fediverse-adres?",
|
||||
"domain_pill.who_they_are": "Omdat jo oan in fediverse-adres sjen kinne hoe’t ien hjit en op hokker server dy sit, kinne jo mei minsken op it troch <button>ActivityPub oandreaune</button> sosjale web (fediverse) kommunisearje.",
|
||||
"domain_pill.your_handle": "Jo fediverse-adres:",
|
||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Sa komt it der út te sjen:",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "הצג חשבון בכל זאת",
|
||||
"limited_account_hint.title": "פרופיל המשתמש הזה הוסתר על ידי המנחים של {domain}.",
|
||||
"link_preview.author": "מאת {name}",
|
||||
"link_preview.more_from_author": "עוד מאת {name}",
|
||||
"lists.account.add": "הוסף לרשימה",
|
||||
"lists.account.remove": "הסר מרשימה",
|
||||
"lists.delete": "מחיקת רשימה",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Profil megjelenítése mindenképpen",
|
||||
"limited_account_hint.title": "Ezt a profilt {domain} moderátorai elrejtették.",
|
||||
"link_preview.author": "{name} szerint",
|
||||
"link_preview.more_from_author": "Több tőle: {name}",
|
||||
"lists.account.add": "Hozzáadás a listához",
|
||||
"lists.account.remove": "Eltávolítás a listából",
|
||||
"lists.delete": "Lista törlése",
|
||||
|
|
|
@ -215,8 +215,8 @@
|
|||
"domain_block_modal.they_cant_follow": "Necuno de iste servitor pote sequer te.",
|
||||
"domain_block_modal.they_wont_know": "Ille non sapera que ille ha essite blocate.",
|
||||
"domain_block_modal.title": "Blocar dominio?",
|
||||
"domain_block_modal.you_will_lose_followers": "Omne sequitores ab iste servitor essera removite.",
|
||||
"domain_block_modal.you_wont_see_posts": "Tu non videra messages e notificationes ab usatores sur iste servitor.",
|
||||
"domain_block_modal.you_will_lose_followers": "Tote tu sequitores de iste servitor essera removite.",
|
||||
"domain_block_modal.you_wont_see_posts": "Tu non videra messages e notificationes de usatores sur iste servitor.",
|
||||
"domain_pill.activitypub_lets_connect": "Illo te permitte connecter e interager con personas non solmente sur Mastodon, ma tamben sur altere applicationes social.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub es como le linguage commun que Mastodon parla con altere retes social.",
|
||||
"domain_pill.server": "Servitor",
|
||||
|
@ -389,7 +389,7 @@
|
|||
"keyboard_shortcuts.hotkey": "Clave accelerator",
|
||||
"keyboard_shortcuts.legend": "Monstrar iste legenda",
|
||||
"keyboard_shortcuts.local": "Aperir le chronologia local",
|
||||
"keyboard_shortcuts.mention": "Mentionar le author",
|
||||
"keyboard_shortcuts.mention": "Mentionar le autor",
|
||||
"keyboard_shortcuts.muted": "Aperir lista de usatores silentiate",
|
||||
"keyboard_shortcuts.my_profile": "Aperir tu profilo",
|
||||
"keyboard_shortcuts.notifications": "Aperir columna de notificationes",
|
||||
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Monstrar profilo in omne caso",
|
||||
"limited_account_hint.title": "Iste profilo ha essite celate per le moderatores de {domain}.",
|
||||
"link_preview.author": "Per {name}",
|
||||
"link_preview.more_from_author": "Plus de {name}",
|
||||
"lists.account.add": "Adder al lista",
|
||||
"lists.account.remove": "Remover del lista",
|
||||
"lists.delete": "Deler lista",
|
||||
|
@ -474,7 +475,7 @@
|
|||
"notification.follow_request": "{name} ha requestate de sequer te",
|
||||
"notification.mention": "{name} te ha mentionate",
|
||||
"notification.moderation-warning.learn_more": "Apprender plus",
|
||||
"notification.moderation_warning": "Tu ha recepite un aviso de moderation",
|
||||
"notification.moderation_warning": "Tu ha recipite un advertimento de moderation",
|
||||
"notification.moderation_warning.action_delete_statuses": "Alcunes de tu messages ha essite removite.",
|
||||
"notification.moderation_warning.action_disable": "Tu conto ha essite disactivate.",
|
||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Alcunes de tu messages ha essite marcate como sensibile.",
|
||||
|
@ -493,7 +494,7 @@
|
|||
"notification.status": "{name} ha justo ora publicate",
|
||||
"notification.update": "{name} ha modificate un message",
|
||||
"notification_requests.accept": "Acceptar",
|
||||
"notification_requests.dismiss": "Dimitter",
|
||||
"notification_requests.dismiss": "Clauder",
|
||||
"notification_requests.notifications_from": "Notificationes de {name}",
|
||||
"notification_requests.title": "Notificationes filtrate",
|
||||
"notifications.clear": "Rader notificationes",
|
||||
|
@ -621,7 +622,7 @@
|
|||
"relative_time.today": "hodie",
|
||||
"reply_indicator.attachments": "{count, plural, one {# annexo} other {# annexos}}",
|
||||
"reply_indicator.cancel": "Cancellar",
|
||||
"reply_indicator.poll": "Inquesta",
|
||||
"reply_indicator.poll": "Sondage",
|
||||
"report.block": "Blocar",
|
||||
"report.block_explanation": "Tu non videra le messages de iste persona. Ille non potera vider tu messages o sequer te. Ille potera saper de esser blocate.",
|
||||
"report.categories.legal": "Juridic",
|
||||
|
@ -677,7 +678,7 @@
|
|||
"search.quick_action.status_search": "Messages correspondente a {x}",
|
||||
"search.search_or_paste": "Cerca o colla un URL",
|
||||
"search_popout.full_text_search_disabled_message": "Non disponibile sur {domain}.",
|
||||
"search_popout.full_text_search_logged_out_message": "Solmente disponibile al initiar le session.",
|
||||
"search_popout.full_text_search_logged_out_message": "Solmente disponibile post aperir session.",
|
||||
"search_popout.language_code": "Codice de lingua ISO",
|
||||
"search_popout.options": "Optiones de recerca",
|
||||
"search_popout.quick_actions": "Actiones rapide",
|
||||
|
@ -757,7 +758,7 @@
|
|||
"status.show_original": "Monstrar original",
|
||||
"status.title.with_attachments": "{user} ha publicate {attachmentCount, plural, one {un annexo} other {{attachmentCount} annexos}}",
|
||||
"status.translate": "Traducer",
|
||||
"status.translated_from_with": "Traducite ab {lang} usante {provider}",
|
||||
"status.translated_from_with": "Traducite de {lang} usante {provider}",
|
||||
"status.uncached_media_warning": "Previsualisation non disponibile",
|
||||
"status.unmute_conversation": "Non plus silentiar conversation",
|
||||
"status.unpin": "Disfixar del profilo",
|
||||
|
@ -796,7 +797,7 @@
|
|||
"upload_modal.choose_image": "Seliger un imagine",
|
||||
"upload_modal.description_placeholder": "Cinque expertos del zoo jam bibeva whisky frigide",
|
||||
"upload_modal.detect_text": "Deteger texto de un imagine",
|
||||
"upload_modal.edit_media": "Modificar le medio",
|
||||
"upload_modal.edit_media": "Modificar multimedia",
|
||||
"upload_modal.hint": "Clicca o trahe le circulo sur le previsualisation pro eliger le puncto focal que essera sempre visibile sur tote le miniaturas.",
|
||||
"upload_modal.preparing_ocr": "Preparation del OCR…",
|
||||
"upload_modal.preview_label": "Previsualisation ({ratio})",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Birta notandasniðið samt",
|
||||
"limited_account_hint.title": "Þetta notandasnið hefur verið falið af umsjónarmönnum {domain}.",
|
||||
"link_preview.author": "Eftir {name}",
|
||||
"link_preview.more_from_author": "Meira frá {name}",
|
||||
"lists.account.add": "Bæta á lista",
|
||||
"lists.account.remove": "Fjarlægja af lista",
|
||||
"lists.delete": "Eyða lista",
|
||||
|
|
|
@ -398,6 +398,7 @@
|
|||
"limited_account_hint.action": "Amostra el profil entanto",
|
||||
"limited_account_hint.title": "Este profil fue eskondido por los moderadores de {domain}.",
|
||||
"link_preview.author": "Publikasyon de {name}",
|
||||
"link_preview.more_from_author": "Mas de {name}",
|
||||
"lists.account.add": "Adjusta a lista",
|
||||
"lists.account.remove": "Kita de lista",
|
||||
"lists.delete": "Efasa lista",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Vis tiek rodyti profilį",
|
||||
"limited_account_hint.title": "Šį profilį paslėpė {domain} prižiūrėtojai.",
|
||||
"link_preview.author": "Sukūrė {name}",
|
||||
"link_preview.more_from_author": "Daugiau iš {name}",
|
||||
"lists.account.add": "Pridėti į sąrašą",
|
||||
"lists.account.remove": "Pašalinti iš sąrašo",
|
||||
"lists.delete": "Ištrinti sąrašą",
|
||||
|
@ -561,7 +562,7 @@
|
|||
"onboarding.steps.setup_profile.title": "Suasmenink savo profilį",
|
||||
"onboarding.steps.share_profile.body": "Leisk draugams sužinoti, kaip tave rasti Mastodon.",
|
||||
"onboarding.steps.share_profile.title": "Bendrink savo Mastodon profilį",
|
||||
"onboarding.tips.2fa": "<strong>Ar žinojai?</strong> Savo paskyrą gali apsaugoti nustatęs (-usi) dviejų veiksnių tapatybės nustatymą paskyros nustatymuose. Jis veikia su bet kuria pasirinkta TOTP programėle, telefono numeris nebūtinas.",
|
||||
"onboarding.tips.2fa": "<strong>Ar žinojai?</strong> Savo paskyrą gali apsaugoti nustatant dviejų veiksnių tapatybės nustatymą paskyros nustatymuose. Jis veikia su bet kuria pasirinkta TOTP programėle, telefono numeris nebūtinas.",
|
||||
"onboarding.tips.accounts_from_other_servers": "<strong>Ar žinojai?</strong> Kadangi Mastodon decentralizuotas, kai kurie profiliai, su kuriais susidursi, bus talpinami ne tavo, o kituose serveriuose. Ir vis tiek galėsi su jais sklandžiai bendrauti! Jų serveris yra antroje naudotojo vardo pusėje.",
|
||||
"onboarding.tips.migration": "<strong>Ar žinojai?</strong> Jei manai, kad {domain} serveris ateityje tau netiks, gali persikelti į kitą Mastodon serverį neprarandant savo sekėjų. Gali net talpinti savo paties serverį.",
|
||||
"onboarding.tips.verification": "<strong>Ar žinojai?</strong> Savo paskyrą gali patvirtinti pateikęs (-usi) nuorodą į Mastodon profilį savo interneto svetainėje ir pridėjęs (-usi) svetainę prie savo profilio. Nereikia jokių mokesčių ar dokumentų.",
|
||||
|
@ -632,7 +633,7 @@
|
|||
"report.reasons.legal_description": "Manai, kad tai pažeidžia tavo arba serverio šalies įstatymus",
|
||||
"report.reasons.other": "Tai kažkas kita",
|
||||
"report.reasons.other_description": "Problema netinka kitoms kategorijoms",
|
||||
"report.reasons.spam": "Tai šlamštas",
|
||||
"report.reasons.spam": "Tai – šlamštas",
|
||||
"report.reasons.spam_description": "Kenkėjiškos nuorodos, netikras įsitraukimas arba pasikartojantys atsakymai",
|
||||
"report.reasons.violation": "Tai pažeidžia serverio taisykles",
|
||||
"report.reasons.violation_description": "Žinai, kad tai pažeidžia konkrečias taisykles",
|
||||
|
|
|
@ -92,6 +92,8 @@
|
|||
"block_modal.remote_users_caveat": "Mēs vaicāsim serverim {domain} ņemt vērā Tavu lēmumu. Tomēr atbilstība nav nodrošināta, jo atsevišķi serveri var apstrādāt bloķēšanu citādi. Publiski ieraksti joprojām var būt redzami lietotājiem, kuri nav pieteikušies.",
|
||||
"block_modal.show_less": "Rādīt mazāk",
|
||||
"block_modal.show_more": "Parādīt mazāk",
|
||||
"block_modal.they_cant_mention": "Nevar Tevi pieminēt vai sekot Tev.",
|
||||
"block_modal.they_cant_see_posts": "Nevar redzēt Tavus ierakstus, un Tu neredzēsi lietotāja.",
|
||||
"boost_modal.combo": "Nospied {combo}, lai nākamreiz šo izlaistu",
|
||||
"bundle_column_error.copy_stacktrace": "Kopēt kļūdu ziņojumu",
|
||||
"bundle_column_error.error.body": "Pieprasīto lapu nevarēja atveidot. Tas varētu būt saistīts ar kļūdu mūsu kodā, vai tā ir pārlūkprogrammas saderības problēma.",
|
||||
|
@ -173,7 +175,7 @@
|
|||
"confirmations.discard_edit_media.message": "Ir nesaglabātas izmaiņas informācijas nesēja aprakstā vai priekšskatījumā. Vēlies tās atmest tik un tā?",
|
||||
"confirmations.domain_block.message": "Vai tu tiešām vēlies bloķēt visu domēnu {domain}? Parasti pietiek, ja nobloķē vai apklusini kādu. Tu neredzēsi saturu vai paziņojumus no šī domēna nevienā laika līnijā. Tavi sekotāji no šī domēna tiks noņemti.",
|
||||
"confirmations.edit.confirm": "Labot",
|
||||
"confirmations.edit.message": "Rediģējot, tiks pārrakstīts ziņojums, kuru tu šobrīd raksti. Vai tiešām vēlies turpināt?",
|
||||
"confirmations.edit.message": "Labošana pārrakstīs ziņojumu, kas šobrīd tiek sastādīts. Vai tiešām turpināt?",
|
||||
"confirmations.logout.confirm": "Iziet",
|
||||
"confirmations.logout.message": "Vai tiešām vēlies izrakstīties?",
|
||||
"confirmations.mute.confirm": "Apklusināt",
|
||||
|
@ -377,6 +379,7 @@
|
|||
"limited_account_hint.action": "Tik un tā rādīt profilu",
|
||||
"limited_account_hint.title": "{domain} moderatori ir paslēpuši šo profilu.",
|
||||
"link_preview.author": "Pēc {name}",
|
||||
"link_preview.more_from_author": "Vairāk no {name}",
|
||||
"lists.account.add": "Pievienot sarakstam",
|
||||
"lists.account.remove": "Noņemt no saraksta",
|
||||
"lists.delete": "Izdzēst sarakstu",
|
||||
|
@ -444,16 +447,19 @@
|
|||
"notification.relationships_severance_event": "Zaudēti savienojumi ar {name}",
|
||||
"notification.relationships_severance_event.learn_more": "Uzzināt vairāk",
|
||||
"notification.status": "{name} tikko publicēja",
|
||||
"notification.update": "{name} rediģēja ierakstu",
|
||||
"notification.update": "{name} laboja ierakstu",
|
||||
"notification_requests.accept": "Pieņemt",
|
||||
"notification_requests.dismiss": "Noraidīt",
|
||||
"notification_requests.notifications_from": "Paziņojumi no {name}",
|
||||
"notification_requests.title": "Atlasītie paziņojumi",
|
||||
"notifications.clear": "Notīrīt paziņojumus",
|
||||
"notifications.clear_confirmation": "Vai tiešām vēlies neatgriezeniski notīrīt visus savus paziņojumus?",
|
||||
"notifications.column_settings.admin.report": "Jauni ziņojumi:",
|
||||
"notifications.column_settings.admin.sign_up": "Jaunas pierakstīšanās:",
|
||||
"notifications.column_settings.alert": "Darbvirsmas paziņojumi",
|
||||
"notifications.column_settings.favourite": "Izlase:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Attēlot visas kategorijas",
|
||||
"notifications.column_settings.filter_bar.category": "Atrās atlasīšanas josla",
|
||||
"notifications.column_settings.follow": "Jauni sekotāji:",
|
||||
"notifications.column_settings.follow_request": "Jauni sekošanas pieprasījumi:",
|
||||
"notifications.column_settings.mention": "Pieminēšanas:",
|
||||
|
@ -481,7 +487,9 @@
|
|||
"notifications.permission_required": "Darbvirsmas paziņojumi nav pieejami, jo nav piešķirta nepieciešamā atļauja.",
|
||||
"notifications.policy.filter_new_accounts_title": "Jauni konti",
|
||||
"notifications.policy.filter_not_followers_title": "Cilvēki, kuri Tev neseko",
|
||||
"notifications.policy.filter_not_following_hint": "Līdz tos pašrocīgi apstiprināsi",
|
||||
"notifications.policy.filter_not_following_title": "Cilvēki, kuriem Tu neseko",
|
||||
"notifications.policy.title": "Atlasīt paziņojumus no…",
|
||||
"notifications_permission_banner.enable": "Iespējot darbvirsmas paziņojumus",
|
||||
"notifications_permission_banner.how_to_control": "Lai saņemtu paziņojumus, kad Mastodon nav atvērts, iespējo darbvirsmas paziņojumus. Vari precīzi kontrolēt, kāda veida mijiedarbības rada darbvirsmas paziņojumus, izmantojot augstāk redzamo pogu {icon}, kad tie būs iespējoti.",
|
||||
"notifications_permission_banner.title": "Nekad nepalaid neko garām",
|
||||
|
@ -539,7 +547,9 @@
|
|||
"privacy.direct.short": "Noteikti cilvēki",
|
||||
"privacy.private.long": "Tikai Tavi sekotāji",
|
||||
"privacy.private.short": "Sekotāji",
|
||||
"privacy.public.long": "Jebkurš Mastodon un ārpus tā",
|
||||
"privacy.public.short": "Publiska",
|
||||
"privacy.unlisted.long": "Mazāk algoritmisku fanfaru",
|
||||
"privacy_policy.last_updated": "Pēdējo reizi atjaunināta {date}",
|
||||
"privacy_policy.title": "Privātuma politika",
|
||||
"recommended": "Ieteicams",
|
||||
|
@ -557,6 +567,7 @@
|
|||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.today": "šodien",
|
||||
"reply_indicator.attachments": "{count, plural, zero{# pielikumu} one {# pielikums} other {# pielikumi}}",
|
||||
"reply_indicator.cancel": "Atcelt",
|
||||
"reply_indicator.poll": "Aptauja",
|
||||
"report.block": "Bloķēt",
|
||||
|
@ -630,7 +641,7 @@
|
|||
"search_results.title": "Meklēt {q}",
|
||||
"server_banner.about_active_users": "Cilvēki, kas izmantojuši šo serveri pēdējo 30 dienu laikā (aktīvie lietotāji mēnesī)",
|
||||
"server_banner.active_users": "aktīvi lietotāji",
|
||||
"server_banner.administered_by": "Administrē:",
|
||||
"server_banner.administered_by": "Pārvalda:",
|
||||
"server_banner.introduction": "{domain} ir daļa no decentralizētā sociālā tīkla, ko nodrošina {mastodon}.",
|
||||
"server_banner.learn_more": "Uzzināt vairāk",
|
||||
"server_banner.server_stats": "Servera statistika:",
|
||||
|
@ -652,9 +663,10 @@
|
|||
"status.direct_indicator": "Pieminēts privāti",
|
||||
"status.edit": "Labot",
|
||||
"status.edited": "Pēdējoreiz labots {date}",
|
||||
"status.edited_x_times": "Labots {count, plural, one {{count} reizi} other {{count} reizes}}",
|
||||
"status.edited_x_times": "Labots {count, plural, zero {{count} reižu} one {{count} reizi} other {{count} reizes}}",
|
||||
"status.embed": "Iegult",
|
||||
"status.favourite": "Izlasē",
|
||||
"status.favourites": "{count, plural, zero {izlasēs} one {izlasē} other {izlasēs}}",
|
||||
"status.filter": "Filtrē šo ziņu",
|
||||
"status.filtered": "Filtrēts",
|
||||
"status.hide": "Slēpt ierakstu",
|
||||
|
@ -675,6 +687,7 @@
|
|||
"status.reblog": "Pastiprināt",
|
||||
"status.reblog_private": "Pastiprināt, nemainot redzamību",
|
||||
"status.reblogged_by": "{name} pastiprināja",
|
||||
"status.reblogs": "{count, plural, zero {pastiprinājumu} one {pastiprinājums} other {pastiprinājumi}}",
|
||||
"status.reblogs.empty": "Neviens šo ierakstu vēl nav pastiprinājis. Kad būs, tie parādīsies šeit.",
|
||||
"status.redraft": "Dzēst un pārrakstīt",
|
||||
"status.remove_bookmark": "Noņemt grāmatzīmi",
|
||||
|
|
|
@ -17,9 +17,12 @@
|
|||
"account.badges.group": "गट",
|
||||
"account.block": "@{name} यांना ब्लॉक करा",
|
||||
"account.block_domain": "{domain} पासून सर्व लपवा",
|
||||
"account.block_short": "अवरोध",
|
||||
"account.blocked": "ब्लॉक केले आहे",
|
||||
"account.browse_more_on_origin_server": "मूळ प्रोफाइलवर अधिक ब्राउझ करा",
|
||||
"account.cancel_follow_request": "फॉलो विनंती मागे घ्या",
|
||||
"account.copy": "दुवा कॉपी करा",
|
||||
"account.direct": "खाजगीरित्या उल्लेखीत @{name}",
|
||||
"account.disable_notifications": "जेव्हा @{name} पोस्ट करतात तेव्हा मला सूचित करणे थांबवा",
|
||||
"account.domain_blocked": "Domain hidden",
|
||||
"account.edit_profile": "प्रोफाइल एडिट करा",
|
||||
|
@ -29,6 +32,7 @@
|
|||
"account.featured_tags.last_status_never": "पोस्ट नाहीत",
|
||||
"account.featured_tags.title": "{name} चे वैशिष्ट्यीकृत हॅशटॅग",
|
||||
"account.follow": "अनुयायी व्हा",
|
||||
"account.follow_back": "आपणही अनुसरण करा",
|
||||
"account.followers": "अनुयायी",
|
||||
"account.followers.empty": "ह्या वापरकर्त्याचा आतापर्यंत कोणी अनुयायी नाही.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
|
||||
|
@ -45,6 +49,7 @@
|
|||
"account.mention": "@{name} चा उल्लेख करा",
|
||||
"account.moved_to": "{name} ने सूचित केले आहे की त्यांचे नवीन खाते आता आहे:",
|
||||
"account.mute": "@{name} ला मूक कारा",
|
||||
"account.mute_short": "नि:शब्द",
|
||||
"account.muted": "मौन",
|
||||
"account.open_original_page": "मूळ पृष्ठ उघडा",
|
||||
"account.posts": "Toots",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Alsnog het profiel tonen",
|
||||
"limited_account_hint.title": "Dit profiel is door de moderatoren van {domain} verborgen.",
|
||||
"link_preview.author": "Door {name}",
|
||||
"link_preview.more_from_author": "Meer van {name}",
|
||||
"lists.account.add": "Aan lijst toevoegen",
|
||||
"lists.account.remove": "Uit lijst verwijderen",
|
||||
"lists.delete": "Lijst verwijderen",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Shfaqe profilin sido qoftë",
|
||||
"limited_account_hint.title": "Ky profil është fshehur nga moderatorët e {domain}.",
|
||||
"link_preview.author": "Nga {name}",
|
||||
"link_preview.more_from_author": "Më tepër nga {name}",
|
||||
"lists.account.add": "Shto në listë",
|
||||
"lists.account.remove": "Hiqe nga lista",
|
||||
"lists.delete": "Fshije listën",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Ipak prikaži profil",
|
||||
"limited_account_hint.title": "Ovaj profil su sakrili moderatori {domain}.",
|
||||
"link_preview.author": "Po {name}",
|
||||
"link_preview.more_from_author": "Više od {name}",
|
||||
"lists.account.add": "Dodaj na listu",
|
||||
"lists.account.remove": "Ukloni sa liste",
|
||||
"lists.delete": "Izbriši listu",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Ипак прикажи профил",
|
||||
"limited_account_hint.title": "Овај профил су сакрили модератори {domain}.",
|
||||
"link_preview.author": "По {name}",
|
||||
"link_preview.more_from_author": "Више од {name}",
|
||||
"lists.account.add": "Додај на листу",
|
||||
"lists.account.remove": "Уклони са листе",
|
||||
"lists.delete": "Избриши листу",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Visa profil ändå",
|
||||
"limited_account_hint.title": "Denna profil har dolts av {domain}s moderatorer.",
|
||||
"link_preview.author": "Av {name}",
|
||||
"link_preview.more_from_author": "Mer från {name}",
|
||||
"lists.account.add": "Lägg till i lista",
|
||||
"lists.account.remove": "Ta bort från lista",
|
||||
"lists.delete": "Radera lista",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "แสดงโปรไฟล์ต่อไป",
|
||||
"limited_account_hint.title": "มีการซ่อนโปรไฟล์นี้โดยผู้กลั่นกรองของ {domain}",
|
||||
"link_preview.author": "โดย {name}",
|
||||
"link_preview.more_from_author": "เพิ่มเติมจาก {name}",
|
||||
"lists.account.add": "เพิ่มไปยังรายการ",
|
||||
"lists.account.remove": "เอาออกจากรายการ",
|
||||
"lists.delete": "ลบรายการ",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Yine de profili göster",
|
||||
"limited_account_hint.title": "Bu profil {domain} moderatörleri tarafından gizlendi.",
|
||||
"link_preview.author": "Yazar: {name}",
|
||||
"link_preview.more_from_author": "{name} kişisinden daha fazlası",
|
||||
"lists.account.add": "Listeye ekle",
|
||||
"lists.account.remove": "Listeden kaldır",
|
||||
"lists.delete": "Listeyi sil",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"limited_account_hint.action": "Усе одно показати профіль",
|
||||
"limited_account_hint.title": "Цей профіль сховали модератори {domain}.",
|
||||
"link_preview.author": "Від {name}",
|
||||
"link_preview.more_from_author": "Більше від {name}",
|
||||
"lists.account.add": "Додати до списку",
|
||||
"lists.account.remove": "Вилучити зі списку",
|
||||
"lists.delete": "Видалити список",
|
||||
|
|
|
@ -147,6 +147,9 @@ class NotifyService < BaseService
|
|||
end
|
||||
|
||||
def statuses_that_mention_sender
|
||||
# This queries private mentions from the recipient to the sender up in the thread.
|
||||
# This allows up to 100 messages that do not match in the thread, allowing conversations
|
||||
# involving multiple people.
|
||||
Status.count_by_sql([<<-SQL.squish, id: @notification.target_status.in_reply_to_id, recipient_id: @recipient.id, sender_id: @sender.id, depth_limit: 100])
|
||||
WITH RECURSIVE ancestors(id, in_reply_to_id, mention_id, path, depth) AS (
|
||||
SELECT s.id, s.in_reply_to_id, m.id, ARRAY[s.id], 0
|
||||
|
@ -154,16 +157,17 @@ class NotifyService < BaseService
|
|||
LEFT JOIN mentions m ON m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id
|
||||
WHERE s.id = :id
|
||||
UNION ALL
|
||||
SELECT s.id, s.in_reply_to_id, m.id, st.path || s.id, st.depth + 1
|
||||
FROM ancestors st
|
||||
JOIN statuses s ON s.id = st.in_reply_to_id
|
||||
LEFT JOIN mentions m ON m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id
|
||||
WHERE st.mention_id IS NULL AND NOT s.id = ANY(path) AND st.depth < :depth_limit
|
||||
SELECT s.id, s.in_reply_to_id, m.id, ancestors.path || s.id, ancestors.depth + 1
|
||||
FROM ancestors
|
||||
JOIN statuses s ON s.id = ancestors.in_reply_to_id
|
||||
/* early exit if we already have a mention matching our requirements */
|
||||
LEFT JOIN mentions m ON m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id AND s.account_id = :recipient_id
|
||||
WHERE ancestors.mention_id IS NULL AND NOT s.id = ANY(path) AND ancestors.depth < :depth_limit
|
||||
)
|
||||
SELECT COUNT(*)
|
||||
FROM ancestors st
|
||||
JOIN statuses s ON s.id = st.id
|
||||
WHERE st.mention_id IS NOT NULL AND s.visibility = 3
|
||||
FROM ancestors
|
||||
JOIN statuses s ON s.id = ancestors.id
|
||||
WHERE ancestors.mention_id IS NOT NULL AND s.account_id = :recipient_id AND s.visibility = 3
|
||||
SQL
|
||||
end
|
||||
end
|
||||
|
|
|
@ -48,6 +48,7 @@ require_relative '../lib/chewy/strategy/bypass_with_warning'
|
|||
require_relative '../lib/webpacker/manifest_extensions'
|
||||
require_relative '../lib/webpacker/helper_extensions'
|
||||
require_relative '../lib/rails/engine_extensions'
|
||||
require_relative '../lib/action_dispatch/remote_ip_extensions'
|
||||
require_relative '../lib/active_record/database_tasks_extensions'
|
||||
require_relative '../lib/active_record/batches'
|
||||
require_relative '../lib/simple_navigation/item_extensions'
|
||||
|
|
|
@ -6,5 +6,5 @@
|
|||
# Use this to limit dissemination of sensitive information.
|
||||
# See the ActiveSupport::ParameterFilter documentation for supported notations and behaviors.
|
||||
Rails.application.config.filter_parameters += [
|
||||
:passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
|
||||
:passw, :email, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
|
||||
]
|
||||
|
|
|
@ -37,6 +37,10 @@ class Rack::Attack
|
|||
authenticated_token&.id
|
||||
end
|
||||
|
||||
def warden_user_id
|
||||
@env['warden']&.user&.id
|
||||
end
|
||||
|
||||
def unauthenticated?
|
||||
!authenticated_user_id
|
||||
end
|
||||
|
@ -58,10 +62,6 @@ class Rack::Attack
|
|||
end
|
||||
end
|
||||
|
||||
Rack::Attack.safelist('allow from localhost') do |req|
|
||||
req.remote_ip == '127.0.0.1' || req.remote_ip == '::1'
|
||||
end
|
||||
|
||||
Rack::Attack.blocklist('deny from blocklist') do |req|
|
||||
IpBlock.blocked?(req.remote_ip)
|
||||
end
|
||||
|
@ -141,6 +141,10 @@ class Rack::Attack
|
|||
req.session[:attempt_user_id] || req.params.dig('user', 'email').presence if req.post? && req.path_matches?('/auth/sign_in')
|
||||
end
|
||||
|
||||
throttle('throttle_password_change/account', limit: 10, period: 10.minutes) do |req|
|
||||
req.warden_user_id if req.put? || (req.patch? && req.path_matches?('/auth'))
|
||||
end
|
||||
|
||||
self.throttled_responder = lambda do |request|
|
||||
now = Time.now.utc
|
||||
match_data = request.env['rack.attack.match_data']
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
ActiveSupport::Notifications.subscribe(/rack_attack/) do |_name, _start, _finish, _request_id, payload|
|
||||
req = payload[:request]
|
||||
|
||||
next unless [:throttle, :blacklist].include? req.env['rack.attack.match_type']
|
||||
next unless [:throttle, :blocklist].include? req.env['rack.attack.match_type']
|
||||
|
||||
Rails.logger.info("Rate limit hit (#{req.env['rack.attack.match_type']}): #{req.ip} #{req.request_method} #{req.fullpath}")
|
||||
end
|
||||
|
|
|
@ -1673,6 +1673,7 @@ da:
|
|||
domain_block: Serversuspendering (%{target_name})
|
||||
user_domain_block: "%{target_name} blev blokeret"
|
||||
lost_followers: Tabte følgere
|
||||
lost_follows: Mistet følger
|
||||
preamble: Der kan mistes fulgte objekter og følgere, når et domæne blokeres eller moderatorerne beslutter at suspendere en ekstern server. Når det sker, kan der downloades lister over afbrudte relationer til inspektion og mulig import på anden server.
|
||||
purged: Oplysninger om denne server er blevet renset af serveradministratoreren.
|
||||
type: Begivenhed
|
||||
|
|
|
@ -76,7 +76,7 @@ lt:
|
|||
webauthn_disabled:
|
||||
explanation: Tavo paskyrai išjungtas tapatybės nustatymas naudojant saugumo raktus.
|
||||
extra: Prisijungimas dabar galimas naudojant tik susietos TOTP programėlės sugeneruotą prieigos raktą.
|
||||
subject: 'Mastodon: tapatybės nustatymas naudojant saugumo raktai išjungta'
|
||||
subject: 'Mastodon: tapatybės nustatymas su saugumo raktai išjungta'
|
||||
title: Saugumo raktai išjungti
|
||||
webauthn_enabled:
|
||||
explanation: Tavo paskyrai įjungtas saugumo rakto tapatybės nustatymas.
|
||||
|
@ -98,8 +98,8 @@ lt:
|
|||
signed_up_but_inactive: Sėkmingai užsiregistravai. Tačiau negalėjome tavęs prijungti, nes tavo paskyra dar nėra aktyvuota.
|
||||
signed_up_but_locked: Sėkmingai užsiregistravai. Tačiau negalėjome tavęs prijungti, nes tavo paskyra dar užrakinta.
|
||||
signed_up_but_pending: Į tavo el. pašto adresą buvo išsiųstas laiškas su patvirtinimo nuoroda. Paspaudęs (-usi) nuorodą, peržiūrėsime tavo paraišką. Tau bus pranešta, jei ji patvirtinta.
|
||||
signed_up_but_unconfirmed: Į tavo el. pašto adresą buvo išsiųstas laiškas su patvirtinimo nuoroda. Paspausk nuorodą, kad aktyvuotum savo paskyrą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
|
||||
update_needs_confirmation: Sėkmingai atnaujinai savo paskyrą, bet mums reikia patvirtinti naująjį el. pašto adresą. Patikrink savo el. paštą ir paspausk patvirtinimo nuorodą, kad patvirtintum savo naują el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
|
||||
signed_up_but_unconfirmed: Į tavo el. pašto adresą buvo išsiųstas laiškas su patvirtinimo nuoroda. Sek nuorodą, kad aktyvuotum savo paskyrą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
|
||||
update_needs_confirmation: Sėkmingai atnaujinai savo paskyrą, bet mums reikia patvirtinti naująjį el. pašto adresą. Patikrink savo el. paštą ir sek patvirtinimo nuorodą, kad patvirtintum savo naują el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
|
||||
updated: Tavo paskyra buvo sėkmingai atnaujinta.
|
||||
sessions:
|
||||
already_signed_out: Atsijungta sėkmingai.
|
||||
|
@ -107,7 +107,7 @@ lt:
|
|||
signed_out: Atjungta sėkmingai.
|
||||
unlocks:
|
||||
send_instructions: Po kelių minučių gausi el. laišką su instrukcijomis, kaip atrakinti paskyrą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
|
||||
send_paranoid_instructions: Jei paskyra egzistuoja, po kelių minučių gausi el. laišką su instrukcijomis, kaip ją atrakinti. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
|
||||
send_paranoid_instructions: Jei tavo paskyra egzistuoja, po kelių minučių gausi el. laišką su instrukcijomis, kaip ją atrakinti. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
|
||||
unlocked: Tavo paskyra sėkmingai atrakinta. Norėdamas (-a) tęsti, prisijunk.
|
||||
errors:
|
||||
messages:
|
||||
|
|
|
@ -174,6 +174,7 @@ lv:
|
|||
read:filters: apskatīt savus filtrus
|
||||
read:follows: apskatīt savus sekotājus
|
||||
read:lists: apskatīt savus sarakstus
|
||||
read:me: lasīt tikai Tava konta pamatinformāciju
|
||||
read:mutes: apskatīt savus apklusinātos
|
||||
read:notifications: apskatīt savus paziņojumus
|
||||
read:reports: apskatīt savus pārskatus
|
||||
|
|
|
@ -38,7 +38,7 @@ ia:
|
|||
avatar: Avatar
|
||||
by_domain: Dominio
|
||||
change_email:
|
||||
changed_msg: Email cambiate con successo!
|
||||
changed_msg: E-mail cambiate con successo!
|
||||
current_email: E-mail actual
|
||||
label: Cambiar e-mail
|
||||
new_email: Nove e-mail
|
||||
|
@ -56,12 +56,12 @@ ia:
|
|||
delete: Deler datos
|
||||
deleted: Delite
|
||||
demote: Degradar
|
||||
destroyed_msg: Le datos de %{username} ora es in cauda pro su imminente deletion
|
||||
destroyed_msg: Le datos de %{username} es ora in cauda pro lor imminente deletion
|
||||
disable: Gelar
|
||||
disable_sign_in_token_auth: Disactivar le authentication per token in e-mail
|
||||
disable_two_factor_authentication: Disactivar 2FA
|
||||
disable_two_factor_authentication: Disactivar authentication bifactorial
|
||||
disabled: Gelate
|
||||
display_name: Nomine visibile
|
||||
display_name: Nomine a monstrar
|
||||
domain: Dominio
|
||||
edit: Modificar
|
||||
email: E-mail
|
||||
|
@ -82,7 +82,7 @@ ia:
|
|||
all: Toto
|
||||
local: Local
|
||||
remote: Remote
|
||||
title: Location
|
||||
title: Position
|
||||
login_status: Stato de session
|
||||
media_attachments: Annexos multimedial
|
||||
memorialize: Render commemorative
|
||||
|
@ -137,7 +137,7 @@ ia:
|
|||
security: Securitate
|
||||
security_measures:
|
||||
only_password: Solmente contrasigno
|
||||
password_and_2fa: Contrasigno e 2FA
|
||||
password_and_2fa: Contrasigno e A2F
|
||||
sensitive: Fortiar sensibile
|
||||
sensitized: Marcate como sensibile
|
||||
shared_inbox_url: URL del cassa de entrata condividite
|
||||
|
@ -195,17 +195,17 @@ ia:
|
|||
destroy_email_domain_block: Crear blocada de dominio email
|
||||
destroy_instance: Purgar dominio
|
||||
destroy_ip_block: Deler le regula IP
|
||||
destroy_status: Deler le message
|
||||
destroy_unavailable_domain: Deler le dominio non disponibile
|
||||
destroy_status: Deler message
|
||||
destroy_unavailable_domain: Deler dominio indisponibile
|
||||
destroy_user_role: Destruer rolo
|
||||
disable_2fa_user: Disactivar 2FA
|
||||
disable_2fa_user: Disactivar A2F
|
||||
disable_custom_emoji: Disactivar emoji personalisate
|
||||
disable_sign_in_token_auth_user: Disactivar le authentication per testimonio via email pro usator
|
||||
disable_sign_in_token_auth_user: Disactivar le authentication per token de e-mail pro le usator
|
||||
disable_user: Disactivar le usator
|
||||
enable_custom_emoji: Activar emoji personalisate
|
||||
enable_sign_in_token_auth_user: Activar le authentication per testimonio via email pro usator
|
||||
enable_sign_in_token_auth_user: Activar le authentication per token de e-mail pro le usator
|
||||
enable_user: Activar le usator
|
||||
memorialize_account: Commemorar conto
|
||||
memorialize_account: Converter conto in memorial
|
||||
promote_user: Promover usator
|
||||
reject_appeal: Rejectar appello
|
||||
reject_user: Rejectar usator
|
||||
|
@ -214,14 +214,14 @@ ia:
|
|||
resend_user: Reinviar message de confirmation
|
||||
reset_password_user: Reinitialisar contrasigno
|
||||
resolve_report: Resolver reporto
|
||||
sensitive_account: Marcar como sensibile le medios del conto
|
||||
sensitive_account: Fortiar de marcar le conto como sensibile
|
||||
silence_account: Limitar conto
|
||||
suspend_account: Suspender conto
|
||||
unassigned_report: Disassignar reporto
|
||||
unblock_email_account: Disblocar adresse de e-mail
|
||||
unsensitive_account: Dismarcar como sensibile le medios del conto
|
||||
unsilence_account: Disfacer le limite de conto
|
||||
unsuspend_account: Annullar suspension de conto
|
||||
unsensitive_account: Non plus fortiar de marcar le conto como sensibile
|
||||
unsilence_account: Non plus limitar conto
|
||||
unsuspend_account: Non plus suspender conto
|
||||
update_announcement: Actualisar annuncio
|
||||
update_custom_emoji: Actualisar emoji personalisate
|
||||
update_domain_block: Actualisar blocada de dominio
|
||||
|
|
|
@ -265,10 +265,10 @@ lt:
|
|||
destroy_user_role_html: "%{name} ištrynė %{target} vaidmenį"
|
||||
disable_2fa_user_html: "%{name} išjungė dviejų veiksnių reikalavimą naudotojui %{target}"
|
||||
disable_custom_emoji_html: "%{name} išjungė jaustuką %{target}"
|
||||
disable_sign_in_token_auth_user_html: "%{name} išjungė el. pašto prieigos tapatybės nustatymą %{target}"
|
||||
disable_sign_in_token_auth_user_html: "%{name} išjungė el. pašto prieigos tapatybės nustatymą naudotojui %{target}"
|
||||
disable_user_html: "%{name} išjungė prisijungimą naudotojui %{target}"
|
||||
enable_custom_emoji_html: "%{name} įjungė jaustuką %{target}"
|
||||
enable_sign_in_token_auth_user_html: "%{name} įjungė el. pašto prieigos tapatybės nustatymą %{target}"
|
||||
enable_sign_in_token_auth_user_html: "%{name} įjungė el. pašto prieigos tapatybės nustatymą naudotojui %{target}"
|
||||
enable_user_html: "%{name} įjungė prisijungimą naudotojui %{target}"
|
||||
memorialize_account_html: "%{name} pavertė %{target} paskyrą į atminimo puslapį"
|
||||
promote_user_html: "%{name} paaukštino naudotoją %{target}"
|
||||
|
@ -440,6 +440,9 @@ lt:
|
|||
create: Pridėto domeną
|
||||
title: Naujas el pašto juodojo sąrašo įtraukimas
|
||||
title: El pašto juodasis sąrašas
|
||||
export_domain_blocks:
|
||||
import:
|
||||
description_html: Netrukus importuosi domenų blokavimų sąrašą. Labai atidžiai peržiūrėk šį sąrašą, ypač jei ne tu jį sudarei.
|
||||
instances:
|
||||
availability:
|
||||
title: Prieinamumas
|
||||
|
@ -493,6 +496,7 @@ lt:
|
|||
destroyed_msg: Skundo žinutė sekmingai ištrinta!
|
||||
reports:
|
||||
action_taken_by: Veiksmo ėmėsi
|
||||
actions_description_html: Nuspręsk, kokių veiksmų imtis, kad išspręstum šią ataskaitą. Jei imsis baudžiamųjų veiksmų prieš paskyrą, apie kurią pranešta, jiems bus išsiųstas el. laiško pranešimas, išskyrus atvejus, kai pasirinkta kategorija <strong>Šlamštas</strong>.
|
||||
already_suspended_badges:
|
||||
local: Jau sustabdytas šiame serveryje
|
||||
remote: Jau sustabdytas jų serveryje
|
||||
|
@ -534,6 +538,7 @@ lt:
|
|||
manage_invites: Tvarkyti kvietimus
|
||||
manage_invites_description: Leidžia naudotojams naršyti ir deaktyvuoti kvietimų nuorodas.
|
||||
manage_taxonomies_description: Leidžia naudotojams peržiūrėti tendencingą turinį ir atnaujinti saitažodžių nustatymus
|
||||
manage_user_access_description: Leidžia naudotojams išjungti kitų naudotojų dvigubo tapatybės nustatymą, pakeisti el. pašto adresą ir iš naujo nustatyti slaptažodį.
|
||||
settings:
|
||||
captcha_enabled:
|
||||
desc_html: Tai priklauso nuo hCaptcha išorinių skriptų, kurie gali kelti susirūpinimą dėl saugumo ir privatumo. Be to, <strong>dėl to registracijos procesas kai kuriems žmonėms (ypač neįgaliesiems) gali būti gerokai sunkiau prieinami</strong>. Dėl šių priežasčių apsvarstyk alternatyvias priemones, pavyzdžiui, patvirtinimu arba kvietimu grindžiamą registraciją.
|
||||
|
@ -546,6 +551,15 @@ lt:
|
|||
all: Visiems
|
||||
registrations:
|
||||
moderation_recommandation: Prieš atidarant registraciją visiems, įsitikink, kad turi tinkamą ir reaguojančią prižiūrėjimo komandą!
|
||||
registrations_mode:
|
||||
modes:
|
||||
approved: Registracijai privalomas patvirtinimas
|
||||
warning_hint: Rekomenduojame naudoti „Registracijai privalomas patvirtinimas“, nebent esi tikras (-a), kad tavo prižiūrėjimo komanda gali laiku apdoroti šlamštus ir kenkėjiškas registracijas.
|
||||
security:
|
||||
authorized_fetch: Reikalauti tapatybės nustatymo iš federacinių serverių
|
||||
authorized_fetch_hint: Reikalauti tapatybės nustatymo iš federacinių serverių leidžia griežčiau užtikrinti tiek naudotojo, tiek serverio lygio blokų vykdymą. Tačiau dėl to nukenčia našumas, sumažėja atsakymų pasiekiamumas ir gali kilti suderinamumo su kai kuriomis federacinėmis paslaugomis problemų. Be to, tai nesutrukdys skirtiems dalyviams gauti tavo viešų įrašų ir paskyrų.
|
||||
authorized_fetch_overridden_hint: Šiuo metu negali pakeisti šio nustatymo, nes jį pakeičia aplinkos kintamasis.
|
||||
federation_authentication: Federacijos tapatybės nustatymo vykdymas
|
||||
software_updates:
|
||||
description: Rekomenduojama nuolat atnaujinti Mastodon diegyklę, kad galėtum naudotis naujausiais pataisymais ir funkcijomis. Be to, kartais labai svarbu laiku atnaujinti Mastodon, kad būtų išvengta saugumo problemų. Dėl šių priežasčių Mastodon kas 30 minučių tikrina, ar yra naujinimų, ir praneša tau apie tai pagal tavo el. pašto pranešimų parinktis.
|
||||
documentation_link: Sužinoti daugiau
|
||||
|
@ -687,34 +701,71 @@ lt:
|
|||
warning: Būkite atsargūs su šia informacija. Niekada jos nesidalinkite!
|
||||
your_token: Tavo prieigos raktas
|
||||
auth:
|
||||
apply_for_account: Prašyti paskyros
|
||||
captcha_confirmation:
|
||||
help_html: Jei turi problemų išsprendžiant CAPTCHA, gali susisiekti su mumis per %{email} ir mes tau padėsime.
|
||||
hint_html: Dar vienas dalykas! Turime patvirtinti, kad esi žmogus (kad galėtume išvengti šlamšto). Išspręsk toliau pateiktą CAPTCHA ir spausk Tęsti.
|
||||
title: Saugumo patikrinimas
|
||||
confirmations:
|
||||
awaiting_review: Tavo el. pašto adresas yra patvirtintas! Domeno %{domain} personalas dabar tikrina tavo registraciją. Jei jie patvirtins tavo paskyrą, gausi el. laišką.
|
||||
awaiting_review_title: Peržiūrima tavo registracija
|
||||
clicking_this_link: paspausti šį nuorodą
|
||||
login_link: prisijungti
|
||||
proceed_to_login_html: Dabar gali pereiti prie %{login_link}.
|
||||
redirect_to_app_html: Turėjei būti nukreiptas (-a) į <strong>%{app_name}</strong> programėlę. Jei taip neatsitiko, pabandyk %{clicking_this_link} arba rankiniu būdu grįžk į programėlę.
|
||||
registration_complete: Tavo registracija domene %{domain} baigta!
|
||||
welcome_title: Sveiki, %{name}!
|
||||
wrong_email_hint: Jei šis el. pašto adresas neteisingas, gali jį pakeisti paskyros nustatymuose.
|
||||
delete_account: Ištrinti paskyrą
|
||||
delete_account_html: Jeigu norite ištrinti savo paskyrą, galite eiti <a href="%{path}">čia</a>. Jūsų prašys patvirtinti pasirinkimą.
|
||||
delete_account_html: Jei nori ištrinti savo paskyrą, gali <a href="%{path}">tęsti čia</a>. Tavęs bus paprašyta patvirtinimo.
|
||||
description:
|
||||
prefix_invited_by_user: "@%{name} kviečia prisijungti prie šio Mastodon serverio!"
|
||||
prefix_sign_up: Užsiregistruok Mastodon šiandien!
|
||||
prefix_sign_up: Užsiregistruok sistemoje Mastodon šiandien!
|
||||
suffix: Su paskyra galėsi sekti žmones, skelbti naujienas ir keistis žinutėmis su bet kurio Mastodon serverio naudotojais ir dar daugiau!
|
||||
didnt_get_confirmation: Negavai patvirtinimo nuorodos?
|
||||
dont_have_your_security_key: Neturi saugumo rakto?
|
||||
forgot_password: Pamiršai slaptažodį?
|
||||
invalid_reset_password_token: Slaptažodžio atkūrimo raktas yra netinkamas arba nebegaliojantis. Paprašyk naujo.
|
||||
link_to_otp: Įvesk dvigubą kodą iš telefono arba atkūrimo kodą
|
||||
link_to_webauth: Naudoti saugumo rakto įrenginį
|
||||
log_in_with: Prisijungti su
|
||||
login: Prisijungti
|
||||
logout: Atsijungti
|
||||
migrate_account: Prisijungti prie kitos paskyros
|
||||
migrate_account_html: Jeigu norite nukreipti šią paskyrą į kita, galite tai <a href="%{path}">konfiguruoti čia</a>.
|
||||
migrate_account: Persikelti prie kitos paskyros
|
||||
migrate_account_html: Jei nori šią paskyrą nukreipti į kitą, gali <a href="%{path}">sukonfigūruoti ją čia</a>.
|
||||
or_log_in_with: Arba prisijungti su
|
||||
privacy_policy_agreement_html: Perskaičiau ir sutinku su <a href="%{privacy_policy_path}" target="_blank">privatumo politika</a>
|
||||
progress:
|
||||
confirm: Patvirtinti el. paštą
|
||||
details: Tavo duomenys
|
||||
review: Mūsų peržiūra
|
||||
rules: Priimti taisykles
|
||||
providers:
|
||||
cas: CAS
|
||||
saml: SAML
|
||||
register: Užsiregistruoti
|
||||
reset_password: Atstatyti slaptažodį
|
||||
registration_closed: "%{instance} nepriima naujų narių"
|
||||
resend_confirmation: Iš naujo siųsti patvirtinimo nuorodą
|
||||
reset_password: Nustatyti iš naujo slaptažodį
|
||||
rules:
|
||||
accept: Priimti
|
||||
back: Grįžti
|
||||
invited_by: 'Gali prisijungti prie %{domain} pagal kvietimą, kurį gavai iš:'
|
||||
preamble: Tai nustatė ir taiko %{domain} prižiūrėtojai.
|
||||
preamble_invited: Prieš tęsiant, atsižvelk į pagrindines taisykles, kurias nustatė %{domain} prižiūrėtojai.
|
||||
title: Kelios pagrindinės taisyklės.
|
||||
title_invited: Esi pakviestas.
|
||||
security: Apsauga
|
||||
set_new_password: Nustatyti naują slaptažodį
|
||||
setup:
|
||||
email_below_hint_html: Patikrink šlamšto aplanką arba paprašyk kito. Gali ištaisyti savo el. pašto adresą, jei jis neteisingas.
|
||||
email_settings_hint_html: Spustelėk mūsų atsiųstą nuorodą, kad patikrintum %{email}. Mes lauksime čia.
|
||||
link_not_received: Negavai nuorodos?
|
||||
new_confirmation_instructions_sent: Po kelių minučių gausi naują el. laišką su patvirtinimo nuoroda!
|
||||
title: Patikrinti pašto dėžutę
|
||||
sign_in:
|
||||
preamble_html: Prisijunk su savo <strong>%{domain}</strong> kredencialais. Jei tavo yra kitame serveryje, čia prisijungti negalėsi.
|
||||
title: Prisijungti prie %{domain}
|
||||
status:
|
||||
account_status: Paskyros būsena
|
||||
redirecting_to: Tavo paskyra yra neaktyvi, nes šiuo metu ji nukreipiama į %{acct}.
|
||||
|
@ -851,6 +902,12 @@ lt:
|
|||
expires_at: Baigsis
|
||||
uses: Naudojimai
|
||||
title: Kviesti žmones
|
||||
login_activities:
|
||||
authentication_methods:
|
||||
otp: dvigubas tapatybės nustatymo programėlė
|
||||
description_html: Jei pastebėjei neatpažįstamą veiklą, apsvarstyk galimybę pakeisti slaptažodį ir įjungti dvigubą tapatybės nustatymą.
|
||||
empty: Tapatybės nustatymas istorijos nėra
|
||||
title: Tapatybės nustatymo istorija
|
||||
media_attachments:
|
||||
validations:
|
||||
images_and_video: Negalima pridėti video prie statuso, kuris jau turi nuotrauką
|
||||
|
@ -893,6 +950,10 @@ lt:
|
|||
billion: mlrd.
|
||||
million: mln.
|
||||
thousand: tūkst.
|
||||
otp_authentication:
|
||||
code_hint: Įvesk autentifikatoriaus programėlės sugeneruotą kodą, kad patvirtintum
|
||||
description_html: Jei įjungsi <strong>dvigubo tapatybės nustatymą</strong> naudojant autentifikatoriaus programėlę, prisijungiant reikės turėti telefoną, kuris generuos prieigos raktos, kuriuos turėsi įvesti.
|
||||
instructions_html: "<strong>Nuskenuok šį QR kodą į Google Authenticator arba panašią TOTP programėlę savo telefone</strong>. Nuo šiol ši programėlė generuos prieigos raktus, kuriuos turėsi įvesti prisijungiant."
|
||||
pagination:
|
||||
newer: Naujesnis
|
||||
next: Kitas
|
||||
|
@ -963,6 +1024,7 @@ lt:
|
|||
revoke: Naikinti
|
||||
revoke_success: Seansas sėkmingai panaikintas.
|
||||
title: Seansai
|
||||
view_authentication_history: Peržiūrėti paskyros tapatybės nustatymo istoriją
|
||||
settings:
|
||||
account: Paskyra
|
||||
account_settings: Paskyros nustatymai
|
||||
|
@ -982,7 +1044,7 @@ lt:
|
|||
profile: Viešas profilis
|
||||
relationships: Sekimai ir sekėjai
|
||||
severed_relationships: Nutrūkę sąryšiai
|
||||
two_factor_authentication: Dviejų veiksnių autentikacija
|
||||
two_factor_authentication: Dvigubas tapatybės nustatymas
|
||||
severed_relationships:
|
||||
download: Atsisiųsti (%{count})
|
||||
preamble: Užblokavus domeną arba prižiūrėtojams nusprendus pristabdyti nuotolinio serverio veiklą, gali prarasti sekimus ir sekėjus. Kai taip atsitiks, galėsi atsisiųsti nutrauktų sąryšių sąrašus, kad juos patikrinti ir galbūt importuoti į kitą serverį.
|
||||
|
@ -1035,10 +1097,12 @@ lt:
|
|||
two_factor_authentication:
|
||||
add: Pridėti
|
||||
disable: Išjungti 2FA
|
||||
enabled: Dviejų veiksnių autentikacija įjungta
|
||||
enabled_success: Dviejų veiksnių autentikacija sėkmingai įjungta
|
||||
disabled_success: Dvigubas tapatybės nustatymas sėkmingai išjungtas
|
||||
enabled: Dvigubas tapatybės nustatymas įjungtas
|
||||
enabled_success: Dvigubas tapatybės nustatymas sėkmingai įjungtas
|
||||
generate_recovery_codes: Sugeneruoti atkūrimo kodus
|
||||
lost_recovery_codes: Atkūrimo kodai jums leidžia atgauti prisijungimą prie Jūsų paskyros, jeigu prarandate telefoną. Jeigu praradote atkūrimo kodus, juos galite sugeneruoti čia. Jūsų senieji atkūrimo kodai nebeveiks.
|
||||
otp: Autentifikatoriaus programėlė
|
||||
recovery_codes: Atsarginio atkūrimo kodai
|
||||
recovery_codes_regenerated: Atkūrimo kodai sėkmingai sugeneruoti
|
||||
recovery_instructions_html: Jeigu prarandate prieiga prie telefono, jūs galite naudoti atkūrimo kodus esančius žemiau, kad atgautumėte priega prie savo paskyros.<strong>Laikykite atkūrimo kodus saugiai</strong> Pavyzdžiui, galite norėti juos išspausdinti, ir laikyti kartu su kitais svarbiais dokumentais.
|
||||
|
@ -1055,11 +1119,15 @@ lt:
|
|||
title: Archyvas išimtas
|
||||
failed_2fa:
|
||||
details: 'Štai išsami informacija apie bandymą prisijungti:'
|
||||
explanation: Kažkas bandė prisijungti prie tavo paskyros, bet nurodė netinkamą antrąjį tapatybės nustatymo veiksnį.
|
||||
explanation: Kažkas bandė prisijungti prie tavo paskyros, bet nurodė netinkamą dvigubą tapatybės nustatymą.
|
||||
further_actions_html: Jei tai buvo ne tu, rekomenduojame nedelsiant imtis %{action}, nes jis gali būti pažeistas.
|
||||
subject: Antrojo veiksnio tapatybės nustatymas nesėkmingai
|
||||
title: Nepavyko atlikti antrojo veiksnio tapatybės nustatymo
|
||||
subject: Dvigubas tapatybės nustatymas nesėkmingai
|
||||
title: Nepavyko atlikti dvigubo tapatybės nustatymo
|
||||
suspicious_sign_in:
|
||||
further_actions_html: Jei tai buvai ne tu, rekomenduojame nedelsiant %{action} ir įjungti dvigubą tapatybės nustatymą, kad tavo paskyra būtų saugi.
|
||||
warning:
|
||||
categories:
|
||||
spam: Šlamštas
|
||||
subject:
|
||||
disable: Jūsų paskyra %{acct} buvo užšaldyta
|
||||
none: Įspėjmas vartotojui %{acct}
|
||||
|
@ -1134,3 +1202,4 @@ lt:
|
|||
success: Tavo saugumo raktas buvo sėkmingai ištrintas.
|
||||
nickname_hint: Įvesk naujojo saugumo rakto slapyvardį
|
||||
not_enabled: Dar neįjungei WebAuthn
|
||||
otp_required: Norint naudoti saugumo raktus, pirmiausia įjunk dvigubą tapatybės nustatymą.
|
||||
|
|
|
@ -53,7 +53,7 @@ ia:
|
|||
password: Usa al minus 8 characteres
|
||||
phrase: Sera concordate ignorante majuscule/minuscule in le texto o avisos de contento de un message
|
||||
scopes: A que APIs sera permittite acceder al application. Si tu selige un ambito de maxime nivello, tu non besonia de seliger los singulemente.
|
||||
setting_aggregate_reblogs: Non monstra nove stimulos pro messages que ha essite recentemente stimulate (stimulos solo affice los novemente recipite)
|
||||
setting_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 avisos de email non sera inviate quando tu activemente usa Mastodon
|
||||
setting_default_sensitive: Le medios sensibile es celate de ordinario e pote esser revelate con un clic
|
||||
setting_display_media_default: Celar le medios marcate como sensibile
|
||||
|
@ -81,7 +81,7 @@ ia:
|
|||
backups_retention_period: Le usatores pote generar archivos de lor messages pro discargar los plus tarde. Quando predefinite a un valor positive, iste archivos sera automaticamente delite de tu immagazinage post le specificate numero de dies.
|
||||
bootstrap_timeline_accounts: Iste contos sera appunctate al summitate del recommendationes a sequer del nove usatores.
|
||||
closed_registrations_message: Monstrate quando le inscriptiones es claudite
|
||||
content_cache_retention_period: Tote messages de altere servitores (includite stimulos e responsas) sera delite post le specificate numero de dies, sin considerar alcun interaction de usator local con ille messages. Isto include messages ubi un usator local los ha marcate como marcapaginas o favoritos. Mentiones private inter usatores de differente instantias sera alsi perdite e impossibile a restaurar. Le uso de iste parametros es intendite pro specific instantias e infringe multe expectationes de usator quando implementate pro uso general.
|
||||
content_cache_retention_period: Tote le messages de altere servitores (includite impulsos e responsas) essera delite post le numero de dies specificate, independentemente de tote interaction de usatores local con ille messages. Isto include le messages addite al marcapaginas o marcate como favorite per un usator local. Le mentiones private inter usatores de differente instantias tamben essera irrecuperabilemente perdite. Le uso de iste parametro es intendite pro instantias con scopos specific e viola multe expectationes de usatores si es implementate pro uso general.
|
||||
custom_css: Tu pote applicar stilos personalisate sur le version de web de Mastodon.
|
||||
favicon: WEBP, PNG, GIF o JPG. Supplanta le favicone predefinite de Mastodon con un icone personalisate.
|
||||
mascot: Illo substitue le illustration in le interfacie web avantiate.
|
||||
|
@ -125,9 +125,9 @@ ia:
|
|||
webauthn: Si illo es un clave USB cura de inserer lo e, si necessari, tocca lo.
|
||||
settings:
|
||||
indexable: Tu pagina del profilo pote apparer in resultatos del recerca sur Google, Bing, e alteros.
|
||||
show_application: Tu sempre sera capace totevia de vider que app publicava tu message.
|
||||
show_application: In omne caso, tu potera sempre vider qual app ha publicate tu message.
|
||||
tag:
|
||||
name: Tu pote solo cambiar le inveloppe del litteras, per exemplo, pro render lo plus legibile
|
||||
name: Tu pote solmente cambiar le litteras inter majusculas e minusculas, per exemplo, pro render lo plus legibile
|
||||
user:
|
||||
chosen_languages: Si marcate, solo le messages in le linguas seligite sera monstrate in chronologias public
|
||||
role: Le rolo controla que permissos ha le usator
|
||||
|
@ -203,10 +203,10 @@ ia:
|
|||
password: Contrasigno
|
||||
phrase: Parola o phrase clave
|
||||
setting_advanced_layout: Activar le interfacie web avantiate
|
||||
setting_aggregate_reblogs: Gruppa promotiones in classificationes temporal
|
||||
setting_aggregate_reblogs: Gruppar impulsos in chronologias
|
||||
setting_always_send_emails: Sempre inviar notificationes per e-mail
|
||||
setting_auto_play_gif: Auto-reproduce GIFs animate
|
||||
setting_boost_modal: Monstrar dialogo de confirmation ante promover
|
||||
setting_boost_modal: Monstrar dialogo de confirmation ante de impulsar
|
||||
setting_default_language: Lingua de publication
|
||||
setting_default_privacy: Confidentialitate del messages
|
||||
setting_default_sensitive: Sempre marcar le medios cmo sensbile
|
||||
|
@ -292,7 +292,7 @@ ia:
|
|||
follow_request: Alcuno requireva de sequer te
|
||||
mention: Alcuno te mentionava
|
||||
pending_account: Nove conto besonia de revision
|
||||
reblog: Alcuno promoveva tu message
|
||||
reblog: Alcuno ha impulsate tu message
|
||||
report: Un nove reporto es inviate
|
||||
software_updates:
|
||||
all: Notificar sur tote le actualisationes
|
||||
|
|
|
@ -77,9 +77,11 @@ lv:
|
|||
warn: Paslēp filtrēto saturu aiz brīdinājuma, kurā minēts filtra nosaukums
|
||||
form_admin_settings:
|
||||
activity_api_enabled: Vietēji publicēto ziņu, aktīvo lietotāju un jauno reģistrāciju skaits nedēļas kopās
|
||||
app_icon: WEBP, PNG, GIF vai JPG. Mobilajās ierīcēs aizstāj noklusējuma lietotnes ikonu ar pielāgotu.
|
||||
bootstrap_timeline_accounts: Šie konti tiks piesprausti jauno lietotāju ieteikumu augšdaļā.
|
||||
closed_registrations_message: Tiek rādīts, kad reģistrēšanās ir slēgta
|
||||
custom_css: Vari lietot pielāgotus stilus Mastodon tīmekļa versijā.
|
||||
favicon: WEBP, PNG, GIF vai JPG. Aizstāj noklusējuma Mastodon favikonu ar pielāgotu.
|
||||
mascot: Ignorē ilustrāciju uzlabotajā tīmekļa saskarnē.
|
||||
peers_api_enabled: Domēna vārdu saraksts, ar kuriem šis serveris ir saskāries fediversā. Šeit nav iekļauti dati par to, vai tu veic federāciju ar noteiktu serveri, tikai tavs serveris par to zina. To izmanto dienesti, kas apkopo statistiku par federāciju vispārīgā nozīmē.
|
||||
profile_directory: Profilu direktorijā ir uzskaitīti visi lietotāji, kuri ir izvēlējušies būt atklājami.
|
||||
|
@ -113,6 +115,7 @@ lv:
|
|||
sign_up_requires_approval: Jaunām reģistrācijām būs nepieciešams tavs apstiprinājums
|
||||
severity: Izvēlies, kas notiks ar pieprasījumiem no šīs IP adreses
|
||||
rule:
|
||||
hint: Izvēles. Sniedz vairāk informācijas par nosacījumu
|
||||
text: Apraksti nosacījumus vai prasības šī servera lietotājiem. Centies, lai tas būtu īss un vienkāršs
|
||||
sessions:
|
||||
otp: 'Ievadi divfaktoru kodu, ko ģenerējusi tava tālruņa lietotne, vai izmanto kādu no atkopšanas kodiem:'
|
||||
|
@ -239,6 +242,7 @@ lv:
|
|||
backups_retention_period: Lietotāja arhīva glabāšanas periods
|
||||
bootstrap_timeline_accounts: Vienmēr iesaki šos kontus jaunajiem lietotājiem
|
||||
closed_registrations_message: Pielāgots ziņojums, ja reģistrēšanās nav pieejama
|
||||
content_cache_retention_period: Attālā satura paturēšanas laika posms
|
||||
custom_css: Pielāgots CSS
|
||||
mascot: Pielāgots talismans (mantots)
|
||||
media_cache_retention_period: Multivides kešatmiņas saglabāšanas periods
|
||||
|
@ -295,6 +299,7 @@ lv:
|
|||
patch: Paziņot par novērsto kļūdu atjauninājumiem
|
||||
trending_tag: Jaunā tendence ir jāpārskata
|
||||
rule:
|
||||
hint: Papildu informācija
|
||||
text: Noteikumi
|
||||
settings:
|
||||
indexable: Ietvert profila lapu meklēšanas dzinējos
|
||||
|
|
|
@ -55,7 +55,7 @@ services:
|
|||
|
||||
web:
|
||||
build: .
|
||||
image: ghcr.io/mastodon/mastodon:v4.2.7
|
||||
image: ghcr.io/mastodon/mastodon:v4.2.9
|
||||
restart: always
|
||||
env_file: .env.production
|
||||
command: bundle exec puma -C config/puma.rb
|
||||
|
@ -76,7 +76,7 @@ services:
|
|||
|
||||
streaming:
|
||||
build: .
|
||||
image: ghcr.io/mastodon/mastodon:v4.2.7
|
||||
image: ghcr.io/mastodon/mastodon:v4.2.9
|
||||
restart: always
|
||||
env_file: .env.production
|
||||
command: node ./streaming
|
||||
|
@ -94,7 +94,7 @@ services:
|
|||
|
||||
sidekiq:
|
||||
build: .
|
||||
image: ghcr.io/mastodon/mastodon:v4.2.7
|
||||
image: ghcr.io/mastodon/mastodon:v4.2.9
|
||||
restart: always
|
||||
env_file: .env.production
|
||||
command: bundle exec sidekiq
|
||||
|
|
72
lib/action_dispatch/remote_ip_extensions.rb
Normal file
72
lib/action_dispatch/remote_ip_extensions.rb
Normal file
|
@ -0,0 +1,72 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Mastodon is not made to be directly accessed without a reverse proxy.
|
||||
# This monkey-patch prevents remote IP address spoofing when being accessed
|
||||
# directly.
|
||||
#
|
||||
# See PR: https://github.com/rails/rails/pull/51610
|
||||
|
||||
# In addition to the PR above, it also raises an error if a request with
|
||||
# `X-Forwarded-For` or `Client-Ip` comes directly from a client without
|
||||
# going through a trusted proxy.
|
||||
|
||||
# rubocop:disable all -- This is a mostly vendored file
|
||||
|
||||
module ActionDispatch
|
||||
class RemoteIp
|
||||
module GetIpExtensions
|
||||
def calculate_ip
|
||||
# Set by the Rack web server, this is a single value.
|
||||
remote_addr = ips_from(@req.remote_addr).last
|
||||
|
||||
# Could be a CSV list and/or repeated headers that were concatenated.
|
||||
client_ips = ips_from(@req.client_ip).reverse!
|
||||
forwarded_ips = ips_from(@req.x_forwarded_for).reverse!
|
||||
|
||||
# `Client-Ip` and `X-Forwarded-For` should not, generally, both be set. If they
|
||||
# are both set, it means that either:
|
||||
#
|
||||
# 1) This request passed through two proxies with incompatible IP header
|
||||
# conventions.
|
||||
#
|
||||
# 2) The client passed one of `Client-Ip` or `X-Forwarded-For`
|
||||
# (whichever the proxy servers weren't using) themselves.
|
||||
#
|
||||
# Either way, there is no way for us to determine which header is the right one
|
||||
# after the fact. Since we have no idea, if we are concerned about IP spoofing
|
||||
# we need to give up and explode. (If you're not concerned about IP spoofing you
|
||||
# can turn the `ip_spoofing_check` option off.)
|
||||
should_check_ip = @check_ip && client_ips.last && forwarded_ips.last
|
||||
if should_check_ip && !forwarded_ips.include?(client_ips.last)
|
||||
# We don't know which came from the proxy, and which from the user
|
||||
raise IpSpoofAttackError, "IP spoofing attack?! " \
|
||||
"HTTP_CLIENT_IP=#{@req.client_ip.inspect} " \
|
||||
"HTTP_X_FORWARDED_FOR=#{@req.x_forwarded_for.inspect}"
|
||||
end
|
||||
|
||||
# NOTE: Mastodon addition to make sure we don't get requests from a non-trusted client
|
||||
if @check_ip && (forwarded_ips.last || client_ips.last) && !@proxies.any? { |proxy| proxy === remote_addr }
|
||||
raise IpSpoofAttackError, "IP spoofing attack?! client #{remote_addr} is not a trusted proxy " \
|
||||
"HTTP_CLIENT_IP=#{@req.client_ip.inspect} " \
|
||||
"HTTP_X_FORWARDED_FOR=#{@req.x_forwarded_for.inspect}"
|
||||
end
|
||||
|
||||
# We assume these things about the IP headers:
|
||||
#
|
||||
# - X-Forwarded-For will be a list of IPs, one per proxy, or blank
|
||||
# - Client-Ip is propagated from the outermost proxy, or is blank
|
||||
# - REMOTE_ADDR will be the IP that made the request to Rack
|
||||
ips = forwarded_ips + client_ips
|
||||
ips.compact!
|
||||
|
||||
# If every single IP option is in the trusted list, return the IP that's
|
||||
# furthest away
|
||||
filter_proxies([remote_addr] + ips).first || ips.last || remote_addr
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
ActionDispatch::RemoteIp::GetIp.prepend(ActionDispatch::RemoteIp::GetIpExtensions)
|
||||
|
||||
# rubocop:enable all
|
|
@ -17,7 +17,7 @@ module Mastodon
|
|||
end
|
||||
|
||||
def default_prerelease
|
||||
'alpha.3'
|
||||
'alpha.4'
|
||||
end
|
||||
|
||||
def prerelease
|
||||
|
|
|
@ -56,7 +56,7 @@ describe Rack::Attack, type: :request do
|
|||
end
|
||||
|
||||
def throttle_count
|
||||
described_class.cache.read("#{counter_prefix}:#{throttle}:#{remote_ip}") || 0
|
||||
described_class.cache.read("#{counter_prefix}:#{throttle}:#{discriminator}") || 0
|
||||
end
|
||||
|
||||
def counter_prefix
|
||||
|
@ -64,11 +64,12 @@ describe Rack::Attack, type: :request do
|
|||
end
|
||||
|
||||
def increment_counter
|
||||
described_class.cache.count("#{throttle}:#{remote_ip}", period)
|
||||
described_class.cache.count("#{throttle}:#{discriminator}", period)
|
||||
end
|
||||
end
|
||||
|
||||
let(:remote_ip) { '1.2.3.5' }
|
||||
let(:discriminator) { remote_ip }
|
||||
|
||||
describe 'throttle excessive sign-up requests by IP address' do
|
||||
context 'when accessed through the website' do
|
||||
|
@ -149,4 +150,30 @@ describe Rack::Attack, type: :request do
|
|||
|
||||
it_behaves_like 'throttled endpoint'
|
||||
end
|
||||
|
||||
describe 'throttle excessive password change requests by account' do
|
||||
let(:user) { Fabricate(:user, email: 'user@host.example') }
|
||||
let(:throttle) { 'throttle_password_change/account' }
|
||||
let(:limit) { 10 }
|
||||
let(:period) { 10.minutes }
|
||||
let(:request) { -> { put path, headers: { 'REMOTE_ADDR' => remote_ip } } }
|
||||
let(:path) { '/auth' }
|
||||
let(:discriminator) { user.id }
|
||||
|
||||
before do
|
||||
sign_in user, scope: :user
|
||||
|
||||
# Unfortunately, devise's `sign_in` helper causes the `session` to be
|
||||
# loaded in the next request regardless of whether it's actually accessed
|
||||
# by the client code.
|
||||
#
|
||||
# So, we make an extra query to clear issue a session cookie instead.
|
||||
#
|
||||
# A less resource-intensive way to deal with that would be to generate the
|
||||
# session cookie manually, but this seems pretty involved.
|
||||
get '/'
|
||||
end
|
||||
|
||||
it_behaves_like 'throttled endpoint'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
Fabricator(:user) do
|
||||
account { Fabricate.build(:account, user: nil) }
|
||||
account do |attrs|
|
||||
Fabricate.build(
|
||||
:account,
|
||||
attrs.fetch(:account_attributes, {}).merge(user: nil)
|
||||
)
|
||||
end
|
||||
email { sequence(:email) { |i| "#{i}#{Faker::Internet.email}" } }
|
||||
password '123456789'
|
||||
confirmed_at { Time.zone.now }
|
||||
|
|
|
@ -309,6 +309,19 @@ RSpec.describe NotifyService do
|
|||
expect(subject.filter?).to be false
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the sender is mentioned in an unrelated message chain' do
|
||||
before do
|
||||
original_status = Fabricate(:status, visibility: :direct)
|
||||
intermediary_status = Fabricate(:status, visibility: :direct, thread: original_status)
|
||||
notification.target_status.update(thread: intermediary_status)
|
||||
Fabricate(:mention, status: original_status, account: notification.from_account)
|
||||
end
|
||||
|
||||
it 'returns true' do
|
||||
expect(subject.filter?).to be true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
552
yarn.lock
552
yarn.lock
|
@ -2131,9 +2131,9 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@es-joy/jsdoccomment@npm:~0.43.0":
|
||||
version: 0.43.0
|
||||
resolution: "@es-joy/jsdoccomment@npm:0.43.0"
|
||||
"@es-joy/jsdoccomment@npm:~0.43.1":
|
||||
version: 0.43.1
|
||||
resolution: "@es-joy/jsdoccomment@npm:0.43.1"
|
||||
dependencies:
|
||||
"@types/eslint": "npm:^8.56.5"
|
||||
"@types/estree": "npm:^1.0.5"
|
||||
|
@ -2141,7 +2141,7 @@ __metadata:
|
|||
comment-parser: "npm:1.4.1"
|
||||
esquery: "npm:^1.5.0"
|
||||
jsdoc-type-pratt-parser: "npm:~4.0.0"
|
||||
checksum: 10c0/862294ed89772a231f309edd68405ece00f6aaf43103210f28410da894a6b697bc1f281c59e813dd37d5b7294f633ee7b874e07a0aa3d72f49504089fc9cb2c4
|
||||
checksum: 10c0/2a4842b0e37eb937d55e3028ab2cd7ece7097e1f8c878bb9e28c3309371844688c2869d25bb949e2664c9ba63e388ea09b769c9f42f77515d328ec40e6fcfed1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4109,14 +4109,14 @@ __metadata:
|
|||
linkType: hard
|
||||
|
||||
"@typescript-eslint/eslint-plugin@npm:^7.0.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/eslint-plugin@npm:7.10.0"
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/eslint-plugin@npm:7.11.0"
|
||||
dependencies:
|
||||
"@eslint-community/regexpp": "npm:^4.10.0"
|
||||
"@typescript-eslint/scope-manager": "npm:7.10.0"
|
||||
"@typescript-eslint/type-utils": "npm:7.10.0"
|
||||
"@typescript-eslint/utils": "npm:7.10.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.10.0"
|
||||
"@typescript-eslint/scope-manager": "npm:7.11.0"
|
||||
"@typescript-eslint/type-utils": "npm:7.11.0"
|
||||
"@typescript-eslint/utils": "npm:7.11.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.11.0"
|
||||
graphemer: "npm:^1.4.0"
|
||||
ignore: "npm:^5.3.1"
|
||||
natural-compare: "npm:^1.4.0"
|
||||
|
@ -4127,25 +4127,25 @@ __metadata:
|
|||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/bf3f0118ea5961c3eb01894678246458a329d82dda9ac7c2f5bfe77896410d05a08a4655e533bcb1ed2a3132ba6421981ec8c2ed0a3545779d9603ea231947ae
|
||||
checksum: 10c0/50fedf832e4de9546569106eab1d10716204ceebc5cc7d62299112c881212270d0f7857e3d6452c07db031d40b58cf27c4d1b1a36043e8e700fc3496e377b54a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/parser@npm:^7.0.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/parser@npm:7.10.0"
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/parser@npm:7.11.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager": "npm:7.10.0"
|
||||
"@typescript-eslint/types": "npm:7.10.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:7.10.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.10.0"
|
||||
"@typescript-eslint/scope-manager": "npm:7.11.0"
|
||||
"@typescript-eslint/types": "npm:7.11.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:7.11.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.11.0"
|
||||
debug: "npm:^4.3.4"
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/4c4fbf43b5b05d75b766acb803d3dd078c6e080641a77f9e48ba005713466738ea4a71f0564fa3ce520988d65158d14c8c952ba01ccbc431ab4a05935db5ce6d
|
||||
checksum: 10c0/f5d1343fae90ccd91aea8adf194e22ed3eb4b2ea79d03d8a9ca6e7b669a6db306e93138ec64f7020c5b3128619d50304dea1f06043eaff6b015071822cad4972
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4159,22 +4159,22 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/scope-manager@npm:7.10.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/scope-manager@npm:7.10.0"
|
||||
"@typescript-eslint/scope-manager@npm:7.11.0":
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/scope-manager@npm:7.11.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:7.10.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.10.0"
|
||||
checksum: 10c0/1d4f7ee137b95bd423b5a1b0d03251202dfc19bd8b6adfa5ff5df25fd5aa30e2d8ca50ab0d8d2e92441670ecbc2a82b3c2dbe39a4f268ec1ee1c1e267f7fd1d1
|
||||
"@typescript-eslint/types": "npm:7.11.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.11.0"
|
||||
checksum: 10c0/35f9d88f38f2366017b15c9ee752f2605afa8009fa1eaf81c8b2b71fc22ddd2a33fff794a02015c8991a5fa99f315c3d6d76a5957d3fad1ccbb4cd46735c98b5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/type-utils@npm:7.10.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/type-utils@npm:7.10.0"
|
||||
"@typescript-eslint/type-utils@npm:7.11.0":
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/type-utils@npm:7.11.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree": "npm:7.10.0"
|
||||
"@typescript-eslint/utils": "npm:7.10.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:7.11.0"
|
||||
"@typescript-eslint/utils": "npm:7.11.0"
|
||||
debug: "npm:^4.3.4"
|
||||
ts-api-utils: "npm:^1.3.0"
|
||||
peerDependencies:
|
||||
|
@ -4182,7 +4182,7 @@ __metadata:
|
|||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/55e9a6690f9cedb79d30abb1990b161affaa2684dac246b743223353812c9c1e3fd2d923c67b193c6a3624a07e1c82c900ce7bf5b6b9891c846f04cb480ebd9f
|
||||
checksum: 10c0/637395cb0f4c424c610e751906a31dcfedcdbd8c479012da6e81f9be6b930f32317bfe170ccb758d93a411b2bd9c4e7e5d18892094466099c6f9c3dceda81a72
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4193,10 +4193,10 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/types@npm:7.10.0, @typescript-eslint/types@npm:^7.2.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/types@npm:7.10.0"
|
||||
checksum: 10c0/f01d9330b93cc362ba7967ab5037396f64742076450e1f93139fa69cbe93a6ece3ed55d68ab780c9b7d07ef4a7c645da410305216a2cfc5dec7eba49ee65ab23
|
||||
"@typescript-eslint/types@npm:7.11.0, @typescript-eslint/types@npm:^7.2.0":
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/types@npm:7.11.0"
|
||||
checksum: 10c0/c5d6c517124017eb44aa180c8ea1fad26ec8e47502f92fd12245ba3141560e69d7f7e35b8aa160ddd5df63a2952af407e2f62cc58b663c86e1f778ffb5b01789
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4219,12 +4219,12 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/typescript-estree@npm:7.10.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:7.10.0"
|
||||
"@typescript-eslint/typescript-estree@npm:7.11.0":
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:7.11.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:7.10.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.10.0"
|
||||
"@typescript-eslint/types": "npm:7.11.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:7.11.0"
|
||||
debug: "npm:^4.3.4"
|
||||
globby: "npm:^11.1.0"
|
||||
is-glob: "npm:^4.0.3"
|
||||
|
@ -4234,21 +4234,21 @@ __metadata:
|
|||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/6200695834c566e52e2fa7331f1a05019f7815969d8c1e1e237b85a99664d36f41ccc16384eff3f8582a0ecb75f1cc315b56ee9283b818da37f24fa4d42f1d7a
|
||||
checksum: 10c0/a4eda43f352d20edebae0c1c221c4fd9de0673a94988cf1ae3f5e4917ef9cdb9ead8d3673ea8dd6e80d9cf3523a47c295be1326a3fae017b277233f4c4b4026b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/utils@npm:7.10.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/utils@npm:7.10.0"
|
||||
"@typescript-eslint/utils@npm:7.11.0":
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/utils@npm:7.11.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": "npm:^4.4.0"
|
||||
"@typescript-eslint/scope-manager": "npm:7.10.0"
|
||||
"@typescript-eslint/types": "npm:7.10.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:7.10.0"
|
||||
"@typescript-eslint/scope-manager": "npm:7.11.0"
|
||||
"@typescript-eslint/types": "npm:7.11.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:7.11.0"
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
checksum: 10c0/6724471f94f2788f59748f7efa2a3a53ea910099993bee2fa5746ab5acacecdc9fcb110c568b18099ddc946ea44919ed394bff2bd055ba81fc69f5e6297b73bf
|
||||
checksum: 10c0/539a7ff8b825ad810fc59a80269094748df1a397a42cdbb212c493fc2486711c7d8fd6d75d4cd8a067822b8e6a11f42c50441977d51c183eec47992506d1cdf8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4279,13 +4279,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/visitor-keys@npm:7.10.0":
|
||||
version: 7.10.0
|
||||
resolution: "@typescript-eslint/visitor-keys@npm:7.10.0"
|
||||
"@typescript-eslint/visitor-keys@npm:7.11.0":
|
||||
version: 7.11.0
|
||||
resolution: "@typescript-eslint/visitor-keys@npm:7.11.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:7.10.0"
|
||||
"@typescript-eslint/types": "npm:7.11.0"
|
||||
eslint-visitor-keys: "npm:^3.4.3"
|
||||
checksum: 10c0/049e812bcd28869059d04c7bf3543bb55f5205f468b777439c4f120417fb856fb6024cb1d25291aa12556bd08e84f043a96d754ffb2cde37abb604d6f3c51634
|
||||
checksum: 10c0/664e558d9645896484b7ffc9381837f0d52443bf8d121a5586d02d42ca4d17dc35faf526768c4b1beb52c57c43fae555898eb087651eb1c7a3d60f1085effea1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4829,16 +4829,17 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7":
|
||||
version: 3.1.7
|
||||
resolution: "array-includes@npm:3.1.7"
|
||||
"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7, array-includes@npm:^3.1.8":
|
||||
version: 3.1.8
|
||||
resolution: "array-includes@npm:3.1.8"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
get-intrinsic: "npm:^1.2.1"
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-abstract: "npm:^1.23.2"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
get-intrinsic: "npm:^1.2.4"
|
||||
is-string: "npm:^1.0.7"
|
||||
checksum: 10c0/692907bd7f19d06dc58ccb761f34b58f5dc0b437d2b47a8fe42a1501849a5cf5c27aed3d521a9702667827c2c85a7e75df00a402c438094d87fc43f39ebf9b2b
|
||||
checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4872,16 +4873,17 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"array.prototype.findlast@npm:^1.2.4":
|
||||
version: 1.2.4
|
||||
resolution: "array.prototype.findlast@npm:1.2.4"
|
||||
"array.prototype.findlast@npm:^1.2.5":
|
||||
version: 1.2.5
|
||||
resolution: "array.prototype.findlast@npm:1.2.5"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.5"
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-abstract: "npm:^1.22.3"
|
||||
es-abstract: "npm:^1.23.2"
|
||||
es-errors: "npm:^1.3.0"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
es-shim-unscopables: "npm:^1.0.2"
|
||||
checksum: 10c0/4b5145a68ebaa00ef3d61de07c6694cad73d60763079f1e7662b948e5a167b5121b0c1e6feae8df1e42ead07c21699e25242b95cd5c48e094fd530b192aa4150
|
||||
checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -5065,15 +5067,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"asynciterator.prototype@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "asynciterator.prototype@npm:1.0.0"
|
||||
dependencies:
|
||||
has-symbols: "npm:^1.0.3"
|
||||
checksum: 10c0/fb76850e57d931ff59fd16b6cddb79b0d34fe45f400b2c3480d38892e72cd089787401687dbdb7cdb14ece402c275d3e02a648760d1489cd493527129c4c6204
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"asynckit@npm:^0.4.0":
|
||||
version: 0.4.0
|
||||
resolution: "asynckit@npm:0.4.0"
|
||||
|
@ -5122,7 +5115,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"available-typed-arrays@npm:^1.0.6, available-typed-arrays@npm:^1.0.7":
|
||||
"available-typed-arrays@npm:^1.0.7":
|
||||
version: 1.0.7
|
||||
resolution: "available-typed-arrays@npm:1.0.7"
|
||||
dependencies:
|
||||
|
@ -5808,7 +5801,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7":
|
||||
"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7":
|
||||
version: 1.0.7
|
||||
resolution: "call-bind@npm:1.0.7"
|
||||
dependencies:
|
||||
|
@ -6868,6 +6861,39 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"data-view-buffer@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "data-view-buffer@npm:1.0.1"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.6"
|
||||
es-errors: "npm:^1.3.0"
|
||||
is-data-view: "npm:^1.0.1"
|
||||
checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"data-view-byte-length@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "data-view-byte-length@npm:1.0.1"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.7"
|
||||
es-errors: "npm:^1.3.0"
|
||||
is-data-view: "npm:^1.0.1"
|
||||
checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"data-view-byte-offset@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "data-view-byte-offset@npm:1.0.0"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.6"
|
||||
es-errors: "npm:^1.3.0"
|
||||
is-data-view: "npm:^1.0.1"
|
||||
checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dateformat@npm:^4.6.3":
|
||||
version: 4.6.3
|
||||
resolution: "dateformat@npm:4.6.3"
|
||||
|
@ -6983,7 +7009,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.2":
|
||||
"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.2, define-data-property@npm:^1.1.4":
|
||||
version: 1.1.4
|
||||
resolution: "define-data-property@npm:1.1.4"
|
||||
dependencies:
|
||||
|
@ -7541,16 +7567,20 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-abstract@npm:^1.17.2, es-abstract@npm:^1.20.4, es-abstract@npm:^1.21.2, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.22.4":
|
||||
version: 1.22.5
|
||||
resolution: "es-abstract@npm:1.22.5"
|
||||
"es-abstract@npm:^1.17.2, es-abstract@npm:^1.20.4, es-abstract@npm:^1.21.2, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3":
|
||||
version: 1.23.3
|
||||
resolution: "es-abstract@npm:1.23.3"
|
||||
dependencies:
|
||||
array-buffer-byte-length: "npm:^1.0.1"
|
||||
arraybuffer.prototype.slice: "npm:^1.0.3"
|
||||
available-typed-arrays: "npm:^1.0.7"
|
||||
call-bind: "npm:^1.0.7"
|
||||
data-view-buffer: "npm:^1.0.1"
|
||||
data-view-byte-length: "npm:^1.0.1"
|
||||
data-view-byte-offset: "npm:^1.0.0"
|
||||
es-define-property: "npm:^1.0.0"
|
||||
es-errors: "npm:^1.3.0"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
es-set-tostringtag: "npm:^2.0.3"
|
||||
es-to-primitive: "npm:^1.2.1"
|
||||
function.prototype.name: "npm:^1.1.6"
|
||||
|
@ -7561,10 +7591,11 @@ __metadata:
|
|||
has-property-descriptors: "npm:^1.0.2"
|
||||
has-proto: "npm:^1.0.3"
|
||||
has-symbols: "npm:^1.0.3"
|
||||
hasown: "npm:^2.0.1"
|
||||
hasown: "npm:^2.0.2"
|
||||
internal-slot: "npm:^1.0.7"
|
||||
is-array-buffer: "npm:^3.0.4"
|
||||
is-callable: "npm:^1.2.7"
|
||||
is-data-view: "npm:^1.0.1"
|
||||
is-negative-zero: "npm:^2.0.3"
|
||||
is-regex: "npm:^1.1.4"
|
||||
is-shared-array-buffer: "npm:^1.0.3"
|
||||
|
@ -7575,18 +7606,18 @@ __metadata:
|
|||
object-keys: "npm:^1.1.1"
|
||||
object.assign: "npm:^4.1.5"
|
||||
regexp.prototype.flags: "npm:^1.5.2"
|
||||
safe-array-concat: "npm:^1.1.0"
|
||||
safe-array-concat: "npm:^1.1.2"
|
||||
safe-regex-test: "npm:^1.0.3"
|
||||
string.prototype.trim: "npm:^1.2.8"
|
||||
string.prototype.trimend: "npm:^1.0.7"
|
||||
string.prototype.trimstart: "npm:^1.0.7"
|
||||
string.prototype.trim: "npm:^1.2.9"
|
||||
string.prototype.trimend: "npm:^1.0.8"
|
||||
string.prototype.trimstart: "npm:^1.0.8"
|
||||
typed-array-buffer: "npm:^1.0.2"
|
||||
typed-array-byte-length: "npm:^1.0.1"
|
||||
typed-array-byte-offset: "npm:^1.0.2"
|
||||
typed-array-length: "npm:^1.0.5"
|
||||
typed-array-length: "npm:^1.0.6"
|
||||
unbox-primitive: "npm:^1.0.2"
|
||||
which-typed-array: "npm:^1.1.14"
|
||||
checksum: 10c0/4bca5a60f0dff6c0a5690d8e51374cfcb8760d5dbbb1069174b4d41461cf4e0c3e0c1993bccbc5aa0799ff078199f1bcde2122b8709e0d17c2beffafff01010a
|
||||
which-typed-array: "npm:^1.1.15"
|
||||
checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -7613,30 +7644,38 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-iterator-helpers@npm:^1.0.15, es-iterator-helpers@npm:^1.0.17":
|
||||
version: 1.0.17
|
||||
resolution: "es-iterator-helpers@npm:1.0.17"
|
||||
"es-iterator-helpers@npm:^1.0.15, es-iterator-helpers@npm:^1.0.19":
|
||||
version: 1.0.19
|
||||
resolution: "es-iterator-helpers@npm:1.0.19"
|
||||
dependencies:
|
||||
asynciterator.prototype: "npm:^1.0.0"
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-abstract: "npm:^1.22.4"
|
||||
es-abstract: "npm:^1.23.3"
|
||||
es-errors: "npm:^1.3.0"
|
||||
es-set-tostringtag: "npm:^2.0.2"
|
||||
es-set-tostringtag: "npm:^2.0.3"
|
||||
function-bind: "npm:^1.1.2"
|
||||
get-intrinsic: "npm:^1.2.4"
|
||||
globalthis: "npm:^1.0.3"
|
||||
has-property-descriptors: "npm:^1.0.2"
|
||||
has-proto: "npm:^1.0.1"
|
||||
has-proto: "npm:^1.0.3"
|
||||
has-symbols: "npm:^1.0.3"
|
||||
internal-slot: "npm:^1.0.7"
|
||||
iterator.prototype: "npm:^1.1.2"
|
||||
safe-array-concat: "npm:^1.1.0"
|
||||
checksum: 10c0/d0f281257e7165f068fd4fc3beb63d07ae4f18fbef02a2bbe4a39272b764164c1ce3311ae7c5429ac30003aef290fcdf569050e4a9ba3560e044440f68e9a47c
|
||||
safe-array-concat: "npm:^1.1.2"
|
||||
checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-set-tostringtag@npm:^2.0.2, es-set-tostringtag@npm:^2.0.3":
|
||||
"es-object-atoms@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "es-object-atoms@npm:1.0.0"
|
||||
dependencies:
|
||||
es-errors: "npm:^1.3.0"
|
||||
checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-set-tostringtag@npm:^2.0.3":
|
||||
version: 2.0.3
|
||||
resolution: "es-set-tostringtag@npm:2.0.3"
|
||||
dependencies:
|
||||
|
@ -7817,20 +7856,20 @@ __metadata:
|
|||
linkType: hard
|
||||
|
||||
"eslint-plugin-jsdoc@npm:^48.0.0":
|
||||
version: 48.2.6
|
||||
resolution: "eslint-plugin-jsdoc@npm:48.2.6"
|
||||
version: 48.2.7
|
||||
resolution: "eslint-plugin-jsdoc@npm:48.2.7"
|
||||
dependencies:
|
||||
"@es-joy/jsdoccomment": "npm:~0.43.0"
|
||||
"@es-joy/jsdoccomment": "npm:~0.43.1"
|
||||
are-docs-informative: "npm:^0.0.2"
|
||||
comment-parser: "npm:1.4.1"
|
||||
debug: "npm:^4.3.4"
|
||||
escape-string-regexp: "npm:^4.0.0"
|
||||
esquery: "npm:^1.5.0"
|
||||
semver: "npm:^7.6.1"
|
||||
semver: "npm:^7.6.2"
|
||||
spdx-expression-parse: "npm:^4.0.0"
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
|
||||
checksum: 10c0/9f01b3000aa31f17767786c62caf62f1e8c4b88bfef04b207d3b1de785be287cc2da3ad16ed32afacd5f6e6a9b76ebf3369069be416ce2228c44cd6d084fcd8f
|
||||
checksum: 10c0/74d0f95b3d880dd4221dbc0b9341266a6cce3b8ca8d3e30032223af3552364643d6b82ad733d9bc06a20f0d640f21e4d8f5a4b00901d1771572625178b8c40c3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -7879,30 +7918,30 @@ __metadata:
|
|||
linkType: hard
|
||||
|
||||
"eslint-plugin-react@npm:^7.33.2":
|
||||
version: 7.34.1
|
||||
resolution: "eslint-plugin-react@npm:7.34.1"
|
||||
version: 7.34.2
|
||||
resolution: "eslint-plugin-react@npm:7.34.2"
|
||||
dependencies:
|
||||
array-includes: "npm:^3.1.7"
|
||||
array.prototype.findlast: "npm:^1.2.4"
|
||||
array-includes: "npm:^3.1.8"
|
||||
array.prototype.findlast: "npm:^1.2.5"
|
||||
array.prototype.flatmap: "npm:^1.3.2"
|
||||
array.prototype.toreversed: "npm:^1.1.2"
|
||||
array.prototype.tosorted: "npm:^1.1.3"
|
||||
doctrine: "npm:^2.1.0"
|
||||
es-iterator-helpers: "npm:^1.0.17"
|
||||
es-iterator-helpers: "npm:^1.0.19"
|
||||
estraverse: "npm:^5.3.0"
|
||||
jsx-ast-utils: "npm:^2.4.1 || ^3.0.0"
|
||||
minimatch: "npm:^3.1.2"
|
||||
object.entries: "npm:^1.1.7"
|
||||
object.fromentries: "npm:^2.0.7"
|
||||
object.hasown: "npm:^1.1.3"
|
||||
object.values: "npm:^1.1.7"
|
||||
object.entries: "npm:^1.1.8"
|
||||
object.fromentries: "npm:^2.0.8"
|
||||
object.hasown: "npm:^1.1.4"
|
||||
object.values: "npm:^1.2.0"
|
||||
prop-types: "npm:^15.8.1"
|
||||
resolve: "npm:^2.0.0-next.5"
|
||||
semver: "npm:^6.3.1"
|
||||
string.prototype.matchall: "npm:^4.0.10"
|
||||
string.prototype.matchall: "npm:^4.0.11"
|
||||
peerDependencies:
|
||||
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
|
||||
checksum: 10c0/7c61b1314d37a4ac2f2474f9571f801f1a1a5d81dcd4abbb5d07145406518722fb792367267757ee116bde254be9753242d6b93c9619110398b3fe1746e4848c
|
||||
checksum: 10c0/37dc04424da8626f20a071466e7238d53ed111c53e5e5398d813ac2cf76a2078f00d91f7833fe5b2f0fc98f2688a75b36e78e9ada9f1068705d23c7031094316
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -8380,12 +8419,12 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"file-entry-cache@npm:^8.0.0":
|
||||
version: 8.0.0
|
||||
resolution: "file-entry-cache@npm:8.0.0"
|
||||
"file-entry-cache@npm:^9.0.0":
|
||||
version: 9.0.0
|
||||
resolution: "file-entry-cache@npm:9.0.0"
|
||||
dependencies:
|
||||
flat-cache: "npm:^4.0.0"
|
||||
checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638
|
||||
flat-cache: "npm:^5.0.0"
|
||||
checksum: 10c0/07b0a4f062dc0aa258f3e1b06ac083ea25313f5e289943e146fafdaf3315dcc031635545eea7fe98fe5598b91d6c7f48dba7a251dd7ac20108a6ebf7d00b0b1c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -8530,14 +8569,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flat-cache@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "flat-cache@npm:4.0.0"
|
||||
"flat-cache@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "flat-cache@npm:5.0.0"
|
||||
dependencies:
|
||||
flatted: "npm:^3.2.9"
|
||||
flatted: "npm:^3.3.1"
|
||||
keyv: "npm:^4.5.4"
|
||||
rimraf: "npm:^5.0.5"
|
||||
checksum: 10c0/8f99e27bb3de94e91e7b4ca5120488cdc2b7f8cd952a538f1a566101963057eb42ca318e9fac0d36987dcca34316ff04b61c1dc3dcc8084f6f5e801a52a8e547
|
||||
checksum: 10c0/847f25eefec5d6614fdce76dc6097ee98f63fd4dfbcb908718905ac56610f939f4c28b1f908d6e8857d49286fe73235095d2e7ac9df096c35a3e8a15204c361b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -8550,10 +8588,10 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flatted@npm:^3.2.9":
|
||||
version: 3.2.9
|
||||
resolution: "flatted@npm:3.2.9"
|
||||
checksum: 10c0/5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53
|
||||
"flatted@npm:^3.2.9, flatted@npm:^3.3.1":
|
||||
version: 3.3.1
|
||||
resolution: "flatted@npm:3.3.1"
|
||||
checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -8772,7 +8810,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4":
|
||||
"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4":
|
||||
version: 1.2.4
|
||||
resolution: "get-intrinsic@npm:1.2.4"
|
||||
dependencies:
|
||||
|
@ -8877,7 +8915,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob@npm:^10.2.2, glob@npm:^10.2.6, glob@npm:^10.3.10, glob@npm:^10.3.7":
|
||||
"glob@npm:^10.2.2, glob@npm:^10.2.6, glob@npm:^10.3.10":
|
||||
version: 10.4.1
|
||||
resolution: "glob@npm:10.4.1"
|
||||
dependencies:
|
||||
|
@ -9092,7 +9130,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.1, has-tostringtag@npm:^1.0.2":
|
||||
"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2":
|
||||
version: 1.0.2
|
||||
resolution: "has-tostringtag@npm:1.0.2"
|
||||
dependencies:
|
||||
|
@ -9161,12 +9199,12 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"hasown@npm:^2.0.0, hasown@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "hasown@npm:2.0.1"
|
||||
"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2":
|
||||
version: 2.0.2
|
||||
resolution: "hasown@npm:2.0.2"
|
||||
dependencies:
|
||||
function-bind: "npm:^1.1.2"
|
||||
checksum: 10c0/9e27e70e8e4204f4124c8f99950d1ba2b1f5174864fd39ff26da190f9ea6488c1b3927dcc64981c26d1f637a971783c9489d62c829d393ea509e6f1ba20370bb
|
||||
checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -9611,7 +9649,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"internal-slot@npm:^1.0.5, internal-slot@npm:^1.0.7":
|
||||
"internal-slot@npm:^1.0.7":
|
||||
version: 1.0.7
|
||||
resolution: "internal-slot@npm:1.0.7"
|
||||
dependencies:
|
||||
|
@ -9843,6 +9881,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-data-view@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "is-data-view@npm:1.0.1"
|
||||
dependencies:
|
||||
is-typed-array: "npm:^1.1.13"
|
||||
checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5":
|
||||
version: 1.0.5
|
||||
resolution: "is-date-object@npm:1.0.5"
|
||||
|
@ -11719,7 +11766,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:~4.0.7":
|
||||
"micromatch@npm:^4.0.4, micromatch@npm:^4.0.7, micromatch@npm:~4.0.7":
|
||||
version: 4.0.7
|
||||
resolution: "micromatch@npm:4.0.7"
|
||||
dependencies:
|
||||
|
@ -12300,7 +12347,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0":
|
||||
"object-inspect@npm:^1.13.1":
|
||||
version: 1.13.1
|
||||
resolution: "object-inspect@npm:1.13.1"
|
||||
checksum: 10c0/fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d
|
||||
|
@ -12345,25 +12392,26 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"object.entries@npm:^1.1.7":
|
||||
version: 1.1.7
|
||||
resolution: "object.entries@npm:1.1.7"
|
||||
"object.entries@npm:^1.1.7, object.entries@npm:^1.1.8":
|
||||
version: 1.1.8
|
||||
resolution: "object.entries@npm:1.1.8"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
checksum: 10c0/3ad1899cc7bf14546bf28f4a9b363ae8690b90948fcfbcac4c808395435d760f26193d9cae95337ce0e3c1e5c1f4fa45f7b46b31b68d389e9e117fce38775d86
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"object.fromentries@npm:^2.0.7":
|
||||
version: 2.0.7
|
||||
resolution: "object.fromentries@npm:2.0.7"
|
||||
"object.fromentries@npm:^2.0.7, object.fromentries@npm:^2.0.8":
|
||||
version: 2.0.8
|
||||
resolution: "object.fromentries@npm:2.0.8"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
checksum: 10c0/071745c21f6fc9e6c914691f2532c1fb60ad967e5ddc52801d09958b5de926566299d07ae14466452a7efd29015f9145d6c09c573d93a0dc6f1683ee0ec2b93b
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-abstract: "npm:^1.23.2"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -12392,13 +12440,14 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"object.hasown@npm:^1.1.3":
|
||||
version: 1.1.3
|
||||
resolution: "object.hasown@npm:1.1.3"
|
||||
"object.hasown@npm:^1.1.4":
|
||||
version: 1.1.4
|
||||
resolution: "object.hasown@npm:1.1.4"
|
||||
dependencies:
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
checksum: 10c0/8a41ba4fb1208a85c2275e9b5098071beacc24345b9a71ab98ef0a1c61b34dc74c6b460ff1e1884c33843d8f2553df64a10eec2b74b3ed009e3b2710c826bd2c
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-abstract: "npm:^1.23.2"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
checksum: 10c0/f23187b08d874ef1aea060118c8259eb7f99f93c15a50771d710569534119062b90e087b92952b2d0fb1bb8914d61fb0b43c57fb06f622aaad538fe6868ab987
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -12411,14 +12460,14 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"object.values@npm:^1.1.0, object.values@npm:^1.1.6, object.values@npm:^1.1.7":
|
||||
version: 1.1.7
|
||||
resolution: "object.values@npm:1.1.7"
|
||||
"object.values@npm:^1.1.0, object.values@npm:^1.1.6, object.values@npm:^1.1.7, object.values@npm:^1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "object.values@npm:1.2.0"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
checksum: 10c0/e869d6a37fb7afdd0054dea49036d6ccebb84854a8848a093bbd1bc516f53e690bba88f0bc3e83fdfa74c601469ee6989c9b13359cda9604144c6e732fad3b6b
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -13965,11 +14014,11 @@ __metadata:
|
|||
linkType: hard
|
||||
|
||||
"prettier@npm:^3.0.0":
|
||||
version: 3.2.5
|
||||
resolution: "prettier@npm:3.2.5"
|
||||
version: 3.3.0
|
||||
resolution: "prettier@npm:3.3.0"
|
||||
bin:
|
||||
prettier: bin/prettier.cjs
|
||||
checksum: 10c0/ea327f37a7d46f2324a34ad35292af2ad4c4c3c3355da07313339d7e554320f66f65f91e856add8530157a733c6c4a897dc41b577056be5c24c40f739f5ee8c6
|
||||
checksum: 10c0/d033c356320aa2e468bf29c931b094ac730d2f4defd5eb2989d8589313dec901d2fc866e3788f3d161e420b142ea4ec3dda535dbe0169ef4d0026397a68ba9cf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -14869,7 +14918,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.2":
|
||||
"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.5.2":
|
||||
version: 1.5.2
|
||||
resolution: "regexp.prototype.flags@npm:1.5.2"
|
||||
dependencies:
|
||||
|
@ -15165,17 +15214,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"rimraf@npm:^5.0.5":
|
||||
version: 5.0.5
|
||||
resolution: "rimraf@npm:5.0.5"
|
||||
dependencies:
|
||||
glob: "npm:^10.3.7"
|
||||
bin:
|
||||
rimraf: dist/esm/bin.mjs
|
||||
checksum: 10c0/d50dbe724f33835decd88395b25ed35995077c60a50ae78ded06e0185418914e555817aad1b4243edbff2254548c2f6ad6f70cc850040bebb4da9e8cc016f586
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1":
|
||||
version: 2.0.2
|
||||
resolution: "ripemd160@npm:2.0.2"
|
||||
|
@ -15223,15 +15261,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"safe-array-concat@npm:^1.0.0, safe-array-concat@npm:^1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "safe-array-concat@npm:1.1.0"
|
||||
"safe-array-concat@npm:^1.0.0, safe-array-concat@npm:^1.1.2":
|
||||
version: 1.1.2
|
||||
resolution: "safe-array-concat@npm:1.1.2"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.5"
|
||||
get-intrinsic: "npm:^1.2.2"
|
||||
call-bind: "npm:^1.0.7"
|
||||
get-intrinsic: "npm:^1.2.4"
|
||||
has-symbols: "npm:^1.0.3"
|
||||
isarray: "npm:^2.0.5"
|
||||
checksum: 10c0/833d3d950fc7507a60075f9bfaf41ec6dac7c50c7a9d62b1e6b071ecc162185881f92e594ff95c1a18301c881352dd6fd236d56999d5819559db7b92da9c28af
|
||||
checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -15309,15 +15347,15 @@ __metadata:
|
|||
linkType: hard
|
||||
|
||||
"sass@npm:^1.62.1":
|
||||
version: 1.77.2
|
||||
resolution: "sass@npm:1.77.2"
|
||||
version: 1.77.4
|
||||
resolution: "sass@npm:1.77.4"
|
||||
dependencies:
|
||||
chokidar: "npm:>=3.0.0 <4.0.0"
|
||||
immutable: "npm:^4.0.0"
|
||||
source-map-js: "npm:>=0.6.2 <2.0.0"
|
||||
bin:
|
||||
sass: sass.js
|
||||
checksum: 10c0/0d292339064de3c902e209d41de9c4eb2038cff326476aeebbb5be3eee1d23400d975face2b8e124ae617b10af3e93bec01580f61912f34e4c517fe137a118b6
|
||||
checksum: 10c0/b9cb4882bded282aabe38d011adfce375e1f282184fcf93dc3da5d5be834c6aa53c474c15634c351ef7bd85146cfd1cc81343654cc3bcf000d78e856da4225ef
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -15430,7 +15468,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.1":
|
||||
"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2":
|
||||
version: 7.6.2
|
||||
resolution: "semver@npm:7.6.2"
|
||||
bin:
|
||||
|
@ -15526,14 +15564,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "set-function-name@npm:2.0.1"
|
||||
"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2":
|
||||
version: 2.0.2
|
||||
resolution: "set-function-name@npm:2.0.2"
|
||||
dependencies:
|
||||
define-data-property: "npm:^1.0.1"
|
||||
define-data-property: "npm:^1.1.4"
|
||||
es-errors: "npm:^1.3.0"
|
||||
functions-have-names: "npm:^1.2.3"
|
||||
has-property-descriptors: "npm:^1.0.0"
|
||||
checksum: 10c0/6be7d3e15be47f4db8a5a563a35c60b5e7c4af91cc900e8972ffad33d3aaa227900faa55f60121cdb04b85866a734bb7fe4cd91f654c632861cc86121a48312a
|
||||
has-property-descriptors: "npm:^1.0.2"
|
||||
checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -15630,14 +15669,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"side-channel@npm:^1.0.4":
|
||||
version: 1.0.4
|
||||
resolution: "side-channel@npm:1.0.4"
|
||||
"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6":
|
||||
version: 1.0.6
|
||||
resolution: "side-channel@npm:1.0.6"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.0"
|
||||
get-intrinsic: "npm:^1.0.2"
|
||||
object-inspect: "npm:^1.9.0"
|
||||
checksum: 10c0/054a5d23ee35054b2c4609b9fd2a0587760737782b5d765a9c7852264710cc39c6dcb56a9bbd6c12cd84071648aea3edb2359d2f6e560677eedadce511ac1da5
|
||||
call-bind: "npm:^1.0.7"
|
||||
es-errors: "npm:^1.3.0"
|
||||
get-intrinsic: "npm:^1.2.4"
|
||||
object-inspect: "npm:^1.13.1"
|
||||
checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -16173,53 +16213,57 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.matchall@npm:^4.0.10, string.prototype.matchall@npm:^4.0.6":
|
||||
version: 4.0.10
|
||||
resolution: "string.prototype.matchall@npm:4.0.10"
|
||||
"string.prototype.matchall@npm:^4.0.11, string.prototype.matchall@npm:^4.0.6":
|
||||
version: 4.0.11
|
||||
resolution: "string.prototype.matchall@npm:4.0.11"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
get-intrinsic: "npm:^1.2.1"
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-abstract: "npm:^1.23.2"
|
||||
es-errors: "npm:^1.3.0"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
get-intrinsic: "npm:^1.2.4"
|
||||
gopd: "npm:^1.0.1"
|
||||
has-symbols: "npm:^1.0.3"
|
||||
internal-slot: "npm:^1.0.5"
|
||||
regexp.prototype.flags: "npm:^1.5.0"
|
||||
set-function-name: "npm:^2.0.0"
|
||||
side-channel: "npm:^1.0.4"
|
||||
checksum: 10c0/cd7495fb0de16d43efeee3887b98701941f3817bd5f09351ad1825b023d307720c86394d56d56380563d97767ab25bf5448db239fcecbb85c28e2180f23e324a
|
||||
internal-slot: "npm:^1.0.7"
|
||||
regexp.prototype.flags: "npm:^1.5.2"
|
||||
set-function-name: "npm:^2.0.2"
|
||||
side-channel: "npm:^1.0.6"
|
||||
checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.trim@npm:^1.2.8":
|
||||
version: 1.2.8
|
||||
resolution: "string.prototype.trim@npm:1.2.8"
|
||||
"string.prototype.trim@npm:^1.2.9":
|
||||
version: 1.2.9
|
||||
resolution: "string.prototype.trim@npm:1.2.9"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
checksum: 10c0/4f76c583908bcde9a71208ddff38f67f24c9ec8093631601666a0df8b52fad44dad2368c78895ce83eb2ae8e7068294cc96a02fc971ab234e4d5c9bb61ea4e34
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-abstract: "npm:^1.23.0"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.trimend@npm:^1.0.7":
|
||||
version: 1.0.7
|
||||
resolution: "string.prototype.trimend@npm:1.0.7"
|
||||
"string.prototype.trimend@npm:^1.0.8":
|
||||
version: 1.0.8
|
||||
resolution: "string.prototype.trimend@npm:1.0.8"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
checksum: 10c0/53c24911c7c4d8d65f5ef5322de23a3d5b6b4db73273e05871d5ab4571ae5638f38f7f19d71d09116578fb060e5a145cc6a208af2d248c8baf7a34f44d32ce57
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.trimstart@npm:^1.0.7":
|
||||
version: 1.0.7
|
||||
resolution: "string.prototype.trimstart@npm:1.0.7"
|
||||
"string.prototype.trimstart@npm:^1.0.8":
|
||||
version: 1.0.8
|
||||
resolution: "string.prototype.trimstart@npm:1.0.8"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.2"
|
||||
define-properties: "npm:^1.2.0"
|
||||
es-abstract: "npm:^1.22.1"
|
||||
checksum: 10c0/0bcf391b41ea16d4fda9c9953d0a7075171fe090d33b4cf64849af94944c50862995672ac03e0c5dba2940a213ad7f53515a668dac859ce22a0276289ae5cf4f
|
||||
call-bind: "npm:^1.0.7"
|
||||
define-properties: "npm:^1.2.1"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -16436,8 +16480,8 @@ __metadata:
|
|||
linkType: hard
|
||||
|
||||
"stylelint@npm:^16.0.2":
|
||||
version: 16.6.0
|
||||
resolution: "stylelint@npm:16.6.0"
|
||||
version: 16.6.1
|
||||
resolution: "stylelint@npm:16.6.1"
|
||||
dependencies:
|
||||
"@csstools/css-parser-algorithms": "npm:^2.6.3"
|
||||
"@csstools/css-tokenizer": "npm:^2.3.1"
|
||||
|
@ -16452,7 +16496,7 @@ __metadata:
|
|||
debug: "npm:^4.3.4"
|
||||
fast-glob: "npm:^3.3.2"
|
||||
fastest-levenshtein: "npm:^1.0.16"
|
||||
file-entry-cache: "npm:^8.0.0"
|
||||
file-entry-cache: "npm:^9.0.0"
|
||||
global-modules: "npm:^2.0.0"
|
||||
globby: "npm:^11.1.0"
|
||||
globjoin: "npm:^0.1.4"
|
||||
|
@ -16463,7 +16507,7 @@ __metadata:
|
|||
known-css-properties: "npm:^0.31.0"
|
||||
mathml-tag-names: "npm:^2.1.3"
|
||||
meow: "npm:^13.2.0"
|
||||
micromatch: "npm:^4.0.5"
|
||||
micromatch: "npm:^4.0.7"
|
||||
normalize-path: "npm:^3.0.0"
|
||||
picocolors: "npm:^1.0.1"
|
||||
postcss: "npm:^8.4.38"
|
||||
|
@ -16480,7 +16524,7 @@ __metadata:
|
|||
write-file-atomic: "npm:^5.0.1"
|
||||
bin:
|
||||
stylelint: bin/stylelint.mjs
|
||||
checksum: 10c0/acfb7983a0b71677d066b2aa570eefdac0a7be2e21351bac8884b8156deaeec19e53ad128ae7ae7933c79f6045f1de8d759ba06cfbc373b2711015860805a3e7
|
||||
checksum: 10c0/8dc9b0024d6fb109380a142171ab8a134c3863aa8b8736f0083310a0d05f173dcda5680f29267697dfa0aaeb2f08aef4ef113e4bb4f8582fcfdd97f35be51d71
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -17073,9 +17117,9 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"typed-array-length@npm:^1.0.5":
|
||||
version: 1.0.5
|
||||
resolution: "typed-array-length@npm:1.0.5"
|
||||
"typed-array-length@npm:^1.0.6":
|
||||
version: 1.0.6
|
||||
resolution: "typed-array-length@npm:1.0.6"
|
||||
dependencies:
|
||||
call-bind: "npm:^1.0.7"
|
||||
for-each: "npm:^0.3.3"
|
||||
|
@ -17083,7 +17127,7 @@ __metadata:
|
|||
has-proto: "npm:^1.0.3"
|
||||
is-typed-array: "npm:^1.1.13"
|
||||
possible-typed-array-names: "npm:^1.0.0"
|
||||
checksum: 10c0/5cc0f79196e70a92f8f40846cfa62b3de6be51e83f73655e137116cf65e3c29a288502b18cc8faf33c943c2470a4569009e1d6da338441649a2db2f135761ad5
|
||||
checksum: 10c0/74253d7dc488eb28b6b2711cf31f5a9dcefc9c41b0681fd1c178ed0a1681b4468581a3626d39cd4df7aee3d3927ab62be06aa9ca74e5baf81827f61641445b77
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -17943,16 +17987,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.9":
|
||||
version: 1.1.14
|
||||
resolution: "which-typed-array@npm:1.1.14"
|
||||
"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9":
|
||||
version: 1.1.15
|
||||
resolution: "which-typed-array@npm:1.1.15"
|
||||
dependencies:
|
||||
available-typed-arrays: "npm:^1.0.6"
|
||||
call-bind: "npm:^1.0.5"
|
||||
available-typed-arrays: "npm:^1.0.7"
|
||||
call-bind: "npm:^1.0.7"
|
||||
for-each: "npm:^0.3.3"
|
||||
gopd: "npm:^1.0.1"
|
||||
has-tostringtag: "npm:^1.0.1"
|
||||
checksum: 10c0/0960f1e77807058819451b98c51d4cd72031593e8de990b24bd3fc22e176f5eee22921d68d852297c786aec117689f0423ed20aa4fde7ce2704d680677891f56
|
||||
has-tostringtag: "npm:^1.0.2"
|
||||
checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
|
Loading…
Reference in a new issue