mirror of
https://github.com/glitch-soc/mastodon.git
synced 2024-11-23 16:44:04 -05:00
Merge commit 'fa8e972722fb8fc056aa348dddaee4005b4a8ac4' into glitch-soc/merge-upstream
This commit is contained in:
commit
6a55232988
6
.github/workflows/bundler-audit.yml
vendored
6
.github/workflows/bundler-audit.yml
vendored
@ -1,8 +1,10 @@
|
|||||||
name: Bundler Audit
|
name: Bundler Audit
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
|
- 'stable-*'
|
||||||
paths:
|
paths:
|
||||||
- 'Gemfile*'
|
- 'Gemfile*'
|
||||||
- '.ruby-version'
|
- '.ruby-version'
|
||||||
|
8
.github/workflows/check-i18n.yml
vendored
8
.github/workflows/check-i18n.yml
vendored
@ -2,9 +2,13 @@ name: Check i18n
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'stable-*'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'stable-*'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
RAILS_ENV: test
|
RAILS_ENV: test
|
||||||
|
10
.github/workflows/codeql.yml
vendored
10
.github/workflows/codeql.yml
vendored
@ -1,11 +1,15 @@
|
|||||||
name: 'CodeQL'
|
name: 'CodeQL'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches: ['main']
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'stable-*'
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
branches:
|
||||||
branches: ['main']
|
- 'main'
|
||||||
|
- 'stable-*'
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '22 6 * * 1'
|
- cron: '22 6 * * 1'
|
||||||
|
|
||||||
|
4
.github/workflows/crowdin-upload.yml
vendored
4
.github/workflows/crowdin-upload.yml
vendored
@ -1,9 +1,11 @@
|
|||||||
name: Crowdin / Upload translations
|
name: Crowdin / Upload translations
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- 'main'
|
||||||
|
- 'stable-*'
|
||||||
paths:
|
paths:
|
||||||
- crowdin-glitch.yml
|
- crowdin-glitch.yml
|
||||||
- app/javascript/flavours/glitch/locales/en.json
|
- app/javascript/flavours/glitch/locales/en.json
|
||||||
|
4
.github/workflows/format-check.yml
vendored
4
.github/workflows/format-check.yml
vendored
@ -1,6 +1,10 @@
|
|||||||
name: Check formatting
|
name: Check formatting
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'stable-*'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
7
.github/workflows/lint-css.yml
vendored
7
.github/workflows/lint-css.yml
vendored
@ -1,9 +1,10 @@
|
|||||||
name: CSS Linting
|
name: CSS Linting
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
- 'renovate/**'
|
- 'stable-*'
|
||||||
paths:
|
paths:
|
||||||
- 'package.json'
|
- 'package.json'
|
||||||
- 'yarn.lock'
|
- 'yarn.lock'
|
||||||
|
7
.github/workflows/lint-haml.yml
vendored
7
.github/workflows/lint-haml.yml
vendored
@ -1,9 +1,10 @@
|
|||||||
name: Haml Linting
|
name: Haml Linting
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
- 'renovate/**'
|
- 'stable-*'
|
||||||
paths:
|
paths:
|
||||||
- '.github/workflows/haml-lint-problem-matcher.json'
|
- '.github/workflows/haml-lint-problem-matcher.json'
|
||||||
- '.github/workflows/lint-haml.yml'
|
- '.github/workflows/lint-haml.yml'
|
||||||
|
7
.github/workflows/lint-js.yml
vendored
7
.github/workflows/lint-js.yml
vendored
@ -1,9 +1,10 @@
|
|||||||
name: JavaScript Linting
|
name: JavaScript Linting
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
- 'renovate/**'
|
- 'stable-*'
|
||||||
paths:
|
paths:
|
||||||
- 'package.json'
|
- 'package.json'
|
||||||
- 'yarn.lock'
|
- 'yarn.lock'
|
||||||
|
7
.github/workflows/lint-ruby.yml
vendored
7
.github/workflows/lint-ruby.yml
vendored
@ -1,9 +1,10 @@
|
|||||||
name: Ruby Linting
|
name: Ruby Linting
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
- 'renovate/**'
|
- 'stable-*'
|
||||||
paths:
|
paths:
|
||||||
- 'Gemfile*'
|
- 'Gemfile*'
|
||||||
- '.rubocop*.yml'
|
- '.rubocop*.yml'
|
||||||
|
7
.github/workflows/test-js.yml
vendored
7
.github/workflows/test-js.yml
vendored
@ -1,9 +1,10 @@
|
|||||||
name: JavaScript Testing
|
name: JavaScript Testing
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
- 'renovate/**'
|
- 'stable-*'
|
||||||
paths:
|
paths:
|
||||||
- 'package.json'
|
- 'package.json'
|
||||||
- 'yarn.lock'
|
- 'yarn.lock'
|
||||||
|
34
.github/workflows/test-migrations.yml
vendored
34
.github/workflows/test-migrations.yml
vendored
@ -1,29 +1,29 @@
|
|||||||
name: Historical data migration test
|
name: Historical data migration test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
- 'renovate/**'
|
- 'stable-*'
|
||||||
|
paths:
|
||||||
|
- 'Gemfile*'
|
||||||
|
- '.ruby-version'
|
||||||
|
- '**/*.rb'
|
||||||
|
- '.github/workflows/test-migrations.yml'
|
||||||
|
- 'lib/tasks/tests.rake'
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'Gemfile*'
|
||||||
|
- '.ruby-version'
|
||||||
|
- '**/*.rb'
|
||||||
|
- '.github/workflows/test-migrations.yml'
|
||||||
|
- 'lib/tasks/tests.rake'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre_job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- id: skip_check
|
|
||||||
uses: fkirc/skip-duplicate-actions@v5
|
|
||||||
with:
|
|
||||||
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations.yml", "lib/tasks/tests.rake"]'
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: pre_job
|
|
||||||
if: needs.pre_job.outputs.should_skip != 'true'
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
9
.github/workflows/test-ruby.yml
vendored
9
.github/workflows/test-ruby.yml
vendored
@ -1,10 +1,11 @@
|
|||||||
name: Ruby Testing
|
name: Ruby Testing
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
merge_group:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches:
|
||||||
- 'dependabot/**'
|
- 'main'
|
||||||
- 'renovate/**'
|
- 'stable-*'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@ -223,7 +224,7 @@ jobs:
|
|||||||
- name: Load database schema
|
- name: Load database schema
|
||||||
run: './bin/rails db:create db:schema:load db:seed'
|
run: './bin/rails db:create db:schema:load db:seed'
|
||||||
|
|
||||||
- run: bin/rspec --tag paperclip_processing
|
- run: bin/rspec --tag attachment_processing
|
||||||
|
|
||||||
- name: Upload coverage reports to Codecov
|
- name: Upload coverage reports to Codecov
|
||||||
if: matrix.ruby-version == '.ruby-version'
|
if: matrix.ruby-version == '.ruby-version'
|
||||||
|
@ -346,7 +346,7 @@ GEM
|
|||||||
activesupport (>= 3.0)
|
activesupport (>= 3.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
io-console (0.7.2)
|
io-console (0.7.2)
|
||||||
irb (1.13.2)
|
irb (1.14.0)
|
||||||
rdoc (>= 4.0.0)
|
rdoc (>= 4.0.0)
|
||||||
reline (>= 0.4.2)
|
reline (>= 0.4.2)
|
||||||
jmespath (1.6.2)
|
jmespath (1.6.2)
|
||||||
|
@ -281,7 +281,7 @@ export function submitComposeFail(error) {
|
|||||||
|
|
||||||
export function uploadCompose(files) {
|
export function uploadCompose(files) {
|
||||||
return function (dispatch, getState) {
|
return function (dispatch, getState) {
|
||||||
const uploadLimit = 4;
|
const uploadLimit = getState().getIn(['server', 'server', 'configuration', 'statuses', 'max_media_attachments']);
|
||||||
const media = getState().getIn(['compose', 'media_attachments']);
|
const media = getState().getIn(['compose', 'media_attachments']);
|
||||||
const pending = getState().getIn(['compose', 'pending_media_attachments']);
|
const pending = getState().getIn(['compose', 'pending_media_attachments']);
|
||||||
const progress = new Array(files.length).fill(0);
|
const progress = new Array(files.length).fill(0);
|
||||||
@ -301,7 +301,7 @@ export function uploadCompose(files) {
|
|||||||
dispatch(uploadComposeRequest());
|
dispatch(uploadComposeRequest());
|
||||||
|
|
||||||
for (const [i, file] of Array.from(files).entries()) {
|
for (const [i, file] of Array.from(files).entries()) {
|
||||||
if (media.size + i > 3) break;
|
if (media.size + i > (uploadLimit - 1)) break;
|
||||||
|
|
||||||
const data = new FormData();
|
const data = new FormData();
|
||||||
data.append('file', file);
|
data.append('file', file);
|
||||||
|
@ -131,7 +131,7 @@ const Account = ({ size = 46, account, onFollow, onBlock, onMute, onMuteNotifica
|
|||||||
return (
|
return (
|
||||||
<div className={classNames('account', { 'account--minimal': minimal })}>
|
<div className={classNames('account', { 'account--minimal': minimal })}>
|
||||||
<div className='account__wrapper'>
|
<div className='account__wrapper'>
|
||||||
<Link key={account.get('id')} className='account__display-name' title={account.get('acct')} to={`/@${account.get('acct')}`}>
|
<Link key={account.get('id')} className='account__display-name' title={account.get('acct')} to={`/@${account.get('acct')}`} data-hover-card-account={account.get('id')}>
|
||||||
<div className='account__avatar-wrapper'>
|
<div className='account__avatar-wrapper'>
|
||||||
<Avatar account={account} size={size} />
|
<Avatar account={account} size={size} />
|
||||||
</div>
|
</div>
|
||||||
|
@ -43,6 +43,7 @@ export const HoverCardController: React.FC = () => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let isScrolling = false;
|
let isScrolling = false;
|
||||||
let currentAnchor: HTMLElement | null = null;
|
let currentAnchor: HTMLElement | null = null;
|
||||||
|
let currentTitle: string | null = null;
|
||||||
|
|
||||||
const open = (target: HTMLElement) => {
|
const open = (target: HTMLElement) => {
|
||||||
target.setAttribute('aria-describedby', 'hover-card');
|
target.setAttribute('aria-describedby', 'hover-card');
|
||||||
@ -75,6 +76,9 @@ export const HoverCardController: React.FC = () => {
|
|||||||
currentAnchor?.removeAttribute('aria-describedby');
|
currentAnchor?.removeAttribute('aria-describedby');
|
||||||
currentAnchor = target;
|
currentAnchor = target;
|
||||||
|
|
||||||
|
currentTitle = target.getAttribute('title');
|
||||||
|
target.removeAttribute('title');
|
||||||
|
|
||||||
setEnterTimeout(() => {
|
setEnterTimeout(() => {
|
||||||
open(target);
|
open(target);
|
||||||
}, enterDelay);
|
}, enterDelay);
|
||||||
@ -90,11 +94,20 @@ export const HoverCardController: React.FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleMouseLeave = (e: MouseEvent) => {
|
const handleMouseLeave = (e: MouseEvent) => {
|
||||||
|
const { target } = e;
|
||||||
|
|
||||||
if (!currentAnchor) {
|
if (!currentAnchor) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e.target === currentAnchor || e.target === cardRef.current) {
|
if (
|
||||||
|
currentTitle &&
|
||||||
|
target instanceof HTMLElement &&
|
||||||
|
target === currentAnchor
|
||||||
|
)
|
||||||
|
target.setAttribute('title', currentTitle);
|
||||||
|
|
||||||
|
if (target === currentAnchor || target === cardRef.current) {
|
||||||
cancelEnterTimeout();
|
cancelEnterTimeout();
|
||||||
|
|
||||||
setLeaveTimeout(() => {
|
setLeaveTimeout(() => {
|
||||||
|
@ -305,13 +305,13 @@ class MediaGallery extends PureComponent {
|
|||||||
style.aspectRatio = '3 / 2';
|
style.aspectRatio = '3 / 2';
|
||||||
}
|
}
|
||||||
|
|
||||||
const size = media.take(4).size;
|
const size = media.size;
|
||||||
const uncached = media.every(attachment => attachment.get('type') === 'unknown');
|
const uncached = media.every(attachment => attachment.get('type') === 'unknown');
|
||||||
|
|
||||||
if (this.isFullSizeEligible()) {
|
if (this.isFullSizeEligible()) {
|
||||||
children = <Item standalone autoplay={autoplay} onClick={this.handleClick} attachment={media.get(0)} lang={lang} displayWidth={width} visible={visible} />;
|
children = <Item standalone autoplay={autoplay} onClick={this.handleClick} attachment={media.get(0)} lang={lang} displayWidth={width} visible={visible} />;
|
||||||
} else {
|
} else {
|
||||||
children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} autoplay={autoplay} onClick={this.handleClick} attachment={attachment} index={i} lang={lang} size={size} displayWidth={width} visible={visible || uncached} />);
|
children = media.map((attachment, i) => <Item key={attachment.get('id')} autoplay={autoplay} onClick={this.handleClick} attachment={attachment} index={i} lang={lang} size={size} displayWidth={width} visible={visible || uncached} />);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uncached) {
|
if (uncached) {
|
||||||
|
@ -9,7 +9,7 @@ const mapStateToProps = state => {
|
|||||||
const readyAttachmentsSize = state.getIn(['compose', 'media_attachments']).size ?? 0;
|
const readyAttachmentsSize = state.getIn(['compose', 'media_attachments']).size ?? 0;
|
||||||
const pendingAttachmentsSize = state.getIn(['compose', 'pending_media_attachments']).size ?? 0;
|
const pendingAttachmentsSize = state.getIn(['compose', 'pending_media_attachments']).size ?? 0;
|
||||||
const attachmentsSize = readyAttachmentsSize + pendingAttachmentsSize;
|
const attachmentsSize = readyAttachmentsSize + pendingAttachmentsSize;
|
||||||
const isOverLimit = attachmentsSize > 3;
|
const isOverLimit = attachmentsSize > state.getIn(['server', 'server', 'configuration', 'statuses', 'max_media_attachments'])-1;
|
||||||
const hasVideoOrAudio = state.getIn(['compose', 'media_attachments']).some(m => ['video', 'audio'].includes(m.get('type')));
|
const hasVideoOrAudio = state.getIn(['compose', 'media_attachments']).some(m => ['video', 'audio'].includes(m.get('type')));
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -35,7 +35,9 @@
|
|||||||
"account.follow_back": "Последване взаимно",
|
"account.follow_back": "Последване взаимно",
|
||||||
"account.followers": "Последователи",
|
"account.followers": "Последователи",
|
||||||
"account.followers.empty": "Още никой не следва потребителя.",
|
"account.followers.empty": "Още никой не следва потребителя.",
|
||||||
|
"account.followers_counter": "{count, plural, one {{counter} последовател} other {{counter} последователи}}",
|
||||||
"account.following": "Последвано",
|
"account.following": "Последвано",
|
||||||
|
"account.following_counter": "{count, plural, one {{counter} последван} other {{counter} последвани}}",
|
||||||
"account.follows.empty": "Потребителят още никого не следва.",
|
"account.follows.empty": "Потребителят още никого не следва.",
|
||||||
"account.go_to_profile": "Към профила",
|
"account.go_to_profile": "Към профила",
|
||||||
"account.hide_reblogs": "Скриване на подсилвания от @{name}",
|
"account.hide_reblogs": "Скриване на подсилвания от @{name}",
|
||||||
@ -61,6 +63,7 @@
|
|||||||
"account.requested_follow": "{name} поиска да ви последва",
|
"account.requested_follow": "{name} поиска да ви последва",
|
||||||
"account.share": "Споделяне на профила на @{name}",
|
"account.share": "Споделяне на профила на @{name}",
|
||||||
"account.show_reblogs": "Показване на подсилвания от @{name}",
|
"account.show_reblogs": "Показване на подсилвания от @{name}",
|
||||||
|
"account.statuses_counter": "{count, plural, one {{counter} публикация} other {{counter} публикации}}",
|
||||||
"account.unblock": "Отблокиране на @{name}",
|
"account.unblock": "Отблокиране на @{name}",
|
||||||
"account.unblock_domain": "Отблокиране на домейн {domain}",
|
"account.unblock_domain": "Отблокиране на домейн {domain}",
|
||||||
"account.unblock_short": "Отблокиране",
|
"account.unblock_short": "Отблокиране",
|
||||||
|
@ -692,9 +692,11 @@
|
|||||||
"server_banner.about_active_users": "過去30日間にこのサーバーを使用している人 (月間アクティブユーザー)",
|
"server_banner.about_active_users": "過去30日間にこのサーバーを使用している人 (月間アクティブユーザー)",
|
||||||
"server_banner.active_users": "人のアクティブユーザー",
|
"server_banner.active_users": "人のアクティブユーザー",
|
||||||
"server_banner.administered_by": "管理者",
|
"server_banner.administered_by": "管理者",
|
||||||
|
"server_banner.is_one_of_many": "{domain} は、数々の独立したMastodonサーバーのうちのひとつです。サーバーに登録してFediverseのコミュニティに加わってみませんか。",
|
||||||
"server_banner.server_stats": "サーバーの情報",
|
"server_banner.server_stats": "サーバーの情報",
|
||||||
"sign_in_banner.create_account": "アカウント作成",
|
"sign_in_banner.create_account": "アカウント作成",
|
||||||
"sign_in_banner.follow_anyone": "連合内の誰でもフォローして投稿を時系列で見ることができます。アルゴリズム、広告、クリックベイトはありません。",
|
"sign_in_banner.follow_anyone": "連合内の誰でもフォローして投稿を時系列で見ることができます。アルゴリズム、広告、クリックベイトはありません。",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodonに参加して、世界で起きていることを見つけよう。",
|
||||||
"sign_in_banner.sign_in": "ログイン",
|
"sign_in_banner.sign_in": "ログイン",
|
||||||
"sign_in_banner.sso_redirect": "ログインまたは登録",
|
"sign_in_banner.sso_redirect": "ログインまたは登録",
|
||||||
"status.admin_account": "@{name}さんのモデレーション画面を開く",
|
"status.admin_account": "@{name}さんのモデレーション画面を開く",
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"about.blocks": "Ulac agbur",
|
||||||
"about.contact": "Anermis:",
|
"about.contact": "Anermis:",
|
||||||
"about.disclaimer": "Mastodon d aseɣẓan ilelli, d aseɣẓan n uɣbalu yeldin, d tnezzut n Mastodon gGmbH.",
|
"about.disclaimer": "Mastodon d aseɣẓan ilelli, d aseɣẓan n uɣbalu yeldin, d tnezzut n Mastodon gGmbH.",
|
||||||
|
"about.domain_blocks.preamble": "Maṣṭudun s umata yeḍmen-ak ad teẓreḍ agbur, ad tesdemreḍ akked yimseqdacen-nniḍen seg yal aqeddac deg fedivers. Ha-tent-an ɣur-k tsuraf i yellan deg uqeddac-agi.",
|
||||||
|
"about.domain_blocks.silenced.title": "Ɣur-s talast",
|
||||||
|
"about.domain_blocks.suspended.title": "Yeḥbes",
|
||||||
"about.not_available": "Talɣut-a ur tettwabder ara deg uqeddac-a.",
|
"about.not_available": "Talɣut-a ur tettwabder ara deg uqeddac-a.",
|
||||||
"about.powered_by": "Azeṭṭa inmetti yettwasɣelsen sɣur {mastodon}",
|
"about.powered_by": "Azeṭṭa inmetti yettwasɣelsen sɣur {mastodon}",
|
||||||
"about.rules": "Ilugan n uqeddac",
|
"about.rules": "Ilugan n uqeddac",
|
||||||
@ -166,6 +170,7 @@
|
|||||||
"dismissable_banner.explore_tags": "D wiyi i d ihacṭagen i d-yettawin tamyigawt deg web anmetti ass-a. Ihacṭagen i sseqdacen ugar n medden, εlayit d imezwura.",
|
"dismissable_banner.explore_tags": "D wiyi i d ihacṭagen i d-yettawin tamyigawt deg web anmetti ass-a. Ihacṭagen i sseqdacen ugar n medden, εlayit d imezwura.",
|
||||||
"domain_block_modal.block": "Sewḥel aqeddac",
|
"domain_block_modal.block": "Sewḥel aqeddac",
|
||||||
"domain_block_modal.they_cant_follow": "Yiwen ur yezmir ad k·m-id-yeḍfer seg uqeddac-a.",
|
"domain_block_modal.they_cant_follow": "Yiwen ur yezmir ad k·m-id-yeḍfer seg uqeddac-a.",
|
||||||
|
"domain_block_modal.title": "Sewḥel taɣult?",
|
||||||
"domain_pill.activitypub_like_language": "ActivityPub am tutlayt yettmeslay Mastodon d izeḍwan inmettiyen nniḍen.",
|
"domain_pill.activitypub_like_language": "ActivityPub am tutlayt yettmeslay Mastodon d izeḍwan inmettiyen nniḍen.",
|
||||||
"domain_pill.server": "Aqeddac",
|
"domain_pill.server": "Aqeddac",
|
||||||
"domain_pill.username": "Isem n useqdac",
|
"domain_pill.username": "Isem n useqdac",
|
||||||
@ -214,6 +219,7 @@
|
|||||||
"filter_modal.added.review_and_configure_title": "Iɣewwaṛen n imzizdig",
|
"filter_modal.added.review_and_configure_title": "Iɣewwaṛen n imzizdig",
|
||||||
"filter_modal.added.settings_link": "asebter n yiɣewwaṛen",
|
"filter_modal.added.settings_link": "asebter n yiɣewwaṛen",
|
||||||
"filter_modal.added.short_explanation": "Tasuffeɣt-a tettwarna ɣer taggayt-a n yimsizdegen: {title}.",
|
"filter_modal.added.short_explanation": "Tasuffeɣt-a tettwarna ɣer taggayt-a n yimsizdegen: {title}.",
|
||||||
|
"filter_modal.added.title": "Yettwarna umsizdeg!",
|
||||||
"filter_modal.select_filter.expired": "yemmut",
|
"filter_modal.select_filter.expired": "yemmut",
|
||||||
"filter_modal.select_filter.prompt_new": "Taggayt tamaynutt : {name}",
|
"filter_modal.select_filter.prompt_new": "Taggayt tamaynutt : {name}",
|
||||||
"filter_modal.select_filter.search": "Nadi neɣ snulfu-d",
|
"filter_modal.select_filter.search": "Nadi neɣ snulfu-d",
|
||||||
@ -224,9 +230,9 @@
|
|||||||
"firehose.remote": "Iqeddacen nniḍen",
|
"firehose.remote": "Iqeddacen nniḍen",
|
||||||
"follow_request.authorize": "Ssireg",
|
"follow_request.authorize": "Ssireg",
|
||||||
"follow_request.reject": "Agi",
|
"follow_request.reject": "Agi",
|
||||||
"follow_suggestions.dismiss": "Ur ttɛawad ara ad t-id-sekneṭ",
|
"follow_suggestions.dismiss": "Dayen ur t-id-skan ara",
|
||||||
"follow_suggestions.view_all": "Wali-ten akk",
|
"follow_suggestions.view_all": "Wali-ten akk",
|
||||||
"follow_suggestions.who_to_follow": "Menhu ara ḍefṛeḍ",
|
"follow_suggestions.who_to_follow": "Ad tḍefreḍ?",
|
||||||
"followed_tags": "Ihacṭagen yettwaḍfaren",
|
"followed_tags": "Ihacṭagen yettwaḍfaren",
|
||||||
"footer.about": "Ɣef",
|
"footer.about": "Ɣef",
|
||||||
"footer.directory": "Akaram n imeɣna",
|
"footer.directory": "Akaram n imeɣna",
|
||||||
@ -235,6 +241,7 @@
|
|||||||
"footer.keyboard_shortcuts": "Inegzumen n unasiw",
|
"footer.keyboard_shortcuts": "Inegzumen n unasiw",
|
||||||
"footer.privacy_policy": "Tasertit tabaḍnit",
|
"footer.privacy_policy": "Tasertit tabaḍnit",
|
||||||
"footer.source_code": "Wali tangalt taɣbalut",
|
"footer.source_code": "Wali tangalt taɣbalut",
|
||||||
|
"footer.status": "N tsuffeɣt",
|
||||||
"generic.saved": "Yettwasekles",
|
"generic.saved": "Yettwasekles",
|
||||||
"getting_started.heading": "Bdu",
|
"getting_started.heading": "Bdu",
|
||||||
"hashtag.column_header.tag_mode.all": "d {additional}",
|
"hashtag.column_header.tag_mode.all": "d {additional}",
|
||||||
@ -313,11 +320,14 @@
|
|||||||
"lightbox.previous": "Ɣer deffir",
|
"lightbox.previous": "Ɣer deffir",
|
||||||
"limited_account_hint.action": "Wali amaɣnu akken yebɣu yili",
|
"limited_account_hint.action": "Wali amaɣnu akken yebɣu yili",
|
||||||
"link_preview.author": "S-ɣur {name}",
|
"link_preview.author": "S-ɣur {name}",
|
||||||
|
"link_preview.more_from_author": "Ugar sɣur {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} post} other {{counter} posts}}",
|
||||||
"lists.account.add": "Rnu ɣer tebdart",
|
"lists.account.add": "Rnu ɣer tebdart",
|
||||||
"lists.account.remove": "Kkes seg tebdart",
|
"lists.account.remove": "Kkes seg tebdart",
|
||||||
"lists.delete": "Kkes tabdart",
|
"lists.delete": "Kkes tabdart",
|
||||||
"lists.edit": "Ẓreg tabdart",
|
"lists.edit": "Ẓreg tabdart",
|
||||||
"lists.edit.submit": "Beddel azwel",
|
"lists.edit.submit": "Beddel azwel",
|
||||||
|
"lists.exclusive": "Ffer tisuffaɣ-a seg ugejdan",
|
||||||
"lists.new.create": "Rnu tabdart",
|
"lists.new.create": "Rnu tabdart",
|
||||||
"lists.new.title_placeholder": "Azwel amaynut n tebdart",
|
"lists.new.title_placeholder": "Azwel amaynut n tebdart",
|
||||||
"lists.replies_policy.followed": "Kra n useqdac i yettwaḍefren",
|
"lists.replies_policy.followed": "Kra n useqdac i yettwaḍefren",
|
||||||
@ -338,6 +348,7 @@
|
|||||||
"navigation_bar.bookmarks": "Ticraḍ",
|
"navigation_bar.bookmarks": "Ticraḍ",
|
||||||
"navigation_bar.community_timeline": "Tasuddemt tadigant",
|
"navigation_bar.community_timeline": "Tasuddemt tadigant",
|
||||||
"navigation_bar.compose": "Aru tajewwiqt tamaynut",
|
"navigation_bar.compose": "Aru tajewwiqt tamaynut",
|
||||||
|
"navigation_bar.direct": "Tibdarin tusligin",
|
||||||
"navigation_bar.discover": "Ẓer",
|
"navigation_bar.discover": "Ẓer",
|
||||||
"navigation_bar.domain_blocks": "Tiɣula yeffren",
|
"navigation_bar.domain_blocks": "Tiɣula yeffren",
|
||||||
"navigation_bar.explore": "Snirem",
|
"navigation_bar.explore": "Snirem",
|
||||||
@ -357,9 +368,14 @@
|
|||||||
"navigation_bar.search": "Nadi",
|
"navigation_bar.search": "Nadi",
|
||||||
"navigation_bar.security": "Taɣellist",
|
"navigation_bar.security": "Taɣellist",
|
||||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
||||||
|
"notification.admin.report": "Yemla-t-id {name} {target}",
|
||||||
|
"notification.admin.sign_up": "Ijerred {name}",
|
||||||
|
"notification.favourite": "{name} yesmenyaf addad-ik·im",
|
||||||
"notification.follow": "iṭṭafar-ik·em-id {name}",
|
"notification.follow": "iṭṭafar-ik·em-id {name}",
|
||||||
"notification.follow_request": "{name} yessuter-d ad k·m-yeḍfeṛ",
|
"notification.follow_request": "{name} yessuter-d ad k·m-yeḍfeṛ",
|
||||||
"notification.mention": "{name} yebder-ik-id",
|
"notification.mention": "{name} yebder-ik-id",
|
||||||
|
"notification.moderation-warning.learn_more": "Issin ugar",
|
||||||
|
"notification.moderation_warning.action_suspend": "Yettwaseḥbes umiḍan-ik.",
|
||||||
"notification.own_poll": "Tafrant-ik·im tfuk",
|
"notification.own_poll": "Tafrant-ik·im tfuk",
|
||||||
"notification.poll": "Tfukk tefrant ideg tettekkaḍ",
|
"notification.poll": "Tfukk tefrant ideg tettekkaḍ",
|
||||||
"notification.reblog": "{name} yebḍa tajewwiqt-ik i tikelt-nniḍen",
|
"notification.reblog": "{name} yebḍa tajewwiqt-ik i tikelt-nniḍen",
|
||||||
@ -370,6 +386,7 @@
|
|||||||
"notification_requests.notifications_from": "Ilɣa sɣur {name}",
|
"notification_requests.notifications_from": "Ilɣa sɣur {name}",
|
||||||
"notifications.clear": "Sfeḍ tilɣa",
|
"notifications.clear": "Sfeḍ tilɣa",
|
||||||
"notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk tilɣa-inek·em i lebda?",
|
"notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk tilɣa-inek·em i lebda?",
|
||||||
|
"notifications.column_settings.admin.report": "Ineqqisen imaynuten:",
|
||||||
"notifications.column_settings.alert": "Tilɣa n tnarit",
|
"notifications.column_settings.alert": "Tilɣa n tnarit",
|
||||||
"notifications.column_settings.favourite": "Imenyafen:",
|
"notifications.column_settings.favourite": "Imenyafen:",
|
||||||
"notifications.column_settings.filter_bar.advanced": "Sken-d akk taggayin",
|
"notifications.column_settings.filter_bar.advanced": "Sken-d akk taggayin",
|
||||||
@ -384,6 +401,7 @@
|
|||||||
"notifications.column_settings.sound": "Rmed imesli",
|
"notifications.column_settings.sound": "Rmed imesli",
|
||||||
"notifications.column_settings.status": "Tisuffaɣ timaynutin :",
|
"notifications.column_settings.status": "Tisuffaɣ timaynutin :",
|
||||||
"notifications.column_settings.unread_notifications.category": "Ilɣa ur nettwaɣra",
|
"notifications.column_settings.unread_notifications.category": "Ilɣa ur nettwaɣra",
|
||||||
|
"notifications.column_settings.update": "Iẓreg:",
|
||||||
"notifications.filter.all": "Akk",
|
"notifications.filter.all": "Akk",
|
||||||
"notifications.filter.boosts": "Seǧhed",
|
"notifications.filter.boosts": "Seǧhed",
|
||||||
"notifications.filter.favourites": "Imenyafen",
|
"notifications.filter.favourites": "Imenyafen",
|
||||||
@ -413,6 +431,7 @@
|
|||||||
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
||||||
"onboarding.follows.title": "Ttwassnen deg Mastodon",
|
"onboarding.follows.title": "Ttwassnen deg Mastodon",
|
||||||
"onboarding.profile.display_name": "Isem ara d-yettwaskanen",
|
"onboarding.profile.display_name": "Isem ara d-yettwaskanen",
|
||||||
|
"onboarding.profile.display_name_hint": "Isem-ik·im ummid neɣ isem-ik·im n uqeṣṣer…",
|
||||||
"onboarding.profile.note": "Tameddurt",
|
"onboarding.profile.note": "Tameddurt",
|
||||||
"onboarding.profile.note_hint": "Tzemreḍ ad d-@tbedreḍ imdanen niḍen neɣ #ihacṭagen …",
|
"onboarding.profile.note_hint": "Tzemreḍ ad d-@tbedreḍ imdanen niḍen neɣ #ihacṭagen …",
|
||||||
"onboarding.profile.save_and_continue": "Sekles, tkemmleḍ",
|
"onboarding.profile.save_and_continue": "Sekles, tkemmleḍ",
|
||||||
@ -441,6 +460,7 @@
|
|||||||
"poll.total_votes": "{count, plural, one {# n udɣaṛ} other {# n yedɣaṛen}}",
|
"poll.total_votes": "{count, plural, one {# n udɣaṛ} other {# n yedɣaṛen}}",
|
||||||
"poll.vote": "Dɣeṛ",
|
"poll.vote": "Dɣeṛ",
|
||||||
"poll.voted": "Tdeɣṛeḍ ɣef tririt-ayi",
|
"poll.voted": "Tdeɣṛeḍ ɣef tririt-ayi",
|
||||||
|
"poll.votes": "{votes, plural, one {# n udɣaṛ} other {# n yedɣaṛen}}",
|
||||||
"poll_button.add_poll": "Rnu asenqed",
|
"poll_button.add_poll": "Rnu asenqed",
|
||||||
"poll_button.remove_poll": "Kkes asenqed",
|
"poll_button.remove_poll": "Kkes asenqed",
|
||||||
"privacy.change": "Seggem tabaḍnit n yizen",
|
"privacy.change": "Seggem tabaḍnit n yizen",
|
||||||
@ -465,9 +485,12 @@
|
|||||||
"relative_time.seconds": "{number}tas",
|
"relative_time.seconds": "{number}tas",
|
||||||
"relative_time.today": "assa",
|
"relative_time.today": "assa",
|
||||||
"reply_indicator.cancel": "Sefsex",
|
"reply_indicator.cancel": "Sefsex",
|
||||||
|
"reply_indicator.poll": "Afmiḍi",
|
||||||
"report.block": "Sewḥel",
|
"report.block": "Sewḥel",
|
||||||
|
"report.categories.legal": "Azerfan",
|
||||||
"report.categories.other": "Tiyyaḍ",
|
"report.categories.other": "Tiyyaḍ",
|
||||||
"report.categories.spam": "Aspam",
|
"report.categories.spam": "Aspam",
|
||||||
|
"report.category.subtitle": "Fren amṣada akk ufrin",
|
||||||
"report.category.title_account": "ameɣnu",
|
"report.category.title_account": "ameɣnu",
|
||||||
"report.category.title_status": "tasuffeɣt",
|
"report.category.title_status": "tasuffeɣt",
|
||||||
"report.close": "Immed",
|
"report.close": "Immed",
|
||||||
@ -476,13 +499,25 @@
|
|||||||
"report.next": "Uḍfiṛ",
|
"report.next": "Uḍfiṛ",
|
||||||
"report.placeholder": "Iwenniten-nniḍen",
|
"report.placeholder": "Iwenniten-nniḍen",
|
||||||
"report.reasons.dislike": "Ur t-ḥemmleɣ ara",
|
"report.reasons.dislike": "Ur t-ḥemmleɣ ara",
|
||||||
|
"report.reasons.dislike_description": "D ayen akk ur bɣiɣ ara ad waliɣ",
|
||||||
"report.reasons.other": "D ayen nniḍen",
|
"report.reasons.other": "D ayen nniḍen",
|
||||||
|
"report.reasons.other_description": "Ugur ur yemṣada ara akk d taggayin-nniḍen",
|
||||||
"report.reasons.spam": "D aspam",
|
"report.reasons.spam": "D aspam",
|
||||||
|
"report.reasons.spam_description": "Yir iseɣwan, yir agman d tririyin i d-yettuɣalen",
|
||||||
|
"report.reasons.violation": "Truẓi n yilugan n uqeddac",
|
||||||
|
"report.reasons.violation_description": "Teẓriḍ y·tettruẓu kra n yilugan",
|
||||||
|
"report.rules.subtitle": "Fren ayen akk yemṣadan",
|
||||||
|
"report.rules.title": "Acu n yilugan i yettwarẓan?",
|
||||||
|
"report.statuses.subtitle": "Fren ayen akk yemṣadan",
|
||||||
|
"report.statuses.title": "Llant tsuffaɣ ara isdemren aneqqis-a?",
|
||||||
"report.submit": "Azen",
|
"report.submit": "Azen",
|
||||||
"report.target": "Mmel {target}",
|
"report.target": "Mmel {target}",
|
||||||
|
"report.thanks.take_action_actionable": "Ideg nekkni nessenqad tuttra-inek•inem, tzemreḍ ad tḥadreḍ mgal @{name}:",
|
||||||
"report.thanks.title": "Ur tebɣiḍ ara ad twaliḍ aya?",
|
"report.thanks.title": "Ur tebɣiḍ ara ad twaliḍ aya?",
|
||||||
|
"report.thanks.title_actionable": "Tanemmirt ɣef uneqqis, ad nwali deg waya.",
|
||||||
"report.unfollow": "Seḥbes aḍfar n @{name}",
|
"report.unfollow": "Seḥbes aḍfar n @{name}",
|
||||||
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
|
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
|
||||||
|
"report_notification.categories.legal": "Azerfan",
|
||||||
"report_notification.categories.other": "Ayen nniḍen",
|
"report_notification.categories.other": "Ayen nniḍen",
|
||||||
"report_notification.categories.spam": "Aspam",
|
"report_notification.categories.spam": "Aspam",
|
||||||
"report_notification.open": "Ldi aneqqis",
|
"report_notification.open": "Ldi aneqqis",
|
||||||
@ -497,6 +532,7 @@
|
|||||||
"search_popout.full_text_search_disabled_message": "Ur yelli ara deg {domain}.",
|
"search_popout.full_text_search_disabled_message": "Ur yelli ara deg {domain}.",
|
||||||
"search_popout.language_code": "Tangalt ISO n tutlayt",
|
"search_popout.language_code": "Tangalt ISO n tutlayt",
|
||||||
"search_popout.options": "Iwellihen n unadi",
|
"search_popout.options": "Iwellihen n unadi",
|
||||||
|
"search_popout.quick_actions": "Tigawin tiruradin",
|
||||||
"search_popout.recent": "Inadiyen ineggura",
|
"search_popout.recent": "Inadiyen ineggura",
|
||||||
"search_popout.user": "amseqdac",
|
"search_popout.user": "amseqdac",
|
||||||
"search_results.accounts": "Imeɣna",
|
"search_results.accounts": "Imeɣna",
|
||||||
@ -505,7 +541,9 @@
|
|||||||
"search_results.see_all": "Wali-ten akk",
|
"search_results.see_all": "Wali-ten akk",
|
||||||
"search_results.statuses": "Tisuffaɣ",
|
"search_results.statuses": "Tisuffaɣ",
|
||||||
"search_results.title": "Anadi ɣef {q}",
|
"search_results.title": "Anadi ɣef {q}",
|
||||||
|
"server_banner.active_users": "iseqdacen urmiden",
|
||||||
"server_banner.administered_by": "Yettwadbel sɣur :",
|
"server_banner.administered_by": "Yettwadbel sɣur :",
|
||||||
|
"server_banner.server_stats": "Tidaddanin n uqeddac:",
|
||||||
"sign_in_banner.create_account": "Snulfu-d amiḍan",
|
"sign_in_banner.create_account": "Snulfu-d amiḍan",
|
||||||
"sign_in_banner.sign_in": "Qqen",
|
"sign_in_banner.sign_in": "Qqen",
|
||||||
"sign_in_banner.sso_redirect": "Qqen neɣ jerred",
|
"sign_in_banner.sso_redirect": "Qqen neɣ jerred",
|
||||||
@ -516,13 +554,20 @@
|
|||||||
"status.cannot_reblog": "Tasuffeɣt-a ur tezmir ara ad tettwabḍu tikelt-nniḍen",
|
"status.cannot_reblog": "Tasuffeɣt-a ur tezmir ara ad tettwabḍu tikelt-nniḍen",
|
||||||
"status.copy": "Nɣel assaɣ ɣer tasuffeɣt",
|
"status.copy": "Nɣel assaɣ ɣer tasuffeɣt",
|
||||||
"status.delete": "Kkes",
|
"status.delete": "Kkes",
|
||||||
|
"status.direct": "Bder-d @{name} weḥd-s",
|
||||||
|
"status.direct_indicator": "Abdar uslig",
|
||||||
"status.edit": "Ẓreg",
|
"status.edit": "Ẓreg",
|
||||||
"status.edited_x_times": "Tettwaẓreg {count, plural, one {{count} n tikkelt} other {{count} n tikkal}}",
|
"status.edited_x_times": "Tettwaẓreg {count, plural, one {{count} n tikkelt} other {{count} n tikkal}}",
|
||||||
"status.embed": "Seddu",
|
"status.embed": "Seddu",
|
||||||
|
"status.favourite": "Amenyaf",
|
||||||
"status.filter": "Sizdeg tassufeɣt-a",
|
"status.filter": "Sizdeg tassufeɣt-a",
|
||||||
"status.filtered": "Yettwasizdeg",
|
"status.filtered": "Yettwasizdeg",
|
||||||
"status.hide": "Ffer tasuffeɣt",
|
"status.hide": "Ffer tasuffeɣt",
|
||||||
|
"status.history.created": "Yerna-t {name} {date}",
|
||||||
|
"status.history.edited": "Ibeddel-it {name} {date}",
|
||||||
"status.load_more": "Sali ugar",
|
"status.load_more": "Sali ugar",
|
||||||
|
"status.media.open": "Sit i ulday",
|
||||||
|
"status.media.show": "Sit i uskan",
|
||||||
"status.media_hidden": "Amidya yettwaffer",
|
"status.media_hidden": "Amidya yettwaffer",
|
||||||
"status.mention": "Bder-d @{name}",
|
"status.mention": "Bder-d @{name}",
|
||||||
"status.more": "Ugar",
|
"status.more": "Ugar",
|
||||||
@ -548,6 +593,7 @@
|
|||||||
"status.show_less_all": "Semẓi akk tisuffɣin",
|
"status.show_less_all": "Semẓi akk tisuffɣin",
|
||||||
"status.show_more": "Ssken-d ugar",
|
"status.show_more": "Ssken-d ugar",
|
||||||
"status.show_more_all": "Ẓerr ugar lebda",
|
"status.show_more_all": "Ẓerr ugar lebda",
|
||||||
|
"status.show_original": "Sken aɣbalu",
|
||||||
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
|
||||||
"status.translate": "Suqel",
|
"status.translate": "Suqel",
|
||||||
"status.translated_from_with": "Yettwasuqel seg {lang} s {provider}",
|
"status.translated_from_with": "Yettwasuqel seg {lang} s {provider}",
|
||||||
@ -582,6 +628,7 @@
|
|||||||
"upload_form.video_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt neɣ deg yiẓri",
|
"upload_form.video_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt neɣ deg yiẓri",
|
||||||
"upload_modal.analyzing_picture": "Tasleḍt n tugna tetteddu…",
|
"upload_modal.analyzing_picture": "Tasleḍt n tugna tetteddu…",
|
||||||
"upload_modal.apply": "Snes",
|
"upload_modal.apply": "Snes",
|
||||||
|
"upload_modal.applying": "Asnas…",
|
||||||
"upload_modal.choose_image": "Fren tugna",
|
"upload_modal.choose_image": "Fren tugna",
|
||||||
"upload_modal.description_placeholder": "Aberraɣ arurad ineggez nnig n uqjun amuṭṭis",
|
"upload_modal.description_placeholder": "Aberraɣ arurad ineggez nnig n uqjun amuṭṭis",
|
||||||
"upload_modal.detect_text": "Sefru-d aḍris seg tugna",
|
"upload_modal.detect_text": "Sefru-d aḍris seg tugna",
|
||||||
@ -589,6 +636,7 @@
|
|||||||
"upload_modal.preparing_ocr": "Aheyyi n OCR…",
|
"upload_modal.preparing_ocr": "Aheyyi n OCR…",
|
||||||
"upload_modal.preview_label": "Taskant ({ratio})",
|
"upload_modal.preview_label": "Taskant ({ratio})",
|
||||||
"upload_progress.label": "Asali iteddu...",
|
"upload_progress.label": "Asali iteddu...",
|
||||||
|
"upload_progress.processing": "Asesfer…",
|
||||||
"username.taken": "Yettwaṭṭef yisem-a n useqdac. Ɛreḍ wayeḍ",
|
"username.taken": "Yettwaṭṭef yisem-a n useqdac. Ɛreḍ wayeḍ",
|
||||||
"video.close": "Mdel tabidyutt",
|
"video.close": "Mdel tabidyutt",
|
||||||
"video.download": "Sidered afaylu",
|
"video.download": "Sidered afaylu",
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
"account.follow_back": "Sekot atpakaļ",
|
"account.follow_back": "Sekot atpakaļ",
|
||||||
"account.followers": "Sekotāji",
|
"account.followers": "Sekotāji",
|
||||||
"account.followers.empty": "Šim lietotājam vēl nav sekotāju.",
|
"account.followers.empty": "Šim lietotājam vēl nav sekotāju.",
|
||||||
|
"account.followers_counter": "{count, plural, zero {{count} sekotāju} one {{count} sekotājs} other {{count} sekotāji}}",
|
||||||
"account.following": "Seko",
|
"account.following": "Seko",
|
||||||
"account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.",
|
"account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.",
|
||||||
"account.go_to_profile": "Doties uz profilu",
|
"account.go_to_profile": "Doties uz profilu",
|
||||||
@ -312,9 +313,9 @@
|
|||||||
"home.column_settings.show_reblogs": "Rādīt pastiprinātos ierakstus",
|
"home.column_settings.show_reblogs": "Rādīt pastiprinātos ierakstus",
|
||||||
"home.column_settings.show_replies": "Rādīt atbildes",
|
"home.column_settings.show_replies": "Rādīt atbildes",
|
||||||
"home.hide_announcements": "Slēpt paziņojumus",
|
"home.hide_announcements": "Slēpt paziņojumus",
|
||||||
"home.pending_critical_update.body": "Lūdzu, pēc iespējas ātrāk atjaunini savu Mastodon serveri!",
|
"home.pending_critical_update.body": "Lūgums pēc iespējas drīzāk atjaunināt savu Mastodon serveri.",
|
||||||
"home.pending_critical_update.link": "Skatīt jauninājumus",
|
"home.pending_critical_update.link": "Skatīt jauninājumus",
|
||||||
"home.pending_critical_update.title": "Pieejams kritisks drošības jauninājums!",
|
"home.pending_critical_update.title": "Ir pieejams būtisks drošības atjauninājums.",
|
||||||
"home.show_announcements": "Rādīt paziņojumus",
|
"home.show_announcements": "Rādīt paziņojumus",
|
||||||
"interaction_modal.description.favourite": "Ar Mastodon kontu tu vari pievienot šo ziņu izlasei, lai informētu autoru, ka to novērtē, un saglabātu to vēlākai lasīšanai.",
|
"interaction_modal.description.favourite": "Ar Mastodon kontu tu vari pievienot šo ziņu izlasei, lai informētu autoru, ka to novērtē, un saglabātu to vēlākai lasīšanai.",
|
||||||
"interaction_modal.description.follow": "Ar Mastodon kontu Tu vari sekot {name}, lai saņemtu lietotāja ierakstus savā mājas plūsmā.",
|
"interaction_modal.description.follow": "Ar Mastodon kontu Tu vari sekot {name}, lai saņemtu lietotāja ierakstus savā mājas plūsmā.",
|
||||||
|
@ -217,18 +217,18 @@
|
|||||||
"domain_block_modal.title": "Заблокувати домен?",
|
"domain_block_modal.title": "Заблокувати домен?",
|
||||||
"domain_block_modal.you_will_lose_followers": "Усіх ваших підписників з цього сервера буде вилучено.",
|
"domain_block_modal.you_will_lose_followers": "Усіх ваших підписників з цього сервера буде вилучено.",
|
||||||
"domain_block_modal.you_wont_see_posts": "Ви не бачитимете дописів і сповіщень від користувачів на цьому сервері.",
|
"domain_block_modal.you_wont_see_posts": "Ви не бачитимете дописів і сповіщень від користувачів на цьому сервері.",
|
||||||
"domain_pill.activitypub_lets_connect": "Це дозволяє вам спілкуватися та взаємодіяти з людьми не лише на Mastodon, але й у різних соціальних додатках.",
|
"domain_pill.activitypub_lets_connect": "Це дозволяє вам спілкуватися та взаємодіяти з людьми не лише на Mastodon, але й у різних соціальних застосунках.",
|
||||||
"domain_pill.activitypub_like_language": "ActivityPub - це як мова, якою Мастодонт розмовляє з іншими соціальними мережами.",
|
"domain_pill.activitypub_like_language": "ActivityPub - це як мова, якою Mastodon розмовляє з іншими соціальними мережами.",
|
||||||
"domain_pill.server": "Сервер",
|
"domain_pill.server": "Сервер",
|
||||||
"domain_pill.their_handle": "Їхня адреса:",
|
"domain_pill.their_handle": "Їхня адреса:",
|
||||||
"domain_pill.their_server": "Їхній цифровий дім, де живуть усі їхні пости.",
|
"domain_pill.their_server": "Їхній цифровий дім, де живуть усі їхні дописи.",
|
||||||
"domain_pill.their_username": "Їхній унікальний ідентифікатор на їхньому сервері. Ви можете знайти користувачів з однаковими іменами на різних серверах.",
|
"domain_pill.their_username": "Їхній унікальний ідентифікатор на їхньому сервері. Ви можете знайти користувачів з однаковими іменами на різних серверах.",
|
||||||
"domain_pill.username": "Ім'я користувача",
|
"domain_pill.username": "Ім'я користувача",
|
||||||
"domain_pill.whats_in_a_handle": "Що є в адресі?",
|
"domain_pill.whats_in_a_handle": "Що є в адресі?",
|
||||||
"domain_pill.who_they_are": "Оскільки дескриптори вказують, хто це і де він знаходиться, ви можете взаємодіяти з людьми через соціальну мережу платформ на основі <button>ActivityPub</button>.",
|
"domain_pill.who_they_are": "Оскільки дескриптори вказують, хто це і де він знаходиться, ви можете взаємодіяти з людьми через соціальну мережу платформ на основі <button>ActivityPub</button>.",
|
||||||
"domain_pill.who_you_are": "Оскільки ваш нікнейм вказує, хто ви та де ви, люди можуть взаємодіяти з вами через соціальну мережу платформ на основі <button>ActivityPub</button>.",
|
"domain_pill.who_you_are": "Оскільки ваш нікнейм вказує, хто ви та де ви, люди можуть взаємодіяти з вами через соціальну мережу платформ на основі <button>ActivityPub</button>.",
|
||||||
"domain_pill.your_handle": "Ваша адреса:",
|
"domain_pill.your_handle": "Ваша адреса:",
|
||||||
"domain_pill.your_server": "Ваш цифровий дім, де живуть усі ваші публікації. Не подобається цей? Перенесіть сервери в будь-який час і залучайте своїх підписників.",
|
"domain_pill.your_server": "Ваш цифровий дім, де живуть усі ваші дописи. Не подобається цей? Перенесіть сервери в будь-який час і залучайте своїх підписників.",
|
||||||
"domain_pill.your_username": "Ваш унікальний ідентифікатор на цьому сервері. Ви можете знайти користувачів з однаковими іменами на різних серверах.",
|
"domain_pill.your_username": "Ваш унікальний ідентифікатор на цьому сервері. Ви можете знайти користувачів з однаковими іменами на різних серверах.",
|
||||||
"embed.instructions": "Вбудуйте цей допис до вашого вебсайту, скопіювавши код нижче.",
|
"embed.instructions": "Вбудуйте цей допис до вашого вебсайту, скопіювавши код нижче.",
|
||||||
"embed.preview": "Ось який вигляд це матиме:",
|
"embed.preview": "Ось який вигляд це матиме:",
|
||||||
@ -489,9 +489,9 @@
|
|||||||
"notification.reblog": "{name} поширює ваш допис",
|
"notification.reblog": "{name} поширює ваш допис",
|
||||||
"notification.relationships_severance_event": "Втрачено з'єднання з {name}",
|
"notification.relationships_severance_event": "Втрачено з'єднання з {name}",
|
||||||
"notification.relationships_severance_event.account_suspension": "Адміністратор з {from} призупинив {target}, що означає, що ви більше не можете отримувати оновлення від них або взаємодіяти з ними.",
|
"notification.relationships_severance_event.account_suspension": "Адміністратор з {from} призупинив {target}, що означає, що ви більше не можете отримувати оновлення від них або взаємодіяти з ними.",
|
||||||
"notification.relationships_severance_event.domain_block": "Адміністратор з {from} заблокував {target}, включаючи {followersCount} ваших підписників і {{followingCount, plural, one {# account} other {# accounts}}, на які ви підписані.",
|
"notification.relationships_severance_event.domain_block": "Адміністратор з {from} заблокував {target}, включаючи {followersCount} ваших підписників і {followingCount , plural, one {# обліковий запис} few {# облікові записи} many {# облікових записів} other {# обліковий запис}}, на які ви підписані.",
|
||||||
"notification.relationships_severance_event.learn_more": "Дізнатися більше",
|
"notification.relationships_severance_event.learn_more": "Докладніше",
|
||||||
"notification.relationships_severance_event.user_domain_block": "Ви заблокували {target}, видаливши {followersCount} ваших підписників і {followingCount, plural, one {# account} other {# accounts}}, за якими ви стежите.",
|
"notification.relationships_severance_event.user_domain_block": "Ви заблокували {target}, видаливши {followersCount} ваших підписників і {followingCount, plural, one {# обліковий запис} few {# облікові записи} many {# облікових записів} other {# обліковий запис}}, за якими ви стежите.",
|
||||||
"notification.status": "{name} щойно дописує",
|
"notification.status": "{name} щойно дописує",
|
||||||
"notification.update": "{name} змінює допис",
|
"notification.update": "{name} змінює допис",
|
||||||
"notification_requests.accept": "Прийняти",
|
"notification_requests.accept": "Прийняти",
|
||||||
|
@ -62,7 +62,8 @@ class LinkDetailsExtractor
|
|||||||
end
|
end
|
||||||
|
|
||||||
def author_name
|
def author_name
|
||||||
author['name']
|
name = author['name']
|
||||||
|
name.is_a?(Array) ? name.join(', ') : name
|
||||||
end
|
end
|
||||||
|
|
||||||
def author_url
|
def author_url
|
||||||
@ -294,7 +295,7 @@ class LinkDetailsExtractor
|
|||||||
def html_entities_decode(string)
|
def html_entities_decode(string)
|
||||||
return if string.nil?
|
return if string.nil?
|
||||||
|
|
||||||
unicode_string = string.encode('UTF-8')
|
unicode_string = string.to_s.encode('UTF-8')
|
||||||
raise EncodingError, 'cannot convert string to valid UTF-8' unless unicode_string.valid_encoding?
|
raise EncodingError, 'cannot convert string to valid UTF-8' unless unicode_string.valid_encoding?
|
||||||
|
|
||||||
html_entities.decode(unicode_string)
|
html_entities.decode(unicode_string)
|
||||||
|
@ -295,7 +295,7 @@ class Status < ApplicationRecord
|
|||||||
else
|
else
|
||||||
map = media_attachments.index_by(&:id)
|
map = media_attachments.index_by(&:id)
|
||||||
ordered_media_attachment_ids.filter_map { |media_attachment_id| map[media_attachment_id] }
|
ordered_media_attachment_ids.filter_map { |media_attachment_id| map[media_attachment_id] }
|
||||||
end
|
end.take(MEDIA_ATTACHMENTS_LIMIT)
|
||||||
end
|
end
|
||||||
|
|
||||||
def replies_count
|
def replies_count
|
||||||
|
@ -54,12 +54,14 @@ class StatusEdit < ApplicationRecord
|
|||||||
def ordered_media_attachments
|
def ordered_media_attachments
|
||||||
return @ordered_media_attachments if defined?(@ordered_media_attachments)
|
return @ordered_media_attachments if defined?(@ordered_media_attachments)
|
||||||
|
|
||||||
@ordered_media_attachments = if ordered_media_attachment_ids.nil?
|
@ordered_media_attachments = begin
|
||||||
[]
|
if ordered_media_attachment_ids.nil?
|
||||||
else
|
[]
|
||||||
map = status.media_attachments.index_by(&:id)
|
else
|
||||||
ordered_media_attachment_ids.map.with_index { |media_attachment_id, index| PreservedMediaAttachment.new(media_attachment: map[media_attachment_id], description: media_descriptions[index]) }
|
map = status.media_attachments.index_by(&:id)
|
||||||
end
|
ordered_media_attachment_ids.map.with_index { |media_attachment_id, index| PreservedMediaAttachment.new(media_attachment: map[media_attachment_id], description: media_descriptions[index]) }
|
||||||
|
end
|
||||||
|
end.take(Status::MEDIA_ATTACHMENTS_LIMIT)
|
||||||
end
|
end
|
||||||
|
|
||||||
def proper
|
def proper
|
||||||
|
@ -21,6 +21,18 @@ kab:
|
|||||||
username:
|
username:
|
||||||
invalid: ilaq ad ilin isekkilen, uṭṭunen d yijerriden n wadda kan
|
invalid: ilaq ad ilin isekkilen, uṭṭunen d yijerriden n wadda kan
|
||||||
reserved: yettwaṭṭef
|
reserved: yettwaṭṭef
|
||||||
|
admin/webhook:
|
||||||
|
attributes:
|
||||||
|
url:
|
||||||
|
invalid: mačči d URL ameɣtu
|
||||||
|
doorkeeper/application:
|
||||||
|
attributes:
|
||||||
|
website:
|
||||||
|
invalid: mačči d URL ameɣtu
|
||||||
|
import:
|
||||||
|
attributes:
|
||||||
|
data:
|
||||||
|
malformed: yir amsal
|
||||||
status:
|
status:
|
||||||
attributes:
|
attributes:
|
||||||
reblog:
|
reblog:
|
||||||
@ -28,4 +40,20 @@ kab:
|
|||||||
user:
|
user:
|
||||||
attributes:
|
attributes:
|
||||||
email:
|
email:
|
||||||
|
blocked: isseqdac asaǧǧaw n yimayl ur yettusirgen ara
|
||||||
unreachable: ur d-ttban ara d akken yella
|
unreachable: ur d-ttban ara d akken yella
|
||||||
|
role_id:
|
||||||
|
elevated: ur yezmir ara ad iεeddi tamlilt-ik tamirant
|
||||||
|
user_role:
|
||||||
|
attributes:
|
||||||
|
permissions_as_keys:
|
||||||
|
dangerous: deg-s tisirag tiriɣelsanin i temlilt tazadurt
|
||||||
|
elevated: ur yezmir ara ad yesεu tirirag ur nelli ara deg temlilit-ik tamirant
|
||||||
|
own_role: ur yezmir ara ad yettwabeddel s temlilt-ik tamirant
|
||||||
|
position:
|
||||||
|
elevated: ur yezmir ara ad iεeddi tamlilt-ik tamirant
|
||||||
|
own_role: ur yezmir ara ad yettwabeddel s temlilt-ik tamirant
|
||||||
|
webhook:
|
||||||
|
attributes:
|
||||||
|
events:
|
||||||
|
invalid_permissions: ur yezmir ara ad yesεu tidyanin iwumi ur tesεiḍ ara tisirag
|
||||||
|
@ -12,6 +12,7 @@ kab:
|
|||||||
last_attempt: Γur-k yiwen n uɛraḍ-nniḍen kan send ad yettucekkel umiḍan-ik.
|
last_attempt: Γur-k yiwen n uɛraḍ-nniḍen kan send ad yettucekkel umiḍan-ik.
|
||||||
locked: Amiḍan-ik yettwargel.
|
locked: Amiḍan-ik yettwargel.
|
||||||
not_found_in_database: Tella tuccḍa deg %{authentication_keys} neγ deg wawal uffir.
|
not_found_in_database: Tella tuccḍa deg %{authentication_keys} neγ deg wawal uffir.
|
||||||
|
omniauth_user_creation_failure: Tuccḍa lawan n tmerna n umiḍan i timagit-a.
|
||||||
pending: Amiḍan-inek mazal-it deg ɛiwed n tmuγli.
|
pending: Amiḍan-inek mazal-it deg ɛiwed n tmuγli.
|
||||||
timeout: Tiɣimit n tuqqna tezri. Ma ulac aɣilif ɛiwed tuqqna akken ad tkemmleḍ.
|
timeout: Tiɣimit n tuqqna tezri. Ma ulac aɣilif ɛiwed tuqqna akken ad tkemmleḍ.
|
||||||
unauthenticated: Ilaq ad teqqneḍ neɣ ad tjerrḍeḍ akken ad tkemmelḍ.
|
unauthenticated: Ilaq ad teqqneḍ neɣ ad tjerrḍeḍ akken ad tkemmelḍ.
|
||||||
@ -47,21 +48,41 @@ kab:
|
|||||||
subject: 'Mastodon: Iwellihen n uwennez n wawal uffir'
|
subject: 'Mastodon: Iwellihen n uwennez n wawal uffir'
|
||||||
title: Aɛiwed n wawal uffir
|
title: Aɛiwed n wawal uffir
|
||||||
two_factor_disabled:
|
two_factor_disabled:
|
||||||
|
explanation: Tuqqna tella tura s useqdec n tansa n yimayl tasuft d wawal n uεeddi.
|
||||||
subject: 'Mastodon: Asesteb s snat n tarrayin yensa'
|
subject: 'Mastodon: Asesteb s snat n tarrayin yensa'
|
||||||
|
subtitle: Asesteb s snat tarrayin i umiḍan-ik yensan.
|
||||||
title: Asesteb s snat n tarrayin insa
|
title: Asesteb s snat n tarrayin insa
|
||||||
two_factor_enabled:
|
two_factor_enabled:
|
||||||
|
explanation: Ajuṭu yettusirwen s usnas TOTP yeqqnen ilaq i wakken ad teqqneḍ.
|
||||||
subject: 'Mastodon: Asesteb s snat n tarrayin yermed'
|
subject: 'Mastodon: Asesteb s snat n tarrayin yermed'
|
||||||
|
subtitle: Asesteb s snat tarrayin yettwarmed i umiḍan-ik.
|
||||||
title: Asesteb s snat n tarrayin irmed
|
title: Asesteb s snat n tarrayin irmed
|
||||||
two_factor_recovery_codes_changed:
|
two_factor_recovery_codes_changed:
|
||||||
explanation: Tangalt n tuɣalin tettwaḥbes sakin nesnulfa-d yiwet d tamaynut.
|
explanation: Tangalt n tuɣalin tettwaḥbes sakin nesnulfa-d yiwet d tamaynut.
|
||||||
subject: 'Mastodon: Tingalin n tuɣalin n snat n tarayin ttwarnanat i tikkelt-nniḍen'
|
subject: 'Mastodon: Tingalin n tuɣalin n snat n tarayin ttwarnanat i tikkelt-nniḍen'
|
||||||
|
subtitle: Tangalt n tuɣalin tettwaḥbes sakin nesnulfa-d yiwet d tamaynut.
|
||||||
title: Tangalt n tuɣalin 2FA tettwabeddel
|
title: Tangalt n tuɣalin 2FA tettwabeddel
|
||||||
unlock_instructions:
|
unlock_instructions:
|
||||||
subject: 'Mastodon: iwelihhen n userreḥ'
|
subject: 'Mastodon: iwelihhen n userreḥ'
|
||||||
webauthn_credential:
|
webauthn_credential:
|
||||||
added:
|
added:
|
||||||
|
explanation: Tasarut-a n tɣellist tettwarna ɣer umiḍan-ik·im
|
||||||
subject: 'Maṣṭudun : Tasarutt tamaynutt n tɣellist'
|
subject: 'Maṣṭudun : Tasarutt tamaynutt n tɣellist'
|
||||||
title: Tasarut tamaynutt n tɣellist tamaynut tettwarna
|
title: Tasarut tamaynutt n tɣellist tamaynut tettwarna
|
||||||
|
deleted:
|
||||||
|
explanation: Tasarut-a n tɣellist tettwakkes seg umiḍan-ik·im
|
||||||
|
subject: 'Mastodon: Tasarut n tɣellsit tettwakkes'
|
||||||
|
title: Yiwet seg tsura-k·m n tɣellist tettwakkes
|
||||||
|
webauthn_disabled:
|
||||||
|
explanation: Yensa usesteb s tsura n tɣellist i umiḍan-ik.
|
||||||
|
extra: Tzemreḍ ad tkecmeḍ tura s useqdec asuf n ujuṭu yettwasran s usnas TOPTP yeqqnen.
|
||||||
|
subject: 'Mastodon: Asesteb s tsura n tɣellist yensa'
|
||||||
|
title: Tisura n tɣellist nsant
|
||||||
|
webauthn_enabled:
|
||||||
|
explanation: Asesteb n tsarut n tɣellist tettwarmed i umiḍan-ik.
|
||||||
|
extra: Tasarut-ik n tɣellist tezmer tura ad tettuseqdec i unekcum.
|
||||||
|
subject: 'Mastodon: Asesteb n tsarut n tɣellist yermed'
|
||||||
|
title: Tisura n tɣellist remdent
|
||||||
omniauth_callbacks:
|
omniauth_callbacks:
|
||||||
failure: Ur nezmir ara ad ak·akem-nsesṭeb seg %{kind} acku "%{reason}".
|
failure: Ur nezmir ara ad ak·akem-nsesṭeb seg %{kind} acku "%{reason}".
|
||||||
success: Asesṭeb idda akken iwata seg umiḍan %{kind}.
|
success: Asesṭeb idda akken iwata seg umiḍan %{kind}.
|
||||||
|
@ -5,6 +5,7 @@ kab:
|
|||||||
doorkeeper/application:
|
doorkeeper/application:
|
||||||
name: Isem n usnas
|
name: Isem n usnas
|
||||||
redirect_uri: URI n uwelleh
|
redirect_uri: URI n uwelleh
|
||||||
|
scopes: Tinerfadin
|
||||||
website: Asmel web n usnas
|
website: Asmel web n usnas
|
||||||
errors:
|
errors:
|
||||||
models:
|
models:
|
||||||
@ -39,6 +40,7 @@ kab:
|
|||||||
empty: Ulac ɣur-k·m isnasen.
|
empty: Ulac ɣur-k·m isnasen.
|
||||||
name: Isem
|
name: Isem
|
||||||
new: Asnas amaynut
|
new: Asnas amaynut
|
||||||
|
scopes: Tinerfadin
|
||||||
show: Ẓer
|
show: Ẓer
|
||||||
title: Isnasen-ik·im
|
title: Isnasen-ik·im
|
||||||
new:
|
new:
|
||||||
@ -47,6 +49,8 @@ kab:
|
|||||||
actions: Tigawin
|
actions: Tigawin
|
||||||
application_id: ID n usnas
|
application_id: ID n usnas
|
||||||
callback_urls: URL n tririt n wawal
|
callback_urls: URL n tririt n wawal
|
||||||
|
scopes: Tinerfadin
|
||||||
|
secret: Tuffirt n umsaɣ
|
||||||
title: 'Asnas: %{name}'
|
title: 'Asnas: %{name}'
|
||||||
authorizations:
|
authorizations:
|
||||||
buttons:
|
buttons:
|
||||||
@ -55,6 +59,7 @@ kab:
|
|||||||
error:
|
error:
|
||||||
title: Tella-d tuccḍa
|
title: Tella-d tuccḍa
|
||||||
new:
|
new:
|
||||||
|
review_permissions: Asenqed n tsirag
|
||||||
title: Tlaq tsiregt
|
title: Tlaq tsiregt
|
||||||
show:
|
show:
|
||||||
title: Nɣel tangalt n wurag sakkin senteḍ-itt deg usnas.
|
title: Nɣel tangalt n wurag sakkin senteḍ-itt deg usnas.
|
||||||
@ -64,8 +69,12 @@ kab:
|
|||||||
confirmations:
|
confirmations:
|
||||||
revoke: Tetḥeqqeḍ?
|
revoke: Tetḥeqqeḍ?
|
||||||
index:
|
index:
|
||||||
|
authorized_at: Yettwasireg ɣef %{date}
|
||||||
description_html: Ha-t-an yisnasen i izemren ad kecmen ɣer umiḍan-ik·im, s useqdec n API. Ma llan yisnasen ur teεqileḍ ara da, neɣ kra n wesnas ur iteddu ara akken ilaq, tzemreḍ ad tekkseḍ anekcum-is.
|
description_html: Ha-t-an yisnasen i izemren ad kecmen ɣer umiḍan-ik·im, s useqdec n API. Ma llan yisnasen ur teεqileḍ ara da, neɣ kra n wesnas ur iteddu ara akken ilaq, tzemreḍ ad tekkseḍ anekcum-is.
|
||||||
last_used_at: Yettwaseqdec i tikkelt taneggarut ass n %{date}
|
last_used_at: Yettwaseqdec i tikkelt taneggarut ass n %{date}
|
||||||
|
never_used: Urǧin yettwaseqdac
|
||||||
|
scopes: Tisirag
|
||||||
|
superapp: Adigan
|
||||||
title: Isnasen-ik·im yettusirgen
|
title: Isnasen-ik·im yettusirgen
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
@ -82,13 +91,28 @@ kab:
|
|||||||
destroy:
|
destroy:
|
||||||
notice: Yettwaḥwi wesnas.
|
notice: Yettwaḥwi wesnas.
|
||||||
grouped_scopes:
|
grouped_scopes:
|
||||||
|
access:
|
||||||
|
read: Anekcum i tɣuri kan
|
||||||
|
read/write: Anekcum i tɣuri d tira
|
||||||
|
write: Anekcum i tira kan
|
||||||
title:
|
title:
|
||||||
accounts: Imiḍanen
|
accounts: Imiḍanen
|
||||||
admin/accounts: Tadbelt n imiḍan
|
admin/accounts: Tadbelt n imiḍan
|
||||||
|
admin/all: Akk timahilin tinebdalin
|
||||||
|
admin/reports: Tadbelt n yineqqisen
|
||||||
|
blocks: Yewḥel
|
||||||
|
bookmarks: Ticraḍ
|
||||||
|
conversations: Idiwenniyen
|
||||||
crypto: Awgelhen seg yixef ɣer yixef
|
crypto: Awgelhen seg yixef ɣer yixef
|
||||||
|
favourites: Imenyafen
|
||||||
filters: Imzizdigen
|
filters: Imzizdigen
|
||||||
|
follow: Aḍfar, asgugem akked usewḥel
|
||||||
|
follows: Aḍfar
|
||||||
lists: Tibdarin
|
lists: Tibdarin
|
||||||
|
media: Imeddayen n umidya
|
||||||
|
mutes: Yeggugem
|
||||||
notifications: Tilɣa
|
notifications: Tilɣa
|
||||||
|
profile: Amaɣnu-k Mastodon
|
||||||
push: Tilɣa yettudemmren
|
push: Tilɣa yettudemmren
|
||||||
reports: Ineqqisen
|
reports: Ineqqisen
|
||||||
search: Nadi
|
search: Nadi
|
||||||
|
@ -31,7 +31,7 @@ ko:
|
|||||||
form:
|
form:
|
||||||
error: 이런! 오류를 확인하세요
|
error: 이런! 오류를 확인하세요
|
||||||
help:
|
help:
|
||||||
native_redirect_uri: "%{native_redirect_uri}에서 로컬 테스트를 할 수 있습니다."
|
native_redirect_uri: "%{native_redirect_uri}를 이용해 로컬 테스트를 할 수 있습니다"
|
||||||
redirect_uri: 한 줄에 하나의 URI를 작성하세요
|
redirect_uri: 한 줄에 하나의 URI를 작성하세요
|
||||||
scopes: 스페이스로 범위를 구분하세요. 빈 칸으로 놔두면 기본 범위를 사용합니다.
|
scopes: 스페이스로 범위를 구분하세요. 빈 칸으로 놔두면 기본 범위를 사용합니다.
|
||||||
index:
|
index:
|
||||||
|
@ -1741,7 +1741,7 @@ ko:
|
|||||||
contrast: 마스토돈 (고대비)
|
contrast: 마스토돈 (고대비)
|
||||||
default: 마스토돈 (어두움)
|
default: 마스토돈 (어두움)
|
||||||
mastodon-light: 마스토돈 (밝음)
|
mastodon-light: 마스토돈 (밝음)
|
||||||
system: 자동 선택 (시스템 테마 이용)
|
system: 자동 (시스템 테마 사용)
|
||||||
time:
|
time:
|
||||||
formats:
|
formats:
|
||||||
default: "%Y-%m-%d %H:%M"
|
default: "%Y-%m-%d %H:%M"
|
||||||
|
@ -116,6 +116,8 @@ ro:
|
|||||||
redownloaded_msg: S-a reîmprospătat cu succes profilul %{username} de la origine
|
redownloaded_msg: S-a reîmprospătat cu succes profilul %{username} de la origine
|
||||||
reject: Respinge
|
reject: Respinge
|
||||||
rejected_msg: S-a respins cu succes cererea de înregistrare a utilizatorului %{username}
|
rejected_msg: S-a respins cu succes cererea de înregistrare a utilizatorului %{username}
|
||||||
|
remote_suspension_irreversible: Datele acestui cont au fost șterse în mod ireversibil.
|
||||||
|
remote_suspension_reversible_hint_html: Contul a fost suspendat pe server-ul respectiv, iar datele vor fi șterse complet pe %{date}. Până atunci, server-ul remote poate restabili acest cont fără consecințe negative. Dacă dorești să elimini toate datele contului numaidecât, poți face acest lucru mai jos.
|
||||||
remove_avatar: Elimină avatar
|
remove_avatar: Elimină avatar
|
||||||
remove_header: Elimină antet
|
remove_header: Elimină antet
|
||||||
removed_avatar_msg: S-a îndepărtat cu succes poza de profil a utilizatorului %{username}
|
removed_avatar_msg: S-a îndepărtat cu succes poza de profil a utilizatorului %{username}
|
||||||
|
@ -5,6 +5,7 @@ kab:
|
|||||||
account:
|
account:
|
||||||
display_name: Isem-ik·im ummid neɣ isem-ik·im n uqeṣṣer.
|
display_name: Isem-ik·im ummid neɣ isem-ik·im n uqeṣṣer.
|
||||||
fields: Asebter-ik·im agejdan, imqimen, leεmer, ayen tebɣiḍ.
|
fields: Asebter-ik·im agejdan, imqimen, leεmer, ayen tebɣiḍ.
|
||||||
|
note: 'Tzemreḍ ad d-@tbedreḍ imdanen niḍen neɣ #ihacṭagen.'
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Sekcem isem n umseqdac@domain n umiḍan s wansa itebγiḍ ad gujjeḍ
|
acct: Sekcem isem n umseqdac@domain n umiḍan s wansa itebγiḍ ad gujjeḍ
|
||||||
account_migration:
|
account_migration:
|
||||||
@ -27,6 +28,8 @@ kab:
|
|||||||
name: 'Ha-t-an kra seg ihacṭagen i tesseqdaceḍ ussan-a ineggura maḍi :'
|
name: 'Ha-t-an kra seg ihacṭagen i tesseqdaceḍ ussan-a ineggura maḍi :'
|
||||||
imports:
|
imports:
|
||||||
data: Afaylu CSV id yusan seg uqeddac-nniḍen n Maṣṭudun
|
data: Afaylu CSV id yusan seg uqeddac-nniḍen n Maṣṭudun
|
||||||
|
invite_request:
|
||||||
|
text: Aya ad aɣ-iɛiwen ad nessenqed tuttra-k•m
|
||||||
ip_block:
|
ip_block:
|
||||||
comment: D afrayan. Cfu ɣef wayɣer i terniḍ alugen-a.
|
comment: D afrayan. Cfu ɣef wayɣer i terniḍ alugen-a.
|
||||||
severities:
|
severities:
|
||||||
@ -36,6 +39,8 @@ kab:
|
|||||||
fields:
|
fields:
|
||||||
name: Tabzimt
|
name: Tabzimt
|
||||||
value: Agbur
|
value: Agbur
|
||||||
|
account_alias:
|
||||||
|
acct: Tansa n umiḍan aqbur
|
||||||
account_migration:
|
account_migration:
|
||||||
acct: Tansa n umiḍan amaynut
|
acct: Tansa n umiḍan amaynut
|
||||||
account_warning_preset:
|
account_warning_preset:
|
||||||
@ -51,6 +56,7 @@ kab:
|
|||||||
suspend: Ḥbes di leεḍil
|
suspend: Ḥbes di leεḍil
|
||||||
announcement:
|
announcement:
|
||||||
ends_at: Tagara n tedyant
|
ends_at: Tagara n tedyant
|
||||||
|
starts_at: Tazwara n tedyant
|
||||||
text: Alɣu
|
text: Alɣu
|
||||||
defaults:
|
defaults:
|
||||||
autofollow: Ɛreḍ-it-id ad yeḍfer amiḍan-ik·im
|
autofollow: Ɛreḍ-it-id ad yeḍfer amiḍan-ik·im
|
||||||
@ -59,18 +65,25 @@ kab:
|
|||||||
chosen_languages: Sizdeg tutlayin
|
chosen_languages: Sizdeg tutlayin
|
||||||
confirm_new_password: Sentem awal uffir amaynut
|
confirm_new_password: Sentem awal uffir amaynut
|
||||||
confirm_password: Sentem awal uffir
|
confirm_password: Sentem awal uffir
|
||||||
|
context: Isatalen n umsizdeg
|
||||||
current_password: Awal uffir n tura
|
current_password: Awal uffir n tura
|
||||||
data: Isefka
|
data: Isefka
|
||||||
display_name: Isem ara d-yettwaskanen
|
display_name: Isem ara d-yettwaskanen
|
||||||
email: Tansa imayl
|
email: Tansa imayl
|
||||||
expires_in: Ad yemmet
|
expires_in: Ad yemmet
|
||||||
|
fields: Urtiyen niḍen
|
||||||
header: Ixef
|
header: Ixef
|
||||||
|
honeypot: "%{label} (ur tettaččar ara)"
|
||||||
|
inbox_url: URL n tbewwaḍt n urmas yettwacudden
|
||||||
|
irreversible: Kkes deg wadeg n tuffra
|
||||||
locale: Tutlayt n wegrudem
|
locale: Tutlayt n wegrudem
|
||||||
max_uses: Amḍan afellay n iseqdacen
|
max_uses: Amḍan afellay n iseqdacen
|
||||||
new_password: Awal uffir amaynut
|
new_password: Awal uffir amaynut
|
||||||
note: Tameddurt
|
note: Tameddurt
|
||||||
otp_attempt: Tangalt n snat n tarayin
|
otp_attempt: Tangalt n snat n tarayin
|
||||||
password: Awal uffir
|
password: Awal uffir
|
||||||
|
phrase: Awal n tsarut neɣ tafyirt
|
||||||
|
setting_advanced_layout: Rmed agrudem n web leqqayen
|
||||||
setting_default_language: Tutlayt n tira
|
setting_default_language: Tutlayt n tira
|
||||||
setting_default_privacy: Tabaḍnit n tira
|
setting_default_privacy: Tabaḍnit n tira
|
||||||
setting_display_media_default: Akk-a kan
|
setting_display_media_default: Akk-a kan
|
||||||
@ -88,8 +101,15 @@ kab:
|
|||||||
featured_tag:
|
featured_tag:
|
||||||
name: Ahacṭag
|
name: Ahacṭag
|
||||||
form_admin_settings:
|
form_admin_settings:
|
||||||
|
custom_css: CSS udmawan
|
||||||
|
profile_directory: Rmed akaram n imaγnuten
|
||||||
|
site_contact_email: Imayl n unermas
|
||||||
|
site_short_description: Aglam n uqeddac
|
||||||
site_terms: Tasertit tabaḍnit
|
site_terms: Tasertit tabaḍnit
|
||||||
site_title: Isem n uqeddac
|
site_title: Isem n uqeddac
|
||||||
|
status_page_url: URL n uusebter n waddaden
|
||||||
|
theme: Asentel amezwer
|
||||||
|
thumbnail: Tanfult n uqeddac
|
||||||
interactions:
|
interactions:
|
||||||
must_be_follower: Ssewḥel ilɣa sɣur wid akked tid ur yellin ara d imeḍfaren-ik·im
|
must_be_follower: Ssewḥel ilɣa sɣur wid akked tid ur yellin ara d imeḍfaren-ik·im
|
||||||
must_be_following: Ssewḥel ilɣa sɣur wid akked tid ur tettḍafareḍ ara
|
must_be_following: Ssewḥel ilɣa sɣur wid akked tid ur tettḍafareḍ ara
|
||||||
@ -109,18 +129,25 @@ kab:
|
|||||||
follow: Yeḍfer-ik·im-id walbɛaḍ
|
follow: Yeḍfer-ik·im-id walbɛaḍ
|
||||||
follow_request: Ma yella win i d-yessutren ad k·em-yeḍfer
|
follow_request: Ma yella win i d-yessutren ad k·em-yeḍfer
|
||||||
mention: Yuder-ik·em-id walbɛaḍ
|
mention: Yuder-ik·em-id walbɛaḍ
|
||||||
|
pending_account: Amiḍan amaynut yesran asenqed
|
||||||
reblog: Yella win yesselhan adda-dik·im
|
reblog: Yella win yesselhan adda-dik·im
|
||||||
|
report: Aneqis amaynut yettwazen
|
||||||
rule:
|
rule:
|
||||||
hint: Isallen-nniḍen
|
hint: Isallen-nniḍen
|
||||||
text: Alugen
|
text: Alugen
|
||||||
tag:
|
tag:
|
||||||
name: Ahacṭag
|
name: Ahacṭag
|
||||||
user:
|
user:
|
||||||
|
role: Tamlilt
|
||||||
time_zone: Tamnaḍt tasragant
|
time_zone: Tamnaḍt tasragant
|
||||||
user_role:
|
user_role:
|
||||||
name: Isem
|
name: Isem
|
||||||
permissions_as_keys: Tisirag
|
permissions_as_keys: Tisirag
|
||||||
|
webhook:
|
||||||
|
events: Tidyanin turmidin
|
||||||
'no': Ala
|
'no': Ala
|
||||||
|
not_recommended: Ur yettuwelleh ara
|
||||||
|
overridden: Yeččur
|
||||||
recommended: Yettuwelleh
|
recommended: Yettuwelleh
|
||||||
required:
|
required:
|
||||||
mark: "*"
|
mark: "*"
|
||||||
|
@ -2,6 +2,12 @@
|
|||||||
ro:
|
ro:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
|
account:
|
||||||
|
discoverable: Este posibil ca postările și profilul tău să fie recomandate în diferite zone ale Mastodon, iar profilul tău ar poate fi sugerat altor utilizatori.
|
||||||
|
fields: Pagina ta principală, pronumele tale, vârsta, sau orice îți dorești.
|
||||||
|
indexable: Postările tale publice pot apărea în rezultatele căutărilor pe Mastodon. Persoanele care au interacționat cu postările tale vor putea să le caute oricând.
|
||||||
|
note: 'Poți @menționa alte persoane sau #hashtag-uri.'
|
||||||
|
unlocked: Alte persoane vă vor putea urmări fără a solicita aprobare. Debifați dacă doriți să revizuiți cererile și să alegeți dacă doriți să acceptați sau să respingeți noii urmăritori.
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Specificați numele de utilizator@domeniu al contului de la care doriți să treceți
|
acct: Specificați numele de utilizator@domeniu al contului de la care doriți să treceți
|
||||||
account_migration:
|
account_migration:
|
||||||
@ -23,12 +29,14 @@ ro:
|
|||||||
text: Poți folosi sintaxa de postare. Te rugăm să fii atent la spațiul pe care anunțul îl va ocupa pe ecranul utilizatorului
|
text: Poți folosi sintaxa de postare. Te rugăm să fii atent la spațiul pe care anunțul îl va ocupa pe ecranul utilizatorului
|
||||||
defaults:
|
defaults:
|
||||||
autofollow: Persoanele care se înregistrează datorită invitației tale te vor urmări automat
|
autofollow: Persoanele care se înregistrează datorită invitației tale te vor urmări automat
|
||||||
|
avatar: WEBP, PNG, GIF sau JPG. Cel mult %{size}. Va fi redimensionată la %{dimensions}px
|
||||||
bot: Acest cont performează în cea mai mare parte acțiuni automate și nu poate fi monitorizat
|
bot: Acest cont performează în cea mai mare parte acțiuni automate și nu poate fi monitorizat
|
||||||
context: Contextele în care filtrul trebuie aplicat
|
context: Contextele în care filtrul trebuie aplicat
|
||||||
current_password: În scopuri de securitate, vă rugăm să introduceţi parola contului curent
|
current_password: În scopuri de securitate, vă rugăm să introduceţi parola contului curent
|
||||||
current_username: Pentru a confirma, vă rugăm să introduceţi numele de utilizator al contului curent
|
current_username: Pentru a confirma, vă rugăm să introduceţi numele de utilizator al contului curent
|
||||||
digest: Este trimis doar după o lungă perioadă de inactivitate și numai dacă primești mesaje personale în perioada de absență
|
digest: Este trimis doar după o lungă perioadă de inactivitate și numai dacă primești mesaje personale în perioada de absență
|
||||||
email: Vei primi un e-mail de confirmare
|
email: Vei primi un e-mail de confirmare
|
||||||
|
header: WEBP, PNG, GIF sau JPG. Cel mult %{size}. Va fi redimensionată la %{dimensions}px
|
||||||
inbox_url: Copiază adresa URL de pe prima pagină a reului pe care vrei să îl utilizezi
|
inbox_url: Copiază adresa URL de pe prima pagină a reului pe care vrei să îl utilizezi
|
||||||
irreversible: Postările sortate vor dispărea ireversibil, chiar dacă filtrul este ulterior șters
|
irreversible: Postările sortate vor dispărea ireversibil, chiar dacă filtrul este ulterior șters
|
||||||
locale: Limba interfaței de utilizator, e-mailurile si notificările push
|
locale: Limba interfaței de utilizator, e-mailurile si notificările push
|
||||||
@ -36,17 +44,27 @@ ro:
|
|||||||
phrase: Vor fi potrivite indiferent de textul din casetă sau advertismentul unei postări
|
phrase: Vor fi potrivite indiferent de textul din casetă sau advertismentul unei postări
|
||||||
scopes: La care API-uri aplicația are nevoie de acces. Dacă selectezi un scop principal nu mai e nevoie să selectezi fiecare sub-scop al acestuia.
|
scopes: La care API-uri aplicația are nevoie de acces. Dacă selectezi un scop principal nu mai e nevoie să selectezi fiecare sub-scop al acestuia.
|
||||||
setting_aggregate_reblogs: Nu afișa impulsurile noi pentru postările care au fost deja recent impulsionate (afectează doar noile impulsuri primite)
|
setting_aggregate_reblogs: Nu afișa impulsurile noi pentru postările care au fost deja recent impulsionate (afectează doar noile impulsuri primite)
|
||||||
|
setting_always_send_emails: În mod normal, notificările prin e-mail nu vor fi trimise când utilizați în mod activ Mastodon
|
||||||
setting_default_sensitive: Fișierele media sensibile sunt ascunse implicit și pot fi dezvăluite cu un clic
|
setting_default_sensitive: Fișierele media sensibile sunt ascunse implicit și pot fi dezvăluite cu un clic
|
||||||
setting_display_media_default: Ascunde conținutul media marcat ca sensibil (NSFW)
|
setting_display_media_default: Ascunde conținutul media marcat ca sensibil (NSFW)
|
||||||
setting_display_media_hide_all: Întotdeauna ascunde tot conținutul media
|
setting_display_media_hide_all: Întotdeauna ascunde tot conținutul media
|
||||||
setting_display_media_show_all: Întotdeauna afișează conținutul media marcat ca sensibil
|
setting_display_media_show_all: Întotdeauna afișează conținutul media marcat ca sensibil
|
||||||
setting_use_blurhash: Gradienții sunt bazați pe culorile vizualelor ascunse, dar ofuscă orice detalii
|
setting_use_blurhash: Gradienții sunt bazați pe culorile vizualelor ascunse, dar ofuscă orice detalii
|
||||||
setting_use_pending_items: Ascunde actualizările cronologice din spatele unui click în loc de a derula automat fluxul
|
setting_use_pending_items: Ascunde actualizările cronologice din spatele unui click în loc de a derula automat fluxul
|
||||||
|
username: Poți folosi litere, numere sau liniuțe de subliniere
|
||||||
whole_word: Când fraza sau cuvântul este doar alfanumeric, acesta se aplică doar dacă există o potrivire completă
|
whole_word: Când fraza sau cuvântul este doar alfanumeric, acesta se aplică doar dacă există o potrivire completă
|
||||||
domain_allow:
|
domain_allow:
|
||||||
domain: Acest domeniu va putea prelua date de pe acest server și datele primite de la el vor fi procesate și stocate
|
domain: Acest domeniu va putea prelua date de pe acest server și datele primite de la el vor fi procesate și stocate
|
||||||
email_domain_block:
|
email_domain_block:
|
||||||
|
domain: Acesta poate fi numele de domeniu care apare în adresa de e-mail sau în înregistrarea MX pe care o utilizează. Acestea vor fi verificate la înscriere.
|
||||||
with_dns_records: Se va face o încercare de a rezolva înregistrările DNS ale domeniului dat și rezultatele vor fi de asemenea afișate pe lista neagră
|
with_dns_records: Se va face o încercare de a rezolva înregistrările DNS ale domeniului dat și rezultatele vor fi de asemenea afișate pe lista neagră
|
||||||
|
featured_tag:
|
||||||
|
name: 'Iată câteva dintre hashtag-urile pe care le-ai folosit cel mai recent:'
|
||||||
|
filters:
|
||||||
|
action: Alege ce acţiune va fi efectuată atunci când o postare corespunde filtrului
|
||||||
|
actions:
|
||||||
|
hide: Ascunde complet conținutul filtrat, ca și cum nu ar exista
|
||||||
|
warn: Ascunde conținutul filtrat în spatele unui avertisment care menționează titlul filtrului
|
||||||
form_challenge:
|
form_challenge:
|
||||||
current_password: Ați intrat într-o zonă securizată
|
current_password: Ați intrat într-o zonă securizată
|
||||||
imports:
|
imports:
|
||||||
|
@ -205,9 +205,11 @@ namespace :api, format: false do
|
|||||||
post :unmute
|
post :unmute
|
||||||
end
|
end
|
||||||
|
|
||||||
resource :pin, only: :create, controller: 'accounts/pins'
|
scope module: :accounts do
|
||||||
post :unpin, to: 'accounts/pins#destroy'
|
resource :pin, only: :create
|
||||||
resource :note, only: :create, controller: 'accounts/notes'
|
post :unpin, to: 'pins#destroy'
|
||||||
|
resource :note, only: :create
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :tags, only: [:show] do
|
resources :tags, only: [:show] do
|
||||||
@ -220,7 +222,7 @@ namespace :api, format: false do
|
|||||||
resources :followed_tags, only: [:index]
|
resources :followed_tags, only: [:index]
|
||||||
|
|
||||||
resources :lists, only: [:index, :create, :show, :update, :destroy] do
|
resources :lists, only: [:index, :create, :show, :update, :destroy] do
|
||||||
resource :accounts, only: [:show, :create, :destroy], controller: 'lists/accounts'
|
resource :accounts, only: [:show, :create, :destroy], module: :lists
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :featured_tags do
|
namespace :featured_tags do
|
||||||
@ -230,7 +232,7 @@ namespace :api, format: false do
|
|||||||
resources :featured_tags, only: [:index, :create, :destroy]
|
resources :featured_tags, only: [:index, :create, :destroy]
|
||||||
|
|
||||||
resources :polls, only: [:create, :show] do
|
resources :polls, only: [:create, :show] do
|
||||||
resources :votes, only: :create, controller: 'polls/votes'
|
resources :votes, only: :create, module: :polls
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :push do
|
namespace :push do
|
||||||
@ -316,8 +318,10 @@ namespace :api, format: false do
|
|||||||
resources :suggestions, only: [:index]
|
resources :suggestions, only: [:index]
|
||||||
resource :instance, only: [:show]
|
resource :instance, only: [:show]
|
||||||
resources :filters, only: [:index, :create, :show, :update, :destroy] do
|
resources :filters, only: [:index, :create, :show, :update, :destroy] do
|
||||||
resources :keywords, only: [:index, :create], controller: 'filters/keywords'
|
scope module: :filters do
|
||||||
resources :statuses, only: [:index, :create], controller: 'filters/statuses'
|
resources :keywords, only: [:index, :create]
|
||||||
|
resources :statuses, only: [:index, :create]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :filters do
|
namespace :filters do
|
||||||
|
@ -34,7 +34,7 @@ RSpec.describe Admin::Disputes::AppealsController do
|
|||||||
|
|
||||||
let(:current_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:current_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
|
||||||
it 'redirects back to the strike page and notifies target account about approved appeal', :sidekiq_inline do
|
it 'redirects back to the strike page and notifies target account about approved appeal', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(response)
|
expect(response)
|
||||||
@ -58,7 +58,7 @@ RSpec.describe Admin::Disputes::AppealsController do
|
|||||||
|
|
||||||
let(:current_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let(:current_user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
|
||||||
it 'redirects back to the strike page and notifies target account about rejected appeal', :sidekiq_inline do
|
it 'redirects back to the strike page and notifies target account about rejected appeal', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(response)
|
expect(response)
|
||||||
|
@ -176,7 +176,7 @@ RSpec.describe Admin::DomainBlocksController do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'PUT #update', :sidekiq_inline do
|
describe 'PUT #update', :inline_jobs do
|
||||||
subject do
|
subject do
|
||||||
post :update, params: { :id => domain_block.id, :domain_block => { domain: 'example.com', severity: new_severity }, 'confirm' => '' }
|
post :update, params: { :id => domain_block.id, :domain_block => { domain: 'example.com', severity: new_severity }, 'confirm' => '' }
|
||||||
end
|
end
|
||||||
|
@ -13,7 +13,7 @@ describe Admin::ResetsController do
|
|||||||
sign_in Fabricate(:user, role: UserRole.find_by(name: 'Admin')), scope: :user
|
sign_in Fabricate(:user, role: UserRole.find_by(name: 'Admin')), scope: :user
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'POST #create', :sidekiq_inline do
|
describe 'POST #create', :inline_jobs do
|
||||||
it 'redirects to admin accounts page' do
|
it 'redirects to admin accounts page' do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ RSpec.describe Auth::SessionsController do
|
|||||||
user.update(current_sign_in_at: 1.month.ago)
|
user.update(current_sign_in_at: 1.month.ago)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'logs the user in and sends suspicious email and redirects home', :sidekiq_inline do
|
it 'logs the user in and sends suspicious email and redirects home', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(response)
|
expect(response)
|
||||||
@ -263,7 +263,7 @@ RSpec.describe Auth::SessionsController do
|
|||||||
travel_to '2023-12-20T10:00:00Z'
|
travel_to '2023-12-20T10:00:00Z'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does not log the user in, sets a flash message, and sends a suspicious sign in email', :sidekiq_inline do
|
it 'does not log the user in, sets a flash message, and sends a suspicious sign in email', :inline_jobs do
|
||||||
emails = capture_emails do
|
emails = capture_emails do
|
||||||
Auth::SessionsController::MAX_2FA_ATTEMPTS_PER_HOUR.times do
|
Auth::SessionsController::MAX_2FA_ATTEMPTS_PER_HOUR.times do
|
||||||
post :create, params: { user: { otp_attempt: '1234' } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
|
post :create, params: { user: { otp_attempt: '1234' } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
|
||||||
|
@ -75,7 +75,7 @@ describe UserTrackingConcern do
|
|||||||
expect(redis.ttl("account:#{user.account_id}:regeneration")).to be >= 0
|
expect(redis.ttl("account:#{user.account_id}:regeneration")).to be >= 0
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'regenerates feed when sign in is older than two weeks', :sidekiq_inline do
|
it 'regenerates feed when sign in is older than two weeks', :inline_jobs do
|
||||||
get :show
|
get :show
|
||||||
|
|
||||||
expect_updated_sign_in_at(user)
|
expect_updated_sign_in_at(user)
|
||||||
|
@ -17,7 +17,7 @@ RSpec.describe Disputes::AppealsController do
|
|||||||
let(:strike) { Fabricate(:account_warning, target_account: current_user.account) }
|
let(:strike) { Fabricate(:account_warning, target_account: current_user.account) }
|
||||||
let(:params) { { strike_id: strike.id, appeal: { text: 'Foo' } } }
|
let(:params) { { strike_id: strike.id, appeal: { text: 'Foo' } } }
|
||||||
|
|
||||||
it 'notifies staff about new appeal and redirects back to strike page', :sidekiq_inline do
|
it 'notifies staff about new appeal and redirects back to strike page', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(emails.size)
|
expect(emails.size)
|
||||||
@ -36,7 +36,7 @@ RSpec.describe Disputes::AppealsController do
|
|||||||
let(:strike) { Fabricate(:account_warning, target_account: current_user.account) }
|
let(:strike) { Fabricate(:account_warning, target_account: current_user.account) }
|
||||||
let(:params) { { strike_id: strike.id, appeal: { text: '' } } }
|
let(:params) { { strike_id: strike.id, appeal: { text: '' } } }
|
||||||
|
|
||||||
it 'does not send email and renders strike show page', :sidekiq_inline do
|
it 'does not send email and renders strike show page', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(emails).to be_empty
|
expect(emails).to be_empty
|
||||||
|
@ -50,7 +50,7 @@ describe Settings::DeletesController do
|
|||||||
delete :destroy, params: { form_delete_confirmation: { password: 'petsmoldoggos' } }
|
delete :destroy, params: { form_delete_confirmation: { password: 'petsmoldoggos' } }
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'removes user record and redirects', :aggregate_failures, :sidekiq_inline do
|
it 'removes user record and redirects', :aggregate_failures, :inline_jobs do
|
||||||
expect(response).to redirect_to '/auth/sign_in'
|
expect(response).to redirect_to '/auth/sign_in'
|
||||||
expect(User.find_by(id: user.id)).to be_nil
|
expect(User.find_by(id: user.id)).to be_nil
|
||||||
expect(user.account.reload).to be_suspended
|
expect(user.account.reload).to be_suspended
|
||||||
|
@ -47,7 +47,7 @@ RSpec.describe ActivityPub::Activity::Delete do
|
|||||||
expect(Status.find_by(id: status.id)).to be_nil
|
expect(Status.find_by(id: status.id)).to be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends delete activity to followers of rebloggers', :sidekiq_inline do
|
it 'sends delete activity to followers of rebloggers', :inline_jobs do
|
||||||
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ RSpec.describe ActivityPub::Activity::Move do
|
|||||||
subject.perform
|
subject.perform
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when all conditions are met', :sidekiq_inline do
|
context 'when all conditions are met', :inline_jobs do
|
||||||
it 'sets moved account on old account' do
|
it 'sets moved account on old account' do
|
||||||
expect(old_account.reload.moved_to_account_id).to eq new_account.id
|
expect(old_account.reload.moved_to_account_id).to eq new_account.id
|
||||||
end
|
end
|
||||||
|
@ -192,6 +192,35 @@ RSpec.describe LinkDetailsExtractor do
|
|||||||
|
|
||||||
include_examples 'structured data'
|
include_examples 'structured data'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with author names as array' do
|
||||||
|
let(:ld_json) do
|
||||||
|
{
|
||||||
|
'@context' => 'https://schema.org',
|
||||||
|
'@type' => 'NewsArticle',
|
||||||
|
'headline' => 'A lot of authors',
|
||||||
|
'description' => 'But we decided to cram them into one',
|
||||||
|
'author' => {
|
||||||
|
'@type' => 'Person',
|
||||||
|
'name' => ['Author 1', 'Author 2'],
|
||||||
|
},
|
||||||
|
}.to_json
|
||||||
|
end
|
||||||
|
let(:html) { <<~HTML }
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<script type="application/ld+json">
|
||||||
|
#{ld_json}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
HTML
|
||||||
|
|
||||||
|
it 'joins author names' do
|
||||||
|
expect(subject.author_name).to eq 'Author 1, Author 2'
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when Open Graph protocol data is present' do
|
context 'when Open Graph protocol data is present' do
|
||||||
|
@ -69,7 +69,7 @@ RSpec.describe Admin::AccountAction do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends email to target account user', :sidekiq_inline do
|
it 'sends email to target account user', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(emails).to contain_exactly(
|
expect(emails).to contain_exactly(
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe CustomEmoji, :paperclip_processing do
|
RSpec.describe CustomEmoji, :attachment_processing do
|
||||||
describe '#search' do
|
describe '#search' do
|
||||||
subject { described_class.search(search_term) }
|
subject { described_class.search(search_term) }
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe MediaAttachment, :paperclip_processing do
|
RSpec.describe MediaAttachment, :attachment_processing do
|
||||||
describe 'local?' do
|
describe 'local?' do
|
||||||
subject { media_attachment.local? }
|
subject { media_attachment.local? }
|
||||||
|
|
||||||
|
@ -284,6 +284,41 @@ RSpec.describe Status do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#ordered_media_attachments' do
|
||||||
|
let(:status) { Fabricate(:status) }
|
||||||
|
|
||||||
|
let(:first_attachment) { Fabricate(:media_attachment) }
|
||||||
|
let(:second_attachment) { Fabricate(:media_attachment) }
|
||||||
|
let(:last_attachment) { Fabricate(:media_attachment) }
|
||||||
|
let(:extra_attachment) { Fabricate(:media_attachment) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
stub_const('Status::MEDIA_ATTACHMENTS_LIMIT', 3)
|
||||||
|
|
||||||
|
# Add attachments out of order
|
||||||
|
status.media_attachments << second_attachment
|
||||||
|
status.media_attachments << last_attachment
|
||||||
|
status.media_attachments << extra_attachment
|
||||||
|
status.media_attachments << first_attachment
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when ordered_media_attachment_ids is not set' do
|
||||||
|
it 'returns up to MEDIA_ATTACHMENTS_LIMIT attachments' do
|
||||||
|
expect(status.ordered_media_attachments.size).to eq Status::MEDIA_ATTACHMENTS_LIMIT
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when ordered_media_attachment_ids is set' do
|
||||||
|
before do
|
||||||
|
status.update!(ordered_media_attachment_ids: [first_attachment.id, second_attachment.id, last_attachment.id, extra_attachment.id])
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns up to MEDIA_ATTACHMENTS_LIMIT attachments in the expected order' do
|
||||||
|
expect(status.ordered_media_attachments).to eq [first_attachment, second_attachment, last_attachment]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '.mutes_map' do
|
describe '.mutes_map' do
|
||||||
subject { described_class.mutes_map([status.conversation.id], account) }
|
subject { described_class.mutes_map([status.conversation.id], account) }
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ RSpec.describe User do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'scopes', :sidekiq_inline do
|
describe 'scopes', :inline_jobs do
|
||||||
describe 'recent' do
|
describe 'recent' do
|
||||||
it 'returns an array of recent users ordered by id' do
|
it 'returns an array of recent users ordered by id' do
|
||||||
first_user = Fabricate(:user)
|
first_user = Fabricate(:user)
|
||||||
@ -507,7 +507,7 @@ RSpec.describe User do
|
|||||||
context 'when user is new' do
|
context 'when user is new' do
|
||||||
let(:confirmed_at) { nil }
|
let(:confirmed_at) { nil }
|
||||||
|
|
||||||
it 'confirms user and delivers welcome email', :sidekiq_inline do
|
it 'confirms user and delivers welcome email', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(user.confirmed_at).to be_present
|
expect(user.confirmed_at).to be_present
|
||||||
|
@ -120,7 +120,7 @@ RSpec.configure do |config|
|
|||||||
end
|
end
|
||||||
|
|
||||||
config.around do |example|
|
config.around do |example|
|
||||||
if example.metadata[:sidekiq_inline] == true
|
if example.metadata[:inline_jobs] == true
|
||||||
Sidekiq::Testing.inline!
|
Sidekiq::Testing.inline!
|
||||||
else
|
else
|
||||||
Sidekiq::Testing.fake!
|
Sidekiq::Testing.fake!
|
||||||
@ -137,7 +137,7 @@ RSpec.configure do |config|
|
|||||||
end
|
end
|
||||||
|
|
||||||
config.before do |example|
|
config.before do |example|
|
||||||
unless example.metadata[:paperclip_processing]
|
unless example.metadata[:attachment_processing]
|
||||||
allow_any_instance_of(Paperclip::Attachment).to receive(:post_process).and_return(true) # rubocop:disable RSpec/AnyInstance
|
allow_any_instance_of(Paperclip::Attachment).to receive(:post_process).and_return(true) # rubocop:disable RSpec/AnyInstance
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -10,7 +10,7 @@ RSpec.describe 'Account actions' do
|
|||||||
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
||||||
|
|
||||||
shared_examples 'a successful notification delivery' do
|
shared_examples 'a successful notification delivery' do
|
||||||
it 'notifies the user about the action taken', :sidekiq_inline do
|
it 'notifies the user about the action taken', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(emails.size)
|
expect(emails.size)
|
||||||
|
@ -10,7 +10,7 @@ RSpec.describe 'API V1 Conversations' do
|
|||||||
|
|
||||||
let(:other) { Fabricate(:user) }
|
let(:other) { Fabricate(:user) }
|
||||||
|
|
||||||
describe 'GET /api/v1/conversations', :sidekiq_inline do
|
describe 'GET /api/v1/conversations', :inline_jobs do
|
||||||
before do
|
before do
|
||||||
user.account.follow!(other.account)
|
user.account.follow!(other.account)
|
||||||
PostStatusService.new.call(other.account, text: 'Hey @alice', visibility: 'direct')
|
PostStatusService.new.call(other.account, text: 'Hey @alice', visibility: 'direct')
|
||||||
|
@ -147,7 +147,7 @@ RSpec.describe 'FeaturedTags' do
|
|||||||
expect(body).to be_empty
|
expect(body).to be_empty
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'deletes the featured tag', :sidekiq_inline do
|
it 'deletes the featured tag', :inline_jobs do
|
||||||
delete "/api/v1/featured_tags/#{id}", headers: headers
|
delete "/api/v1/featured_tags/#{id}", headers: headers
|
||||||
|
|
||||||
featured_tag = FeaturedTag.find_by(id: id)
|
featured_tag = FeaturedTag.find_by(id: id)
|
||||||
|
@ -121,19 +121,19 @@ RSpec.describe 'Media' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with image/jpeg', :paperclip_processing do
|
context 'with image/jpeg', :attachment_processing do
|
||||||
let(:params) { { file: fixture_file_upload('attachment.jpg', 'image/jpeg'), description: 'jpeg image' } }
|
let(:params) { { file: fixture_file_upload('attachment.jpg', 'image/jpeg'), description: 'jpeg image' } }
|
||||||
|
|
||||||
it_behaves_like 'a successful media upload', 'image'
|
it_behaves_like 'a successful media upload', 'image'
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with image/gif', :paperclip_processing do
|
context 'with image/gif', :attachment_processing do
|
||||||
let(:params) { { file: fixture_file_upload('attachment.gif', 'image/gif') } }
|
let(:params) { { file: fixture_file_upload('attachment.gif', 'image/gif') } }
|
||||||
|
|
||||||
it_behaves_like 'a successful media upload', 'image'
|
it_behaves_like 'a successful media upload', 'image'
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with video/webm', :paperclip_processing do
|
context 'with video/webm', :attachment_processing do
|
||||||
let(:params) { { file: fixture_file_upload('attachment.webm', 'video/webm') } }
|
let(:params) { { file: fixture_file_upload('attachment.webm', 'video/webm') } }
|
||||||
|
|
||||||
it_behaves_like 'a successful media upload', 'gifv'
|
it_behaves_like 'a successful media upload', 'gifv'
|
||||||
|
@ -8,7 +8,7 @@ RSpec.describe 'Policies' do
|
|||||||
let(:scopes) { 'read:notifications write:notifications' }
|
let(:scopes) { 'read:notifications write:notifications' }
|
||||||
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
||||||
|
|
||||||
describe 'GET /api/v1/notifications/policy', :sidekiq_inline do
|
describe 'GET /api/v1/notifications/policy', :inline_jobs do
|
||||||
subject do
|
subject do
|
||||||
get '/api/v1/notifications/policy', headers: headers, params: params
|
get '/api/v1/notifications/policy', headers: headers, params: params
|
||||||
end
|
end
|
||||||
|
@ -8,7 +8,7 @@ RSpec.describe 'Requests' do
|
|||||||
let(:scopes) { 'read:notifications write:notifications' }
|
let(:scopes) { 'read:notifications write:notifications' }
|
||||||
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
||||||
|
|
||||||
describe 'GET /api/v1/notifications/requests', :sidekiq_inline do
|
describe 'GET /api/v1/notifications/requests', :inline_jobs do
|
||||||
subject do
|
subject do
|
||||||
get '/api/v1/notifications/requests', headers: headers, params: params
|
get '/api/v1/notifications/requests', headers: headers, params: params
|
||||||
end
|
end
|
||||||
|
@ -8,7 +8,7 @@ RSpec.describe 'Notifications' do
|
|||||||
let(:scopes) { 'read:notifications write:notifications' }
|
let(:scopes) { 'read:notifications write:notifications' }
|
||||||
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
||||||
|
|
||||||
describe 'GET /api/v1/notifications', :sidekiq_inline do
|
describe 'GET /api/v1/notifications', :inline_jobs do
|
||||||
subject do
|
subject do
|
||||||
get '/api/v1/notifications', headers: headers, params: params
|
get '/api/v1/notifications', headers: headers, params: params
|
||||||
end
|
end
|
||||||
|
@ -33,7 +33,7 @@ RSpec.describe 'Reports' do
|
|||||||
|
|
||||||
it_behaves_like 'forbidden for wrong scope', 'read read:reports'
|
it_behaves_like 'forbidden for wrong scope', 'read read:reports'
|
||||||
|
|
||||||
it 'creates a report', :aggregate_failures, :sidekiq_inline do
|
it 'creates a report', :aggregate_failures, :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe 'Favourites', :sidekiq_inline do
|
RSpec.describe 'Favourites', :inline_jobs do
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
let(:scopes) { 'write:favourites' }
|
let(:scopes) { 'write:favourites' }
|
||||||
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
|
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
|
||||||
|
@ -41,7 +41,7 @@ describe 'API V1 Statuses Reblogs' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'POST /api/v1/statuses/:status_id/unreblog', :sidekiq_inline do
|
describe 'POST /api/v1/statuses/:status_id/unreblog', :inline_jobs do
|
||||||
context 'with public status' do
|
context 'with public status' do
|
||||||
let(:status) { Fabricate(:status, account: user.account) }
|
let(:status) { Fabricate(:status, account: user.account) }
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe 'Home', :sidekiq_inline do
|
describe 'Home', :inline_jobs do
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
let(:scopes) { 'read:statuses' }
|
let(:scopes) { 'read:statuses' }
|
||||||
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
|
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe 'Media API', :paperclip_processing do
|
RSpec.describe 'Media API', :attachment_processing do
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
|
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
|
||||||
let(:scopes) { 'write' }
|
let(:scopes) { 'write' }
|
||||||
|
@ -8,7 +8,7 @@ RSpec.describe 'Notifications' do
|
|||||||
let(:scopes) { 'read:notifications write:notifications' }
|
let(:scopes) { 'read:notifications write:notifications' }
|
||||||
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
|
||||||
|
|
||||||
describe 'GET /api/v2_alpha/notifications', :sidekiq_inline do
|
describe 'GET /api/v2_alpha/notifications', :inline_jobs do
|
||||||
subject do
|
subject do
|
||||||
get '/api/v2_alpha/notifications', headers: headers, params: params
|
get '/api/v2_alpha/notifications', headers: headers, params: params
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Account::StatusesSearch, :sidekiq_inline do
|
describe Account::StatusesSearch, :inline_jobs do
|
||||||
describe 'a non-indexable account becoming indexable' do
|
describe 'a non-indexable account becoming indexable' do
|
||||||
let(:account) { Account.find_by(username: 'search_test_account_1') }
|
let(:account) { Account.find_by(username: 'search_test_account_1') }
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with statuses referencing other statuses', :sidekiq_inline do
|
context 'with statuses referencing other statuses', :inline_jobs do
|
||||||
before do
|
before do
|
||||||
stub_const 'ActivityPub::FetchRemoteStatusService::DISCOVERIES_PER_REQUEST', 5
|
stub_const 'ActivityPub::FetchRemoteStatusService::DISCOVERIES_PER_REQUEST', 5
|
||||||
end
|
end
|
||||||
|
@ -224,7 +224,7 @@ RSpec.describe ActivityPub::ProcessAccountService do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'creates accounts without exceeding rate limit', :sidekiq_inline do
|
it 'creates accounts without exceeding rate limit', :inline_jobs do
|
||||||
expect { subject.call('user1', 'foo.test', payload) }
|
expect { subject.call('user1', 'foo.test', payload) }
|
||||||
.to create_some_remote_accounts
|
.to create_some_remote_accounts
|
||||||
.and create_fewer_than_rate_limit_accounts
|
.and create_fewer_than_rate_limit_accounts
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe AppealService, :sidekiq_inline do
|
RSpec.describe AppealService, :inline_jobs do
|
||||||
describe '#call' do
|
describe '#call' do
|
||||||
let!(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
let!(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ RSpec.describe AuthorizeFollowService do
|
|||||||
expect(bob.following?(sender)).to be true
|
expect(bob.following?(sender)).to be true
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends an accept activity', :sidekiq_inline do
|
it 'sends an accept activity', :inline_jobs do
|
||||||
expect(a_request(:post, bob.inbox_url)).to have_been_made.once
|
expect(a_request(:post, bob.inbox_url)).to have_been_made.once
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe BatchedRemoveStatusService, :sidekiq_inline do
|
RSpec.describe BatchedRemoveStatusService, :inline_jobs do
|
||||||
subject { described_class.new }
|
subject { described_class.new }
|
||||||
|
|
||||||
let!(:alice) { Fabricate(:account) }
|
let!(:alice) { Fabricate(:account) }
|
||||||
|
@ -49,7 +49,7 @@ RSpec.describe BlockDomainService do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe 'for a silence with reject media' do
|
describe 'for a silence with reject media' do
|
||||||
it 'does not mark the domain as blocked, but silences accounts with an appropriate silencing date, clears media', :aggregate_failures, :sidekiq_inline do
|
it 'does not mark the domain as blocked, but silences accounts with an appropriate silencing date, clears media', :aggregate_failures, :inline_jobs do
|
||||||
subject.call(DomainBlock.create!(domain: 'evil.org', severity: :silence, reject_media: true))
|
subject.call(DomainBlock.create!(domain: 'evil.org', severity: :silence, reject_media: true))
|
||||||
|
|
||||||
expect(DomainBlock.blocked?('evil.org')).to be false
|
expect(DomainBlock.blocked?('evil.org')).to be false
|
||||||
|
@ -33,7 +33,7 @@ RSpec.describe BlockService do
|
|||||||
expect(sender.blocking?(bob)).to be true
|
expect(sender.blocking?(bob)).to be true
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends a block activity', :sidekiq_inline do
|
it 'sends a block activity', :inline_jobs do
|
||||||
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -62,7 +62,7 @@ RSpec.describe DeleteAccountService do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#call on local account', :sidekiq_inline do
|
describe '#call on local account', :inline_jobs do
|
||||||
before do
|
before do
|
||||||
stub_request(:post, remote_alice.inbox_url).to_return(status: 201)
|
stub_request(:post, remote_alice.inbox_url).to_return(status: 201)
|
||||||
stub_request(:post, remote_bob.inbox_url).to_return(status: 201)
|
stub_request(:post, remote_bob.inbox_url).to_return(status: 201)
|
||||||
@ -83,7 +83,7 @@ RSpec.describe DeleteAccountService do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#call on remote account', :sidekiq_inline do
|
describe '#call on remote account', :inline_jobs do
|
||||||
before do
|
before do
|
||||||
stub_request(:post, account.inbox_url).to_return(status: 201)
|
stub_request(:post, account.inbox_url).to_return(status: 201)
|
||||||
end
|
end
|
||||||
|
@ -38,7 +38,7 @@ RSpec.describe FanOutOnWriteService do
|
|||||||
expect(home_feed_of(alice)).to include status.id
|
expect(home_feed_of(alice)).to include status.id
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'is added to the home feed of a follower', :sidekiq_inline do
|
it 'is added to the home feed of a follower', :inline_jobs do
|
||||||
expect(home_feed_of(bob)).to include status.id
|
expect(home_feed_of(bob)).to include status.id
|
||||||
expect(home_feed_of(tom)).to include status.id
|
expect(home_feed_of(tom)).to include status.id
|
||||||
end
|
end
|
||||||
@ -62,7 +62,7 @@ RSpec.describe FanOutOnWriteService do
|
|||||||
expect(home_feed_of(alice)).to include status.id
|
expect(home_feed_of(alice)).to include status.id
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'is added to the home feed of the mentioned follower', :sidekiq_inline do
|
it 'is added to the home feed of the mentioned follower', :inline_jobs do
|
||||||
expect(home_feed_of(bob)).to include status.id
|
expect(home_feed_of(bob)).to include status.id
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ RSpec.describe FanOutOnWriteService do
|
|||||||
expect(home_feed_of(alice)).to include status.id
|
expect(home_feed_of(alice)).to include status.id
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'is added to the home feed of a follower', :sidekiq_inline do
|
it 'is added to the home feed of a follower', :inline_jobs do
|
||||||
expect(home_feed_of(bob)).to include status.id
|
expect(home_feed_of(bob)).to include status.id
|
||||||
expect(home_feed_of(tom)).to include status.id
|
expect(home_feed_of(tom)).to include status.id
|
||||||
end
|
end
|
||||||
@ -101,7 +101,7 @@ RSpec.describe FanOutOnWriteService do
|
|||||||
expect(home_feed_of(alice)).to include status.id
|
expect(home_feed_of(alice)).to include status.id
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'is added to the home feed of the mentioned follower', :sidekiq_inline do
|
it 'is added to the home feed of the mentioned follower', :inline_jobs do
|
||||||
expect(home_feed_of(bob)).to include status.id
|
expect(home_feed_of(bob)).to include status.id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ RSpec.describe FavouriteService do
|
|||||||
expect(status.favourites.first).to_not be_nil
|
expect(status.favourites.first).to_not be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends a like activity', :sidekiq_inline do
|
it 'sends a like activity', :inline_jobs do
|
||||||
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -150,7 +150,7 @@ RSpec.describe FollowService do
|
|||||||
expect(FollowRequest.find_by(account: sender, target_account: bob)).to_not be_nil
|
expect(FollowRequest.find_by(account: sender, target_account: bob)).to_not be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends a follow activity to the inbox', :sidekiq_inline do
|
it 'sends a follow activity to the inbox', :inline_jobs do
|
||||||
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe ImportService, :sidekiq_inline do
|
RSpec.describe ImportService, :inline_jobs do
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
|
||||||
let!(:account) { Fabricate(:account, locked: false) }
|
let!(:account) { Fabricate(:account, locked: false) }
|
||||||
|
@ -17,7 +17,7 @@ RSpec.describe MuteService do
|
|||||||
redis.del(home_timeline_key)
|
redis.del(home_timeline_key)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "clears account's statuses", :sidekiq_inline do
|
it "clears account's statuses", :inline_jobs do
|
||||||
FeedManager.instance.push_to_home(account, status)
|
FeedManager.instance.push_to_home(account, status)
|
||||||
FeedManager.instance.push_to_home(account, other_account_status)
|
FeedManager.instance.push_to_home(account, other_account_status)
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ RSpec.describe NotifyService do
|
|||||||
context 'when email notification is enabled' do
|
context 'when email notification is enabled' do
|
||||||
let(:enabled) { true }
|
let(:enabled) { true }
|
||||||
|
|
||||||
it 'sends email', :sidekiq_inline do
|
it 'sends email', :inline_jobs do
|
||||||
emails = capture_emails { subject }
|
emails = capture_emails { subject }
|
||||||
|
|
||||||
expect(emails.size)
|
expect(emails.size)
|
||||||
|
@ -41,7 +41,7 @@ RSpec.describe RejectFollowService do
|
|||||||
expect(bob.following?(sender)).to be false
|
expect(bob.following?(sender)).to be false
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends a reject activity', :sidekiq_inline do
|
it 'sends a reject activity', :inline_jobs do
|
||||||
expect(a_request(:post, bob.inbox_url)).to have_been_made.once
|
expect(a_request(:post, bob.inbox_url)).to have_been_made.once
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -33,7 +33,7 @@ RSpec.describe RemoveFromFollowersService do
|
|||||||
expect(bob.followed_by?(sender)).to be false
|
expect(bob.followed_by?(sender)).to be false
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends a reject activity', :sidekiq_inline do
|
it 'sends a reject activity', :inline_jobs do
|
||||||
expect(a_request(:post, sender.inbox_url)).to have_been_made.once
|
expect(a_request(:post, sender.inbox_url)).to have_been_made.once
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe RemoveStatusService, :sidekiq_inline do
|
RSpec.describe RemoveStatusService, :inline_jobs do
|
||||||
subject { described_class.new }
|
subject { described_class.new }
|
||||||
|
|
||||||
let!(:alice) { Fabricate(:account) }
|
let!(:alice) { Fabricate(:account) }
|
||||||
|
@ -23,7 +23,7 @@ RSpec.describe ReportService do
|
|||||||
stub_request(:post, 'http://example.com/inbox').to_return(status: 200)
|
stub_request(:post, 'http://example.com/inbox').to_return(status: 200)
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when forward is true', :sidekiq_inline do
|
context 'when forward is true', :inline_jobs do
|
||||||
let(:forward) { true }
|
let(:forward) { true }
|
||||||
|
|
||||||
it 'sends ActivityPub payload when forward is true' do
|
it 'sends ActivityPub payload when forward is true' do
|
||||||
|
@ -195,7 +195,7 @@ RSpec.describe ResolveAccountService do
|
|||||||
expect(account.uri).to eq 'https://ap.example.com/users/foo'
|
expect(account.uri).to eq 'https://ap.example.com/users/foo'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'merges accounts', :sidekiq_inline do
|
it 'merges accounts', :inline_jobs do
|
||||||
account = subject.call('foo@ap.example.com')
|
account = subject.call('foo@ap.example.com')
|
||||||
|
|
||||||
expect(status.reload.account_id).to eq account.id
|
expect(status.reload.account_id).to eq account.id
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe SuspendAccountService, :sidekiq_inline do
|
RSpec.describe SuspendAccountService, :inline_jobs do
|
||||||
shared_examples 'common behavior' do
|
shared_examples 'common behavior' do
|
||||||
subject { described_class.new.call(account) }
|
subject { described_class.new.call(account) }
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ RSpec.describe UnallowDomainService do
|
|||||||
let!(:already_banned_account) { Fabricate(:account, username: 'badguy', domain: bad_domain, suspended: true, silenced: true) }
|
let!(:already_banned_account) { Fabricate(:account, username: 'badguy', domain: bad_domain, suspended: true, silenced: true) }
|
||||||
let!(:domain_allow) { Fabricate(:domain_allow, domain: bad_domain) }
|
let!(:domain_allow) { Fabricate(:domain_allow, domain: bad_domain) }
|
||||||
|
|
||||||
context 'with limited federation mode', :sidekiq_inline do
|
context 'with limited federation mode', :inline_jobs do
|
||||||
before do
|
before do
|
||||||
allow(Rails.configuration.x).to receive(:limited_federation_mode).and_return(true)
|
allow(Rails.configuration.x).to receive(:limited_federation_mode).and_return(true)
|
||||||
end
|
end
|
||||||
|
@ -33,7 +33,7 @@ RSpec.describe UnblockService do
|
|||||||
expect(sender.blocking?(bob)).to be false
|
expect(sender.blocking?(bob)).to be false
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sends an unblock activity', :sidekiq_inline do
|
it 'sends an unblock activity', :inline_jobs do
|
||||||
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
expect(a_request(:post, 'http://example.com/inbox')).to have_been_made.once
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -20,7 +20,7 @@ RSpec.describe UnfollowService do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'remote ActivityPub', :sidekiq_inline do
|
describe 'remote ActivityPub', :inline_jobs do
|
||||||
let(:bob) { Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
|
let(:bob) { Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
@ -38,7 +38,7 @@ RSpec.describe UnfollowService do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'remote ActivityPub (reverse)', :sidekiq_inline do
|
describe 'remote ActivityPub (reverse)', :inline_jobs do
|
||||||
let(:bob) { Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
|
let(:bob) { Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
@ -45,7 +45,7 @@ RSpec.describe UnsuspendAccountService do
|
|||||||
remote_follower.follow!(account)
|
remote_follower.follow!(account)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'merges back into feeds of local followers and sends update', :sidekiq_inline do
|
it 'merges back into feeds of local followers and sends update', :inline_jobs do
|
||||||
subject
|
subject
|
||||||
|
|
||||||
expect_feeds_merged
|
expect_feeds_merged
|
||||||
|
@ -5,7 +5,7 @@ require 'rails_helper'
|
|||||||
RSpec.describe UpdateAccountService do
|
RSpec.describe UpdateAccountService do
|
||||||
subject { described_class.new }
|
subject { described_class.new }
|
||||||
|
|
||||||
describe 'switching form locked to unlocked accounts', :sidekiq_inline do
|
describe 'switching form locked to unlocked accounts', :inline_jobs do
|
||||||
let(:account) { Fabricate(:account, locked: true) }
|
let(:account) { Fabricate(:account, locked: true) }
|
||||||
let(:alice) { Fabricate(:account) }
|
let(:alice) { Fabricate(:account) }
|
||||||
let(:bob) { Fabricate(:account) }
|
let(:bob) { Fabricate(:account) }
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
shared_examples 'AccountAvatar' do |fabricator|
|
shared_examples 'AccountAvatar' do |fabricator|
|
||||||
describe 'static avatars', :paperclip_processing do
|
describe 'static avatars', :attachment_processing do
|
||||||
describe 'when GIF' do
|
describe 'when GIF' do
|
||||||
it 'creates a png static style' do
|
it 'creates a png static style' do
|
||||||
account = Fabricate(fabricator, avatar: attachment_fixture('avatar.gif'))
|
account = Fabricate(fabricator, avatar: attachment_fixture('avatar.gif'))
|
||||||
@ -17,7 +17,7 @@ shared_examples 'AccountAvatar' do |fabricator|
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'base64-encoded files', :paperclip_processing do
|
describe 'base64-encoded files', :attachment_processing do
|
||||||
let(:base64_attachment) { "data:image/jpeg;base64,#{Base64.encode64(attachment_fixture('attachment.jpg').read)}" }
|
let(:base64_attachment) { "data:image/jpeg;base64,#{Base64.encode64(attachment_fixture('attachment.jpg').read)}" }
|
||||||
let(:account) { Fabricate(fabricator, avatar: base64_attachment) }
|
let(:account) { Fabricate(fabricator, avatar: base64_attachment) }
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
shared_examples 'AccountHeader' do |fabricator|
|
shared_examples 'AccountHeader' do |fabricator|
|
||||||
describe 'base64-encoded files', :paperclip_processing do
|
describe 'base64-encoded files', :attachment_processing do
|
||||||
let(:base64_attachment) { "data:image/jpeg;base64,#{Base64.encode64(attachment_fixture('attachment.jpg').read)}" }
|
let(:base64_attachment) { "data:image/jpeg;base64,#{Base64.encode64(attachment_fixture('attachment.jpg').read)}" }
|
||||||
let(:account) { Fabricate(fabricator, header: base64_attachment) }
|
let(:account) { Fabricate(fabricator, header: base64_attachment) }
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ describe 'Admin::Accounts' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with action of `reject`', :sidekiq_inline do
|
context 'with action of `reject`', :inline_jobs do
|
||||||
it 'rejects and removes the account' do
|
it 'rejects and removes the account' do
|
||||||
batch_checkbox_for(unapproved_user_account).check
|
batch_checkbox_for(unapproved_user_account).check
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe 'NewStatuses', :js, :sidekiq_inline, :streaming do
|
describe 'NewStatuses', :inline_jobs, :js, :streaming do
|
||||||
include ProfileStories
|
include ProfileStories
|
||||||
|
|
||||||
subject { page }
|
subject { page }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe 'OCR', :js, :paperclip_processing, :sidekiq_inline, :streaming do
|
describe 'OCR', :attachment_processing, :inline_jobs, :js, :streaming do
|
||||||
include ProfileStories
|
include ProfileStories
|
||||||
|
|
||||||
let(:email) { 'test@example.com' }
|
let(:email) { 'test@example.com' }
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe 'report interface', :js, :paperclip_processing, :streaming do
|
describe 'report interface', :attachment_processing, :js, :streaming do
|
||||||
include ProfileStories
|
include ProfileStories
|
||||||
|
|
||||||
let(:email) { 'admin@example.com' }
|
let(:email) { 'admin@example.com' }
|
||||||
|
@ -14,7 +14,7 @@ describe BackupWorker do
|
|||||||
let(:backup) { Fabricate(:backup) }
|
let(:backup) { Fabricate(:backup) }
|
||||||
let!(:other_backup) { Fabricate(:backup, user: backup.user) }
|
let!(:other_backup) { Fabricate(:backup, user: backup.user) }
|
||||||
|
|
||||||
it 'sends the backup to the service and removes other backups', :sidekiq_inline do
|
it 'sends the backup to the service and removes other backups', :inline_jobs do
|
||||||
emails = capture_emails { worker.perform(backup.id) }
|
emails = capture_emails { worker.perform(backup.id) }
|
||||||
|
|
||||||
expect(service).to have_received(:call).with(backup)
|
expect(service).to have_received(:call).with(backup)
|
||||||
|
@ -104,7 +104,7 @@ describe MoveWorker do
|
|||||||
end
|
end
|
||||||
|
|
||||||
shared_examples 'lists handling' do
|
shared_examples 'lists handling' do
|
||||||
it 'puts the new account on the list and makes valid lists', :sidekiq_inline do
|
it 'puts the new account on the list and makes valid lists', :inline_jobs do
|
||||||
subject.perform(source_account.id, target_account.id)
|
subject.perform(source_account.id, target_account.id)
|
||||||
|
|
||||||
expect(list.accounts.include?(target_account)).to be true
|
expect(list.accounts.include?(target_account)).to be true
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe PostProcessMediaWorker, :paperclip_processing do
|
describe PostProcessMediaWorker, :attachment_processing do
|
||||||
let(:worker) { described_class.new }
|
let(:worker) { described_class.new }
|
||||||
|
|
||||||
describe '#perform' do
|
describe '#perform' do
|
||||||
|
477
yarn.lock
477
yarn.lock
@ -1558,13 +1558,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/cascade-layer-name-parser@npm:^1.0.12":
|
"@csstools/cascade-layer-name-parser@npm:^1.0.13":
|
||||||
version: 1.0.12
|
version: 1.0.13
|
||||||
resolution: "@csstools/cascade-layer-name-parser@npm:1.0.12"
|
resolution: "@csstools/cascade-layer-name-parser@npm:1.0.13"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@csstools/css-parser-algorithms": ^2.7.0
|
"@csstools/css-parser-algorithms": ^2.7.1
|
||||||
"@csstools/css-tokenizer": ^2.3.2
|
"@csstools/css-tokenizer": ^2.4.1
|
||||||
checksum: 10c0/5f92aefcbb3f4b660cf7b0db54f6a4ba21a32fa1b64ea4f050a6370233152d4f561ecf5c8e98ca231e73c16e0d9f75b20b0a65153e18b14957658c81e0f68213
|
checksum: 10c0/a6412fc8601af1baadc8195934aa668d3476e799891c9d0883390f31ec8678e9b565ac14d919bec633bbc086657ac12aa4cd852c718851a2d34517ee6856ff8e
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1575,52 +1575,52 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/css-calc@npm:^1.2.3":
|
"@csstools/css-calc@npm:^1.2.4":
|
||||||
version: 1.2.3
|
version: 1.2.4
|
||||||
resolution: "@csstools/css-calc@npm:1.2.3"
|
resolution: "@csstools/css-calc@npm:1.2.4"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@csstools/css-parser-algorithms": ^2.7.0
|
"@csstools/css-parser-algorithms": ^2.7.1
|
||||||
"@csstools/css-tokenizer": ^2.3.2
|
"@csstools/css-tokenizer": ^2.4.1
|
||||||
checksum: 10c0/fb34767ea9638b837167bcecaf945bcc0c5e8f0d811067c4e8c7a57bc8f0955f61107b1ed5e017b95c54acacc8088473e5497a9986bee95b37ec92999e792871
|
checksum: 10c0/6233746eb642797b7fbc2cf6e7651e95700b294e78e3c29e8730c3236bb92cf62903efb6e54639e8f877683c40646e137c95e615c4450809b21b61a6192888ca
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/css-color-parser@npm:^2.0.3":
|
"@csstools/css-color-parser@npm:^2.0.4":
|
||||||
version: 2.0.3
|
version: 2.0.4
|
||||||
resolution: "@csstools/css-color-parser@npm:2.0.3"
|
resolution: "@csstools/css-color-parser@npm:2.0.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/color-helpers": "npm:^4.2.1"
|
"@csstools/color-helpers": "npm:^4.2.1"
|
||||||
"@csstools/css-calc": "npm:^1.2.3"
|
"@csstools/css-calc": "npm:^1.2.4"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@csstools/css-parser-algorithms": ^2.7.0
|
"@csstools/css-parser-algorithms": ^2.7.1
|
||||||
"@csstools/css-tokenizer": ^2.3.2
|
"@csstools/css-tokenizer": ^2.4.1
|
||||||
checksum: 10c0/d8860e6b9c65de4f90d4c21e4d66471fd858434cf63af80f812a900371343b753b86a256627e8bd024cb8903a6a0181d2d9c0c65ab5d78cf29d084a761e2adba
|
checksum: 10c0/e009a2f34b6c328daad54262deb86b71c6a7a9a1da1db8ad39cf719641e1a728ed8ddbd23613d519d26deee33b89ba12cb15a6928718c1b3cc5e24ac1ed02f47
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/css-parser-algorithms@npm:^2.6.3, @csstools/css-parser-algorithms@npm:^2.7.0":
|
"@csstools/css-parser-algorithms@npm:^2.6.3, @csstools/css-parser-algorithms@npm:^2.7.1":
|
||||||
version: 2.7.0
|
version: 2.7.1
|
||||||
resolution: "@csstools/css-parser-algorithms@npm:2.7.0"
|
resolution: "@csstools/css-parser-algorithms@npm:2.7.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@csstools/css-tokenizer": ^2.3.2
|
"@csstools/css-tokenizer": ^2.4.1
|
||||||
checksum: 10c0/fb84fefdf37c41d170f81b687bf1ee1847a970e51cc1fe3a320e3eaf225383ae9a3c4eb6208b83357dfe18c5114353d780e0c65f05d86d6435e5a9ad9334c834
|
checksum: 10c0/7d29bef6f5790ddb67d922ad232253bf910e4fa5293f5e4a5ed8b920ae9bd4e8171942df7d8943af23b42fd4e9fb460181394d20c97da9562e6ce98a875e8c47
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/css-tokenizer@npm:^2.3.1, @csstools/css-tokenizer@npm:^2.3.2":
|
"@csstools/css-tokenizer@npm:^2.3.1, @csstools/css-tokenizer@npm:^2.4.1":
|
||||||
version: 2.3.2
|
version: 2.4.1
|
||||||
resolution: "@csstools/css-tokenizer@npm:2.3.2"
|
resolution: "@csstools/css-tokenizer@npm:2.4.1"
|
||||||
checksum: 10c0/f7d0d8b3e9e2dcdc6547a387253a09dbbacaaffb5c8718bcd7f15dddeefdd441b73fc5f9fad3f03fabef3b37ec4b62be7ff79caab366427fa90eaf54cd8fc452
|
checksum: 10c0/fe71cee85ec7372da07083d088b6a704f43e5d3d2d8071c4b8a86fae60408b559a218a43f8625bf2f0be5c7f90c8f3ad20a1aae1921119a1c02b51c310cc2b6b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/media-query-list-parser@npm:^2.1.11, @csstools/media-query-list-parser@npm:^2.1.12":
|
"@csstools/media-query-list-parser@npm:^2.1.11, @csstools/media-query-list-parser@npm:^2.1.13":
|
||||||
version: 2.1.12
|
version: 2.1.13
|
||||||
resolution: "@csstools/media-query-list-parser@npm:2.1.12"
|
resolution: "@csstools/media-query-list-parser@npm:2.1.13"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@csstools/css-parser-algorithms": ^2.7.0
|
"@csstools/css-parser-algorithms": ^2.7.1
|
||||||
"@csstools/css-tokenizer": ^2.3.2
|
"@csstools/css-tokenizer": ^2.4.1
|
||||||
checksum: 10c0/7395cc710d8f54670c1e7a418a88dcf1ae726316272294ec645f6d79a8e931f5d390ba7ed5d0141d29ad7280cd447b8773143dc7676659413de79228130e1a65
|
checksum: 10c0/8bf72342c15581b8f658633436d83c26a214056f6b960ff121b940271f4b1b5b07e9cc3990a73e684fb72319592f0c392408b4f0e08bbe242b2065aa456e2733
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1636,46 +1636,60 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-color-function@npm:^3.0.17":
|
"@csstools/postcss-color-function@npm:^3.0.19":
|
||||||
version: 3.0.17
|
version: 3.0.19
|
||||||
resolution: "@csstools/postcss-color-function@npm:3.0.17"
|
resolution: "@csstools/postcss-color-function@npm:3.0.19"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/6d347fc9fe65cb897c275c129103576e551b74a7c47a1a4dc8160da2fad7752bf51e3cfbff339f86b39c723efac33643168d2dfaac4d3624d072875d18a65a4b
|
checksum: 10c0/067e33d7dfc32b56fe63d4f97464a3eaf27dde720961e44feab6076bd2c172dd4c1bad16aa37a922dcbba470756bd6a13e728d9e71eab6937d48d83873cd1879
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-color-mix-function@npm:^2.0.17":
|
"@csstools/postcss-color-mix-function@npm:^2.0.19":
|
||||||
version: 2.0.17
|
version: 2.0.19
|
||||||
resolution: "@csstools/postcss-color-mix-function@npm:2.0.17"
|
resolution: "@csstools/postcss-color-mix-function@npm:2.0.19"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/ba9a406ebe4caba6709878ee26debb06780be5cbf4e6ab7e902d79ca6e21ec6a8409b9dc0a5ef36fc4bf54bf2bd8f9642b72da8d7939145f99dc40fedd2be9d2
|
checksum: 10c0/e967d93672a065806dc78da0153f8b4f5087f7c3ddfe361eba4942780760d47b317124913c9b0dda7f9bfff1253f77d1b6debd8a6a2aa3a6c80e263101da5e8c
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-exponential-functions@npm:^1.0.8":
|
"@csstools/postcss-content-alt-text@npm:^1.0.0":
|
||||||
version: 1.0.8
|
version: 1.0.0
|
||||||
resolution: "@csstools/postcss-exponential-functions@npm:1.0.8"
|
resolution: "@csstools/postcss-content-alt-text@npm:1.0.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-calc": "npm:^1.2.3"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/6b049801fc1275b34f43ffbb915f447a54cbff7bf48ab0705c3ad1ffde055cb876c4dc24e7a9162cd65e219457328e298a673f6176446493db17cf7af6f90dc0
|
checksum: 10c0/0c2c64857ac652989d00c3d2ba49d0cd1cc245193cba6724d2f5841aa990ee6a07267cfebc6fabde6a6246616df60373006d17c5ea9b904129fbfd826dc10a8d
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@csstools/postcss-exponential-functions@npm:^1.0.9":
|
||||||
|
version: 1.0.9
|
||||||
|
resolution: "@csstools/postcss-exponential-functions@npm:1.0.9"
|
||||||
|
dependencies:
|
||||||
|
"@csstools/css-calc": "npm:^1.2.4"
|
||||||
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.4
|
||||||
|
checksum: 10c0/eaec29ef6ec201786c606176235dced4af1922d5ac56c6b0993ad2e7d87464a32702d9b28cae9a76e8527f741b50cbc31d4c646f45d02dc69d520f241b3e7878
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1691,59 +1705,59 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-gamut-mapping@npm:^1.0.10":
|
"@csstools/postcss-gamut-mapping@npm:^1.0.11":
|
||||||
version: 1.0.10
|
version: 1.0.11
|
||||||
resolution: "@csstools/postcss-gamut-mapping@npm:1.0.10"
|
resolution: "@csstools/postcss-gamut-mapping@npm:1.0.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/6c2dab6a84f81904bed89cb584bd9bc6a904b49a4fa315b17be65c7d68baefe592561ee439660d5602b7481bac3be9a93189dc45404764524495400f34c6b6e6
|
checksum: 10c0/29e755013f1d1de34eb62a931ed410d2830ca3dfc81476cb3c72d9d3260b85a9adedc51aa548550c6e308f3f9640c489e6953db40e9cac9835d0421d5b14ef1f
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-gradients-interpolation-method@npm:^4.0.18":
|
"@csstools/postcss-gradients-interpolation-method@npm:^4.0.20":
|
||||||
version: 4.0.18
|
version: 4.0.20
|
||||||
resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.18"
|
resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.20"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/23c431068ac205392b4953dbce411e208e79e221ba8030c5e23c0b82e8fd53bc3bc4f2cdc47050f5d91a4ac69cb80f4f1853b213aa8072fa60a6cb6ff0621e04
|
checksum: 10c0/6588825a72a1471e2d6036c8cf7dbad2bf05f369d96dbdd68ff5ce7ff91803b8ee1146f5f1bf6f3ab6299944549da872914664c3f9e8ae5a31847f76f0085c74
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-hwb-function@npm:^3.0.16":
|
"@csstools/postcss-hwb-function@npm:^3.0.18":
|
||||||
version: 3.0.16
|
version: 3.0.18
|
||||||
resolution: "@csstools/postcss-hwb-function@npm:3.0.16"
|
resolution: "@csstools/postcss-hwb-function@npm:3.0.18"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/4deca8831a69038aff719a77df92c53578bb28e23cc61dc4ea7b1d912b1b685683a9c6232396c2616948ac2e8488ad1e2009c9c8ed30c493d97ba8ad37b6418d
|
checksum: 10c0/e9d76b0b2f9c54920124ca1804b49e3f5b26e003729418b5ef4b340ff1baa4779da1c02be618888fdbcc2d0747182352efbbd3ffe128e2417928c35c25443789
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-ic-unit@npm:^3.0.6":
|
"@csstools/postcss-ic-unit@npm:^3.0.7":
|
||||||
version: 3.0.6
|
version: 3.0.7
|
||||||
resolution: "@csstools/postcss-ic-unit@npm:3.0.6"
|
resolution: "@csstools/postcss-ic-unit@npm:3.0.7"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
postcss-value-parser: "npm:^4.2.0"
|
postcss-value-parser: "npm:^4.2.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/a4b962327d433419fdcfdcf620ce6a5cf09aa3c93029ad08b035df1e2bc35caae31de49f1d14218de0656fced35c0d2e07e5ff7b8099c29dbfb40395fc283234
|
checksum: 10c0/2add905b75860c64d7174886fecfc76d86e3818f42f003f4bbfc0604cc7f0f31c6dbd1651e6b9512fea876190d80033578ae49e813b64b17c8cf3b1f03d8e146
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1768,17 +1782,17 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-light-dark-function@npm:^1.0.6":
|
"@csstools/postcss-light-dark-function@npm:^1.0.8":
|
||||||
version: 1.0.6
|
version: 1.0.8
|
||||||
resolution: "@csstools/postcss-light-dark-function@npm:1.0.6"
|
resolution: "@csstools/postcss-light-dark-function@npm:1.0.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/6b2c64860d789cd3e3ce875c01259333911f6e32a751a7475604de8022c13abcb578e5cb941b51bd3a2022bee883df3f6b64800c6e3559b06da283d968aeb615
|
checksum: 10c0/78fa6d799d38f14af1b32b534eedbec9478033e1fbc5a4e820f2421e865673d010b69b391546686ceb408ead64d79bb4eba2a4fb1fc9f0de70ff21e3ff8477c6
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1820,42 +1834,42 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-logical-viewport-units@npm:^2.0.10":
|
"@csstools/postcss-logical-viewport-units@npm:^2.0.11":
|
||||||
version: 2.0.10
|
version: 2.0.11
|
||||||
resolution: "@csstools/postcss-logical-viewport-units@npm:2.0.10"
|
resolution: "@csstools/postcss-logical-viewport-units@npm:2.0.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/fe142b11e0e8ccab4667cc5db90b45e67b7d11eaf5c038e91d867e1b18a315ef0859114185aeb48fdc1ce05986be8b644d6157fe9e19da7281f7023c99eb8877
|
checksum: 10c0/20207e9b7fc3ab52df5fcd06fde71fca4fd22bd6bd451cfc2ec6ea69994708b7fc5381e203dc4367293a8de00b1eca7a3ebe89cfa9b933d2f2cb8e3ac4d5aa86
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-media-minmax@npm:^1.1.7":
|
"@csstools/postcss-media-minmax@npm:^1.1.8":
|
||||||
version: 1.1.7
|
version: 1.1.8
|
||||||
resolution: "@csstools/postcss-media-minmax@npm:1.1.7"
|
resolution: "@csstools/postcss-media-minmax@npm:1.1.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-calc": "npm:^1.2.3"
|
"@csstools/css-calc": "npm:^1.2.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/media-query-list-parser": "npm:^2.1.12"
|
"@csstools/media-query-list-parser": "npm:^2.1.13"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/a02943a17b540cbd909b55bbb1f8c9331badc51b613279bbdb7127c9921a5d0675bb41675a3b4d0f15e9586120e5a96d9b9786b63b2c594fbb3a238e860c6ad8
|
checksum: 10c0/7d666905282c7a89387dbce84f3429bad04870e0de264c5b1ce3e6f042b8eb72d585a18b2d7ac5e1a8c7f6785892da3cc7f6ea0b48069b06e9d383bdbc149b4a
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^2.0.10":
|
"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^2.0.11":
|
||||||
version: 2.0.10
|
version: 2.0.11
|
||||||
resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:2.0.10"
|
resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:2.0.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/media-query-list-parser": "npm:^2.1.12"
|
"@csstools/media-query-list-parser": "npm:^2.1.13"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/d7879e72df98d9fe2e5d85a64837e7a73c2df1aea8659d65516f0acb070317edd353531882f0bdfd81510703d1da30d6da861052a0bda85fde1f9eab94b1e467
|
checksum: 10c0/b4023a1951b7661196332852ce714a4e2fb4f1a67164ec0944e28a009b389e59c67e9de790920fcd082b122276414dd39c12ae12a4566e59e1bbcc794560a870
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1882,44 +1896,44 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-oklab-function@npm:^3.0.17":
|
"@csstools/postcss-oklab-function@npm:^3.0.19":
|
||||||
version: 3.0.17
|
version: 3.0.19
|
||||||
resolution: "@csstools/postcss-oklab-function@npm:3.0.17"
|
resolution: "@csstools/postcss-oklab-function@npm:3.0.19"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/ff27a4b6fd8490439aa0f3c91ffa2a42a8cf539d7306d9329cef7ca59f28317cee40253f402d19a18c196471fd39a05842d2974d92f1b131dc748074d91ac4ee
|
checksum: 10c0/2909f76ba408c9f60b61c479994c96200b0e1d3dbf524d5ae6dc5ca1e21d38caf974595e0d071c3900dbe3568376928085dd811aa24ea3e715bcd9de26fb0fa9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-progressive-custom-properties@npm:^3.2.0":
|
"@csstools/postcss-progressive-custom-properties@npm:^3.3.0":
|
||||||
version: 3.2.0
|
version: 3.3.0
|
||||||
resolution: "@csstools/postcss-progressive-custom-properties@npm:3.2.0"
|
resolution: "@csstools/postcss-progressive-custom-properties@npm:3.3.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
postcss-value-parser: "npm:^4.2.0"
|
postcss-value-parser: "npm:^4.2.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/829880844fbbeef1c67e0b380057e574659b4caed38c8414c17d7eb4a0cc727afa1cd74a889bc7ca79c819ecae757810356706901cf6bb677a36ca123915cbb7
|
checksum: 10c0/6c9987d65049a70b5090dcfe42fde9ab2b3cb88911a81bb6651ed81c8baf99502ff2cbec0cb3e022426fa994b558b4bf33fd791ccdcdf683dde75b4865d34f39
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-relative-color-syntax@npm:^2.0.17":
|
"@csstools/postcss-relative-color-syntax@npm:^2.0.19":
|
||||||
version: 2.0.17
|
version: 2.0.19
|
||||||
resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.17"
|
resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.19"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/46226351b3825323e3496dcee44ff354cd3ccc9241d837659e1311f428f0b4dc878d9bb762cbb8f63243b7af346728ab7a46c311f9dc38bb609147523c698eab
|
checksum: 10c0/f0aff764f4889ff664b6fa94ddfa5a22daf39354aa2d2ac0eab893eb3ed841b7d2a72131393334d6a5379445fc80f92ab5bd63d4dc3b43746bc7c9055da46591
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1934,16 +1948,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-stepped-value-functions@npm:^3.0.9":
|
"@csstools/postcss-stepped-value-functions@npm:^3.0.10":
|
||||||
version: 3.0.9
|
version: 3.0.10
|
||||||
resolution: "@csstools/postcss-stepped-value-functions@npm:3.0.9"
|
resolution: "@csstools/postcss-stepped-value-functions@npm:3.0.10"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-calc": "npm:^1.2.3"
|
"@csstools/css-calc": "npm:^1.2.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/bafe80947abc8613903f1f3f1939ece9780696774f15960aef229733e40e483dc2830145426d49c4f6d0b1dabb35f812c8a2dda0d0dcddc930321e36b5c6ca0b
|
checksum: 10c0/f9ebe50fb884d002aa40070196a827816f635b891fd2147ae5ddf1ad6df5bddbb50783d6786897bb3dffa33052565e38289392040cf4454aaa179ab00353117d
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1959,16 +1973,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-trigonometric-functions@npm:^3.0.9":
|
"@csstools/postcss-trigonometric-functions@npm:^3.0.10":
|
||||||
version: 3.0.9
|
version: 3.0.10
|
||||||
resolution: "@csstools/postcss-trigonometric-functions@npm:3.0.9"
|
resolution: "@csstools/postcss-trigonometric-functions@npm:3.0.10"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-calc": "npm:^1.2.3"
|
"@csstools/css-calc": "npm:^1.2.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/7a439d31a63d35986dab634d9e415f7ce7c32a2d3d382052b5b730a259a12e44c5f1b14e318d79086253e3d5d4f7d942d0e7317d92eb3421dd08824eebec45fb
|
checksum: 10c0/31adcc66510d9788ccb0669d2761517a6135b13692007d8e4334bc0e8d3515dfecfbdcd04e060d0c09a0f5fc2f12db92221b9d53e92b65b044c89cde9a3424cb
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -3360,8 +3374,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@testing-library/dom@npm:^10.2.0":
|
"@testing-library/dom@npm:^10.2.0":
|
||||||
version: 10.2.0
|
version: 10.3.1
|
||||||
resolution: "@testing-library/dom@npm:10.2.0"
|
resolution: "@testing-library/dom@npm:10.3.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame": "npm:^7.10.4"
|
"@babel/code-frame": "npm:^7.10.4"
|
||||||
"@babel/runtime": "npm:^7.12.5"
|
"@babel/runtime": "npm:^7.12.5"
|
||||||
@ -3371,7 +3385,7 @@ __metadata:
|
|||||||
dom-accessibility-api: "npm:^0.5.9"
|
dom-accessibility-api: "npm:^0.5.9"
|
||||||
lz-string: "npm:^1.5.0"
|
lz-string: "npm:^1.5.0"
|
||||||
pretty-format: "npm:^27.0.2"
|
pretty-format: "npm:^27.0.2"
|
||||||
checksum: 10c0/de582dfbeb632436547a0ca5851b5a714a4a17f8e96ab3dc4fb4e454eef52c912b648b7cb6e9fdf477f3eeef97e698f3250f0ce50846f39d04677a44169209f2
|
checksum: 10c0/e898475cd4932225c2962bf9f94353d7d88462c8912881af8e9866cee714c967b21badb0895ec8626123759cddc6663bc40300b1d1bf789957a603086eda6329
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -6736,10 +6750,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"cssdb@npm:^8.0.0":
|
"cssdb@npm:^8.1.0":
|
||||||
version: 8.0.0
|
version: 8.1.0
|
||||||
resolution: "cssdb@npm:8.0.0"
|
resolution: "cssdb@npm:8.1.0"
|
||||||
checksum: 10c0/d9a31b760214624352000b16a8f7194c357f66b6c445e663ab58dd03b6f0f53efaaca6d6f96200d666e205894d2d1c346664ad993d9522ff9fc1c331804a8d62
|
checksum: 10c0/1fa1f1566c7e9964f5c71e443583eaba16a90933a3ef6803815c4281d084b75da948c415bade33d7085894fe0929c082fcb3135bf4400048cfff40d227ebd5dd
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -9019,8 +9033,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"glob@npm:^10.2.2, glob@npm:^10.2.6, glob@npm:^10.3.10":
|
"glob@npm:^10.2.2, glob@npm:^10.2.6, glob@npm:^10.3.10":
|
||||||
version: 10.4.2
|
version: 10.4.3
|
||||||
resolution: "glob@npm:10.4.2"
|
resolution: "glob@npm:10.4.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
foreground-child: "npm:^3.1.0"
|
foreground-child: "npm:^3.1.0"
|
||||||
jackspeak: "npm:^3.1.2"
|
jackspeak: "npm:^3.1.2"
|
||||||
@ -9030,7 +9044,7 @@ __metadata:
|
|||||||
path-scurry: "npm:^1.11.1"
|
path-scurry: "npm:^1.11.1"
|
||||||
bin:
|
bin:
|
||||||
glob: dist/esm/bin.mjs
|
glob: dist/esm/bin.mjs
|
||||||
checksum: 10c0/2c7296695fa75a935f3ad17dc62e4e170a8bb8752cf64d328be8992dd6ad40777939003754e10e9741ff8fbe43aa52fba32d6930d0ffa0e3b74bc3fb5eebaa2f
|
checksum: 10c0/bea148e5dae96c17e2764f4764c72376a6ab7072b27a21e861ae4af6f97f3e810d79d67f64de52f63ce1d7fdb73b7306f61c65b48d0f61ca7c8647ce8acaf9a7
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -13310,18 +13324,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-color-functional-notation@npm:^6.0.12":
|
"postcss-color-functional-notation@npm:^6.0.14":
|
||||||
version: 6.0.12
|
version: 6.0.14
|
||||||
resolution: "postcss-color-functional-notation@npm:6.0.12"
|
resolution: "postcss-color-functional-notation@npm:6.0.14"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/2e8faecd2609e1b4eb8c1cab21ecca5e746916795df20e6997d66eb61c29fbb01d3e75fef3e0b3e1c181918a2186570441b81779b1fc429d6d8823fbfa164231
|
checksum: 10c0/fdc5188e19c3923da32fe08d50e55d0b3ca1cedf99f46331baa0a4bbd73a1fc6b4447b0346ab16049032b56ab84b98b4758a0ede7c237637e35a4cc60caac141
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -13375,46 +13389,46 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-custom-media@npm:^10.0.7":
|
"postcss-custom-media@npm:^10.0.8":
|
||||||
version: 10.0.7
|
version: 10.0.8
|
||||||
resolution: "postcss-custom-media@npm:10.0.7"
|
resolution: "postcss-custom-media@npm:10.0.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/cascade-layer-name-parser": "npm:^1.0.12"
|
"@csstools/cascade-layer-name-parser": "npm:^1.0.13"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/media-query-list-parser": "npm:^2.1.12"
|
"@csstools/media-query-list-parser": "npm:^2.1.13"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/4171385ab9370806861dcf7597e53fd6aa1862e77b475c9c565c95bfcc2b950f920f8da26a6dbec42e257388bca97c274635662b5e81fe3905b5e37babe06569
|
checksum: 10c0/673ca0058a2f2357a83b33ce00bbeee7cda92621c08472fa55d7ac7ae56f5f8f979132528d537f2dedf715d35a8f9b14b2f0ab6b45423d49e2554c19aab3c827
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-custom-properties@npm:^13.3.11":
|
"postcss-custom-properties@npm:^13.3.12":
|
||||||
version: 13.3.11
|
version: 13.3.12
|
||||||
resolution: "postcss-custom-properties@npm:13.3.11"
|
resolution: "postcss-custom-properties@npm:13.3.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/cascade-layer-name-parser": "npm:^1.0.12"
|
"@csstools/cascade-layer-name-parser": "npm:^1.0.13"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
postcss-value-parser: "npm:^4.2.0"
|
postcss-value-parser: "npm:^4.2.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/4aa95628aa5d5b6df4dfeedbc3891b9666db88d75930cadc14d2fbba0a1b72f4e3cc3d83b5a0c0b8ce44f85b4fda6ebd7fe7792a1abc0a14d7d63b9f170d299c
|
checksum: 10c0/6af9f6ac94a6ac887749cd38d4586349f6aca29269ebfdb837019a3ba0130032f0ff4899b431b5c348f4ac79a7b16fb7300a256514a6a68e32a63489c18a70e7
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-custom-selectors@npm:^7.1.11":
|
"postcss-custom-selectors@npm:^7.1.12":
|
||||||
version: 7.1.11
|
version: 7.1.12
|
||||||
resolution: "postcss-custom-selectors@npm:7.1.11"
|
resolution: "postcss-custom-selectors@npm:7.1.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/cascade-layer-name-parser": "npm:^1.0.12"
|
"@csstools/cascade-layer-name-parser": "npm:^1.0.13"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
postcss-selector-parser: "npm:^6.1.0"
|
postcss-selector-parser: "npm:^6.1.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/f37d2e34239e868b35b7970ec97a7a8f657a9f92ed2b221af44f19949f7c3aedcecd0abb5fa1acb120c5ceffdf7a20869338956a37d7bfc37a83d8088f5d3dd2
|
checksum: 10c0/78a7930e4f97c42b544f00c06272264432d47f9df777684b57673bb971b7ab49d5d6fb9289a5a869125e7e50dcd0cad65cf8846501253084b73a42ffab41b2c5
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -13467,16 +13481,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-double-position-gradients@npm:^5.0.6":
|
"postcss-double-position-gradients@npm:^5.0.7":
|
||||||
version: 5.0.6
|
version: 5.0.7
|
||||||
resolution: "postcss-double-position-gradients@npm:5.0.6"
|
resolution: "postcss-double-position-gradients@npm:5.0.7"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
postcss-value-parser: "npm:^4.2.0"
|
postcss-value-parser: "npm:^4.2.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/9b24b13043fe506c0ddd94e707fe4f21f4f9a6c05ca49a4f45e23412951fd6a4cfa0095002d10b322ca8be60df0badae3715a27eefdeb7bf8da4fdd1ecd5d7a2
|
checksum: 10c0/52d96a34aa3e2e251edeaa2d4c2dd106c687f7910ec18266693656c0edd003384b927c855cecac07f52b5c7bdccd140abdc7e27082ce4c3755e3a966206a2cb9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -13532,18 +13546,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-lab-function@npm:^6.0.17":
|
"postcss-lab-function@npm:^6.0.19":
|
||||||
version: 6.0.17
|
version: 6.0.19
|
||||||
resolution: "postcss-lab-function@npm:6.0.17"
|
resolution: "postcss-lab-function@npm:6.0.19"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/css-color-parser": "npm:^2.0.3"
|
"@csstools/css-color-parser": "npm:^2.0.4"
|
||||||
"@csstools/css-parser-algorithms": "npm:^2.7.0"
|
"@csstools/css-parser-algorithms": "npm:^2.7.1"
|
||||||
"@csstools/css-tokenizer": "npm:^2.3.2"
|
"@csstools/css-tokenizer": "npm:^2.4.1"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/utilities": "npm:^1.0.0"
|
"@csstools/utilities": "npm:^1.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/a331f188b02cc8beb315150232b6b58bc5793e8d61585973d352a9b4d370b908ff354ccf9ea1ba20a956fd37ea4ada918ea975c8d4f69e850d26edf0106436e8
|
checksum: 10c0/d9a91fb57dcbe967260df86e22ca335a5444f1f34d128fa7b5dbf2522772f2138ad708f1f20f0a59035d66ed736e82972ca7f1b669a157534a17ee8898af1921
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -13864,60 +13878,61 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-preset-env@npm:^9.5.2":
|
"postcss-preset-env@npm:^9.5.2":
|
||||||
version: 9.5.15
|
version: 9.6.0
|
||||||
resolution: "postcss-preset-env@npm:9.5.15"
|
resolution: "postcss-preset-env@npm:9.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/postcss-cascade-layers": "npm:^4.0.6"
|
"@csstools/postcss-cascade-layers": "npm:^4.0.6"
|
||||||
"@csstools/postcss-color-function": "npm:^3.0.17"
|
"@csstools/postcss-color-function": "npm:^3.0.19"
|
||||||
"@csstools/postcss-color-mix-function": "npm:^2.0.17"
|
"@csstools/postcss-color-mix-function": "npm:^2.0.19"
|
||||||
"@csstools/postcss-exponential-functions": "npm:^1.0.8"
|
"@csstools/postcss-content-alt-text": "npm:^1.0.0"
|
||||||
|
"@csstools/postcss-exponential-functions": "npm:^1.0.9"
|
||||||
"@csstools/postcss-font-format-keywords": "npm:^3.0.2"
|
"@csstools/postcss-font-format-keywords": "npm:^3.0.2"
|
||||||
"@csstools/postcss-gamut-mapping": "npm:^1.0.10"
|
"@csstools/postcss-gamut-mapping": "npm:^1.0.11"
|
||||||
"@csstools/postcss-gradients-interpolation-method": "npm:^4.0.18"
|
"@csstools/postcss-gradients-interpolation-method": "npm:^4.0.20"
|
||||||
"@csstools/postcss-hwb-function": "npm:^3.0.16"
|
"@csstools/postcss-hwb-function": "npm:^3.0.18"
|
||||||
"@csstools/postcss-ic-unit": "npm:^3.0.6"
|
"@csstools/postcss-ic-unit": "npm:^3.0.7"
|
||||||
"@csstools/postcss-initial": "npm:^1.0.1"
|
"@csstools/postcss-initial": "npm:^1.0.1"
|
||||||
"@csstools/postcss-is-pseudo-class": "npm:^4.0.8"
|
"@csstools/postcss-is-pseudo-class": "npm:^4.0.8"
|
||||||
"@csstools/postcss-light-dark-function": "npm:^1.0.6"
|
"@csstools/postcss-light-dark-function": "npm:^1.0.8"
|
||||||
"@csstools/postcss-logical-float-and-clear": "npm:^2.0.1"
|
"@csstools/postcss-logical-float-and-clear": "npm:^2.0.1"
|
||||||
"@csstools/postcss-logical-overflow": "npm:^1.0.1"
|
"@csstools/postcss-logical-overflow": "npm:^1.0.1"
|
||||||
"@csstools/postcss-logical-overscroll-behavior": "npm:^1.0.1"
|
"@csstools/postcss-logical-overscroll-behavior": "npm:^1.0.1"
|
||||||
"@csstools/postcss-logical-resize": "npm:^2.0.1"
|
"@csstools/postcss-logical-resize": "npm:^2.0.1"
|
||||||
"@csstools/postcss-logical-viewport-units": "npm:^2.0.10"
|
"@csstools/postcss-logical-viewport-units": "npm:^2.0.11"
|
||||||
"@csstools/postcss-media-minmax": "npm:^1.1.7"
|
"@csstools/postcss-media-minmax": "npm:^1.1.8"
|
||||||
"@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^2.0.10"
|
"@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^2.0.11"
|
||||||
"@csstools/postcss-nested-calc": "npm:^3.0.2"
|
"@csstools/postcss-nested-calc": "npm:^3.0.2"
|
||||||
"@csstools/postcss-normalize-display-values": "npm:^3.0.2"
|
"@csstools/postcss-normalize-display-values": "npm:^3.0.2"
|
||||||
"@csstools/postcss-oklab-function": "npm:^3.0.17"
|
"@csstools/postcss-oklab-function": "npm:^3.0.19"
|
||||||
"@csstools/postcss-progressive-custom-properties": "npm:^3.2.0"
|
"@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
|
||||||
"@csstools/postcss-relative-color-syntax": "npm:^2.0.17"
|
"@csstools/postcss-relative-color-syntax": "npm:^2.0.19"
|
||||||
"@csstools/postcss-scope-pseudo-class": "npm:^3.0.1"
|
"@csstools/postcss-scope-pseudo-class": "npm:^3.0.1"
|
||||||
"@csstools/postcss-stepped-value-functions": "npm:^3.0.9"
|
"@csstools/postcss-stepped-value-functions": "npm:^3.0.10"
|
||||||
"@csstools/postcss-text-decoration-shorthand": "npm:^3.0.7"
|
"@csstools/postcss-text-decoration-shorthand": "npm:^3.0.7"
|
||||||
"@csstools/postcss-trigonometric-functions": "npm:^3.0.9"
|
"@csstools/postcss-trigonometric-functions": "npm:^3.0.10"
|
||||||
"@csstools/postcss-unset-value": "npm:^3.0.1"
|
"@csstools/postcss-unset-value": "npm:^3.0.1"
|
||||||
autoprefixer: "npm:^10.4.19"
|
autoprefixer: "npm:^10.4.19"
|
||||||
browserslist: "npm:^4.23.1"
|
browserslist: "npm:^4.23.1"
|
||||||
css-blank-pseudo: "npm:^6.0.2"
|
css-blank-pseudo: "npm:^6.0.2"
|
||||||
css-has-pseudo: "npm:^6.0.5"
|
css-has-pseudo: "npm:^6.0.5"
|
||||||
css-prefers-color-scheme: "npm:^9.0.1"
|
css-prefers-color-scheme: "npm:^9.0.1"
|
||||||
cssdb: "npm:^8.0.0"
|
cssdb: "npm:^8.1.0"
|
||||||
postcss-attribute-case-insensitive: "npm:^6.0.3"
|
postcss-attribute-case-insensitive: "npm:^6.0.3"
|
||||||
postcss-clamp: "npm:^4.1.0"
|
postcss-clamp: "npm:^4.1.0"
|
||||||
postcss-color-functional-notation: "npm:^6.0.12"
|
postcss-color-functional-notation: "npm:^6.0.14"
|
||||||
postcss-color-hex-alpha: "npm:^9.0.4"
|
postcss-color-hex-alpha: "npm:^9.0.4"
|
||||||
postcss-color-rebeccapurple: "npm:^9.0.3"
|
postcss-color-rebeccapurple: "npm:^9.0.3"
|
||||||
postcss-custom-media: "npm:^10.0.7"
|
postcss-custom-media: "npm:^10.0.8"
|
||||||
postcss-custom-properties: "npm:^13.3.11"
|
postcss-custom-properties: "npm:^13.3.12"
|
||||||
postcss-custom-selectors: "npm:^7.1.11"
|
postcss-custom-selectors: "npm:^7.1.12"
|
||||||
postcss-dir-pseudo-class: "npm:^8.0.1"
|
postcss-dir-pseudo-class: "npm:^8.0.1"
|
||||||
postcss-double-position-gradients: "npm:^5.0.6"
|
postcss-double-position-gradients: "npm:^5.0.7"
|
||||||
postcss-focus-visible: "npm:^9.0.1"
|
postcss-focus-visible: "npm:^9.0.1"
|
||||||
postcss-focus-within: "npm:^8.0.1"
|
postcss-focus-within: "npm:^8.0.1"
|
||||||
postcss-font-variant: "npm:^5.0.0"
|
postcss-font-variant: "npm:^5.0.0"
|
||||||
postcss-gap-properties: "npm:^5.0.1"
|
postcss-gap-properties: "npm:^5.0.1"
|
||||||
postcss-image-set-function: "npm:^6.0.3"
|
postcss-image-set-function: "npm:^6.0.3"
|
||||||
postcss-lab-function: "npm:^6.0.17"
|
postcss-lab-function: "npm:^6.0.19"
|
||||||
postcss-logical: "npm:^7.0.1"
|
postcss-logical: "npm:^7.0.1"
|
||||||
postcss-nesting: "npm:^12.1.5"
|
postcss-nesting: "npm:^12.1.5"
|
||||||
postcss-opacity-percentage: "npm:^2.0.0"
|
postcss-opacity-percentage: "npm:^2.0.0"
|
||||||
@ -13929,7 +13944,7 @@ __metadata:
|
|||||||
postcss-selector-not: "npm:^7.0.2"
|
postcss-selector-not: "npm:^7.0.2"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/e2ee0b5d7dbaddb82ff6d51b5882120862d6be184973ae3d55642923183ab441d421d5f9810fe02e680a70dbc85b20b1c2eb02c68f167dcaf3ef80a71dd40e78
|
checksum: 10c0/caa91ba4d3b897d43ab2669b3edf40b24ef32c88e23b113be8956412e64b28deed6ba229c331848fcbc0d143bfde155173fb1e1ada9ccae5037b2ee8f7e554b7
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -17299,22 +17314,22 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"typescript@npm:5, typescript@npm:^5.0.4":
|
"typescript@npm:5, typescript@npm:^5.0.4":
|
||||||
version: 5.5.2
|
version: 5.5.3
|
||||||
resolution: "typescript@npm:5.5.2"
|
resolution: "typescript@npm:5.5.3"
|
||||||
bin:
|
bin:
|
||||||
tsc: bin/tsc
|
tsc: bin/tsc
|
||||||
tsserver: bin/tsserver
|
tsserver: bin/tsserver
|
||||||
checksum: 10c0/8ca39b27b5f9bd7f32db795045933ab5247897660627251e8254180b792a395bf061ea7231947d5d7ffa5cb4cc771970fd4ef543275f9b559f08c9325cccfce3
|
checksum: 10c0/f52c71ccbc7080b034b9d3b72051d563601a4815bf3e39ded188e6ce60813f75dbedf11ad15dd4d32a12996a9ed8c7155b46c93a9b9c9bad1049766fe614bbdd
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"typescript@patch:typescript@npm%3A5#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.0.4#optional!builtin<compat/typescript>":
|
"typescript@patch:typescript@npm%3A5#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.0.4#optional!builtin<compat/typescript>":
|
||||||
version: 5.5.2
|
version: 5.5.3
|
||||||
resolution: "typescript@patch:typescript@npm%3A5.5.2#optional!builtin<compat/typescript>::version=5.5.2&hash=379a07"
|
resolution: "typescript@patch:typescript@npm%3A5.5.3#optional!builtin<compat/typescript>::version=5.5.3&hash=379a07"
|
||||||
bin:
|
bin:
|
||||||
tsc: bin/tsc
|
tsc: bin/tsc
|
||||||
tsserver: bin/tsserver
|
tsserver: bin/tsserver
|
||||||
checksum: 10c0/a7b7ede75dc7fc32a76d0d0af6b91f5fbd8620890d84c906f663d8783bf3de6d7bd50f0430b8bb55eac88a38934af847ff709e7156e5138b95ae94cbd5f73e5b
|
checksum: 10c0/911c7811d61f57f07df79c4a35f56a0f426a65426a020e5fcd792f66559f399017205f5f10255329ab5a3d8c2d1f1d19530aeceffda70758a521fae1d469432e
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user