From a8ee67caceb645b83a0857a88009c7b9b1a6e408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8A=E3=81=95=E3=82=80=E3=81=AE=E3=81=B2=E3=81=A8?= <46447427+samunohito@users.noreply.github.com> Date: Fri, 27 Oct 2023 18:34:02 +0900 Subject: [PATCH 01/56] =?UTF-8?q?Fix:=20=E3=83=81=E3=83=A3=E3=83=B3?= =?UTF-8?q?=E3=83=8D=E3=83=AB=E3=81=AE=E3=83=95=E3=82=A9=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=83=BB=E3=82=A2=E3=83=B3=E3=83=95=E3=82=A9=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=81=AE=E5=8F=8D=E6=98=A0=E9=80=9F=E5=BA=A6=E3=82=92=E6=94=B9?= =?UTF-8?q?=E5=96=84=20(#12149)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * チャンネルのフォロー・アンフォローの反映速度を改善 * fix lint * userFollowingChannelsCacheの場所をCacheServiceからChannelFollowingServiceに移動 --------- Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com> --- CHANGELOG.md | 1 + packages/backend/src/core/CacheService.ts | 15 +-- .../src/core/ChannelFollowingService.ts | 104 ++++++++++++++++++ packages/backend/src/core/CoreModule.ts | 6 + .../server/api/StreamingApiServerService.ts | 3 + .../server/api/endpoints/channels/follow.ts | 16 +-- .../server/api/endpoints/channels/unfollow.ts | 12 +- .../src/server/api/stream/Connection.ts | 4 +- 8 files changed, 127 insertions(+), 34 deletions(-) create mode 100644 packages/backend/src/core/ChannelFollowingService.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 17874bba2..9a1b2bc96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - Fix: 自分のフォローしているユーザーの自分のフォローしていないユーザーの visibility: followers な投稿への返信がストリーミングで流れてくる問題を修正 - Fix: RedisへのTLキャッシュが有効の場合にHTL/LTL/STLが空になることがある問題を修正 - Fix: STLでフォローしていないチャンネルが取得される問題を修正 +- Fix: フォローしているチャンネルをフォロー解除した時(またはその逆)、タイムラインに反映される間隔を改善 ## 2023.10.2 diff --git a/packages/backend/src/core/CacheService.ts b/packages/backend/src/core/CacheService.ts index 22c510cc3..e1413342b 100644 --- a/packages/backend/src/core/CacheService.ts +++ b/packages/backend/src/core/CacheService.ts @@ -5,7 +5,7 @@ import { Inject, Injectable } from '@nestjs/common'; import * as Redis from 'ioredis'; -import type { BlockingsRepository, ChannelFollowingsRepository, FollowingsRepository, MutingsRepository, RenoteMutingsRepository, MiUserProfile, UserProfilesRepository, UsersRepository, MiFollowing } from '@/models/_.js'; +import type { BlockingsRepository, FollowingsRepository, MutingsRepository, RenoteMutingsRepository, MiUserProfile, UserProfilesRepository, UsersRepository, MiFollowing } from '@/models/_.js'; import { MemoryKVCache, RedisKVCache } from '@/misc/cache.js'; import type { MiLocalUser, MiUser } from '@/models/User.js'; import { DI } from '@/di-symbols.js'; @@ -26,7 +26,6 @@ export class CacheService implements OnApplicationShutdown { public userBlockedCache: RedisKVCache>; // NOTE: 「被」Blockキャッシュ public renoteMutingsCache: RedisKVCache>; public userFollowingsCache: RedisKVCache | undefined>>; - public userFollowingChannelsCache: RedisKVCache>; constructor( @Inject(DI.redis) @@ -53,9 +52,6 @@ export class CacheService implements OnApplicationShutdown { @Inject(DI.followingsRepository) private followingsRepository: FollowingsRepository, - @Inject(DI.channelFollowingsRepository) - private channelFollowingsRepository: ChannelFollowingsRepository, - private userEntityService: UserEntityService, ) { //this.onMessage = this.onMessage.bind(this); @@ -150,13 +146,7 @@ export class CacheService implements OnApplicationShutdown { fromRedisConverter: (value) => JSON.parse(value), }); - this.userFollowingChannelsCache = new RedisKVCache>(this.redisClient, 'userFollowingChannels', { - lifetime: 1000 * 60 * 30, // 30m - memoryCacheLifetime: 1000 * 60, // 1m - fetcher: (key) => this.channelFollowingsRepository.find({ where: { followerId: key }, select: ['followeeId'] }).then(xs => new Set(xs.map(x => x.followeeId))), - toRedisConverter: (value) => JSON.stringify(Array.from(value)), - fromRedisConverter: (value) => new Set(JSON.parse(value)), - }); + // NOTE: チャンネルのフォロー状況キャッシュはChannelFollowingServiceで行っている this.redisForSub.on('message', this.onMessage); } @@ -221,7 +211,6 @@ export class CacheService implements OnApplicationShutdown { this.userBlockedCache.dispose(); this.renoteMutingsCache.dispose(); this.userFollowingsCache.dispose(); - this.userFollowingChannelsCache.dispose(); } @bindThis diff --git a/packages/backend/src/core/ChannelFollowingService.ts b/packages/backend/src/core/ChannelFollowingService.ts new file mode 100644 index 000000000..75843b977 --- /dev/null +++ b/packages/backend/src/core/ChannelFollowingService.ts @@ -0,0 +1,104 @@ +import { Inject, Injectable, OnModuleInit } from '@nestjs/common'; +import Redis from 'ioredis'; +import { DI } from '@/di-symbols.js'; +import type { ChannelFollowingsRepository } from '@/models/_.js'; +import { MiChannel } from '@/models/_.js'; +import { IdService } from '@/core/IdService.js'; +import { GlobalEvents, GlobalEventService } from '@/core/GlobalEventService.js'; +import { bindThis } from '@/decorators.js'; +import type { MiLocalUser } from '@/models/User.js'; +import { RedisKVCache } from '@/misc/cache.js'; + +@Injectable() +export class ChannelFollowingService implements OnModuleInit { + public userFollowingChannelsCache: RedisKVCache>; + + constructor( + @Inject(DI.redis) + private redisClient: Redis.Redis, + @Inject(DI.redisForSub) + private redisForSub: Redis.Redis, + @Inject(DI.channelFollowingsRepository) + private channelFollowingsRepository: ChannelFollowingsRepository, + private idService: IdService, + private globalEventService: GlobalEventService, + ) { + this.userFollowingChannelsCache = new RedisKVCache>(this.redisClient, 'userFollowingChannels', { + lifetime: 1000 * 60 * 30, // 30m + memoryCacheLifetime: 1000 * 60, // 1m + fetcher: (key) => this.channelFollowingsRepository.find({ + where: { followerId: key }, + select: ['followeeId'], + }).then(xs => new Set(xs.map(x => x.followeeId))), + toRedisConverter: (value) => JSON.stringify(Array.from(value)), + fromRedisConverter: (value) => new Set(JSON.parse(value)), + }); + + this.redisForSub.on('message', this.onMessage); + } + + onModuleInit() { + } + + @bindThis + public async follow( + requestUser: MiLocalUser, + targetChannel: MiChannel, + ): Promise { + await this.channelFollowingsRepository.insert({ + id: this.idService.gen(), + followerId: requestUser.id, + followeeId: targetChannel.id, + }); + + this.globalEventService.publishInternalEvent('followChannel', { + userId: requestUser.id, + channelId: targetChannel.id, + }); + } + + @bindThis + public async unfollow( + requestUser: MiLocalUser, + targetChannel: MiChannel, + ): Promise { + await this.channelFollowingsRepository.delete({ + followerId: requestUser.id, + followeeId: targetChannel.id, + }); + + this.globalEventService.publishInternalEvent('unfollowChannel', { + userId: requestUser.id, + channelId: targetChannel.id, + }); + } + + @bindThis + private async onMessage(_: string, data: string): Promise { + const obj = JSON.parse(data); + + if (obj.channel === 'internal') { + const { type, body } = obj.message as GlobalEvents['internal']['payload']; + switch (type) { + case 'followChannel': { + this.userFollowingChannelsCache.refresh(body.userId); + break; + } + case 'unfollowChannel': { + this.userFollowingChannelsCache.delete(body.userId); + break; + } + } + } + } + + @bindThis + public dispose(): void { + this.userFollowingChannelsCache.dispose(); + } + + @bindThis + public onApplicationShutdown(signal?: string | undefined): void { + this.dispose(); + } +} diff --git a/packages/backend/src/core/CoreModule.ts b/packages/backend/src/core/CoreModule.ts index b46afb190..c17ea9999 100644 --- a/packages/backend/src/core/CoreModule.ts +++ b/packages/backend/src/core/CoreModule.ts @@ -63,6 +63,7 @@ import { SearchService } from './SearchService.js'; import { ClipService } from './ClipService.js'; import { FeaturedService } from './FeaturedService.js'; import { FunoutTimelineService } from './FunoutTimelineService.js'; +import { ChannelFollowingService } from './ChannelFollowingService.js'; import { ChartLoggerService } from './chart/ChartLoggerService.js'; import FederationChart from './chart/charts/federation.js'; import NotesChart from './chart/charts/notes.js'; @@ -193,6 +194,7 @@ const $SearchService: Provider = { provide: 'SearchService', useExisting: Search const $ClipService: Provider = { provide: 'ClipService', useExisting: ClipService }; const $FeaturedService: Provider = { provide: 'FeaturedService', useExisting: FeaturedService }; const $FunoutTimelineService: Provider = { provide: 'FunoutTimelineService', useExisting: FunoutTimelineService }; +const $ChannelFollowingService: Provider = { provide: 'ChannelFollowingService', useExisting: ChannelFollowingService }; const $ChartLoggerService: Provider = { provide: 'ChartLoggerService', useExisting: ChartLoggerService }; const $FederationChart: Provider = { provide: 'FederationChart', useExisting: FederationChart }; @@ -327,6 +329,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting ClipService, FeaturedService, FunoutTimelineService, + ChannelFollowingService, ChartLoggerService, FederationChart, NotesChart, @@ -454,6 +457,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting $ClipService, $FeaturedService, $FunoutTimelineService, + $ChannelFollowingService, $ChartLoggerService, $FederationChart, $NotesChart, @@ -582,6 +586,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting ClipService, FeaturedService, FunoutTimelineService, + ChannelFollowingService, FederationChart, NotesChart, UsersChart, @@ -708,6 +713,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting $ClipService, $FeaturedService, $FunoutTimelineService, + $ChannelFollowingService, $FederationChart, $NotesChart, $UsersChart, diff --git a/packages/backend/src/server/api/StreamingApiServerService.ts b/packages/backend/src/server/api/StreamingApiServerService.ts index badcec1b3..dc3a00617 100644 --- a/packages/backend/src/server/api/StreamingApiServerService.ts +++ b/packages/backend/src/server/api/StreamingApiServerService.ts @@ -15,6 +15,7 @@ import { bindThis } from '@/decorators.js'; import { CacheService } from '@/core/CacheService.js'; import { MiLocalUser } from '@/models/User.js'; import { UserService } from '@/core/UserService.js'; +import { ChannelFollowingService } from '@/core/ChannelFollowingService.js'; import { AuthenticateService, AuthenticationError } from './AuthenticateService.js'; import MainStreamConnection from './stream/Connection.js'; import { ChannelsService } from './stream/ChannelsService.js'; @@ -39,6 +40,7 @@ export class StreamingApiServerService { private channelsService: ChannelsService, private notificationService: NotificationService, private usersService: UserService, + private channelFollowingService: ChannelFollowingService, ) { } @@ -93,6 +95,7 @@ export class StreamingApiServerService { this.noteReadService, this.notificationService, this.cacheService, + this.channelFollowingService, user, app, ); diff --git a/packages/backend/src/server/api/endpoints/channels/follow.ts b/packages/backend/src/server/api/endpoints/channels/follow.ts index 76ec6be80..bb5a477eb 100644 --- a/packages/backend/src/server/api/endpoints/channels/follow.ts +++ b/packages/backend/src/server/api/endpoints/channels/follow.ts @@ -5,9 +5,9 @@ import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; -import type { ChannelFollowingsRepository, ChannelsRepository } from '@/models/_.js'; -import { IdService } from '@/core/IdService.js'; +import type { ChannelsRepository } from '@/models/_.js'; import { DI } from '@/di-symbols.js'; +import { ChannelFollowingService } from '@/core/ChannelFollowingService.js'; import { ApiError } from '../../error.js'; export const meta = { @@ -41,11 +41,7 @@ export default class extends Endpoint { // eslint- constructor( @Inject(DI.channelsRepository) private channelsRepository: ChannelsRepository, - - @Inject(DI.channelFollowingsRepository) - private channelFollowingsRepository: ChannelFollowingsRepository, - - private idService: IdService, + private channelFollowingService: ChannelFollowingService, ) { super(meta, paramDef, async (ps, me) => { const channel = await this.channelsRepository.findOneBy({ @@ -56,11 +52,7 @@ export default class extends Endpoint { // eslint- throw new ApiError(meta.errors.noSuchChannel); } - await this.channelFollowingsRepository.insert({ - id: this.idService.gen(), - followerId: me.id, - followeeId: channel.id, - }); + await this.channelFollowingService.follow(me, channel); }); } } diff --git a/packages/backend/src/server/api/endpoints/channels/unfollow.ts b/packages/backend/src/server/api/endpoints/channels/unfollow.ts index 46883dd54..c95332c7f 100644 --- a/packages/backend/src/server/api/endpoints/channels/unfollow.ts +++ b/packages/backend/src/server/api/endpoints/channels/unfollow.ts @@ -5,8 +5,9 @@ import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; -import type { ChannelFollowingsRepository, ChannelsRepository } from '@/models/_.js'; +import type { ChannelsRepository } from '@/models/_.js'; import { DI } from '@/di-symbols.js'; +import { ChannelFollowingService } from '@/core/ChannelFollowingService.js'; import { ApiError } from '../../error.js'; export const meta = { @@ -40,9 +41,7 @@ export default class extends Endpoint { // eslint- constructor( @Inject(DI.channelsRepository) private channelsRepository: ChannelsRepository, - - @Inject(DI.channelFollowingsRepository) - private channelFollowingsRepository: ChannelFollowingsRepository, + private channelFollowingService: ChannelFollowingService, ) { super(meta, paramDef, async (ps, me) => { const channel = await this.channelsRepository.findOneBy({ @@ -53,10 +52,7 @@ export default class extends Endpoint { // eslint- throw new ApiError(meta.errors.noSuchChannel); } - await this.channelFollowingsRepository.delete({ - followerId: me.id, - followeeId: channel.id, - }); + await this.channelFollowingService.unfollow(me, channel); }); } } diff --git a/packages/backend/src/server/api/stream/Connection.ts b/packages/backend/src/server/api/stream/Connection.ts index f981e6387..2d8fec30b 100644 --- a/packages/backend/src/server/api/stream/Connection.ts +++ b/packages/backend/src/server/api/stream/Connection.ts @@ -13,6 +13,7 @@ import { bindThis } from '@/decorators.js'; import { CacheService } from '@/core/CacheService.js'; import { MiFollowing, MiUserProfile } from '@/models/_.js'; import type { StreamEventEmitter, GlobalEvents } from '@/core/GlobalEventService.js'; +import { ChannelFollowingService } from '@/core/ChannelFollowingService.js'; import type { ChannelsService } from './ChannelsService.js'; import type { EventEmitter } from 'events'; import type Channel from './channel.js'; @@ -42,6 +43,7 @@ export default class Connection { private noteReadService: NoteReadService, private notificationService: NotificationService, private cacheService: CacheService, + private channelFollowingService: ChannelFollowingService, user: MiUser | null | undefined, token: MiAccessToken | null | undefined, @@ -56,7 +58,7 @@ export default class Connection { const [userProfile, following, followingChannels, userIdsWhoMeMuting, userIdsWhoBlockingMe, userIdsWhoMeMutingRenotes] = await Promise.all([ this.cacheService.userProfileCache.fetch(this.user.id), this.cacheService.userFollowingsCache.fetch(this.user.id), - this.cacheService.userFollowingChannelsCache.fetch(this.user.id), + this.channelFollowingService.userFollowingChannelsCache.fetch(this.user.id), this.cacheService.userMutingsCache.fetch(this.user.id), this.cacheService.userBlockedCache.fetch(this.user.id), this.cacheService.renoteMutingsCache.fetch(this.user.id), From 8a2309ba7d81b50ab8fac5bca02f32d2f9f6ac75 Mon Sep 17 00:00:00 2001 From: taichan <40626578+taichanNE30@users.noreply.github.com> Date: Fri, 27 Oct 2023 18:37:17 +0900 Subject: [PATCH 02/56] =?UTF-8?q?fix(backend):=20=E3=83=8F=E3=83=83?= =?UTF-8?q?=E3=82=B7=E3=83=A5=E3=82=BF=E3=82=B0=E3=81=AE=E3=83=A9=E3=83=B3?= =?UTF-8?q?=E3=82=AD=E3=83=B3=E3=82=B0=E3=81=AE=E5=95=8F=E3=81=84=E5=90=88?= =?UTF-8?q?=E3=82=8F=E3=81=9B=E7=B5=90=E6=9E=9C=E3=81=8C=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=81=A8=E3=81=8D=E3=81=AE=E3=82=A8=E3=83=A9=E3=83=BC=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=20(#12145)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(backend): undefined result error * Update Changelog * Update packages/backend/src/core/FeaturedService.ts Co-authored-by: syuilo --------- Co-authored-by: syuilo --- CHANGELOG.md | 1 + packages/backend/src/core/FeaturedService.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a1b2bc96..67ec9ee8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - Fix: 自分のフォローしているユーザーの自分のフォローしていないユーザーの visibility: followers な投稿への返信がストリーミングで流れてくる問題を修正 - Fix: RedisへのTLキャッシュが有効の場合にHTL/LTL/STLが空になることがある問題を修正 - Fix: STLでフォローしていないチャンネルが取得される問題を修正 +- Fix: `hashtags/trend`にてRedisからトレンドの情報が取得できない際にInternal Server Errorになる問題を修正 - Fix: フォローしているチャンネルをフォロー解除した時(またはその逆)、タイムラインに反映される間隔を改善 ## 2023.10.2 diff --git a/packages/backend/src/core/FeaturedService.ts b/packages/backend/src/core/FeaturedService.ts index cccbbd95c..9617f8388 100644 --- a/packages/backend/src/core/FeaturedService.ts +++ b/packages/backend/src/core/FeaturedService.ts @@ -52,7 +52,7 @@ export class FeaturedService { `${name}:${currentWindow}`, 0, threshold, 'REV', 'WITHSCORES'); redisPipeline.zrange( `${name}:${previousWindow}`, 0, threshold, 'REV', 'WITHSCORES'); - const [currentRankingResult, previousRankingResult] = await redisPipeline.exec().then(result => result ? result.map(r => r[1] as string[]) : [[], []]); + const [currentRankingResult, previousRankingResult] = await redisPipeline.exec().then(result => result ? result.map(r => (r[1] ?? []) as string[]) : [[], []]); const ranking = new Map(); for (let i = 0; i < currentRankingResult.length; i += 2) { From e5ff8d8445668eb2bcd1e9fa38a2d0041b6ca678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 28 Oct 2023 07:54:06 +0900 Subject: [PATCH 03/56] =?UTF-8?q?enhance:=20=E3=83=97=E3=83=A9=E3=82=B0?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E5=89=8A=E9=99=A4=E6=99=82=E3=81=AB=E3=82=A2?= =?UTF-8?q?=E3=82=AF=E3=82=BB=E3=82=B9=E3=83=88=E3=83=BC=E3=82=AF=E3=83=B3?= =?UTF-8?q?=E3=82=82=E5=89=8A=E9=99=A4=E3=81=99=E3=82=8B=20(#12167)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (enhance) プラグイン削除時にトークンも削除 * update changelog --- CHANGELOG.md | 1 + .../server/api/endpoints/i/revoke-token.ts | 29 ++++++++++++++----- .../frontend/src/pages/settings/plugin.vue | 6 ++-- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67ec9ee8e..304cc0ebe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html - Feat: AiScript関数`Mk:nyaize()`が追加されました +- Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう diff --git a/packages/backend/src/server/api/endpoints/i/revoke-token.ts b/packages/backend/src/server/api/endpoints/i/revoke-token.ts index 8e2f27100..e8bb28253 100644 --- a/packages/backend/src/server/api/endpoints/i/revoke-token.ts +++ b/packages/backend/src/server/api/endpoints/i/revoke-token.ts @@ -18,8 +18,12 @@ export const paramDef = { type: 'object', properties: { tokenId: { type: 'string', format: 'misskey:id' }, + token: { type: 'string' }, }, - required: ['tokenId'], + anyOf: [ + { required: ['tokenId'] }, + { required: ['token'] }, + ], } as const; @Injectable() @@ -29,13 +33,24 @@ export default class extends Endpoint { // eslint- private accessTokensRepository: AccessTokensRepository, ) { super(meta, paramDef, async (ps, me) => { - const tokenExist = await this.accessTokensRepository.exist({ where: { id: ps.tokenId } }); + if (ps.tokenId) { + const tokenExist = await this.accessTokensRepository.exist({ where: { id: ps.tokenId } }); - if (tokenExist) { - await this.accessTokensRepository.delete({ - id: ps.tokenId, - userId: me.id, - }); + if (tokenExist) { + await this.accessTokensRepository.delete({ + id: ps.tokenId, + userId: me.id, + }); + } + } else if (ps.token) { + const tokenExist = await this.accessTokensRepository.exist({ where: { token: ps.token } }); + + if (tokenExist) { + await this.accessTokensRepository.delete({ + token: ps.token, + userId: me.id, + }); + } } }); } diff --git a/packages/frontend/src/pages/settings/plugin.vue b/packages/frontend/src/pages/settings/plugin.vue index 4a2d8d600..d72d8d00f 100644 --- a/packages/frontend/src/pages/settings/plugin.vue +++ b/packages/frontend/src/pages/settings/plugin.vue @@ -77,9 +77,11 @@ import { definePageMetadata } from '@/scripts/page-metadata.js'; const plugins = ref(ColdDeviceStorage.get('plugins')); -function uninstall(plugin) { +async function uninstall(plugin) { ColdDeviceStorage.set('plugins', plugins.value.filter(x => x.id !== plugin.id)); - os.success(); + await os.apiWithDialog('i/revoke-token', { + token: plugin.token, + }); nextTick(() => { unisonReload(); }); From c37616de722bc2bc51aa93510abce396b77449f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 28 Oct 2023 07:56:24 +0900 Subject: [PATCH 04/56] =?UTF-8?q?fix(frontend):=20Intl=E3=81=8C=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=E8=A8=80?= =?UTF-8?q?=E8=AA=9E=E3=81=AE=E5=A0=B4=E5=90=88=E3=81=AF=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E3=83=90=E3=83=83=E3=82=AF=E3=81=99=E3=82=8B?= =?UTF-8?q?=20(#12163)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (fix) Intlが対応していない言語の場合はフォールバックする * Update Changelog --- CHANGELOG.md | 1 + packages/frontend/src/scripts/intl-const.ts | 47 +++++++++++++++++---- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 304cc0ebe..eaa756835 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう +- Fix: 一部の言語でMisskey Webがクラッシュする問題を修正 ### Server - Enhance: RedisへのTLのキャッシュをオフにできるように diff --git a/packages/frontend/src/scripts/intl-const.ts b/packages/frontend/src/scripts/intl-const.ts index 8012a677e..ea16c9c2a 100644 --- a/packages/frontend/src/scripts/intl-const.ts +++ b/packages/frontend/src/scripts/intl-const.ts @@ -6,12 +6,41 @@ import { lang } from '@/config.js'; export const versatileLang = (lang ?? 'ja-JP').replace('ja-KS', 'ja-JP'); -export const dateTimeFormat = new Intl.DateTimeFormat(versatileLang, { - year: 'numeric', - month: 'numeric', - day: 'numeric', - hour: 'numeric', - minute: 'numeric', - second: 'numeric', -}); -export const numberFormat = new Intl.NumberFormat(versatileLang); + +let _dateTimeFormat: Intl.DateTimeFormat; +try { + _dateTimeFormat = new Intl.DateTimeFormat(versatileLang, { + year: 'numeric', + month: 'numeric', + day: 'numeric', + hour: 'numeric', + minute: 'numeric', + second: 'numeric', + }); +} catch (err) { + console.warn(err); + if (_DEV_) console.log('[Intl] Fallback to en-US'); + + // Fallback to en-US + _dateTimeFormat = new Intl.DateTimeFormat('en-US', { + year: 'numeric', + month: 'numeric', + day: 'numeric', + hour: 'numeric', + minute: 'numeric', + second: 'numeric', + }); +} +export const dateTimeFormat = _dateTimeFormat; + +let _numberFormat: Intl.NumberFormat; +try { + _numberFormat = new Intl.NumberFormat(versatileLang); +} catch (err) { + console.warn(err); + if (_DEV_) console.log('[Intl] Fallback to en-US'); + + // Fallback to en-US + _numberFormat = new Intl.NumberFormat('en-US'); +} +export const numberFormat = _numberFormat; From aa31b6c65b2dca22fb1a35bdd4fd9ed00e8f83ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 28 Oct 2023 07:57:10 +0900 Subject: [PATCH 05/56] =?UTF-8?q?fix(frontend):=20MkGoogle=E3=81=AE?= =?UTF-8?q?=E3=82=AF=E3=82=A8=E3=83=AA=E3=82=92=E6=AD=A3=E3=81=97=E3=81=8F?= =?UTF-8?q?=E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=89=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3=20(#1216?= =?UTF-8?q?4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (fix)MkGoogleで一部キーワードのURLエンコードに失敗する * Update Changelog --------- Co-authored-by: syuilo --- CHANGELOG.md | 1 + packages/frontend/src/components/MkGoogle.vue | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eaa756835..faf1ad352 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう +- Fix: 「検索」MFMにおいて一部の検索キーワードが正しく認識されない問題を修正 - Fix: 一部の言語でMisskey Webがクラッシュする問題を修正 ### Server diff --git a/packages/frontend/src/components/MkGoogle.vue b/packages/frontend/src/components/MkGoogle.vue index b899656e4..efbd775f5 100644 --- a/packages/frontend/src/components/MkGoogle.vue +++ b/packages/frontend/src/components/MkGoogle.vue @@ -21,7 +21,9 @@ const props = defineProps<{ const query = ref(props.q); const search = () => { - window.open(`https://www.google.com/search?q=${query.value}`, '_blank'); + const sp = new URLSearchParams(); + sp.append('q', query.value); + window.open(`https://www.google.com/search?${sp.toString()}`, '_blank'); }; From abe78a277a3ca639a51821a8b5b36717db497116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 28 Oct 2023 08:00:00 +0900 Subject: [PATCH 06/56] =?UTF-8?q?enhance(frontend):=20=E3=83=87=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=82=BB=E3=83=BC=E3=83=90=E3=83=BC=E6=9C=89=E5=8A=B9?= =?UTF-8?q?=E6=99=82=E3=81=AFGIF=E3=82=A2=E3=83=90=E3=82=BF=E3=83=BC?= =?UTF-8?q?=E3=82=92=E5=81=9C=E6=AD=A2=20(#12165)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (enhance) データセーバーモード有効時はGIFアバターを停止 * Update Changelog * Update CHANGELOG.md --------- Co-authored-by: syuilo --- CHANGELOG.md | 1 + packages/frontend/src/components/global/MkAvatar.vue | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index faf1ad352..cd1703f17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html - Feat: AiScript関数`Mk:nyaize()`が追加されました +- Enhance: データセーバー有効時はアニメーション付きのアバター画像が停止するように - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう diff --git a/packages/frontend/src/components/global/MkAvatar.vue b/packages/frontend/src/components/global/MkAvatar.vue index 1bb6d0322..e23883487 100644 --- a/packages/frontend/src/components/global/MkAvatar.vue +++ b/packages/frontend/src/components/global/MkAvatar.vue @@ -83,7 +83,7 @@ const bound = $computed(() => props.link ? { to: userPage(props.user), target: props.target } : {}); -const url = $computed(() => defaultStore.state.disableShowingAnimatedImages +const url = $computed(() => (defaultStore.state.disableShowingAnimatedImages || defaultStore.state.enableDataSaverMode) ? getStaticImageUrl(props.user.avatarUrl) : props.user.avatarUrl); From 12ab9054407d48250e4cd08cbfcac8d78e7a7760 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 28 Oct 2023 12:22:52 +0900 Subject: [PATCH 07/56] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd1703f17..0801918df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,7 @@ - Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html -- Feat: AiScript関数`Mk:nyaize()`が追加されました +- Enhance: AiScript関数`Mk:nyaize()`が追加されました - Enhance: データセーバー有効時はアニメーション付きのアバター画像が停止するように - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 @@ -32,13 +32,13 @@ ### Server - Enhance: RedisへのTLのキャッシュをオフにできるように +- Enhance: フォローしているチャンネルをフォロー解除した時(またはその逆)、タイムラインに反映される間隔を改善 - Fix: リストTLに自分のフォロワー限定投稿が含まれない問題を修正 - Fix: ローカルタイムラインに投稿者自身の投稿への返信が含まれない問題を修正 - Fix: 自分のフォローしているユーザーの自分のフォローしていないユーザーの visibility: followers な投稿への返信がストリーミングで流れてくる問題を修正 - Fix: RedisへのTLキャッシュが有効の場合にHTL/LTL/STLが空になることがある問題を修正 - Fix: STLでフォローしていないチャンネルが取得される問題を修正 - Fix: `hashtags/trend`にてRedisからトレンドの情報が取得できない際にInternal Server Errorになる問題を修正 -- Fix: フォローしているチャンネルをフォロー解除した時(またはその逆)、タイムラインに反映される間隔を改善 ## 2023.10.2 From a8dc6d08b17685ea4bce984759055d1b3a0308ce Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 28 Oct 2023 12:31:18 +0900 Subject: [PATCH 08/56] update deps --- package.json | 8 +- packages/backend/package.json | 20 +- packages/frontend/package.json | 32 +- packages/misskey-js/package.json | 8 +- packages/sw/package.json | 4 +- pnpm-lock.yaml | 945 ++++++++++++++++--------------- 6 files changed, 517 insertions(+), 500 deletions(-) diff --git a/package.json b/package.json index 7700c6df6..d15f60c7b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "git", "url": "https://github.com/misskey-dev/misskey.git" }, - "packageManager": "pnpm@8.9.2", + "packageManager": "pnpm@8.10.0", "workspaces": [ "packages/frontend", "packages/backend", @@ -52,10 +52,10 @@ "typescript": "5.2.2" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "6.8.0", - "@typescript-eslint/parser": "6.8.0", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", "cross-env": "7.0.3", - "cypress": "13.3.2", + "cypress": "13.3.3", "eslint": "8.52.0", "start-server-and-test": "2.0.1" }, diff --git a/packages/backend/package.json b/packages/backend/package.json index efc152cea..a461e3a21 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -76,10 +76,10 @@ "@nestjs/core": "10.2.7", "@nestjs/testing": "10.2.7", "@peertube/http-signature": "1.7.0", - "@simplewebauthn/server": "8.3.2", + "@simplewebauthn/server": "8.3.4", "@sinonjs/fake-timers": "11.2.2", "@swc/cli": "0.1.62", - "@swc/core": "1.3.94", + "@swc/core": "1.3.95", "accepts": "1.3.8", "ajv": "8.12.0", "archiver": "6.0.1", @@ -87,7 +87,7 @@ "bcryptjs": "2.4.3", "blurhash": "2.0.5", "body-parser": "1.20.2", - "bullmq": "4.12.5", + "bullmq": "4.12.6", "cacheable-lookup": "7.0.0", "cbor": "9.0.1", "chalk": "5.3.0", @@ -143,7 +143,7 @@ "qrcode": "1.5.3", "random-seed": "0.3.0", "ratelimiter": "3.4.1", - "re2": "1.20.4", + "re2": "1.20.5", "redis-lock": "0.1.4", "reflect-metadata": "0.1.13", "rename": "1.0.4", @@ -156,7 +156,7 @@ "strict-event-emitter-types": "2.0.0", "stringz": "2.1.0", "summaly": "github:misskey-dev/summaly", - "systeminformation": "5.21.13", + "systeminformation": "5.21.15", "tinycolor2": "1.6.0", "tmp": "0.2.1", "tsc-alias": "1.8.8", @@ -172,7 +172,7 @@ }, "devDependencies": { "@jest/globals": "29.7.0", - "@simplewebauthn/typescript-types": "8.0.0", + "@simplewebauthn/typescript-types": "8.3.4", "@swc/jest": "0.2.29", "@types/accepts": "1.3.6", "@types/archiver": "5.3.4", @@ -190,7 +190,7 @@ "@types/jsrsasign": "10.5.11", "@types/mime-types": "2.1.3", "@types/ms": "0.7.33", - "@types/node": "20.8.7", + "@types/node": "20.8.9", "@types/node-fetch": "3.0.3", "@types/nodemailer": "6.4.13", "@types/oauth": "0.9.3", @@ -213,12 +213,12 @@ "@types/vary": "1.1.2", "@types/web-push": "3.6.2", "@types/ws": "8.5.8", - "@typescript-eslint/eslint-plugin": "6.8.0", - "@typescript-eslint/parser": "6.8.0", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", "aws-sdk-client-mock": "3.0.0", "cross-env": "7.0.3", "eslint": "8.52.0", - "eslint-plugin-import": "2.28.1", + "eslint-plugin-import": "2.29.0", "execa": "8.0.1", "jest": "29.7.0", "jest-mock": "29.7.0", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 659612d83..f8492b3e5 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -26,10 +26,10 @@ "@tabler/icons-webfont": "2.37.0", "@vitejs/plugin-vue": "4.4.0", "@vue-macros/reactivity-transform": "0.3.23", - "@vue/compiler-sfc": "3.3.6", + "@vue/compiler-sfc": "3.3.7", "astring": "1.8.6", "autosize": "6.0.1", - "broadcast-channel": "5.5.0", + "broadcast-channel": "5.5.1", "browser-image-resizer": "github:misskey-dev/browser-image-resizer#v2.2.1-misskey.3", "buraha": "0.0.1", "canvas-confetti": "1.6.1", @@ -38,7 +38,7 @@ "chartjs-chart-matrix": "2.0.1", "chartjs-plugin-gradient": "0.6.1", "chartjs-plugin-zoom": "2.0.1", - "chromatic": "7.4.0", + "chromatic": "7.5.4", "compare-versions": "6.1.0", "cropperjs": "2.0.0-beta.4", "date-fns": "2.30.0", @@ -59,10 +59,10 @@ "querystring": "0.2.1", "rollup": "4.1.4", "sanitize-html": "2.11.0", - "sass": "1.69.4", + "sass": "1.69.5", "strict-event-emitter-types": "2.0.0", "textarea-caret": "3.1.0", - "three": "0.157.0", + "three": "0.158.0", "throttle-debounce": "5.0.0", "tinycolor2": "1.6.0", "tsc-alias": "1.8.8", @@ -73,7 +73,7 @@ "v-code-diff": "1.7.1", "vanilla-tilt": "1.8.1", "vite": "4.5.0", - "vue": "3.3.6", + "vue": "3.3.7", "vue-prism-editor": "2.0.0-alpha.2", "vuedraggable": "next" }, @@ -101,7 +101,7 @@ "@types/estree": "1.0.3", "@types/matter-js": "0.19.2", "@types/micromatch": "4.0.4", - "@types/node": "20.8.7", + "@types/node": "20.8.9", "@types/punycode": "2.1.1", "@types/sanitize-html": "2.9.3", "@types/throttle-debounce": "5.0.1", @@ -109,21 +109,21 @@ "@types/uuid": "9.0.6", "@types/websocket": "1.0.8", "@types/ws": "8.5.8", - "@typescript-eslint/eslint-plugin": "6.8.0", - "@typescript-eslint/parser": "6.8.0", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", "@vitest/coverage-v8": "0.34.6", - "@vue/runtime-core": "3.3.6", - "acorn": "8.10.0", + "@vue/runtime-core": "3.3.7", + "acorn": "8.11.2", "cross-env": "7.0.3", - "cypress": "13.3.2", + "cypress": "13.3.3", "eslint": "8.52.0", - "eslint-plugin-import": "2.28.1", - "eslint-plugin-vue": "9.17.0", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-vue": "9.18.1", "fast-glob": "3.3.1", "happy-dom": "10.0.3", "micromatch": "4.0.5", "msw": "1.3.2", - "msw-storybook-addon": "1.9.0", + "msw-storybook-addon": "1.10.0", "nodemon": "3.0.1", "prettier": "3.0.3", "react": "18.2.0", @@ -136,6 +136,6 @@ "vitest": "0.34.6", "vitest-fetch-mock": "0.2.2", "vue-eslint-parser": "9.3.2", - "vue-tsc": "1.8.19" + "vue-tsc": "1.8.22" } } diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json index 8025235e3..78e0c17c9 100644 --- a/packages/misskey-js/package.json +++ b/packages/misskey-js/package.json @@ -23,9 +23,9 @@ "@microsoft/api-extractor": "7.38.0", "@swc/jest": "0.2.29", "@types/jest": "29.5.6", - "@types/node": "20.8.7", - "@typescript-eslint/eslint-plugin": "6.8.0", - "@typescript-eslint/parser": "6.8.0", + "@types/node": "20.8.9", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", "eslint": "8.52.0", "jest": "29.7.0", "jest-fetch-mock": "3.0.3", @@ -39,7 +39,7 @@ ], "dependencies": { "@swc/cli": "0.1.62", - "@swc/core": "1.3.94", + "@swc/core": "1.3.95", "eventemitter3": "5.0.1", "reconnecting-websocket": "4.4.0" } diff --git a/packages/sw/package.json b/packages/sw/package.json index ffae874a4..52c854663 100644 --- a/packages/sw/package.json +++ b/packages/sw/package.json @@ -14,10 +14,10 @@ "misskey-js": "workspace:*" }, "devDependencies": { - "@typescript-eslint/parser": "6.8.0", + "@typescript-eslint/parser": "6.9.0", "@typescript/lib-webworker": "npm:@types/serviceworker@0.0.67", "eslint": "8.52.0", - "eslint-plugin-import": "2.28.1", + "eslint-plugin-import": "2.29.0", "typescript": "5.2.2" }, "type": "module" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3d7f836cd..4d47134d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,17 +36,17 @@ importers: version: 4.4.0 devDependencies: '@typescript-eslint/eslint-plugin': - specifier: 6.8.0 - version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.8.0 - version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) cross-env: specifier: 7.0.3 version: 7.0.3 cypress: - specifier: 13.3.2 - version: 13.3.2 + specifier: 13.3.3 + version: 13.3.3 eslint: specifier: 8.52.0 version: 8.52.0 @@ -111,8 +111,8 @@ importers: specifier: 1.7.0 version: 1.7.0 '@simplewebauthn/server': - specifier: 8.3.2 - version: 8.3.2 + specifier: 8.3.4 + version: 8.3.4 '@sinonjs/fake-timers': specifier: 11.2.2 version: 11.2.2 @@ -121,10 +121,10 @@ importers: version: 2.1.5 '@swc/cli': specifier: 0.1.62 - version: 0.1.62(@swc/core@1.3.94)(chokidar@3.5.3) + version: 0.1.62(@swc/core@1.3.95)(chokidar@3.5.3) '@swc/core': - specifier: 1.3.94 - version: 1.3.94 + specifier: 1.3.95 + version: 1.3.95 accepts: specifier: 1.3.8 version: 1.3.8 @@ -147,8 +147,8 @@ importers: specifier: 1.20.2 version: 1.20.2 bullmq: - specifier: 4.12.5 - version: 4.12.5 + specifier: 4.12.6 + version: 4.12.6 cacheable-lookup: specifier: 7.0.0 version: 7.0.0 @@ -315,8 +315,8 @@ importers: specifier: 3.4.1 version: 3.4.1 re2: - specifier: 1.20.4 - version: 1.20.4 + specifier: 1.20.5 + version: 1.20.5 redis-lock: specifier: 0.1.4 version: 0.1.4 @@ -354,8 +354,8 @@ importers: specifier: github:misskey-dev/summaly version: github.com/misskey-dev/summaly/d2d8db49943ccb201c1b1b283e9d0a630519fac7 systeminformation: - specifier: 5.21.13 - version: 5.21.13 + specifier: 5.21.15 + version: 5.21.15 tinycolor2: specifier: 1.6.0 version: 1.6.0 @@ -485,11 +485,11 @@ importers: specifier: 29.7.0 version: 29.7.0 '@simplewebauthn/typescript-types': - specifier: 8.0.0 - version: 8.0.0 + specifier: 8.3.4 + version: 8.3.4 '@swc/jest': specifier: 0.2.29 - version: 0.2.29(@swc/core@1.3.94) + version: 0.2.29(@swc/core@1.3.95) '@types/accepts': specifier: 1.3.6 version: 1.3.6 @@ -539,8 +539,8 @@ importers: specifier: 0.7.33 version: 0.7.33 '@types/node': - specifier: 20.8.7 - version: 20.8.7 + specifier: 20.8.9 + version: 20.8.9 '@types/node-fetch': specifier: 3.0.3 version: 3.0.3 @@ -608,11 +608,11 @@ importers: specifier: 8.5.8 version: 8.5.8 '@typescript-eslint/eslint-plugin': - specifier: 6.8.0 - version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.8.0 - version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) aws-sdk-client-mock: specifier: 3.0.0 version: 3.0.0 @@ -623,14 +623,14 @@ importers: specifier: 8.52.0 version: 8.52.0 eslint-plugin-import: - specifier: 2.28.1 - version: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.52.0) + specifier: 2.29.0 + version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) execa: specifier: 8.0.1 version: 8.0.1 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.8.7) + version: 29.7.0(@types/node@20.8.9) jest-mock: specifier: 29.7.0 version: 29.7.0 @@ -666,13 +666,13 @@ importers: version: 2.37.0 '@vitejs/plugin-vue': specifier: 4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.6) + version: 4.4.0(vite@4.5.0)(vue@3.3.7) '@vue-macros/reactivity-transform': specifier: 0.3.23 - version: 0.3.23(rollup@4.1.4)(vue@3.3.6) + version: 0.3.23(rollup@4.1.4)(vue@3.3.7) '@vue/compiler-sfc': - specifier: 3.3.6 - version: 3.3.6 + specifier: 3.3.7 + version: 3.3.7 astring: specifier: 1.8.6 version: 1.8.6 @@ -680,8 +680,8 @@ importers: specifier: 6.0.1 version: 6.0.1 broadcast-channel: - specifier: 5.5.0 - version: 5.5.0 + specifier: 5.5.1 + version: 5.5.1 browser-image-resizer: specifier: github:misskey-dev/browser-image-resizer#v2.2.1-misskey.3 version: github.com/misskey-dev/browser-image-resizer/0227e860621e55cbed0aabe6dc601096a7748c4a @@ -707,8 +707,8 @@ importers: specifier: 2.0.1 version: 2.0.1(chart.js@4.4.0) chromatic: - specifier: 7.4.0 - version: 7.4.0 + specifier: 7.5.4 + version: 7.5.4 compare-versions: specifier: 6.1.0 version: 6.1.0 @@ -770,8 +770,8 @@ importers: specifier: 2.11.0 version: 2.11.0 sass: - specifier: 1.69.4 - version: 1.69.4 + specifier: 1.69.5 + version: 1.69.5 strict-event-emitter-types: specifier: 2.0.0 version: 2.0.0 @@ -779,8 +779,8 @@ importers: specifier: 3.1.0 version: 3.1.0 three: - specifier: 0.157.0 - version: 0.157.0 + specifier: 0.158.0 + version: 0.158.0 throttle-debounce: specifier: 5.0.0 version: 5.0.0 @@ -804,22 +804,22 @@ importers: version: 9.0.1 v-code-diff: specifier: 1.7.1 - version: 1.7.1(vue@3.3.6) + version: 1.7.1(vue@3.3.7) vanilla-tilt: specifier: 1.8.1 version: 1.8.1 vite: specifier: 4.5.0 - version: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) + version: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) vue: - specifier: 3.3.6 - version: 3.3.6(typescript@5.2.2) + specifier: 3.3.7 + version: 3.3.7(typescript@5.2.2) vue-prism-editor: specifier: 2.0.0-alpha.2 - version: 2.0.0-alpha.2(vue@3.3.6) + version: 2.0.0-alpha.2(vue@3.3.7) vuedraggable: specifier: next - version: 4.1.0(vue@3.3.6) + version: 4.1.0(vue@3.3.7) devDependencies: '@storybook/addon-actions': specifier: 7.5.1 @@ -871,13 +871,13 @@ importers: version: 7.5.1 '@storybook/vue3': specifier: 7.5.1 - version: 7.5.1(@vue/compiler-core@3.3.5)(vue@3.3.6) + version: 7.5.1(@vue/compiler-core@3.3.6)(vue@3.3.7) '@storybook/vue3-vite': specifier: 7.5.1 - version: 7.5.1(@vue/compiler-core@3.3.5)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.6) + version: 7.5.1(@vue/compiler-core@3.3.6)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.7) '@testing-library/vue': specifier: 7.0.0 - version: 7.0.0(@vue/compiler-sfc@3.3.6)(vue@3.3.6) + version: 7.0.0(@vue/compiler-sfc@3.3.7)(vue@3.3.7) '@types/escape-regexp': specifier: 0.0.2 version: 0.0.2 @@ -891,8 +891,8 @@ importers: specifier: 4.0.4 version: 4.0.4 '@types/node': - specifier: 20.8.7 - version: 20.8.7 + specifier: 20.8.9 + version: 20.8.9 '@types/punycode': specifier: 2.1.1 version: 2.1.1 @@ -915,35 +915,35 @@ importers: specifier: 8.5.8 version: 8.5.8 '@typescript-eslint/eslint-plugin': - specifier: 6.8.0 - version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.8.0 - version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) '@vitest/coverage-v8': specifier: 0.34.6 version: 0.34.6(vitest@0.34.6) '@vue/runtime-core': - specifier: 3.3.6 - version: 3.3.6 + specifier: 3.3.7 + version: 3.3.7 acorn: - specifier: 8.10.0 - version: 8.10.0 + specifier: 8.11.2 + version: 8.11.2 cross-env: specifier: 7.0.3 version: 7.0.3 cypress: - specifier: 13.3.2 - version: 13.3.2 + specifier: 13.3.3 + version: 13.3.3 eslint: specifier: 8.52.0 version: 8.52.0 eslint-plugin-import: - specifier: 2.28.1 - version: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.52.0) + specifier: 2.29.0 + version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) eslint-plugin-vue: - specifier: 9.17.0 - version: 9.17.0(eslint@8.52.0) + specifier: 9.18.1 + version: 9.18.1(eslint@8.52.0) fast-glob: specifier: 3.3.1 version: 3.3.1 @@ -957,8 +957,8 @@ importers: specifier: 1.3.2 version: 1.3.2(typescript@5.2.2) msw-storybook-addon: - specifier: 1.9.0 - version: 1.9.0(msw@1.3.2) + specifier: 1.10.0 + version: 1.10.0(msw@1.3.2) nodemon: specifier: 3.0.1 version: 3.0.1 @@ -988,7 +988,7 @@ importers: version: 1.0.3 vitest: specifier: 0.34.6 - version: 0.34.6(happy-dom@10.0.3)(sass@1.69.4)(terser@5.22.0) + version: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) vitest-fetch-mock: specifier: 0.2.2 version: 0.2.2(vitest@0.34.6) @@ -996,17 +996,17 @@ importers: specifier: 9.3.2 version: 9.3.2(eslint@8.52.0) vue-tsc: - specifier: 1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: 1.8.22 + version: 1.8.22(typescript@5.2.2) packages/misskey-js: dependencies: '@swc/cli': specifier: 0.1.62 - version: 0.1.62(@swc/core@1.3.94)(chokidar@3.5.3) + version: 0.1.62(@swc/core@1.3.95)(chokidar@3.5.3) '@swc/core': - specifier: 1.3.94 - version: 1.3.94 + specifier: 1.3.95 + version: 1.3.95 eventemitter3: specifier: 5.0.1 version: 5.0.1 @@ -1016,28 +1016,28 @@ importers: devDependencies: '@microsoft/api-extractor': specifier: 7.38.0 - version: 7.38.0(@types/node@20.8.7) + version: 7.38.0(@types/node@20.8.9) '@swc/jest': specifier: 0.2.29 - version: 0.2.29(@swc/core@1.3.94) + version: 0.2.29(@swc/core@1.3.95) '@types/jest': specifier: 29.5.6 version: 29.5.6 '@types/node': - specifier: 20.8.7 - version: 20.8.7 + specifier: 20.8.9 + version: 20.8.9 '@typescript-eslint/eslint-plugin': - specifier: 6.8.0 - version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.8.0 - version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) eslint: specifier: 8.52.0 version: 8.52.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.8.7) + version: 29.7.0(@types/node@20.8.9) jest-fetch-mock: specifier: 3.0.3 version: 3.0.3 @@ -1067,8 +1067,8 @@ importers: version: link:../misskey-js devDependencies: '@typescript-eslint/parser': - specifier: 6.8.0 - version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.0 + version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) '@typescript/lib-webworker': specifier: npm:@types/serviceworker@0.0.67 version: /@types/serviceworker@0.0.67 @@ -1076,8 +1076,8 @@ importers: specifier: 8.52.0 version: 8.52.0 eslint-plugin-import: - specifier: 2.28.1 - version: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.52.0) + specifier: 2.29.0 + version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) typescript: specifier: 5.2.2 version: 5.2.2 @@ -3009,13 +3009,6 @@ packages: dependencies: regenerator-runtime: 0.13.11 - /@babel/runtime@7.23.1: - resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - dev: true - /@babel/runtime@7.23.2: resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} engines: {node: '>=6.9.0'} @@ -4019,7 +4012,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -4040,14 +4033,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.7.1 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.8.7) + jest-config: 29.7.0(@types/node@20.8.9) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -4082,7 +4075,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 jest-mock: 29.7.0 dev: true @@ -4109,7 +4102,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.8.7 + '@types/node': 20.8.9 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4142,7 +4135,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.18 - '@types/node': 20.8.7 + '@types/node': 20.8.9 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -4236,7 +4229,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.8.7 + '@types/node': 20.8.9 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -4248,7 +4241,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.8.7 + '@types/node': 20.8.9 '@types/yargs': 17.0.19 chalk: 4.1.2 dev: true @@ -4267,7 +4260,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.2.2) typescript: 5.2.2 - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) dev: true /@jridgewell/gen-mapping@0.3.2: @@ -4352,24 +4345,24 @@ packages: react: 18.2.0 dev: true - /@microsoft/api-extractor-model@7.28.2(@types/node@20.8.7): + /@microsoft/api-extractor-model@7.28.2(@types/node@20.8.9): resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.8.7) + '@rushstack/node-core-library': 3.61.0(@types/node@20.8.9) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.38.0(@types/node@20.8.7): + /@microsoft/api-extractor@7.38.0(@types/node@20.8.9): resolution: {integrity: sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.2(@types/node@20.8.7) + '@microsoft/api-extractor-model': 7.28.2(@types/node@20.8.9) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.8.7) + '@rushstack/node-core-library': 3.61.0(@types/node@20.8.9) '@rushstack/rig-package': 0.5.1 '@rushstack/ts-command-line': 4.16.1 colors: 1.2.5 @@ -5338,7 +5331,7 @@ packages: requiresBuild: true optional: true - /@rushstack/node-core-library@3.61.0(@types/node@20.8.7): + /@rushstack/node-core-library@3.61.0(@types/node@20.8.9): resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} peerDependencies: '@types/node': '*' @@ -5346,7 +5339,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -5386,8 +5379,8 @@ packages: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: true - /@simplewebauthn/server@8.3.2: - resolution: {integrity: sha512-ceo8t5gdO5W/JOePQWPDH+rAd8tO6QNalLU56rc9ItdzaTjk+qcYwQg/BKXDDg6117P3HKrRBkZwBrMJl4dOdA==} + /@simplewebauthn/server@8.3.4: + resolution: {integrity: sha512-ak3RY8Og2hJYxgAb+mM99eqTh93N2gz19w/veaLwGJpLn53HjxrdU+o+BQXiErszyXYbBWk9nhU6bKkw5vWEdA==} engines: {node: '>=16.0.0'} dependencies: '@hexagon/base64': 1.1.27 @@ -5396,15 +5389,15 @@ packages: '@peculiar/asn1-rsa': 2.3.6 '@peculiar/asn1-schema': 2.3.6 '@peculiar/asn1-x509': 2.3.6 - '@simplewebauthn/typescript-types': 8.0.0 + '@simplewebauthn/typescript-types': 8.3.4 cbor-x: 1.5.4 cross-fetch: 4.0.0 transitivePeerDependencies: - encoding dev: false - /@simplewebauthn/typescript-types@8.0.0: - resolution: {integrity: sha512-d7Izb2H+LZJteXMkS8DmpAarD6mZdpIOu/av/yH4/u/3Pd6DKFLyBM3j8BMmUvUqpzvJvHARNrRfQYto58mtTQ==} + /@simplewebauthn/typescript-types@8.3.4: + resolution: {integrity: sha512-38xtca0OqfRVNloKBrFB5LEM6PN5vzFbJG6rAutPVrtGHFYxPdiV3btYWq0eAZAZmP+dqFPYJxJWeJrGfmYHng==} /@sinclair/typebox@0.24.51: resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} @@ -6362,7 +6355,7 @@ packages: magic-string: 0.30.3 rollup: 3.29.4 typescript: 5.2.2 - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) transitivePeerDependencies: - encoding - supports-color @@ -6749,7 +6742,7 @@ packages: react: 18.2.0 react-docgen: 6.0.4 react-dom: 18.2.0(react@18.2.0) - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -6874,7 +6867,7 @@ packages: file-system-cache: 2.3.0 dev: true - /@storybook/vue3-vite@7.5.1(@vue/compiler-core@3.3.5)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.6): + /@storybook/vue3-vite@7.5.1(@vue/compiler-core@3.3.6)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.7): resolution: {integrity: sha512-5bO5BactTbyOxxeRw8U6t3FqqfTvVLTefzg1NLDkKt2iAL6lGBSsPTKMgpy3dt+cxdiqEis67niQL68ZtW02Zw==} engines: {node: ^14.18 || >=16} peerDependencies: @@ -6884,13 +6877,13 @@ packages: dependencies: '@storybook/builder-vite': 7.5.1(typescript@5.2.2)(vite@4.5.0) '@storybook/core-server': 7.5.1 - '@storybook/vue3': 7.5.1(@vue/compiler-core@3.3.5)(vue@3.3.6) - '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.6) + '@storybook/vue3': 7.5.1(@vue/compiler-core@3.3.6)(vue@3.3.7) + '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.7) magic-string: 0.30.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) - vue-docgen-api: 4.64.1(vue@3.3.6) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vue-docgen-api: 4.64.1(vue@3.3.7) transitivePeerDependencies: - '@preact/preset-vite' - '@vue/compiler-core' @@ -6903,7 +6896,7 @@ packages: - vue dev: true - /@storybook/vue3@7.5.1(@vue/compiler-core@3.3.5)(vue@3.3.6): + /@storybook/vue3@7.5.1(@vue/compiler-core@3.3.6)(vue@3.3.7): resolution: {integrity: sha512-9srw2rnSYaU45kkunXT8+bX3QMO2QPV6MCWRayKo7Pl+B0H/euHvxPSZb1X8mRpgLtYgVgSNJFoNbk/2Fn8z8g==} engines: {node: '>=16.0.0'} peerDependencies: @@ -6915,18 +6908,18 @@ packages: '@storybook/global': 5.0.0 '@storybook/preview-api': 7.5.1 '@storybook/types': 7.5.1 - '@vue/compiler-core': 3.3.5 + '@vue/compiler-core': 3.3.6 lodash: 4.17.21 ts-dedent: 2.2.0 type-fest: 2.19.0 - vue: 3.3.6(typescript@5.2.2) - vue-component-type-helpers: 1.8.19 + vue: 3.3.7(typescript@5.2.2) + vue-component-type-helpers: 1.8.22 transitivePeerDependencies: - encoding - supports-color dev: true - /@swc/cli@0.1.62(@swc/core@1.3.94)(chokidar@3.5.3): + /@swc/cli@0.1.62(@swc/core@1.3.95)(chokidar@3.5.3): resolution: {integrity: sha512-kOFLjKY3XH1DWLfXL1/B5MizeNorHR8wHKEi92S/Zi9Md/AK17KSqR8MgyRJ6C1fhKHvbBCl8wboyKAFXStkYw==} engines: {node: '>= 12.13'} hasBin: true @@ -6938,7 +6931,7 @@ packages: optional: true dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.3.94 + '@swc/core': 1.3.95 chokidar: 3.5.3 commander: 7.2.0 fast-glob: 3.3.1 @@ -6967,8 +6960,8 @@ packages: dev: false optional: true - /@swc/core-darwin-arm64@1.3.94: - resolution: {integrity: sha512-KNuE6opIy/wAXiGUWLhGWhCG3wA/AdjG6eYkv6dstrAURLaQMAoD8vDfVm8pxS8FA8Kx+0Z4QiDNPqk5aKIsqg==} + /@swc/core-darwin-arm64@1.3.95: + resolution: {integrity: sha512-VAuBAP3MNetO/yBIBzvorUXq7lUBwhfpJxYViSxyluMwtoQDhE/XWN598TWMwMl1ZuImb56d7eUsuFdjgY7pJw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -6984,8 +6977,8 @@ packages: dev: false optional: true - /@swc/core-darwin-x64@1.3.94: - resolution: {integrity: sha512-HypemhyehQrLqXwfJv5ronD4BMAXdgMCP4Ei7rt3B6Ftmt9axwGvdwGiXxsYR9h1ncyxoVxN+coGxbNIhKhahw==} + /@swc/core-darwin-x64@1.3.95: + resolution: {integrity: sha512-20vF2rvUsN98zGLZc+dsEdHvLoCuiYq/1B+TDeE4oolgTFDmI1jKO+m44PzWjYtKGU9QR95sZ6r/uec0QC5O4Q==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -7012,8 +7005,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm-gnueabihf@1.3.94: - resolution: {integrity: sha512-KzKN54c7Y6X1db+bBVSXG4+bXmAPvXtDWk+TgwNJH4yYliOrnP/RKkHA5QZ9VFSnqJF06/sAO4kYBiL/aVQDBQ==} + /@swc/core-linux-arm-gnueabihf@1.3.95: + resolution: {integrity: sha512-oEudEM8PST1MRNGs+zu0cx5i9uP8TsLE4/L9HHrS07Ck0RJ3DCj3O2fU832nmLe2QxnAGPwBpSO9FntLfOiWEQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -7029,8 +7022,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm64-gnu@1.3.94: - resolution: {integrity: sha512-iAcR8Ho0Uck/SLSrgYfXkpcGOXuN5waMZO7GlL/52QODr7GJtOfZ0H1MCZLbIFkPJp/iXoJpYgym4d/qSd477Q==} + /@swc/core-linux-arm64-gnu@1.3.95: + resolution: {integrity: sha512-pIhFI+cuC1aYg+0NAPxwT/VRb32f2ia8oGxUjQR6aJg65gLkUYQzdwuUmpMtFR2WVf7WVFYxUnjo4UyMuyh3ng==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -7046,8 +7039,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm64-musl@1.3.94: - resolution: {integrity: sha512-VCHL1Mb9ENHx+sAeubSSg481MUeP9/PYzPPy9tfswunj/w35M+vEWflwK2dzQL9kUTFD3zcFTpAgsKnj6aX24w==} + /@swc/core-linux-arm64-musl@1.3.95: + resolution: {integrity: sha512-ZpbTr+QZDT4OPJfjPAmScqdKKaT+wGurvMU5AhxLaf85DuL8HwUwwlL0n1oLieLc47DwIJEMuKQkYhXMqmJHlg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -7063,8 +7056,8 @@ packages: dev: false optional: true - /@swc/core-linux-x64-gnu@1.3.94: - resolution: {integrity: sha512-gjq7U6clhJi0Oel2a4gwR4MbSu+THQ2hmBNVCOSA3JjPZWZTkJXaJDpnh/r7PJxKBwUDlo0VPlwiwjepAQR2Rw==} + /@swc/core-linux-x64-gnu@1.3.95: + resolution: {integrity: sha512-n9SuHEFtdfSJ+sHdNXNRuIOVprB8nbsz+08apKfdo4lEKq6IIPBBAk5kVhPhkjmg2dFVHVo4Tr/OHXM1tzWCCw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -7080,8 +7073,8 @@ packages: dev: false optional: true - /@swc/core-linux-x64-musl@1.3.94: - resolution: {integrity: sha512-rSylruWyeol2ujZDHmwiovupMR5ukMXivlA7DDxmQ1dFUV9HuiPknQrU5rEbI3V2V3V5RkpbEKjnADen7AeMPQ==} + /@swc/core-linux-x64-musl@1.3.95: + resolution: {integrity: sha512-L1JrVlsXU3LC0WwmVnMK9HrOT2uhHahAoPNMJnZQpc18a0paO9fqifPG8M/HjNRffMUXR199G/phJsf326UvVg==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -7097,8 +7090,8 @@ packages: dev: false optional: true - /@swc/core-win32-arm64-msvc@1.3.94: - resolution: {integrity: sha512-OenDUr5MQkz506ebVQq6ezoZ3GZ26nchgf5mPnwab4gx2TEiyR9zn7MdX5LWskTmOK3+FszPbGK0B5oLK6Y5yw==} + /@swc/core-win32-arm64-msvc@1.3.95: + resolution: {integrity: sha512-YaP4x/aZbUyNdqCBpC2zL8b8n58MEpOUpmOIZK6G1SxGi+2ENht7gs7+iXpWPc0sy7X3YPKmSWMAuui0h8lgAA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -7114,8 +7107,8 @@ packages: dev: false optional: true - /@swc/core-win32-ia32-msvc@1.3.94: - resolution: {integrity: sha512-mi6NcmtJKnaiHAxLtVz+WzunscsEwPdA0j15DuiYVx06Xo+MdRLJj4eVBgVLwGD1AI3IqKs4MVVx2cD7n0h5mg==} + /@swc/core-win32-ia32-msvc@1.3.95: + resolution: {integrity: sha512-w0u3HI916zT4BC/57gOd+AwAEjXeUlQbGJ9H4p/gzs1zkSHtoDQghVUNy3n/ZKp9KFod/95cA8mbVF9t1+6epQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -7131,16 +7124,16 @@ packages: dev: false optional: true - /@swc/core-win32-x64-msvc@1.3.94: - resolution: {integrity: sha512-Ba0ZLcGMnqPWWF9Xa+rWhhnkpvE7XoQegMP/VCF2JIHb2ieGBC8jChO6nKRFKZjib/3wghGzxakyDQx3LDhDug==} + /@swc/core-win32-x64-msvc@1.3.95: + resolution: {integrity: sha512-5RGnMt0S6gg4Gc6QtPUJ3Qs9Un4sKqccEzgH/tj7V/DVTJwKdnBKxFZfgQ34OR2Zpz7zGOn889xwsFVXspVWNA==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.3.94: - resolution: {integrity: sha512-jTHn8UJOGgERKZLy8euEixVAzC/w/rUSuMlM3e7hxgap/TC595hSkuQwtkpL238dsuEPveD44GMy2A5UBtSvjg==} + /@swc/core@1.3.95: + resolution: {integrity: sha512-PMrNeuqIusq9DPDooV3FfNEbZuTu5jKAc04N3Hm6Uk2Fl49cqElLFQ4xvl4qDmVDz97n3n/C1RE0/f6WyGPEiA==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -7152,28 +7145,28 @@ packages: '@swc/counter': 0.1.1 '@swc/types': 0.1.5 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.94 - '@swc/core-darwin-x64': 1.3.94 - '@swc/core-linux-arm-gnueabihf': 1.3.94 - '@swc/core-linux-arm64-gnu': 1.3.94 - '@swc/core-linux-arm64-musl': 1.3.94 - '@swc/core-linux-x64-gnu': 1.3.94 - '@swc/core-linux-x64-musl': 1.3.94 - '@swc/core-win32-arm64-msvc': 1.3.94 - '@swc/core-win32-ia32-msvc': 1.3.94 - '@swc/core-win32-x64-msvc': 1.3.94 + '@swc/core-darwin-arm64': 1.3.95 + '@swc/core-darwin-x64': 1.3.95 + '@swc/core-linux-arm-gnueabihf': 1.3.95 + '@swc/core-linux-arm64-gnu': 1.3.95 + '@swc/core-linux-arm64-musl': 1.3.95 + '@swc/core-linux-x64-gnu': 1.3.95 + '@swc/core-linux-x64-musl': 1.3.95 + '@swc/core-win32-arm64-msvc': 1.3.95 + '@swc/core-win32-ia32-msvc': 1.3.95 + '@swc/core-win32-x64-msvc': 1.3.95 /@swc/counter@0.1.1: resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} - /@swc/jest@0.2.29(@swc/core@1.3.94): + /@swc/jest@0.2.29(@swc/core@1.3.95): resolution: {integrity: sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: '@jest/create-cache-key-function': 27.5.1 - '@swc/core': 1.3.94 + '@swc/core': 1.3.95 jsonc-parser: 3.2.0 dev: true @@ -7369,7 +7362,7 @@ packages: optional: true dependencies: '@adobe/css-tools': 4.3.1 - '@babel/runtime': 7.23.1 + '@babel/runtime': 7.23.2 '@types/jest': 28.1.3 aria-query: 5.1.3 chalk: 3.0.0 @@ -7377,7 +7370,7 @@ packages: dom-accessibility-api: 0.5.16 lodash: 4.17.21 redent: 3.0.0 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.4)(terser@5.22.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) dev: true /@testing-library/user-event@14.4.3(@testing-library/dom@9.2.0): @@ -7389,7 +7382,7 @@ packages: '@testing-library/dom': 9.2.0 dev: true - /@testing-library/vue@7.0.0(@vue/compiler-sfc@3.3.6)(vue@3.3.6): + /@testing-library/vue@7.0.0(@vue/compiler-sfc@3.3.7)(vue@3.3.7): resolution: {integrity: sha512-JU/q93HGo2qdm1dCgWymkeQlfpC0/0/DBZ2nAHgEAsVZxX11xVIxT7gbXdI7HACQpUbsUWt1zABGU075Fzt9XQ==} engines: {node: '>=14'} peerDependencies: @@ -7398,9 +7391,9 @@ packages: dependencies: '@babel/runtime': 7.21.0 '@testing-library/dom': 9.2.0 - '@vue/compiler-sfc': 3.3.6 - '@vue/test-utils': 2.3.2(vue@3.3.6) - vue: 3.3.6(typescript@5.2.2) + '@vue/compiler-sfc': 3.3.7 + '@vue/test-utils': 2.3.2(vue@3.3.7) + vue: 3.3.7(typescript@5.2.2) dev: true /@tokenizer/token@0.3.0: @@ -7425,7 +7418,7 @@ packages: /@types/accepts@1.3.6: resolution: {integrity: sha512-6+qlUg57yfE9OO63wnsJXLeq9cG3gSHBBIxNMOjNrbDRlDnm/NaR7RctfYcVCPq+j7d+MwOxqVEludH5+FKrlg==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/archiver@5.3.4: @@ -7479,7 +7472,7 @@ packages: resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/braces@3.0.1: @@ -7491,7 +7484,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 20.8.7 + '@types/node': 20.8.9 '@types/responselike': 1.0.0 dev: false @@ -7524,7 +7517,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/content-disposition@0.5.7: @@ -7538,7 +7531,7 @@ packages: /@types/cross-spawn@6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/debug@4.1.7: @@ -7596,7 +7589,7 @@ packages: /@types/express-serve-static-core@4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -7617,20 +7610,20 @@ packages: /@types/fluent-ffmpeg@2.1.23: resolution: {integrity: sha512-ZEogBz8YpWflRox2uzGUNOYolQPUDGMNUFhf6fY/cW+6i00oeSTD0tYf4az6/162jv0YsRYi6uxigssnag7E7A==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/hast@2.3.4: @@ -7645,7 +7638,7 @@ packages: /@types/http-link-header@1.0.4: resolution: {integrity: sha512-UeasLdPPSfmX45RH6h1lo932WfQUTuc1adQCpPioqRRVBM25dWwIPDBhM0CjWbdflmvr8vIzQg48yk1JzylhXg==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/istanbul-lib-coverage@2.0.4: @@ -7689,7 +7682,7 @@ packages: /@types/jsdom@21.1.4: resolution: {integrity: sha512-NzAMLEV0KQ4cBaDx3Ls8VfJUElyDUm1xrtYRmcMK0gF8L5xYbujFVaQlJ50yinQ/d47j2rEP1XUzkiYrw4YRFA==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true @@ -7713,7 +7706,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: false /@types/lodash@4.14.191: @@ -7762,7 +7755,7 @@ packages: /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 form-data: 3.0.1 /@types/node-fetch@3.0.3: @@ -7775,15 +7768,15 @@ packages: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} dev: true - /@types/node@20.8.7: - resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} + /@types/node@20.8.9: + resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} dependencies: - undici-types: 5.25.3 + undici-types: 5.26.5 /@types/nodemailer@6.4.13: resolution: {integrity: sha512-889Vq/77eEpidCwh52sVWpbnqQmIwL8yVBekNbrztVEaWKOCRH3Eq6hjIJh1jwsGDEAJEH0RR+YhpH9mfELLKA==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/normalize-package-data@2.4.1: @@ -7800,13 +7793,13 @@ packages: resolution: {integrity: sha512-ZnHWsUZf3+gdR4sdsNRtu1jhULpLORn62s5UIvTtXStxy/P6/LiGjbeXVqNkNwCUNlBq6XItc9phMOfxNLX17w==} dependencies: '@types/express': 4.17.17 - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/oauth@0.9.3: resolution: {integrity: sha512-avZiwxSz/WS6EaEjhchzXKgWtlGGYGnEVJoHuQuDLHf7gIW1Gmm9eIxOMuJ6umQNNKZkJ3Uy+C/rLzEvL3I8Sw==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/offscreencanvas@2019.3.0: @@ -7822,7 +7815,7 @@ packages: /@types/pg@8.10.7: resolution: {integrity: sha512-ksJqHipwYaSEHz9e1fr6H6erjoEdNNaOxwyJgPx9bNeaqOW3iWBQgVHfpwiSAoqGzchfc+ZyRLwEfeCcyYD3uQ==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 pg-protocol: 1.6.0 pg-types: 4.0.1 dev: true @@ -7846,7 +7839,7 @@ packages: /@types/qrcode@1.5.4: resolution: {integrity: sha512-ufYqUO7wUBq49hugJry+oIYKscvxIQerJSmXeny215aJKfrepN04DDZP8FCgxvV82kOqKPULCE4PIW3qUmZrRA==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/qs@6.9.7: @@ -7876,7 +7869,7 @@ packages: /@types/readdir-glob@1.1.1: resolution: {integrity: sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/rename@1.0.6: @@ -7890,7 +7883,7 @@ packages: /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: false /@types/sanitize-html@2.9.3: @@ -7916,7 +7909,7 @@ packages: resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} dependencies: '@types/mime': 3.0.1 - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/serviceworker@0.0.67: @@ -7926,7 +7919,7 @@ packages: /@types/set-cookie-parser@2.4.3: resolution: {integrity: sha512-7QhnH7bi+6KAhBB+Auejz1uV9DHiopZqu7LfR/5gZZTkejJV5nYeZZpgfFoE0N8aDsXuiYpfKyfyMatCwQhyTQ==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/sharp@0.32.0: @@ -7989,13 +7982,13 @@ packages: /@types/vary@1.1.2: resolution: {integrity: sha512-eg5VDqVer3MPty3Ftd/T1ZMGhhBZVvW9rMn4psghY4JqcleHvyU0y2wkyIzrID34AYzdeXLDuxT3oc0AM8nJJQ==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/web-push@3.6.2: resolution: {integrity: sha512-v6Wdk1eIVbAJQjEAa1ZxuG3cfOYTd6nSv55BVJMtLQUvQ07v80MPt2Voq/z71WKhy4CORu4L3aH+8SXKX4BD5g==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/webgl-ext@0.0.30: @@ -8006,13 +7999,13 @@ packages: /@types/websocket@1.0.8: resolution: {integrity: sha512-wvkOpWApbuxVfHhSQ1XrjVN4363vsfLJwEo4AboIZk0g1vJA5nmLp8GXUHuIdf4/Fe7+/V0Efe2HvWiLqHtlqw==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/ws@8.5.8: resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/yargs-parser@21.0.0: @@ -8035,12 +8028,12 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true optional: true - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} + /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -8051,11 +8044,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/type-utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.52.0 graphemer: 1.4.0 @@ -8068,8 +8061,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} + /@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8078,10 +8071,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.52.0 typescript: 5.2.2 @@ -8089,16 +8082,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.8.0: - resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} + /@typescript-eslint/scope-manager@6.9.0: + resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} + /@typescript-eslint/type-utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8107,8 +8100,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) debug: 4.3.4(supports-color@8.1.1) eslint: 8.52.0 ts-api-utils: 1.0.1(typescript@5.2.2) @@ -8117,13 +8110,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.8.0: - resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} + /@typescript-eslint/types@6.9.0: + resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + /@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): + resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -8131,8 +8124,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -8143,8 +8136,8 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} + /@typescript-eslint/utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8152,9 +8145,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) eslint: 8.52.0 semver: 7.5.4 transitivePeerDependencies: @@ -8162,11 +8155,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.8.0: - resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} + /@typescript-eslint/visitor-keys@6.9.0: + resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/types': 6.9.0 eslint-visitor-keys: 3.4.3 dev: true @@ -8185,20 +8178,20 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.22.11) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.6): + /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.7): resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) - vue: 3.3.6(typescript@5.2.2) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vue: 3.3.7(typescript@5.2.2) /@vitest/coverage-v8@0.34.6(vitest@0.34.6): resolution: {integrity: sha512-fivy/OK2d/EsJFoEoxHFEnNGTg+MmdZBAVK9Ka4qhXR2K3J0DS08vcGVwzDtXSuUMabLv4KtPcpSKkcMXFDViw==} @@ -8216,7 +8209,7 @@ packages: std-env: 3.3.3 test-exclude: 6.0.0 v8-to-istanbul: 9.1.0 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.4)(terser@5.22.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) transitivePeerDependencies: - supports-color dev: true @@ -8259,25 +8252,26 @@ packages: pretty-format: 29.7.0 dev: true - /@volar/language-core@1.10.4: - resolution: {integrity: sha512-Na69qA6uwVIdA0rHuOc2W3pHtVQQO8hCNim7FOaKNpRJh0oAFnu5r9i7Oopo5C4cnELZkPNjTrbmpcCTiW+CMQ==} + /@volar/language-core@1.10.7: + resolution: {integrity: sha512-6+WI7HGqWCsKJ/bms4V45WP7eDeoGxDtLjYPrHB7QkIWVkRLIeGPzzBoonZz9kERM+Kld3W89Y+IlICejVAKhA==} dependencies: - '@volar/source-map': 1.10.4 + '@volar/source-map': 1.10.7 dev: true - /@volar/source-map@1.10.4: - resolution: {integrity: sha512-RxZdUEL+pV8p+SMqnhVjzy5zpb1QRZTlcwSk4bdcBO7yOu4rtEWqDGahVCEj4CcXour+0yJUMrMczfSCpP9Uxg==} + /@volar/source-map@1.10.7: + resolution: {integrity: sha512-anA254XO0lmmeu0p/kvgPOCkrVpqNIHWMvEkPX70PSk4ntg0iBzN/f0Kip6deXvibl6v14Q3Z8RihWrZwdZEEQ==} dependencies: muggle-string: 0.3.1 dev: true - /@volar/typescript@1.10.4: - resolution: {integrity: sha512-BCCUEBASBEMCrz7qmNSi2hBEWYsXD0doaktRKpmmhvb6XntM2sAWYu6gbyK/MluLDgluGLFiFRpWgobgzUqolg==} + /@volar/typescript@1.10.7: + resolution: {integrity: sha512-2hvA3vjXVUn1vOpsP/nWLnE5DUmY6YKQhvDRoZVfBrnWwIo0ySxdTUP4XieXGGgSk43xJaeU1zqQS/3Wfm7QgA==} dependencies: - '@volar/language-core': 1.10.4 + '@volar/language-core': 1.10.7 + path-browserify: 1.0.1 dev: true - /@vue-macros/common@1.8.0(rollup@4.1.4)(vue@3.3.6): + /@vue-macros/common@1.8.0(rollup@4.1.4)(vue@3.3.7): resolution: {integrity: sha512-auDJJzE0z3uRe3867e0DsqcseKImktNf5ojCZgUKqiVxb2yTlwlgOVAYCgoep9oITqxkXQymSvFeKhedi8PhaA==} engines: {node: '>=16.14.0'} peerDependencies: @@ -8288,28 +8282,28 @@ packages: dependencies: '@babel/types': 7.22.17 '@rollup/pluginutils': 5.0.5(rollup@4.1.4) - '@vue/compiler-sfc': 3.3.6 + '@vue/compiler-sfc': 3.3.7 ast-kit: 0.11.2(rollup@4.1.4) local-pkg: 0.4.3 magic-string-ast: 0.3.0 - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) transitivePeerDependencies: - rollup dev: false - /@vue-macros/reactivity-transform@0.3.23(rollup@4.1.4)(vue@3.3.6): + /@vue-macros/reactivity-transform@0.3.23(rollup@4.1.4)(vue@3.3.7): resolution: {integrity: sha512-SubIg1GsNpQdIDJusrcA2FWBgwSY+4jmL0j6SJ6PU85r3rlS+uDhn6AUkqxeZRAdmJnrbGHXDyWUdygOZmWrSg==} engines: {node: '>=16.14.0'} peerDependencies: vue: ^2.7.0 || ^3.2.25 dependencies: '@babel/parser': 7.22.16 - '@vue-macros/common': 1.8.0(rollup@4.1.4)(vue@3.3.6) + '@vue-macros/common': 1.8.0(rollup@4.1.4)(vue@3.3.7) '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 magic-string: 0.30.3 unplugin: 1.4.0 - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) transitivePeerDependencies: - rollup dev: false @@ -8322,15 +8316,6 @@ packages: estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-core@3.3.5: - resolution: {integrity: sha512-S8Ma+eICI40Y4UotR+iKR729Bma+wERn/xLc+Jz203s5WIW1Sx3qoiONqXGg3Q4vBMa+QHDncULya19ZSJuhog==} - dependencies: - '@babel/parser': 7.23.0 - '@vue/shared': 3.3.5 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: true - /@vue/compiler-core@3.3.6: resolution: {integrity: sha512-2JNjemwaNwf+MkkatATVZi7oAH1Hx0B04DdPH3ZoZ8vKC1xZVP7nl4HIsk8XYd3r+/52sqqoz9TWzYc3yE9dqA==} dependencies: @@ -8338,6 +8323,15 @@ packages: '@vue/shared': 3.3.6 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: true + + /@vue/compiler-core@3.3.7: + resolution: {integrity: sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==} + dependencies: + '@babel/parser': 7.23.0 + '@vue/shared': 3.3.7 + estree-walker: 2.0.2 + source-map-js: 1.0.2 /@vue/compiler-dom@3.3.4: resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} @@ -8346,150 +8340,134 @@ packages: '@vue/shared': 3.3.4 dev: true - /@vue/compiler-dom@3.3.5: - resolution: {integrity: sha512-dxt6QntN9T/NtnV6Pz+/nmcoo3ULnsYCnRpvEyY73wbk1tzzx7dnwngUN1cXkyGNu9c3UE7llhq/5T54lKwyhQ==} - dependencies: - '@vue/compiler-core': 3.3.5 - '@vue/shared': 3.3.5 - dev: true - optional: true - /@vue/compiler-dom@3.3.6: resolution: {integrity: sha512-1MxXcJYMHiTPexjLAJUkNs/Tw2eDf2tY3a0rL+LfuWyiKN2s6jvSwywH3PWD8bKICjfebX3GWx2Os8jkRDq3Ng==} dependencies: '@vue/compiler-core': 3.3.6 '@vue/shared': 3.3.6 + dev: true - /@vue/compiler-sfc@3.3.6: - resolution: {integrity: sha512-/Kms6du2h1VrXFreuZmlvQej8B1zenBqIohP0690IUBkJjsFvJxY0crcvVRJ0UhMgSR9dewB+khdR1DfbpArJA==} + /@vue/compiler-dom@3.3.7: + resolution: {integrity: sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==} + dependencies: + '@vue/compiler-core': 3.3.7 + '@vue/shared': 3.3.7 + + /@vue/compiler-sfc@3.3.7: + resolution: {integrity: sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==} dependencies: '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.6 - '@vue/compiler-dom': 3.3.6 - '@vue/compiler-ssr': 3.3.6 - '@vue/reactivity-transform': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/compiler-core': 3.3.7 + '@vue/compiler-dom': 3.3.7 + '@vue/compiler-ssr': 3.3.7 + '@vue/reactivity-transform': 3.3.7 + '@vue/shared': 3.3.7 estree-walker: 2.0.2 magic-string: 0.30.5 postcss: 8.4.31 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.3.5: - resolution: {integrity: sha512-v7p2XuEpOcgjd6c49NqOnq3UTJOv5Uo9tirOyGnEadwxTov2O1J3/TUt4SgAAnwA+9gcUyH5c3lIOFsBe+UIyw==} - requiresBuild: true - dependencies: - '@vue/compiler-dom': 3.3.5 - '@vue/shared': 3.3.5 - dev: true - optional: true - /@vue/compiler-ssr@3.3.6: resolution: {integrity: sha512-QTIHAfDCHhjXlYGkUg5KH7YwYtdUM1vcFl/FxFDlD6d0nXAmnjizka3HITp8DGudzHndv2PjKVS44vqqy0vP4w==} + requiresBuild: true dependencies: '@vue/compiler-dom': 3.3.6 '@vue/shared': 3.3.6 + dev: true + optional: true - /@vue/language-core@1.8.19(typescript@5.2.2): - resolution: {integrity: sha512-nt3dodGs97UM6fnxeQBazO50yYCKBK53waFWB3qMbLmR6eL3aUryZgQtZoBe1pye17Wl8fs9HysV3si6xMgndQ==} + /@vue/compiler-ssr@3.3.7: + resolution: {integrity: sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==} + dependencies: + '@vue/compiler-dom': 3.3.7 + '@vue/shared': 3.3.7 + + /@vue/language-core@1.8.22(typescript@5.2.2): + resolution: {integrity: sha512-bsMoJzCrXZqGsxawtUea1cLjUT9dZnDsy5TuZ+l1fxRMzUGQUG9+Ypq4w//CqpWmrx7nIAJpw2JVF/t258miRw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 1.10.4 - '@volar/source-map': 1.10.4 - '@vue/compiler-dom': 3.3.4 - '@vue/reactivity': 3.3.5 - '@vue/shared': 3.3.5 + '@volar/language-core': 1.10.7 + '@volar/source-map': 1.10.7 + '@vue/compiler-dom': 3.3.6 + '@vue/shared': 3.3.6 + computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 typescript: 5.2.2 vue-template-compiler: 2.7.14 dev: true - /@vue/reactivity-transform@3.3.6: - resolution: {integrity: sha512-RlJl4dHfeO7EuzU1iJOsrlqWyJfHTkJbvYz/IOJWqu8dlCNWtxWX377WI0VsbAgBizjwD+3ZjdnvSyyFW1YVng==} + /@vue/reactivity-transform@3.3.7: + resolution: {integrity: sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==} dependencies: '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/compiler-core': 3.3.7 + '@vue/shared': 3.3.7 estree-walker: 2.0.2 magic-string: 0.30.5 - /@vue/reactivity@3.3.5: - resolution: {integrity: sha512-P7OBfPjsbV5lDCwZQDtWFqPh3uAP3Q6bRqYVgsYr6ki7jiaiHGSLmeaevUi+Nkev8nhublUpApnWevNiACN3sw==} + /@vue/reactivity@3.3.7: + resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==} dependencies: - '@vue/shared': 3.3.5 - dev: true + '@vue/shared': 3.3.7 - /@vue/reactivity@3.3.6: - resolution: {integrity: sha512-gtChAumfQz5lSy5jZXfyXbKrIYPf9XEOrIr6rxwVyeWVjFhJwmwPLtV6Yis+M9onzX++I5AVE9j+iPH60U+B8Q==} + /@vue/runtime-core@3.3.7: + resolution: {integrity: sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==} dependencies: - '@vue/shared': 3.3.6 + '@vue/reactivity': 3.3.7 + '@vue/shared': 3.3.7 - /@vue/runtime-core@3.3.6: - resolution: {integrity: sha512-qp7HTP1iw1UW2ZGJ8L3zpqlngrBKvLsDAcq5lA6JvEXHmpoEmjKju7ahM9W2p/h51h0OT5F2fGlP/gMhHOmbUA==} + /@vue/runtime-dom@3.3.7: + resolution: {integrity: sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==} dependencies: - '@vue/reactivity': 3.3.6 - '@vue/shared': 3.3.6 - - /@vue/runtime-dom@3.3.6: - resolution: {integrity: sha512-AoX3Cp8NqMXjLbIG9YR6n/pPLWE9TiDdk6wTJHFnl2GpHzDFH1HLBC9wlqqQ7RlnvN3bVLpzPGAAH00SAtOxHg==} - dependencies: - '@vue/runtime-core': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/runtime-core': 3.3.7 + '@vue/shared': 3.3.7 csstype: 3.1.2 - /@vue/server-renderer@3.3.5(vue@3.3.6): - resolution: {integrity: sha512-7VIZkohYn8GAnNT9chrm0vDpHJ6mWPL+TmUBKtDWcWxYcq33YJP/VHCPQN5TazkxXCtv3c1KfXAMZowX4giLoQ==} - peerDependencies: - vue: 3.3.5 - dependencies: - '@vue/compiler-ssr': 3.3.5 - '@vue/shared': 3.3.5 - vue: 3.3.6(typescript@5.2.2) - dev: true - optional: true - - /@vue/server-renderer@3.3.6(vue@3.3.6): + /@vue/server-renderer@3.3.6(vue@3.3.7): resolution: {integrity: sha512-kgLoN43W4ERdZ6dpyy+gnk2ZHtcOaIr5Uc/WUP5DRwutgvluzu2pudsZGoD2b7AEJHByUVMa9k6Sho5lLRCykw==} peerDependencies: vue: 3.3.6 dependencies: '@vue/compiler-ssr': 3.3.6 '@vue/shared': 3.3.6 - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) + dev: true + optional: true + + /@vue/server-renderer@3.3.7(vue@3.3.7): + resolution: {integrity: sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==} + peerDependencies: + vue: 3.3.7 + dependencies: + '@vue/compiler-ssr': 3.3.7 + '@vue/shared': 3.3.7 + vue: 3.3.7(typescript@5.2.2) /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - /@vue/shared@3.3.5: - resolution: {integrity: sha512-oNJN1rCtkqm1cIxU1BuZVEVRWIp4DhaxXucEzzZ/iDKHP71ZxhkBPNK+URySiECH6aiOZzC60PS2bd6JFznvNA==} - dev: true - /@vue/shared@3.3.6: resolution: {integrity: sha512-Xno5pEqg8SVhomD0kTSmfh30ZEmV/+jZtyh39q6QflrjdJCXah5lrnOLi9KB6a5k5aAHXMXjoMnxlzUkCNfWLQ==} + dev: true - /@vue/test-utils@2.3.2(vue@3.3.6): + /@vue/shared@3.3.7: + resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} + + /@vue/test-utils@2.3.2(vue@3.3.7): resolution: {integrity: sha512-hJnVaYhbrIm0yBS0+e1Y0Sj85cMyAi+PAbK4JHqMRUZ6S622Goa+G7QzkRSyvCteG8wop7tipuEbHoZo26wsSA==} peerDependencies: vue: ^3.0.1 dependencies: js-beautify: 1.14.6 - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) optionalDependencies: - '@vue/compiler-dom': 3.3.5 - '@vue/server-renderer': 3.3.5(vue@3.3.6) - dev: true - - /@vue/typescript@1.8.19(typescript@5.2.2): - resolution: {integrity: sha512-k/SHeeQROUgqsxyHQ8Cs3Zz5TnX57p7BcBDVYR2E0c61QL2DJ2G8CsaBremmNGuGE6o1R5D50IHIxFmroMz8iw==} - dependencies: - '@volar/typescript': 1.10.4 - '@vue/language-core': 1.8.19(typescript@5.2.2) - transitivePeerDependencies: - - typescript + '@vue/compiler-dom': 3.3.6 + '@vue/server-renderer': 3.3.6(vue@3.3.7) dev: true /@webgpu/types@0.1.30: @@ -8567,12 +8545,12 @@ packages: acorn: 7.4.1 dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.11.2 dev: true /acorn-walk@7.2.0: @@ -8595,6 +8573,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + /address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -8835,8 +8818,8 @@ packages: /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8850,8 +8833,8 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - /array.prototype.findlastindex@1.2.2: - resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==} + /array.prototype.findlastindex@1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8861,8 +8844,8 @@ packages: get-intrinsic: 1.2.1 dev: true - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8871,8 +8854,8 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -9336,8 +9319,8 @@ packages: dependencies: fill-range: 7.0.1 - /broadcast-channel@5.5.0: - resolution: {integrity: sha512-boNO+pUV0LzTlUV9AVhgJnOG43dJ0X/H4H4b5mrEduy1PoGMris1oNFgywzHCyXNe7UPdXiN21sp/hFyImvJ0A==} + /broadcast-channel@5.5.1: + resolution: {integrity: sha512-C7LtMmJCIIU07xtJngYE2OxaGTGBsG+wOa0mBSPRpbTF36kqtsXQhpxtCVDTkpe8gpZMn9C6PhH+mZ/js4IabA==} dependencies: '@babel/runtime': 7.23.2 oblivious-set: 1.1.1 @@ -9413,8 +9396,8 @@ packages: dependencies: node-gyp-build: 4.6.0 - /bullmq@4.12.5: - resolution: {integrity: sha512-llBh5ejISbtdvSgQOqwgoXOdagBTLFbgy8FoYc03nKVV+H1OqlUOsTVmlUh3Q1GapMVzRilMHBMHBPKaaE5Bjg==} + /bullmq@4.12.6: + resolution: {integrity: sha512-zPTf1H++KAmGY2T6TCkL7PWvoaiBPtTzMWMb4UOz3OxLTTnip6CsD3xsTZzsmu1xOdCbSf/0lO+SU8PeKTpY7w==} dependencies: cron-parser: 4.8.1 glob: 8.1.0 @@ -9762,8 +9745,8 @@ packages: engines: {node: '>=10'} requiresBuild: true - /chromatic@7.4.0: - resolution: {integrity: sha512-ORsoNgXiAxIEvbdVEqOu4lMZuVMGoM3kiO/toTrAEdh0ej9jIMm2VYqvGVdYGgIWO0xOD9Bn6A34gGeqCsZ1lQ==} + /chromatic@7.5.4: + resolution: {integrity: sha512-DiBwsn8yABN6SFSeEf5gTbwGIqhfP+rjrAQENgeLFDUV3vX3tGdI8oVgseaeCwk8tn08ZukrmB/k3ZG9RPJPTA==} hasBin: true dev: false @@ -10006,6 +9989,10 @@ packages: - supports-color dev: true + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -10101,7 +10088,7 @@ packages: readable-stream: 3.6.0 dev: false - /create-jest@29.7.0(@types/node@20.8.7): + /create-jest@29.7.0(@types/node@20.8.9): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -10110,7 +10097,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.8.7) + jest-config: 29.7.0(@types/node@20.8.9) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -10317,8 +10304,8 @@ packages: uniq: 1.0.1 dev: false - /cypress@13.3.2: - resolution: {integrity: sha512-ArLmZObcLC+xxCp7zJZZbhby9FUf5CueLej9dUM4+5j37FTS4iMSgHxQLDu01PydFUvDXcNoIVRCYrHHxD7Ybg==} + /cypress@13.3.3: + resolution: {integrity: sha512-mbdkojHhKB1xbrj7CrKWHi22uFx9P9vQFiR0sYDZZoK99OMp9/ZYN55TO5pjbXmV7xvCJ4JwBoADXjOJK8aCJw==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true @@ -11119,17 +11106,17 @@ packages: supports-hyperlinks: 2.3.0 dev: true - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7(supports-color@5.5.0) - is-core-module: 2.13.0 - resolve: 1.22.3 + is-core-module: 2.13.1 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.7)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -11150,16 +11137,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) debug: 3.2.7(supports-color@5.5.0) eslint: 8.52.0 - eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.8.0)(eslint@8.52.0): - resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0): + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -11168,23 +11155,23 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - array-includes: 3.1.6 - array.prototype.findlastindex: 1.2.2 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 + '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@5.5.0) doctrine: 2.1.0 eslint: 8.52.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.7)(eslint@8.52.0) - has: 1.0.3 - is-core-module: 2.13.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + hasown: 2.0.0 + is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.6 - object.groupby: 1.0.0 - object.values: 1.1.6 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -11193,8 +11180,8 @@ packages: - supports-color dev: true - /eslint-plugin-vue@9.17.0(eslint@8.52.0): - resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} + /eslint-plugin-vue@9.18.1(eslint@8.52.0): + resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 @@ -11279,8 +11266,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) eslint-visitor-keys: 3.4.3 dev: true @@ -11990,6 +11977,10 @@ packages: /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} @@ -12449,6 +12440,13 @@ packages: resolution: {integrity: sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==} dev: false + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + /hast-util-parse-selector@2.2.5: resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} dev: true @@ -12923,6 +12921,12 @@ packages: has: 1.0.3 dev: true + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -13290,7 +13294,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 chalk: 4.1.2 co: 4.6.0 dedent: 1.3.0 @@ -13311,7 +13315,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.8.7): + /jest-cli@29.7.0(@types/node@20.8.9): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13325,10 +13329,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.8.7) + create-jest: 29.7.0(@types/node@20.8.9) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.8.7) + jest-config: 29.7.0(@types/node@20.8.9) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.6.2 @@ -13339,7 +13343,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.8.7): + /jest-config@29.7.0(@types/node@20.8.9): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -13354,7 +13358,7 @@ packages: '@babel/core': 7.22.11 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 babel-jest: 29.7.0(@babel/core@7.22.11) chalk: 4.1.2 ci-info: 3.7.1 @@ -13434,7 +13438,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -13464,7 +13468,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 20.8.7 + '@types/node': 20.8.9 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -13525,7 +13529,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /jest-mock@29.7.0: @@ -13533,7 +13537,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 jest-util: 29.7.0 dev: true @@ -13588,7 +13592,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -13619,7 +13623,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -13671,7 +13675,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 chalk: 4.1.2 ci-info: 3.7.1 graceful-fs: 4.2.11 @@ -13696,7 +13700,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -13715,13 +13719,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.8.7): + /jest@29.7.0(@types/node@20.8.9): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13734,7 +13738,7 @@ packages: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.8.7) + jest-cli: 29.7.0(@types/node@20.8.9) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -14680,7 +14684,7 @@ packages: /mlly@1.4.0: resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} dependencies: - acorn: 8.10.0 + acorn: 8.11.2 pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.1.2 @@ -14738,8 +14742,8 @@ packages: msgpackr-extract: 3.0.2 dev: false - /msw-storybook-addon@1.9.0(msw@1.3.2): - resolution: {integrity: sha512-+5ki9SZYF0+IEMW9n4fzkuRa02o5lf9Xf6nfAvWqYvwdLtcpmcwdBRkkFTh+wLTZv010+Ui+P6ZYEVJ0e8wMyw==} + /msw-storybook-addon@1.10.0(msw@1.3.2): + resolution: {integrity: sha512-soCTMTf7DnLeaMnFHPrtVgbyeFTJALVvnDHpzzXpJad+HOzJgQdwU4EAzVfDs1q+X5cVEgxOdAhSMC7ljvnSXg==} peerDependencies: msw: '>=0.35.0 <2.0.0' dependencies: @@ -15217,8 +15221,8 @@ packages: object-keys: 1.1.1 dev: true - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -15226,8 +15230,8 @@ packages: es-abstract: 1.22.1 dev: true - /object.groupby@1.0.0: - resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==} + /object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 @@ -15235,8 +15239,8 @@ packages: get-intrinsic: 1.2.1 dev: true - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -15520,6 +15524,10 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -16622,8 +16630,8 @@ packages: setimmediate: 1.0.5 dev: false - /re2@1.20.4: - resolution: {integrity: sha512-a5mMfXcMnWJS3Wwm7W7DiOw/BhwmhMtN5ZxNV7OLOgLDxl1u/ZxuohpttgltEzVWG1+aeFT/jfUX7J/ZiNkuBA==} + /re2@1.20.5: + resolution: {integrity: sha512-wZAqOjJ3m0PBgM2B8KG9dNJLwSNIAOZGiHN/c0FpKpaM1Hkg5NpKNAWSVbCXe+bb2K0xmHz6DPR4HJaQ2MejgQ==} requiresBuild: true dependencies: install-artifact-from-github: 1.3.3 @@ -17133,6 +17141,15 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: @@ -17290,8 +17307,8 @@ packages: postcss: 8.4.31 dev: false - /sass@1.69.4: - resolution: {integrity: sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==} + /sass@1.69.5: + resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -18087,7 +18104,7 @@ packages: /strip-literal@1.0.1: resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} dependencies: - acorn: 8.10.0 + acorn: 8.11.2 dev: true /strip-outer@2.0.0: @@ -18169,8 +18186,8 @@ packages: resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} dev: true - /systeminformation@5.21.13: - resolution: {integrity: sha512-sGgMhQxxjKHSIJtv7g5s19IRpfCgLG3tZqGbFcfGFyMm1hJ3BmzTfaq0yyOO2oLHlbkM49mgMjnPPB8g573LMA==} + /systeminformation@5.21.15: + resolution: {integrity: sha512-vMLwsGgJZW6GvoBXVWNZuRQG0MPxlfQnIIIY9ZxoogWftUpJ9C33qD+32e1meFlXuWpN0moNApPFLpbsSi4OaQ==} engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -18313,8 +18330,8 @@ packages: real-require: 0.2.0 dev: false - /three@0.157.0: - resolution: {integrity: sha512-CeAwQrf4x3z0/e+MC4F+nXLW5t0gh3pw+L6CCBqpHvOq3bGYIgRYub7Pv0j/9wR+d++OiEglyZzWyuSYbwWGOA==} + /three@0.158.0: + resolution: {integrity: sha512-TALj4EOpdDPF1henk2Q+s17K61uEAAWQ7TJB68nr7FKxqwyDr3msOt5IWdbGm4TaWKjrtWS8DJJWe9JnvsWOhQ==} dev: false /throttle-debounce@5.0.0: @@ -18798,8 +18815,8 @@ packages: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} dev: true - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} /undici@5.22.1: resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} @@ -18899,7 +18916,7 @@ packages: /unplugin@1.4.0: resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==} dependencies: - acorn: 8.10.0 + acorn: 8.11.2 chokidar: 3.5.3 webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 @@ -19016,7 +19033,7 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true - /v-code-diff@1.7.1(vue@3.3.6): + /v-code-diff@1.7.1(vue@3.3.7): resolution: {integrity: sha512-2O34z6DcVw3LygR9Xl07A28115nsps56dCH6zxFMLoW1jyEnWFPN7Kwh0GAYAeWzDiltbqsMWgvfqJYjBEZPgw==} requiresBuild: true peerDependencies: @@ -19029,8 +19046,8 @@ packages: diff: 5.1.0 diff-match-patch: 1.0.5 highlight.js: 11.8.0 - vue: 3.3.6(typescript@5.2.2) - vue-demi: 0.13.11(vue@3.3.6) + vue: 3.3.7(typescript@5.2.2) + vue-demi: 0.13.11(vue@3.3.7) dev: false /v8-to-istanbul@9.1.0: @@ -19070,7 +19087,7 @@ packages: core-util-is: 1.0.2 extsprintf: 1.3.0 - /vite-node@0.34.6(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0): + /vite-node@0.34.6(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -19080,7 +19097,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) transitivePeerDependencies: - '@types/node' - less @@ -19096,7 +19113,7 @@ packages: resolution: {integrity: sha512-p4D8CFVhZS412SyQX125qxyzOgIFouwOcvjZWk6bQbNPR1wtaEzFT6jZxAjf1dejlGqa6fqHcuCvQea6EWUkUA==} dev: true - /vite@4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0): + /vite@4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -19124,11 +19141,11 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 esbuild: 0.18.17 postcss: 8.4.31 rollup: 3.29.4 - sass: 1.69.4 + sass: 1.69.5 terser: 5.22.0 optionalDependencies: fsevents: 2.3.2 @@ -19140,12 +19157,12 @@ packages: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.5 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.4)(terser@5.22.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) transitivePeerDependencies: - encoding dev: true - /vitest@0.34.6(happy-dom@10.0.3)(sass@1.69.4)(terser@5.22.0): + /vitest@0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} hasBin: true @@ -19178,13 +19195,13 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 20.8.7 + '@types/node': 20.8.9 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 '@vitest/spy': 0.34.6 '@vitest/utils': 0.34.6 - acorn: 8.10.0 + acorn: 8.11.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.10 @@ -19198,8 +19215,8 @@ packages: strip-literal: 1.0.1 tinybench: 2.5.0 tinypool: 0.7.0 - vite: 4.5.0(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) - vite-node: 0.34.6(@types/node@20.8.7)(sass@1.69.4)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite-node: 0.34.6(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -19215,11 +19232,11 @@ packages: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} - /vue-component-type-helpers@1.8.19: - resolution: {integrity: sha512-1OANGSZK4pzHF4uc86usWi+o5Y0zgoDtqWkPg6Am6ot+jHSAmpOah59V/4N82So5xRgivgCxGgK09lBy1XNUfQ==} + /vue-component-type-helpers@1.8.22: + resolution: {integrity: sha512-LK3wJHs3vJxHG292C8cnsRusgyC5SEZDCzDCD01mdE/AoREFMl2tzLRuzwyuEsOIz13tqgBcnvysN3Lxsa14Fw==} dev: true - /vue-demi@0.13.11(vue@3.3.6): + /vue-demi@0.13.11(vue@3.3.7): resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} engines: {node: '>=12'} hasBin: true @@ -19231,23 +19248,23 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) dev: false - /vue-docgen-api@4.64.1(vue@3.3.6): + /vue-docgen-api@4.64.1(vue@3.3.7): resolution: {integrity: sha512-jbOf7ByE3Zvtuk+429Jorl+eIeh2aB2Fx1GUo3xJd1aByJWE8KDlSEa6b11PB1ze8f0sRUBraRDinICCk0KY7g==} dependencies: '@babel/parser': 7.22.16 '@babel/types': 7.22.17 '@vue/compiler-dom': 3.3.4 - '@vue/compiler-sfc': 3.3.6 + '@vue/compiler-sfc': 3.3.7 ast-types: 0.14.2 hash-sum: 2.0.0 lru-cache: 8.0.4 pug: 3.0.2 recast: 0.22.0 ts-map: 1.0.3 - vue-inbrowser-compiler-independent-utils: 4.64.1(vue@3.3.6) + vue-inbrowser-compiler-independent-utils: 4.64.1(vue@3.3.7) transitivePeerDependencies: - vue dev: true @@ -19270,21 +19287,21 @@ packages: - supports-color dev: true - /vue-inbrowser-compiler-independent-utils@4.64.1(vue@3.3.6): + /vue-inbrowser-compiler-independent-utils@4.64.1(vue@3.3.7): resolution: {integrity: sha512-Hn32n07XZ8j9W8+fmOXPQL+i+W2e/8i6mkH4Ju3H6nR0+cfvmWM95GhczYi5B27+Y8JlCKgAo04IUiYce4mKAw==} peerDependencies: vue: '>=2' dependencies: - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) dev: true - /vue-prism-editor@2.0.0-alpha.2(vue@3.3.6): + /vue-prism-editor@2.0.0-alpha.2(vue@3.3.7): resolution: {integrity: sha512-Gu42ba9nosrE+gJpnAEuEkDMqG9zSUysIR8SdXUw8MQKDjBnnNR9lHC18uOr/ICz7yrA/5c7jHJr9lpElODC7w==} engines: {node: '>=10'} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) dev: false /vue-template-compiler@2.7.14: @@ -19294,40 +19311,40 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.19(typescript@5.2.2): - resolution: {integrity: sha512-tacMQLQ0CXAfbhRycCL5sWIy1qujXaIEtP1hIQpzHWOUuICbtTj9gJyFf91PvzG5KCNIkA5Eg7k2Fmgt28l5DQ==} + /vue-tsc@1.8.22(typescript@5.2.2): + resolution: {integrity: sha512-j9P4kHtW6eEE08aS5McFZE/ivmipXy0JzrnTgbomfABMaVKx37kNBw//irL3+LlE3kOo63XpnRigyPC3w7+z+A==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.19(typescript@5.2.2) - '@vue/typescript': 1.8.19(typescript@5.2.2) + '@volar/typescript': 1.10.7 + '@vue/language-core': 1.8.22(typescript@5.2.2) semver: 7.5.4 typescript: 5.2.2 dev: true - /vue@3.3.6(typescript@5.2.2): - resolution: {integrity: sha512-jJIDETeWJnoY+gfn4ZtMPMS5KtbP4ax+CT4dcQFhTnWEk8xMupFyQ0JxL28nvT/M4+p4a0ptxaV2WY0LiIxvRg==} + /vue@3.3.7(typescript@5.2.2): + resolution: {integrity: sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.3.6 - '@vue/compiler-sfc': 3.3.6 - '@vue/runtime-dom': 3.3.6 - '@vue/server-renderer': 3.3.6(vue@3.3.6) - '@vue/shared': 3.3.6 + '@vue/compiler-dom': 3.3.7 + '@vue/compiler-sfc': 3.3.7 + '@vue/runtime-dom': 3.3.7 + '@vue/server-renderer': 3.3.7(vue@3.3.7) + '@vue/shared': 3.3.7 typescript: 5.2.2 - /vuedraggable@4.1.0(vue@3.3.6): + /vuedraggable@4.1.0(vue@3.3.7): resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} peerDependencies: vue: ^3.0.1 dependencies: sortablejs: 1.14.0 - vue: 3.3.6(typescript@5.2.2) + vue: 3.3.7(typescript@5.2.2) dev: false /w3c-xmlserializer@4.0.0: From 481db8aba42c098d06af8382b1ff7eefa6d4ba48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 28 Oct 2023 12:41:17 +0900 Subject: [PATCH 09/56] =?UTF-8?q?fix(frontend):=20MFM=E3=83=91=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E6=99=82=E3=81=AB=E6=84=8F=E5=9B=B3=E3=81=9B=E3=81=9A?= =?UTF-8?q?nyaize=E3=81=95=E3=82=8C=E3=82=8B=E5=95=8F=E9=A1=8C=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20(#12161)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update MkMisskeyFlavoredMarkdown.ts * Update MkMisskeyFlavoredMarkdown.ts * Update MkMisskeyFlavoredMarkdown.ts * Update MkNote.vue * (fix) にゃいずをノートでのみ適用 * fix * Fix lint --- packages/frontend/src/components/MkNote.vue | 8 +++--- .../src/components/MkNoteDetailed.vue | 6 ++--- .../frontend/src/components/MkNotePreview.vue | 2 +- .../frontend/src/components/MkNoteSimple.vue | 2 +- .../frontend/src/components/MkNoteSub.vue | 2 +- .../global/MkMisskeyFlavoredMarkdown.ts | 25 ++++++++++++------- 6 files changed, 26 insertions(+), 19 deletions(-) diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 339d2ac71..86690eb66 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -43,7 +43,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
@@ -53,19 +53,19 @@ SPDX-License-Identifier: AGPL-3.0-only

- +

({{ i18n.ts.private }}) - +
{{ i18n.t('translatedFrom', { x: translation.sourceLang }) }}: - +
diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 4f40feffd..cb226984b 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -67,19 +67,19 @@ SPDX-License-Identifier: AGPL-3.0-only

- +

({{ i18n.ts.private }}) - + RN:
{{ i18n.t('translatedFrom', { x: translation.sourceLang }) }}: - +
diff --git a/packages/frontend/src/components/MkNotePreview.vue b/packages/frontend/src/components/MkNotePreview.vue index 923c240cf..79ce60baf 100644 --- a/packages/frontend/src/components/MkNotePreview.vue +++ b/packages/frontend/src/components/MkNotePreview.vue @@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
diff --git a/packages/frontend/src/components/MkNoteSimple.vue b/packages/frontend/src/components/MkNoteSimple.vue index f8ef3f3fa..dc401a7ec 100644 --- a/packages/frontend/src/components/MkNoteSimple.vue +++ b/packages/frontend/src/components/MkNoteSimple.vue @@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-only

- +

diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue index bc52101f4..3cc876700 100644 --- a/packages/frontend/src/components/MkNoteSub.vue +++ b/packages/frontend/src/components/MkNoteSub.vue @@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only

- +

diff --git a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts index f937b5f9e..102aa0db3 100644 --- a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts +++ b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts @@ -17,7 +17,7 @@ import MkSparkle from '@/components/MkSparkle.vue'; import MkA from '@/components/global/MkA.vue'; import { host } from '@/config.js'; import { defaultStore } from '@/store.js'; -import { nyaize } from '@/scripts/nyaize.js'; +import { nyaize as doNyaize } from '@/scripts/nyaize.js'; const QUOTE_STYLE = ` display: block; @@ -28,21 +28,27 @@ border-left: solid 3px var(--fg); opacity: 0.7; `.split('\n').join(' '); -export default function(props: { +type MfmProps = { text: string; plain?: boolean; nowrap?: boolean; author?: Misskey.entities.UserLite; - i?: Misskey.entities.UserLite; + i?: Misskey.entities.UserLite | null; isNote?: boolean; emojiUrls?: string[]; rootScale?: number; -}) { - const isNote = props.isNote !== undefined ? props.isNote : true; + nyaize: boolean | 'account'; +}; +// eslint-disable-next-line import/no-default-export +export default function(props: MfmProps) { + const isNote = props.isNote ?? true; + const shouldNyaize = props.nyaize ? props.nyaize === 'account' ? props.author?.isCat : false : false; + + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (props.text == null || props.text === '') return; - const ast = (props.plain ? mfm.parseSimple : mfm.parse)(props.text); + const rootAst = (props.plain ? mfm.parseSimple : mfm.parse)(props.text); const validTime = (t: string | null | undefined) => { if (t == null) return null; @@ -55,13 +61,14 @@ export default function(props: { * Gen Vue Elements from MFM AST * @param ast MFM AST * @param scale How times large the text is + * @param disableNyaize Whether nyaize is disabled or not */ const genEl = (ast: mfm.MfmNode[], scale: number, disableNyaize = false) => ast.map((token): VNode | string | (VNode | string)[] => { switch (token.type) { case 'text': { let text = token.props.text.replace(/(\r\n|\n|\r)/g, '\n'); - if (!disableNyaize && props.author?.isCat) { - text = nyaize(text); + if (!disableNyaize && shouldNyaize) { + text = doNyaize(text); } if (!props.plain) { @@ -377,5 +384,5 @@ export default function(props: { return h('span', { // https://codeday.me/jp/qa/20190424/690106.html style: props.nowrap ? 'white-space: pre; word-wrap: normal; overflow: hidden; text-overflow: ellipsis;' : 'white-space: pre-wrap;', - }, genEl(ast, props.rootScale ?? 1)); + }, genEl(rootAst, props.rootScale ?? 1)); } From e73e21851ee16ba2adc0c141c7140f1e8c10ca87 Mon Sep 17 00:00:00 2001 From: taichan <40626578+taichanNE30@users.noreply.github.com> Date: Sat, 28 Oct 2023 15:50:46 +0900 Subject: [PATCH 10/56] =?UTF-8?q?feat(frontend):=20=E3=83=97=E3=83=A9?= =?UTF-8?q?=E3=82=B0=E3=82=A4=E3=83=B3=E3=82=92=E7=94=A8=E3=81=84=E3=81=A6?= =?UTF-8?q?=E7=96=91=E4=BC=BC=E7=9A=84=E3=81=AB=E3=83=9F=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=83=88=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E3=81=99=E3=82=8B=20(#12135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: mute note using plugin * Update CHANGELOG --------- Co-authored-by: syuilo --- CHANGELOG.md | 3 ++- packages/frontend/src/components/MkNote.vue | 4 +++- packages/frontend/src/components/MkNoteDetailed.vue | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0801918df..2c5c582fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,9 +22,10 @@ - Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html -- Enhance: AiScript関数`Mk:nyaize()`が追加されました - Enhance: データセーバー有効時はアニメーション付きのアバター画像が停止するように - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました +- Enhance: プラグインで`Plugin:register_note_view_interruptor`を用いてnoteの代わりにnullを返却することでノートを非表示にできるようになりました +- Enhance: AiScript関数`Mk:nyaize()`が追加されました - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう - Fix: 「検索」MFMにおいて一部の検索キーワードが正しく認識されない問題を修正 diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 86690eb66..f2329ff32 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -183,9 +183,11 @@ let note = $ref(deepClone(props.note)); // plugin if (noteViewInterruptors.length > 0) { onMounted(async () => { - let result = deepClone(note); + let result:Misskey.entities.Note | null = deepClone(note); for (const interruptor of noteViewInterruptors) { result = await interruptor.handler(result); + + if (result === null) return isDeleted.value = true; } note = result; }); diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index cb226984b..d17037f4f 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -230,9 +230,11 @@ let note = $ref(deepClone(props.note)); // plugin if (noteViewInterruptors.length > 0) { onMounted(async () => { - let result = deepClone(note); + let result:Misskey.entities.Note | null = deepClone(note); for (const interruptor of noteViewInterruptors) { result = await interruptor.handler(result); + + if (result === null) return isDeleted.value = true; } note = result; }); From a91d2ba6250370b67a59fa8cffef77b453a1410e Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 28 Oct 2023 15:59:07 +0900 Subject: [PATCH 11/56] New Crowdin updates (#12101) * New translations ja-jp.yml (Indonesian) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (German) * New translations ja-jp.yml (English) * New translations ja-jp.yml (French) * New translations ja-jp.yml (French) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Japanese, Kansai) * New translations ja-jp.yml (Indonesian) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Spanish) * New translations ja-jp.yml (Arabic) * New translations ja-jp.yml (Czech) * New translations ja-jp.yml (German) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Polish) * New translations ja-jp.yml (Portuguese) * New translations ja-jp.yml (Russian) * New translations ja-jp.yml (Slovak) * New translations ja-jp.yml (Ukrainian) * New translations ja-jp.yml (Chinese Simplified) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (English) * New translations ja-jp.yml (Vietnamese) * New translations ja-jp.yml (Bengali) * New translations ja-jp.yml (Thai) * New translations ja-jp.yml (Uzbek) * New translations ja-jp.yml (Japanese, Kansai) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (German) * New translations ja-jp.yml (English) * New translations ja-jp.yml (German) * New translations ja-jp.yml (English) * New translations ja-jp.yml (German) * New translations ja-jp.yml (English) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (French) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (German) * New translations ja-jp.yml (English) * New translations ja-jp.yml (German) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (French) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Japanese, Kansai) * New translations ja-jp.yml (Italian) --- locales/ar-SA.yml | 1 + locales/bn-BD.yml | 1 + locales/cs-CZ.yml | 1 + locales/de-DE.yml | 55 +++++++++++++++++++ locales/en-US.yml | 55 +++++++++++++++++++ locales/es-ES.yml | 1 + locales/fr-FR.yml | 117 +++++++++++++++++++++++++++++++++++++-- locales/id-ID.yml | 137 +++++++++++++++++++++++++++++++++++++++++++--- locales/it-IT.yml | 63 +++++++++++++++++++-- locales/ja-KS.yml | 28 ++++++++++ locales/ko-KR.yml | 5 +- locales/pl-PL.yml | 1 + locales/pt-PT.yml | 1 + locales/ru-RU.yml | 1 + locales/sk-SK.yml | 1 + locales/th-TH.yml | 1 + locales/uk-UA.yml | 1 + locales/uz-UZ.yml | 1 + locales/vi-VN.yml | 1 + locales/zh-CN.yml | 1 + locales/zh-TW.yml | 55 +++++++++++++++++++ 21 files changed, 508 insertions(+), 20 deletions(-) diff --git a/locales/ar-SA.yml b/locales/ar-SA.yml index e835c4aee..27f69ad5a 100644 --- a/locales/ar-SA.yml +++ b/locales/ar-SA.yml @@ -999,6 +999,7 @@ expired: "منتهية صلاحيته" icon: "الصورة الرمزية" replies: "رد" renotes: "أعد النشر" +flip: "اقلب" _initialAccountSetting: accountCreated: "نجح إنشاء حسابك!" letsStartAccountSetup: "إذا كنت جديدًا لنعدّ حسابك الشخصي." diff --git a/locales/bn-BD.yml b/locales/bn-BD.yml index 4baa3d672..31f2b948e 100644 --- a/locales/bn-BD.yml +++ b/locales/bn-BD.yml @@ -840,6 +840,7 @@ youFollowing: "অনুসরণ করা হচ্ছে" icon: "প্রোফাইল ছবি" replies: "জবাব" renotes: "রিনোট" +flip: "উল্টান" _role: priority: "অগ্রাধিকার" _priority: diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml index 6bd21de93..f3694af2c 100644 --- a/locales/cs-CZ.yml +++ b/locales/cs-CZ.yml @@ -1096,6 +1096,7 @@ iHaveReadXCarefullyAndAgree: "Přečetl jsem si text \"{x}\" a souhlasím s ním icon: "Avatar" replies: "Odpovědět" renotes: "Přeposlat" +flip: "Otočit" _initialAccountSetting: accountCreated: "Váš účet byl úspěšně vytvořen!" letsStartAccountSetup: "Pro začátek si nastavte svůj profil." diff --git a/locales/de-DE.yml b/locales/de-DE.yml index 0fc0e9d61..7dce2332a 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -1132,6 +1132,10 @@ mutualFollow: "Gegenseitig gefolgt" fileAttachedOnly: "Nur Notizen mit Dateien" showRepliesToOthersInTimeline: "Antworten in Chronik anzeigen" hideRepliesToOthersInTimeline: "Antworten nicht in Chronik anzeigen" +showRepliesToOthersInTimelineAll: "Antworten von allen momentan gefolgten Benutzern in Chronik anzeigen" +hideRepliesToOthersInTimelineAll: "Antworten von allen momentan gefolgten Benutzern nicht in Chronik anzeigen" +confirmShowRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern in der Chronik anzeigen?" +confirmHideRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern nicht in der Chronik anzeigen?" externalServices: "Externe Dienste" impressum: "Impressum" impressumUrl: "Impressums-URL" @@ -1139,6 +1143,12 @@ impressumDescription: "In manchen Ländern, wie Deutschland und dessen Umgebung, privacyPolicy: "Datenschutzerklärung" privacyPolicyUrl: "Datenschutzerklärungs-URL" tosAndPrivacyPolicy: "Nutzungsbedingungen und Datenschutzerklärung" +avatarDecorations: "Profilbilddekoration" +attach: "Anbringen" +detach: "Entfernen" +angle: "Winkel" +flip: "Umdrehen" +showAvatarDecorations: "Profilbilddekoration anzeigen" _announcement: forExistingUsers: "Nur für existierende Nutzer" forExistingUsersDescription: "Ist diese Option aktiviert, wird diese Ankündigung nur Nutzern angezeigt, die zum Zeitpunkt der Ankündigung bereits registriert sind. Ist sie deaktiviert, wird sie auch Nutzern, die sich nach dessen Veröffentlichung registrieren, angezeigt." @@ -1174,6 +1184,7 @@ _serverSettings: manifestJsonOverride: "Überschreiben von manifest.json" shortName: "Abkürzung" shortNameDescription: "Ein Kürzel für den Namen der Instanz, der angezeigt werden kann, falls der volle Instanzname lang ist." + fanoutTimelineDescription: "Ist diese Option aktiviert, kann eine erhebliche Verbesserung im Abrufen von Chroniken und eine Reduzierung der Datenbankbelastung erzielt werden, im Gegenzug zu einer Steigerung in der Speichernutzung von Redis. Bei geringem Serverspeicher oder Serverinstabilität kann diese Option deaktiviert werden." _accountMigration: moveFrom: "Von einem anderen Konto zu diesem migrieren" moveFromSub: "Alias für ein anderes Konto erstellen" @@ -2146,6 +2157,9 @@ _moderationLogTypes: createAd: "Werbung erstellt" deleteAd: "Werbung gelöscht" updateAd: "Werbung aktualisiert" + createAvatarDecoration: "Profilbilddekoration erstellt" + updateAvatarDecoration: "Profilbilddekoration aktualisiert" + deleteAvatarDecoration: "Profilbilddekoration gelöscht" _fileViewer: title: "Dateiinformationen" type: "Dateityp" @@ -2154,3 +2168,44 @@ _fileViewer: uploadedAt: "Hochgeladen am" attachedNotes: "Zugehörige Notizen" thisPageCanBeSeenFromTheAuthor: "Nur der Benutzer, der diese Datei hochgeladen hat, kann diese Seite sehen." +_externalResourceInstaller: + title: "Von externer Seite installieren" + checkVendorBeforeInstall: "Überprüfe vor Installation die Vertrauenswürdigkeit des Vertreibers." + _plugin: + title: "Möchtest du dieses Plugin installieren?" + metaTitle: "Plugininformation" + _theme: + title: "Möchten du dieses Farbschema installieren?" + metaTitle: "Farbschemainfo" + _meta: + base: "Farbschemavorlage" + _vendorInfo: + title: "Vertreiber" + endpoint: "Referenzierter Endpunkt" + hashVerify: "Hash-Verifikation" + _errors: + _invalidParams: + title: "Ungültige Parameter" + description: "Es fehlen Informationen zum Laden der externen Ressource. Überprüfe die übergebene URL." + _resourceTypeNotSupported: + title: "Diese Ressource wird nicht unterstützt" + description: "Dieser Ressourcentyp wird nicht unterstützt. Bitte kontaktiere den Seitenbesitzer." + _failedToFetch: + title: "Fehler beim Abrufen der Daten" + fetchErrorDescription: "Während der Kommunikation mit der externen Seite ist ein Fehler aufgetreten. Kontaktiere den Seitenbesitzer, falls ein erneutes Probieren dieses Problem nicht löst." + parseErrorDescription: "Während dem Auslesen der externen Daten ist ein Fehler aufgetreten. Kontaktiere den Seitenbesitzer." + _hashUnmatched: + title: "Datenverifizierung fehlgeschlagen" + description: "Die Integritätsprüfung der geladenen Daten ist fehlgeschlagen. Aus Sicherheitsgründen kann die Installation nicht fortgesetzt werden. Kontaktiere den Seitenbesitzer." + _pluginParseFailed: + title: "AiScript-Fehler" + description: "Die angeforderten Daten wurden erfolgreich abgerufen, jedoch trat während des AiScript-Parsings ein Fehler auf. Kontaktiere den Autor des Plugins. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden." + _pluginInstallFailed: + title: "Das Plugin konnte nicht installiert werden" + description: "Während der Installation des Plugin ist ein Problem aufgetreten. Bitte versuche es erneut. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden." + _themeParseFailed: + title: "Parsing des Farbschemas fehlgeschlagen" + description: "Die angeforderten Daten wurden erfolgreich abgerufen, jedoch trat während des Farbschema-Parsings ein Fehler auf. Kontaktiere den Autor des Farbschemas. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden." + _themeInstallFailed: + title: "Das Farbschema konnte nicht installiert werden" + description: "Während der Installation des Farbschemas ist ein Problem aufgetreten. Bitte versuche es erneut. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden." diff --git a/locales/en-US.yml b/locales/en-US.yml index 5f588efd4..95e076605 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1132,6 +1132,10 @@ mutualFollow: "Mutual follow" fileAttachedOnly: "Only notes with files" showRepliesToOthersInTimeline: "Show replies to others in timeline" hideRepliesToOthersInTimeline: "Hide replies to others from timeline" +showRepliesToOthersInTimelineAll: "Show replies to others from everyone you follow in timeline" +hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you follow in timeline" +confirmShowRepliesAll: "This operation is irreversible. Would you really like to show replies to others from everyone you follow in your timeline?" +confirmHideRepliesAll: "This operation is irreversible. Would you really like to hide replies to others from everyone you follow in your timeline?" externalServices: "External Services" impressum: "Impressum" impressumUrl: "Impressum URL" @@ -1139,6 +1143,12 @@ impressumDescription: "In some countries, like germany, the inclusion of operato privacyPolicy: "Privacy Policy" privacyPolicyUrl: "Privacy Policy URL" tosAndPrivacyPolicy: "Terms of Service and Privacy Policy" +avatarDecorations: "Avatar decorations" +attach: "Attach" +detach: "Remove" +angle: "Angle" +flip: "Flip" +showAvatarDecorations: "Show avatar decorations" _announcement: forExistingUsers: "Existing users only" forExistingUsersDescription: "This announcement will only be shown to users existing at the point of publishment if enabled. If disabled, those newly signing up after it has been posted will also see it." @@ -1174,6 +1184,7 @@ _serverSettings: manifestJsonOverride: "manifest.json Override" shortName: "Short name" shortNameDescription: "A shorthand for the instance's name that can be displayed if the full official name is long." + fanoutTimelineDescription: "Greatly increases performance of timeline retrieval and reduces load on the database when enabled. In exchange, memory usage of Redis will increase. Consider disabling this in case of low server memory or server instability." _accountMigration: moveFrom: "Migrate another account to this one" moveFromSub: "Create alias to another account" @@ -2146,6 +2157,9 @@ _moderationLogTypes: createAd: "Ad created" deleteAd: "Ad deleted" updateAd: "Ad updated" + createAvatarDecoration: "Avatar decoration created" + updateAvatarDecoration: "Avatar decoration updated" + deleteAvatarDecoration: "Avatar decoration deleted" _fileViewer: title: "File details" type: "File type" @@ -2154,3 +2168,44 @@ _fileViewer: uploadedAt: "Uploaded at" attachedNotes: "Attached notes" thisPageCanBeSeenFromTheAuthor: "This page can only be seen by the user who uploaded this file." +_externalResourceInstaller: + title: "Install from external site" + checkVendorBeforeInstall: "Make sure the distributor of this resource is trustworthy before installation." + _plugin: + title: "Do you want to install this plugin?" + metaTitle: "Plugin information" + _theme: + title: "Do you want to install this theme?" + metaTitle: "Theme information" + _meta: + base: "Base color scheme" + _vendorInfo: + title: "Distributor information" + endpoint: "Referenced endpoint" + hashVerify: "Hash verification" + _errors: + _invalidParams: + title: "Invalid parameters" + description: "There is not enough information to load data from an external site. Please confirm the entered URL." + _resourceTypeNotSupported: + title: "This external resource is not supported" + description: "The type of this external resource is not supported. Please contact the site administrator." + _failedToFetch: + title: "Failed to fetch data" + fetchErrorDescription: "An error occurred communicating with the external site. If trying again does not fix this issue, please contact the site administrator." + parseErrorDescription: "An error occurred processing the data loaded from the external site. Please contact the site administrator." + _hashUnmatched: + title: "Data verification failed" + description: "An error occurred verifying the integrity of the fetched data. As a security measure, installation cannot continue. Please contact the site administrator." + _pluginParseFailed: + title: "AiScript Error" + description: "The requested data was fetched successfully, but an error occurred during AiScript parsing. Please contact the plugin author. Error details can be viewed in the Javascript console." + _pluginInstallFailed: + title: "Plugin installation failed" + description: "A problem occurred during plugin installation. Please try again. Error details can be viewed in the Javascript console." + _themeParseFailed: + title: "Theme parsing failed" + description: "The requested data was fetched successfully, but an error occurred during theme parsing. Please contact the theme author. Error details can be viewed in the Javascript console." + _themeInstallFailed: + title: "Failed to install theme" + description: "A problem occurred during theme installation. Please try again. Error details can be viewed in the Javascript console." diff --git a/locales/es-ES.yml b/locales/es-ES.yml index 9e2acc9d2..a32b02e3e 100644 --- a/locales/es-ES.yml +++ b/locales/es-ES.yml @@ -1139,6 +1139,7 @@ impressumDescription: "En algunos países, como Alemania, la inclusión del oper privacyPolicy: "Política de Privacidad" privacyPolicyUrl: "URL de la Política de Privacidad" tosAndPrivacyPolicy: "Condiciones de Uso y Política de Privacidad" +flip: "Echar de un capirotazo" _announcement: forExistingUsers: "Solo para usuarios registrados" forExistingUsersDescription: "Este anuncio solo se mostrará a aquellos usuarios registrados en el momento de su publicación. Si se deshabilita esta opción, aquellos usuarios que se registren tras su publicación también lo verán." diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index 7d97c976a..02fd7c1e6 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -528,6 +528,7 @@ objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi" serverLogs: "Journal du serveur" deleteAll: "Supprimer tout" showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité" +withRepliesByDefaultForNewlyFollowed: "Afficher les réponses des nouvelles personnes que vous suivez dans le fil par défaut" newNoteRecived: "Voir les nouvelles notes" sounds: "Sons" sound: "Sons" @@ -610,7 +611,7 @@ permission: "Autorisations " enableAll: "Tout activer" disableAll: "Tout désactiver" tokenRequested: "Autoriser l'accès au compte" -pluginTokenRequestedDescription: "Ce plugin pourra utiliser les autorisations définies ici." +pluginTokenRequestedDescription: "Cette extension pourra utiliser les autorisations définies ici." notificationType: "Type de notifications" edit: "Editer" emailServer: "Serveur de messagerie" @@ -972,6 +973,7 @@ manageCustomEmojis: "Gestion des émojis personnalisés" youCannotCreateAnymore: "Vous avez atteint la limite de création." cannotPerformTemporary: "Temporairement indisponible" invalidParamError: "Paramètres invalides" +permissionDeniedError: "Opération refusée" preset: "Préréglage" selectFromPresets: "Sélectionner à partir des préréglages" achievements: "Accomplissements" @@ -1023,7 +1025,11 @@ displayOfNote: "Affichage de la note" initialAccountSetting: "Réglage initial du profil" youFollowing: "Abonné·e" preventAiLearning: "Refuser l'usage dans l'apprentissage automatique d'IA générative" +preventAiLearningDescription: "Demander aux robots d'indexation de ne pas utiliser le contenu publié, tel que les notes et les images, dans l'apprentissage automatique d'IA générative. Cela est réalisé en incluant le drapeau « noai » dans la réponse HTML. Une prévention complète n'est toutefois pas possible, car il est au robot d'indexation de respecter cette demande." options: "Options" +specifyUser: "Spécifier l'utilisateur" +failedToPreviewUrl: "Aperçu d'URL échoué" +update: "Mettre à jour" later: "Plus tard" goToMisskey: "Retour vers Misskey" expirationDate: "Date d’expiration" @@ -1047,6 +1053,25 @@ notifyNotes: "Notifier à propos des nouvelles notes" authentication: "Authentification" authenticationRequiredToContinue: "Veuillez vous authentifier pour continuer" showRenotes: "Afficher les renotes" +showRepliesToOthersInTimeline: "Afficher les réponses aux autres dans le fil" +hideRepliesToOthersInTimeline: "Masquer les réponses aux autres dans le fil" +showRepliesToOthersInTimelineAll: "Afficher les réponses de toutes les personnes que vous suivez dans le fil" +hideRepliesToOthersInTimelineAll: "Masquer les réponses de toutes les personnes que vous suivez dans le fil" +confirmShowRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment afficher les réponses de toutes les personnes que vous suivez dans le fil ?" +confirmHideRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment masquer les réponses de toutes les personnes que vous suivez dans le fil ?" +externalServices: "Services externes" +impressum: "Impressum" +impressumUrl: "URL de l'impressum" +impressumDescription: "Dans certains pays comme l'Allemagne, il est obligatoire d'afficher les informations sur l'opérateur d'un site (un impressum)." +privacyPolicy: "Politique de confidentialité" +privacyPolicyUrl: "URL de la politique de confidentialité" +tosAndPrivacyPolicy: "Conditions d'utilisation et politique de confidentialité" +avatarDecorations: "Décorations d'avatar" +attach: "Mettre" +detach: "Enlever" +angle: "Angle" +flip: "Inverser" +showAvatarDecorations: "Afficher les décorations d'avatar" _announcement: readConfirmTitle: "Marquer comme lu ?" _initialAccountSetting: @@ -1239,6 +1264,8 @@ _ad: back: "Retour" reduceFrequencyOfThisAd: "Voir cette publicité moins souvent" hide: "Cacher " + adsSettings: "Réglages des publicités" + notesPerOneAd: "Intervalle de diffusion de publicités lors de la mise à jour en temps réel (nombre de notes par publicité)" _forgotPassword: enterEmail: "Entrez ici l'adresse e-mail que vous avez enregistrée pour votre compte. Un lien vous permettant de réinitialiser votre mot de passe sera envoyé à cette adresse." ifNoEmail: "Si vous n'avez pas enregistré d'adresse e-mail, merci de contacter l'administrateur·rice de votre instance." @@ -1254,9 +1281,9 @@ _email: _receiveFollowRequest: title: "Vous avez reçu une demande de suivi" _plugin: - install: "Installation de plugin" + install: "Installation d'extensions" installWarn: "N’installez que des extensions provenant de sources de confiance." - manage: "Gestion des plugins" + manage: "Gestion des extensions" viewSource: "Afficher la source" _preferencesBackups: list: "Sauvegardes créées" @@ -1737,5 +1764,85 @@ _webhookSettings: name: "Nom" active: "Activé" _moderationLogTypes: - suspend: "Suspendre" - resetPassword: "Réinitialiser le mot de passe" + createRole: "Rôle créé" + deleteRole: "Rôle supprimé" + updateRole: "Rôle mis à jour" + assignRole: "Rôle attribué" + unassignRole: "Rôle enlevé" + suspend: "Utilisateur suspendu" + unsuspend: "Suspension d'un utilisateur levée" + addCustomEmoji: "Émoji personnalisé ajouté" + updateCustomEmoji: "Émoji personnalisé mis à jour" + deleteCustomEmoji: "Émoji personnalisé supprimé" + updateServerSettings: "Réglages du serveur mis à jour" + updateUserNote: "Note de modération mise à jour" + deleteDriveFile: "Fichier supprimé" + deleteNote: "Note supprimée" + createGlobalAnnouncement: "Annonce globale créée" + createUserAnnouncement: "Annonce individuelle créée" + updateGlobalAnnouncement: "Annonce globale mise à jour" + updateUserAnnouncement: "Annonce individuelle mise à jour" + deleteGlobalAnnouncement: "Annonce globale supprimée" + deleteUserAnnouncement: "Annonce individuelle supprimée" + resetPassword: "Mot de passe réinitialisé" + suspendRemoteInstance: "Instance distante suspendue" + unsuspendRemoteInstance: "Suspension d'une instance distante levée" + markSensitiveDriveFile: "Fichier marqué comme sensible" + unmarkSensitiveDriveFile: "Marquage du fichier comme sensible enlevé" + resolveAbuseReport: "Signalement résolu" + createInvitation: "Code d'invitation créé" + createAd: "Publicité créée" + deleteAd: "Publicité supprimée" + updateAd: "Publicité mise à jour" + createAvatarDecoration: "Décoration d'avatar créée" + updateAvatarDecoration: "Décoration d'avatar mise à jour" + deleteAvatarDecoration: "Décoration d'avatar supprimée" +_fileViewer: + title: "Détails du fichier" + type: "Type du fichier" + size: "Taille du fichier" + url: "URL" + uploadedAt: "Date de téléversement" + attachedNotes: "Notes avec ce fichier" + thisPageCanBeSeenFromTheAuthor: "Cette page ne peut être vue que par l'utilisateur qui a téléversé ce fichier." +_externalResourceInstaller: + title: "Installer depuis un site externe" + checkVendorBeforeInstall: "Veuillez confirmer que le distributeur est fiable avant l'installation." + _plugin: + title: "Voulez-vous installer cette extension ?" + metaTitle: "Informations sur l'extension" + _theme: + title: "Voulez-vous installer ce thème ?" + metaTitle: "Informations sur le thème" + _meta: + base: "Palette de couleurs de base" + _vendorInfo: + title: "Informations sur le distributeur" + endpoint: "Point de terminaison référencé" + hashVerify: "Vérification de l'intégrité du fichier" + _errors: + _invalidParams: + title: "Paramètres invalides" + description: "Il y a un manque d'informations nécessaires pour obtenir des données à partir de sites externes. Veuillez vérifier l'URL." + _resourceTypeNotSupported: + title: "Cette ressource externe n'est pas prise en charge." + description: "Le type de ressource obtenue à partir de ce site externe n'est pas pris en charge. Veuillez contacter l'administrateur du site." + _failedToFetch: + title: "Échec de récupération des données" + fetchErrorDescription: "La communication avec le site externe a échoué. Si vous réessayez et que cela ne s'améliore pas, veuillez contacter l'administrateur du site." + parseErrorDescription: "Les données obtenues à partir du site externe n'ont pas pu être parsées. Veuillez contacter l'administrateur du site." + _hashUnmatched: + title: "Échec de vérification des données" + description: "La vérification de l'intégrité des données fournies a échoué. Pour des raisons de sécurité, l'installation ne peut pas continuer. Veuillez contacter l'administrateur du site." + _pluginParseFailed: + title: "Erreur d'AiScript" + description: "Bien que les données aient été obtenues, elles n'ont pas pu être lues, car il y a eu une erreur lors du parsage d'AiScript. Veuillez contacter l'auteur de l'extension. Pour plus de détails sur l'erreur, veuillez consulter la console JavaScript." + _pluginInstallFailed: + title: "Échec d'installation de l'extension" + description: "Il y a eu un problème lors de l'installation de l'extension. Veuillez réessayer. Pour plus de détails sur l'erreur, veuillez consulter la console JavaScript." + _themeParseFailed: + title: "Erreur de parsage du thème" + description: "Bien que les données aient été obtenues, elles n'ont pas pu être lues, car il y a eu une erreur lors du parsage du fichier du thème. Veuillez contacter l'auteur du thème. Pour plus de détails sur l'erreur, veuillez consulter la console JavaScript." + _themeInstallFailed: + title: "Échec d'installation du thème" + description: "Il y a eu un problème lors de l'installation du thème. Veuillez réessayer. Pour plus de détails sur l'erreur, veuillez consulter la console JavaScript." diff --git a/locales/id-ID.yml b/locales/id-ID.yml index 90bca6511..d984ad4c3 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -45,6 +45,7 @@ pin: "Sematkan ke profil" unpin: "Lepas sematan dari profil" copyContent: "Salin konten" copyLink: "Salin tautan" +copyLinkRenote: "Salin tautan renote" delete: "Hapus" deleteAndEdit: "Hapus dan sunting" deleteAndEditConfirm: "Apakah kamu yakin ingin menghapus note ini dan menyuntingnya? Kamu akan kehilangan semua reaksi, renote dan balasan di note ini." @@ -156,6 +157,7 @@ addEmoji: "Tambahkan emoji" settingGuide: "Pengaturan rekomendasi" cacheRemoteFiles: "Tembolokkan berkas dari instansi luar" cacheRemoteFilesDescription: "Ketika pengaturan ini dinonaktifkan, berkas dari instansi luar akan dimuat langsung. Menonaktifkan ini akan mengurangi penggunaan penyimpanan peladen, namun dapat menyebabkan peningkatan lalu lintas bandwidth, karena keluku tidak dihasilkan." +youCanCleanRemoteFilesCache: "Kamu dapat mengosongkan tembolok dengan mengeklik tombol 🗑️ pada layar manajemen berkas." cacheRemoteSensitiveFiles: "Tembolokkan berkas dari instansi luar" cacheRemoteSensitiveFilesDescription: "Menonaktifkan pengaturan ini menyebabkan berkas sensitif dari instansi luar ditautkan secara langsung, bukan ditembolok." flagAsBot: "Atur akun ini sebagai Bot" @@ -193,6 +195,7 @@ perHour: "per Jam" perDay: "per Hari" stopActivityDelivery: "Berhenti mengirim aktivitas" blockThisInstance: "Blokir instansi ini" +silenceThisInstance: "Senyapkan instansi ini" operations: "Tindakan" software: "Perangkat lunak" version: "Versi" @@ -212,6 +215,8 @@ clearCachedFiles: "Hapus tembolok" clearCachedFilesConfirm: "Apakah kamu yakin ingin menghapus seluruh tembolok berkas instansi luar?" blockedInstances: "Instansi terblokir" blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini." +silencedInstances: "Instansi yang disenyapkan" +silencedInstancesDescription: "Daftar nama host dari instansi yang ingin kamu senyapkan. Semua akun dari instansi yang terdaftar akan diperlakukan sebagai disenyapkan. Hal ini membuat akun hanya dapat membuat permintaan mengikuti, dan tidak dapat menyebutkan akun lokal apabila tidak mengikuti. Hal ini tidak akan mempengaruhi instansi yang diblokir." muteAndBlock: "Bisukan / Blokir" mutedUsers: "Pengguna yang dibisukan" blockedUsers: "Pengguna yang diblokir" @@ -409,10 +414,14 @@ aboutMisskey: "Tentang Misskey" administrator: "Admin" token: "Token" 2fa: "Autentikasi 2-faktor" +setupOf2fa: "Atur autentikasi 2-faktor" totp: "Aplikasi autentikator" totpDescription: "Gunakan aplikasi autentikator untuk mendapatkan kata sandi sekali pakai" moderator: "Moderator" moderation: "Moderasi" +moderationNote: "Catatan moderasi" +addModerationNote: "Tambahkan catatan moderasi" +moderationLogs: "Log moderasi" nUsersMentioned: "{n} pengguna disebut" securityKeyAndPasskey: "Security key dan passkey" securityKey: "Kunci keamanan" @@ -435,7 +444,7 @@ markAsReadAllTalkMessages: "Tandai semua pesan telah dibaca" help: "Bantuan" inputMessageHere: "Ketik pesan disini" close: "Tutup" -invites: "Undang" +invites: "Undangan" members: "Anggota" transfer: "Transfer" title: "Judul" @@ -450,7 +459,7 @@ noMessagesYet: "Tidak ada pesan" newMessageExists: "Kamu mendapatkan pesan baru" onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan" signinRequired: "Silahkan login" -invitations: "Undang" +invitations: "Undangan" invitationCode: "Kode undangan" checking: "Memeriksa" available: "Tersedia" @@ -506,7 +515,7 @@ showFeaturedNotesInTimeline: "Tampilkan catatan yang diunggulkan di lini masa" objectStorage: "Object Storage" useObjectStorage: "Gunakan object storage" objectStorageBaseUrl: "Base URL" -objectStorageBaseUrlDesc: "Prefix URL digunakan untuk mengkonstruksi URL ke object (media) referencing. Tentukan URL jika kamu menggunakan CDN atau Proxy, jika tidak tentukan alamat yang dapat diakses secara publik sesuai dengan panduan dari layanan yang akan kamu gunakan, contohnya. 'https://.s3.amazonaws.com' untuk AWS S3, dan 'https://storage.googleapis.com/' untuk GCS." +objectStorageBaseUrlDesc: "Prefix URL digunakan untuk mengonstruksi URL ke object (media) referencing. Tentukan URL jika kamu menggunakan CDN atau Proxy. Jika tidak, tentukan alamat yang dapat diakses secara publik sesuai dengan panduan dari layanan yang akan kamu gunakan. Contohnya: 'https://.s3.amazonaws.com' untuk AWS S3, dan 'https://storage.googleapis.com/' untuk GCS." objectStorageBucket: "Bucket" objectStorageBucketDesc: "Mohon tentukan nama bucket yang digunakan pada layanan yang telah dikonfigurasi." objectStoragePrefix: "Prefix" @@ -523,8 +532,9 @@ objectStorageSetPublicRead: "Setel \"public-read\" disaat mengunggah" s3ForcePathStyleDesc: "Jika s3ForcePathStyle dinyalakan, nama bucket harus dimasukkan dalam path URL dan bukan URL nama host tersebut. Kamu perlu menyalakan pengaturan ini jika menggunakan layanan seperti instansi Minio yang self-hosted." serverLogs: "Log Peladen" deleteAll: "Hapus semua" -showFixedPostForm: "Tampilkan form posting di atas lini masa." +showFixedPostForm: "Tampilkan form posting di atas lini masa" showFixedPostFormInChannel: "Tampilkan form posting di atas lini masa (Kanal)" +withRepliesByDefaultForNewlyFollowed: "Termasuk balasan dari pengguna baru yang diikuti pada lini masa secara bawaan" newNoteRecived: "Kamu mendapat catatan baru" sounds: "Bunyi" sound: "Bunyi" @@ -627,7 +637,7 @@ testEmail: "Tes pengiriman surel" wordMute: "Bisukan kata" regexpError: "Kesalahan ekspresi reguler" regexpErrorDescription: "Galat terjadi pada baris {line} ekspresi reguler dari {tab} kata yang dibisukan:" -instanceMute: "Bisuka instansi" +instanceMute: "Bisukan instansi" userSaysSomething: "{name} mengatakan sesuatu" makeActive: "Aktifkan" display: "Tampilkan" @@ -652,6 +662,7 @@ behavior: "Perilaku" sample: "Contoh" abuseReports: "Laporkan" reportAbuse: "Laporkan" +reportAbuseRenote: "Laporkan renote" reportAbuseOf: "Laporkan {name}" fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut." abuseReported: "Laporan kamu telah dikirimkan. Terima kasih." @@ -704,6 +715,7 @@ lockedAccountInfo: "Kecuali kamu menyetel visibilitas catatan milikmu ke \"Hanya alwaysMarkSensitive: "Tandai media dalam catatan sebagai media sensitif" loadRawImages: "Tampilkan lampiran gambar secara penuh daripada thumbnail" disableShowingAnimatedImages: "Jangan mainkan gambar bergerak" +highlightSensitiveMedia: "Sorot media sensitif" verificationEmailSent: "Surel verifikasi telah dikirimkan. Mohon akses tautan yang telah disertakan untuk menyelesaikan verifikasi." notSet: "Tidak disetel" emailVerified: "Surel telah diverifikasi" @@ -1018,6 +1030,7 @@ retryAllQueuesConfirmText: "Hal ini akan meningkatkan beban sementara ke peladen enableChartsForRemoteUser: "Buat bagan data pengguna instansi luar" enableChartsForFederatedInstances: "Buat bagan data peladen instansi luar" showClipButtonInNoteFooter: "Tambahkan \"Klip\" ke menu aksi catatan" +reactionsDisplaySize: "Ukuran tampilan reaksi" noteIdOrUrl: "ID catatan atau URL" video: "Video" videos: "Video" @@ -1098,9 +1111,44 @@ icon: "Avatar" forYou: "Untuk Anda" currentAnnouncements: "Pengumuman Saat Ini" pastAnnouncements: "Pengumuman Terdahulu" +youHaveUnreadAnnouncements: "Terdapat pengumuman yang belum dibaca" +useSecurityKey: "Mohon ikuti instruksi peramban atau perangkat kamu untuk menggunakan kunci pengaman atau passkey." replies: "Balas" renotes: "Renote" +loadReplies: "Tampilkan balasan" +loadConversation: "Tampilkan percakapan" +pinnedList: "Daftar yang dipin" +keepScreenOn: "Biarkan layar tetap menyala" +verifiedLink: "Tautan kepemilikan telah diverifikasi" +notifyNotes: "Beritahu mengenai catatan baru" +unnotifyNotes: "Berhenti memberitahu mengenai catatan baru" +authentication: "Autentikasi" +authenticationRequiredToContinue: "Mohon autentikasikan terlebih dahulu sebelum melanjutkan" dateAndTime: "Tanggal dan Waktu" +showRenotes: "Tampilkan renote" +edited: "Telah disunting" +notificationRecieveConfig: "Pengaturan notifikasi" +mutualFollow: "Saling mengikuti" +fileAttachedOnly: "Hanya catatan dengan berkas" +showRepliesToOthersInTimeline: "Tampilkan balasan ke pengguna lain dalam lini masa" +hideRepliesToOthersInTimeline: "Sembunyikan balasan ke orang lain dari lini masa" +externalServices: "Layanan eksternal" +impressum: "Impressum" +impressumUrl: "Tautan Impressum" +impressumDescription: "Pada beberapa negara seperti Jerman, inklusi dari informasi kontak operator (sebuah Impressum) diperlukan secara legal untuk situs web komersil." +privacyPolicy: "Kebijakan Privasi" +privacyPolicyUrl: "Tautan Kebijakan Privasi" +tosAndPrivacyPolicy: "Syarat dan Ketentuan serta Kebijakan Privasi" +flip: "Balik" +_announcement: + forExistingUsers: "Hanya pengguna yang telah ada" + forExistingUsersDescription: "Pengumuman ini akan dimunculkan ke pengguna yang sudah ada dari titik waktu publikasi jika dinyalakan. Apabila dimatikan, mereka yang baru mendaftar setelah publikasi ini akan juga melihatnya." + needConfirmationToRead: "Membutuhkan konfirmasi terpisah bahwa telah dibaca" + needConfirmationToReadDescription: "Permintaan terpisah untuk mengonfirmasi menandai pengumuman ini telah dibaca akan ditampilkan apabila fitur ini dinyalakan. Pengumuman ini juga akan dikecualikan dari fungsi \"Tandai semua telah dibaca\"." + end: "Arsipkan pengumuman" + tooManyActiveAnnouncementDescription: "Terlalu banyak pengumuman dapat memperburuk pengalaman pengguna. Mohon pertimbangkan untuk mengarsipkan pengumuman yang sudah usang/tidak relevan." + readConfirmTitle: "Tandai telah dibaca?" + readConfirmText: "Aksi ini akan menandai konten dari \"{title}\" telah dibaca." _initialAccountSetting: accountCreated: "Akun kamu telah sukses dibuat!" letsStartAccountSetup: "Untuk pemula, ayo atur profilmu dulu." @@ -1120,6 +1168,13 @@ _serverRules: description: "Daftar peraturan akan ditampilkan sebelum pendaftaran. Mengatur ringkasan dari Syarat dan Ketentuan sangat direkomendasikan." _serverSettings: iconUrl: "URL ikon" + appIconDescription: "Tentukan ikon yang digunakan ketika {host} ditampilkan sebagai aplikasi." + appIconUsageExample: "Contoh: Sebagai PWA, atau ketika ditampilkan sebagai markah layar beranda pada ponsel" + appIconStyleRecommendation: "Karena ikon berkemungkinan dipotong menjadi persegi atau lingkaran, ikon dengan margin terwanai di sekeliling konten sangat direkomendasikan." + appIconResolutionMustBe: "Minimum resolusi adalah {resolution}." + manifestJsonOverride: "Ambil alih manifest.json" + shortName: "Nama pendek" + shortNameDescription: "Inisial untuk nama instansi yang dapat ditampilkan apabila nama lengkap resmi terlalu panjang." _accountMigration: moveFrom: "Pindahkan akun lain ke akun ini" moveFromSub: "Buat alias ke akun lain" @@ -1374,6 +1429,9 @@ _achievements: title: "Brain Diver" description: "Posting tautan mengenai Brain Diver" flavor: "Misskey-Misskey La-Tu-Ma" + _smashTestNotificationButton: + title: "Tes overflow" + description: "Picu tes notifikasi secara berulang dalam waktu yang sangat pendek" _role: new: "Buat peran" edit: "Sunting peran" @@ -1431,6 +1489,7 @@ _role: descriptionOfRateLimitFactor: "Batas kecepatan yang rendah tidak begitu membatasi, batas kecepatan tinggi lebih membatasi. " canHideAds: "Dapat menyembunyikan iklan" canSearchNotes: "Penggunaan pencarian catatan" + canUseTranslator: "Penggunaan penerjemah" _condition: isLocal: "Pengguna lokal" isRemote: "Pengguna remote" @@ -1479,6 +1538,10 @@ _ad: reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit" hide: "Jangan tampilkan" timezoneinfo: "Hari dalam satu minggu ditentukan dari zona waktu peladen." + adsSettings: "Pengaturan iklan" + notesPerOneAd: "Interval penempatan pemutakhiran iklan secara real-time (catatan per iklan)" + setZeroToDisable: "Atur nilai ini ke 0 untuk menonaktifkan pemutakhiran iklan secara real-time" + adsTooClose: "Interval iklan saat ini kemungkinan memperburuk pengalaman pengguna secara signifikan karena diatur pada nilai yang terlalu rendah." _forgotPassword: enterEmail: "Masukkan alamat surel yang kamu gunakan pada saat mendaftar. Sebuah tautan untuk mengatur ulang kata sandi kamu akan dikirimkan ke alamat surel tersebut." ifNoEmail: "Apabila kamu tidak menggunakan surel pada saat pendaftaran, mohon hubungi admin segera." @@ -1673,17 +1736,19 @@ _timelineTutorial: step4_1: "Kamu dapat menyisipkan \"Reaksi\" ke dalam catatan." step4_2: "Untuk menyisipkan reaksi, tekan tanda \"+\" dalam catatan dan pilih emoji yang kamu suka untuk mereaksi catatan tersebut." _2fa: - alreadyRegistered: "Kamu telah mendaftarkan perangkat otentikasi dua faktor." + alreadyRegistered: "Kamu telah mendaftarkan perangkat autentikasi 2-faktor." registerTOTP: "Daftarkan aplikasi autentikator" - step1: "Pertama, pasang aplikasi otentikasi (seperti {a} atau {b}) di perangkat kamu." + step1: "Pertama, pasang aplikasi autentikasi (seperti {a} atau {b}) di perangkat kamu." step2: "Lalu, pindai kode QR yang ada di layar." step2Click: "Mengeklik kode QR ini akan membolehkanmu untuk mendaftarkan 2FA ke security-key atau aplikasi autentikator ponsel." + step2Uri: "Masukkan URI berikut jika kamu menggunakan program desktop" step3Title: "Masukkan kode autentikasi" step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan." - step4: "Mulai sekarang, upaya login apapun akan meminta token login dari aplikasi otentikasi kamu." + setupCompleted: "Penyetelan autentikasi 2-faktor selesai" + step4: "Mulai sekarang, upaya login apapun akan meminta token login dari aplikasi autentikasi kamu." securityKeyNotSupported: "Peramban kamu tidak mendukung security key." registerTOTPBeforeKey: "Mohon atur aplikasi autentikator untuk mendaftarkan security key atau passkey." - securityKeyInfo: "Kamu dapat memasang otentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau otentikasi PIN pada perangkatmu." + securityKeyInfo: "Kamu dapat memasang autentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau autentikasi PIN pada perangkatmu." registerSecurityKey: "Daftarkan security key atau passkey." securityKeyName: "Masukkan nama key." tapSecurityKey: "Mohon ikuti peramban kamu untuk mendaftarkan security key atau passkey" @@ -1694,7 +1759,11 @@ _2fa: renewTOTPConfirm: "Hal ini akan menyebabkan kode verifikasi dari aplikasi autentikator sebelumnya berhenti bekerja" renewTOTPOk: "Atur ulang" renewTOTPCancel: "Tidak sekarang." + checkBackupCodesBeforeCloseThisWizard: "Sebelum kamu menutup jendela ini, pastikan untuk memperhatikan dan mencadangkan kode cadangan berikut." backupCodes: "Kode Pencadangan" + backupCodesDescription: "Kamu dapat menggunakan kode ini untuk mendapatkan akses ke akun kamu apabila berada dalam situasi tidak dapat menggunakan aplikasi autentikasi 2-faktor yang kamu miliki. Setiap kode hanya dapat digunakan satu kali. Mohon simpan kode ini di tempat yang aman." + backupCodeUsedWarning: "Kode cadangan telah digunakan. Mohon mengatur ulang autentikasi 2-faktor secepatnya apabila kamu sudah tidak dapat menggunakannya lagi." + backupCodesExhaustedWarning: "Semua kode cadangan telah digunakan. Apabila kamu kehilangan akses pada aplikasi autentikasi 2-faktor milikmu, kamu tidak dapat mengakses akun ini lagi. Mohon atur ulang autentikasi 2-faktor kamu." _permissions: "read:account": "Lihat informasi akun" "write:account": "Sunting informasi akun" @@ -1728,6 +1797,10 @@ _permissions: "write:gallery": "Sunting galeri" "read:gallery-likes": "Lihat daftar postingan galeri yang disukai" "write:gallery-likes": "Sunting daftar postingan galeri yang disukai" + "read:flash": "Lihat Play" + "write:flash": "Sunting Play" + "read:flash-likes": "Lihat daftar Play yang disukai" + "write:flash-likes": "Sunting daftar Play yang disukai" _auth: shareAccessTitle: "Mendapatkan ijin akses aplikasi" shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?" @@ -1743,6 +1816,7 @@ _antennaSources: homeTimeline: "Catatan dari pengguna yang diikuti" users: "Catatan dari pengguna tertentu" userList: "Catatan dari daftar tertentu" + userBlacklist: "Semua catatan kecuali untuk satu pengguna atau lebih yang telah ditentukan" _weekday: sunday: "Minggu" monday: "Senin" @@ -1842,6 +1916,7 @@ _profile: metadataContent: "Isi" changeAvatar: "Ubah avatar" changeBanner: "Ubah header" + verifiedLinkDescription: "Dengan memasukkan URL yang mengandung tautan ke profil kamu di sini, ikon verifikasi kepemilikan dapat ditampilkan di sebelah kolom ini." _exportOrImport: allNotes: "Semua catatan" favoritedNotes: "Catatan favorit" @@ -1851,6 +1926,7 @@ _exportOrImport: userLists: "Daftar" excludeMutingUsers: "Kecualikan pengguna yang dibisukan" excludeInactiveUsers: "Kecualikan pengguna tidak aktif" + withReplies: "Termasuk balasan dari pengguna yang diimpor ke dalam lini masa" _charts: federation: "Federasi" apRequest: "Permintaan" @@ -1960,11 +2036,17 @@ _notification: youReceivedFollowRequest: "Kamu menerima permintaan mengikuti" yourFollowRequestAccepted: "Permintaan mengikuti kamu telah diterima" pollEnded: "Hasil Kuesioner telah keluar" + newNote: "Catatan baru" unreadAntennaNote: "Antena {name}" emptyPushNotificationMessage: "Pembaruan notifikasi dorong" achievementEarned: "Pencapaian didapatkan" + testNotification: "Tes notifikasi" + checkNotificationBehavior: "Cek tampilan notifikasi" + sendTestNotification: "Kirim tes notifikasi" + notificationWillBeDisplayedLikeThis: "Notifikasi akan terlihat seperti ini" _types: all: "Semua" + note: "Catatan baru" follow: "Ikuti" mention: "Sebut" reply: "Balasan" @@ -1998,6 +2080,8 @@ _deck: introduction2: "Klik \"+\" pada kanan layar untuk menambahkan kolom baru kapanpun yang kamu mau." widgetsIntroduction: "Mohon pilih \"Sunting gawit\" pada menu kolom dan tambahkan gawit." useSimpleUiForNonRootPages: "Gunakan antarmuka sederhana ke halaman yang dituju" + usedAsMinWidthWhenFlexible: "Lebar minimum akan digunakan untuk ini ketika opsi \"Atur-otomatis lebar\" dinyalakan" + flexible: "Atur-otomatis lebar" _columns: main: "Utama" widgets: "Widget" @@ -2033,6 +2117,41 @@ _webhookSettings: reaction: "Ketika menerima reaksi" mention: "Ketika sedang disebut" _moderationLogTypes: + createRole: "Peran telah dibuat" + deleteRole: "Peran telah dihapus" + updateRole: "Peran telah diperbaharui" + assignRole: "Yang ditugaskan dalam peran" + unassignRole: "Dihapus dari peran" suspend: "Tangguhkan" + unsuspend: "Batal ditangguhkan" + addCustomEmoji: "Emoji kustom ditambahkan" + updateCustomEmoji: "Emoji kustom diperbaharui" + deleteCustomEmoji: "Emoji kustom dihapus" + updateServerSettings: "Pengaturan peladen diperbaharui" + updateUserNote: "Catatan moderasi diperbaharui" + deleteDriveFile: "Berkas dihapus" + deleteNote: "Catatan dihapus" + createGlobalAnnouncement: "Pengumuman global dibuat" + createUserAnnouncement: "Pengumuman pengguna dibuat" + updateGlobalAnnouncement: "Pengumuman global diperbaharui" + updateUserAnnouncement: "Pengumuman pengguna diperbaharui" + deleteGlobalAnnouncement: "Pengumuman global telah dihapus" + deleteUserAnnouncement: "Pengumuman pengguna telah dihapus." resetPassword: "Atur ulang kata sandi" + suspendRemoteInstance: "Instansi luar telah ditangguhkan" + unsuspendRemoteInstance: "Instansi luar batal ditangguhkan" + markSensitiveDriveFile: "Berkas ditandai sensitif" + unmarkSensitiveDriveFile: "Berkas batal ditandai sensitif" + resolveAbuseReport: "Laporan terselesaikan" createInvitation: "Buat kode undangan" + createAd: "Iklan telah dibuat" + deleteAd: "Iklan telah dihapus" + updateAd: "Iklan telah diperbaharui" +_fileViewer: + title: "Rincian berkas" + type: "Jenis berkas" + size: "Ukuran berkas" + url: "URL" + uploadedAt: "Diunggah pada" + attachedNotes: "Catatan yang dilampirkan" + thisPageCanBeSeenFromTheAuthor: "Halaman ini hanya dapat dilihat oleh pengguna yang mengunggah bekas ini." diff --git a/locales/it-IT.yml b/locales/it-IT.yml index 87a7a32a9..be456f7a0 100644 --- a/locales/it-IT.yml +++ b/locales/it-IT.yml @@ -250,7 +250,7 @@ newPassword: "Nuova Password" newPasswordRetype: "Conferma password" attachFile: "Allega file" more: "Di più!" -featured: "Tendenze" +featured: "In evidenza" usernameOrUserId: "Nome utente o ID" noSuchUser: "Profilo non trovato" lookup: "Ricerca remota" @@ -1132,13 +1132,23 @@ mutualFollow: "Follow reciproco" fileAttachedOnly: "Solo con allegati" showRepliesToOthersInTimeline: "Risposte altrui nella TL" hideRepliesToOthersInTimeline: "Nascondi Riposte altrui nella TL" +showRepliesToOthersInTimelineAll: "Mostra le risposte dei tuoi follow nella TL" +hideRepliesToOthersInTimelineAll: "Nascondi le risposte dei tuoi follow nella TL" +confirmShowRepliesAll: "Questa è una attività irreversibile. Vuoi davvero includere tutte le risposte dei following in TL?" +confirmHideRepliesAll: "Questa è una attività irreversibile. Vuoi davvero escludere tutte le risposte dei following in TL?" externalServices: "Servizi esterni" impressum: "Dichiarazione di proprietà" impressumUrl: "URL della dichiarazione di proprietà" impressumDescription: "La dichiarazione di proprietà, è obbligatoria in alcuni paesi come la Germania (Impressum)." -privacyPolicy: "Informativa privacy ai sensi del Regolamento UE 2016/679 (GDPR)" +privacyPolicy: "Informativa ai sensi del Reg. UE 2016/679 (GDPR)" privacyPolicyUrl: "URL della informativa privacy" tosAndPrivacyPolicy: "Condizioni d'uso e informativa privacy" +avatarDecorations: "Decorazioni foto profilo" +attach: "Applica" +detach: "Rimuovi" +angle: "Angolo" +flip: "Inverti" +showAvatarDecorations: "Mostra decorazione della foto profilo" _announcement: forExistingUsers: "Solo ai profili attuali" forExistingUsersDescription: "L'annuncio sarà visibile solo ai profili esistenti in questo momento. Se disabilitato, sarà visibile anche ai profili che verranno creati dopo la pubblicazione di questo annuncio." @@ -1174,6 +1184,7 @@ _serverSettings: manifestJsonOverride: "Sostituire il file manifest.json" shortName: "Abbreviazione" shortNameDescription: "Un'abbreviazione o un nome comune che può essere visualizzato al posto del nome ufficiale lungo del server." + fanoutTimelineDescription: "Attivando questa funzionalità migliori notevolmente la capacità delle Timeline di collezionare Note, riducendo il carico sul database. Tuttavia, aumenterà l'impiego di memoria RAM per Redis. Disattiva se il tuo server ha poca RAM o la funzionalità è irregolare." _accountMigration: moveFrom: "Migra un altro profilo dentro a questo" moveFromSub: "Crea un alias verso un altro profilo remoto" @@ -1610,7 +1621,7 @@ _channel: edit: "Gerisci canale" setBanner: "Scegli intestazione" removeBanner: "Rimuovi intestazione" - featured: "Tendenze" + featured: "Di tendenza" owned: "I miei canali" following: "Seguiti" usersCount: "{n} partecipanti" @@ -1831,7 +1842,7 @@ _widgets: notifications: "Notifiche" timeline: "Timeline" calendar: "Calendario" - trends: "Tendenze" + trends: "Di tendenza" clock: "Orologio" rss: "Aggregatore rss" rssTicker: "Ticker RSS" @@ -2146,6 +2157,9 @@ _moderationLogTypes: createAd: "Banner creato" deleteAd: "Banner eliminato" updateAd: "Banner aggiornato" + createAvatarDecoration: "Creazione decorazione della foto profilo" + updateAvatarDecoration: "Aggiornamento decorazione foto profilo" + deleteAvatarDecoration: "Eliminazione decorazione della foto profilo" _fileViewer: title: "Dettagli del file" type: "Tipo di file" @@ -2154,3 +2168,44 @@ _fileViewer: uploadedAt: "Caricato il" attachedNotes: "Note a cui è allegato" thisPageCanBeSeenFromTheAuthor: "Questa pagina può essere vista solo da chi ha caricato il file." +_externalResourceInstaller: + title: "Installa da sito esterno" + checkVendorBeforeInstall: "Prima di installare, assicurati che la fonte sia affidabile." + _plugin: + title: "Vuoi davvero installare questo componente aggiuntivo?" + metaTitle: "Informazioni sul componente aggiuntivo" + _theme: + title: "Vuoi davvero installare questa variazione grafica?" + metaTitle: "Informazioni sulla variazione grafica" + _meta: + base: "Combinazione base di colori" + _vendorInfo: + title: "Informazioni sulla fonte" + endpoint: "Punto di riferimento della fonte" + hashVerify: "Codice di verifica della fonte" + _errors: + _invalidParams: + title: "Parametri non validi" + description: "Mancano alcuni parametri per il caricamento, per favore, verifica la URL." + _resourceTypeNotSupported: + title: "Questa risorsa esterna non è supportata" + description: "Il tipo di risorsa ottenuta da questo sito esterno non è supportato. Si prega di contattare la fonte di distribuizone." + _failedToFetch: + title: "Impossibile ottenere i dati" + fetchErrorDescription: "Si è verificato un errore di comunicazione con la fonte. Se riprovare di nuovo non aiuta, contattare la fonte di distribuzione." + parseErrorDescription: "Si è verificato un errore elaborando i dati ottenuti dalla fonte. Per favore contattare il distributore." + _hashUnmatched: + title: "Dati non verificabili, diversi da quelli della fonte" + description: "Si è verificato un errore durante la verifica di integrità dei dati ottenuti. Per sicurezza, l'installazione è stata interrotta. Contattare la fonte di distribuzione." + _pluginParseFailed: + title: "Errore AiScript" + description: "Sebbene i dati ottenuti siano validi, non è stato possibile interpretarli, perché si è verificato un errore durante l'analisi di AiScript. Si prega di contattare gli autori del componente aggiuntivo. Potresti controllare la console di Javascript per ottenere dettagli aggiuntivi." + _pluginInstallFailed: + title: "Impossibile installare il componente aggiuntivo" + description: "Si è verificato un impedimento durante l'installazione del componente aggiuntivo. Per favore riprova e consulta la console di Javascript per ottenere dettagli aggiuntivi." + _themeParseFailed: + title: "Impossibile interpretare la variazione grafica" + description: "Sebbene i dati siano stati ottenuti, non è stato possibile interpretarli, si è verificato un errore durante l'analisi della variazione grafica. Si prega di contattare gli autori. Potresti anche controllare la console di Javascript per ottenere dettagli aggiuntivi." + _themeInstallFailed: + title: "Impossibile installare la variazione grafica" + description: "Si è verificato un impedimento durante l'installazione della variazione grafica. Per favore riprova e consulta la console di Javascript per ottenere dettagli aggiuntivi." diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml index 925286dfb..9579c07eb 100644 --- a/locales/ja-KS.yml +++ b/locales/ja-KS.yml @@ -1132,6 +1132,7 @@ mutualFollow: "お互いフォローしてんで" fileAttachedOnly: "ファイル付きのみ" showRepliesToOthersInTimeline: "タイムラインに他の人への返信とかも含めんで" hideRepliesToOthersInTimeline: "タイムラインに他の人への返信とかは見ーへんで" +showRepliesToOthersInTimelineAll: "" externalServices: "他のサイトのサービス" impressum: "運営者の情報" impressumUrl: "運営者の情報URL" @@ -1139,6 +1140,8 @@ impressumDescription: "ドイツなどのほんま1部の国と地域ではな privacyPolicy: "プライバシーポリシー" privacyPolicyUrl: "プライバシーポリシーURL" tosAndPrivacyPolicy: "利用規約・プライバシーポリシー" +avatarDecorations: "アイコンデコレーション" +flip: "反転" _announcement: forExistingUsers: "もうおるユーザーのみ" forExistingUsersDescription: "有効にすると、このお知らせ作成時点でおるユーザーにのみお知らせが表示されます。無効にすると、このお知らせ作成後にアカウントを作成したユーザーにもお知らせが表示されます。" @@ -2146,6 +2149,9 @@ _moderationLogTypes: createAd: "広告を作んで" deleteAd: "広告ほかす" updateAd: "広告を更新" + createAvatarDecoration: "アイコンデコレーションを作成" + updateAvatarDecoration: "アイコンデコレーションを更新" + deleteAvatarDecoration: "アイコンデコレーションを削除" _fileViewer: title: "ファイルの詳しい情報" type: "ファイルの種類" @@ -2154,3 +2160,25 @@ _fileViewer: uploadedAt: "追加した日" attachedNotes: "ファイルがついてきてるノート" thisPageCanBeSeenFromTheAuthor: "このページはこのファイルをアップした人しか見れへんねん。" +_externalResourceInstaller: + title: "ほかのサイトからインストール" + checkVendorBeforeInstall: "配ってるとこが信頼できるか確認した上でインストールしてな。" + _plugin: + title: "このプラグイン、インストールする?" + metaTitle: "プラグイン情報" + _theme: + title: "このテーマインストールする?" + metaTitle: "テーマ情報" + _errors: + _pluginParseFailed: + title: "AiScriptエラー起こしてもうたねん" + description: "データは取得できたものの、AiScript解析時にエラーがあったから読み込めへんかってん。すまんが、プラグインを作った人に問い合わせてくれへん?ごめんな。エラーの詳細はJavaScriptコンソール読んでな。" + _pluginInstallFailed: + title: "プラグインのインストール失敗してもた" + description: "プラグインのインストール中に問題発生してもた、もう1度試してな。エラーの詳細はJavaScriptのコンソール見てや。" + _themeParseFailed: + title: "テーマ解析エラー" + description: "データは取得できたものの、テーマファイル解析時にエラーがあったから読み込めへんかってん。すまんが、テーマ作った人に問い合わせてくれへん?ごめんな。エラーの詳細はJavaScriptコンソール読んでな。" + _themeInstallFailed: + title: "テーマインストールに失敗してもた" + description: "テーマのインストール中に問題発生してもた、もう1度試してな。エラーの詳細はJavaScriptのコンソール見てや。" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index c9f145bc4..30481ffc3 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -162,8 +162,8 @@ cacheRemoteSensitiveFiles: "리모트의 민감한 파일을 캐시" cacheRemoteSensitiveFilesDescription: "이 설정을 비활성화하면 리모트의 민감한 파일은 캐시하지 않고 리모트에서 직접 가져오도록 합니다." flagAsBot: "나는 봇입니다" flagAsBotDescription: "이 계정을 자동화된 수단으로 운용할 경우에 활성화해 주세요. 이 플래그를 활성화하면, 다른 봇이 이를 참고하여 봇 끼리의 무한 연쇄 반응을 회피하거나, 이 계정의 시스템 상에서의 취급이 Bot 운영에 최적화되는 등의 변화가 생깁니다." -flagAsCat: "나는 고양이다냥" -flagAsCatDescription: "이 계정이 고양이라면 활성화해 주세요." +flagAsCat: "미야아아아오오오오오오오오오옹!!!!!!!" +flagAsCatDescription: "야옹?" flagShowTimelineReplies: "타임라인에 노트의 답글을 표시하기" flagShowTimelineRepliesDescription: "이 설정을 활성화하면 타임라인에 다른 유저 간의 답글을 표시합니다." autoAcceptFollowed: "팔로우 중인 유저로부터의 팔로우 요청을 자동 수락" @@ -1122,6 +1122,7 @@ showRenotes: "리노트 표시" edited: "수정됨" notificationRecieveConfig: "알림 설정" mutualFollow: "맞팔로우" +flip: "플립" _announcement: forExistingUsers: "기존 유저에게만 알림" forExistingUsersDescription: "활성화하면 이 공지사항을 게시한 시점에서 이미 가입한 유저에게만 표시합니다. 비활성화하면 게시 후에 가입한 유저에게도 표시합니다." diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml index f88055cc2..1a15532c0 100644 --- a/locales/pl-PL.yml +++ b/locales/pl-PL.yml @@ -873,6 +873,7 @@ youFollowing: "Śledzeni" icon: "Awatar" replies: "Odpowiedz" renotes: "Udostępnij" +flip: "Odwróć" _role: priority: "Priorytet" _priority: diff --git a/locales/pt-PT.yml b/locales/pt-PT.yml index 23864df1b..b0604e042 100644 --- a/locales/pt-PT.yml +++ b/locales/pt-PT.yml @@ -1011,6 +1011,7 @@ icon: "Avatar" replies: "Responder" renotes: "Repostar" keepScreenOn: "Manter a tela do dispositivo sempre ligada" +flip: "Inversão" _initialAccountSetting: followUsers: "Siga usuários que lhe interessam para criar a sua linha do tempo." _serverSettings: diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index 19e4baccb..606986203 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -1067,6 +1067,7 @@ doYouAgree: "Согласны?" icon: "Аватар" replies: "Ответить" renotes: "Репост" +flip: "Переворот" _initialAccountSetting: accountCreated: "Аккаунт успешно создан!" letsStartAccountSetup: "Давайте настроим вашу учётную запись." diff --git a/locales/sk-SK.yml b/locales/sk-SK.yml index 181e725d7..903891fdb 100644 --- a/locales/sk-SK.yml +++ b/locales/sk-SK.yml @@ -921,6 +921,7 @@ youFollowing: "Sledované" icon: "Avatar" replies: "Odpovedať" renotes: "Preposlať" +flip: "Preklopiť" _role: priority: "Priorita" _priority: diff --git a/locales/th-TH.yml b/locales/th-TH.yml index ebfab39ea..1313bb76c 100644 --- a/locales/th-TH.yml +++ b/locales/th-TH.yml @@ -1132,6 +1132,7 @@ impressumUrl: "URL อิมเพรสชั่น" privacyPolicy: "นโยบายความเป็นส่วนตัว" privacyPolicyUrl: "URL นโยบายความเป็นส่วนตัว" tosAndPrivacyPolicy: "เงื่อนไขในการให้บริการและนโยบายความเป็นส่วนตัว" +flip: "ย้อนกลับ" _announcement: forExistingUsers: "ผู้ใช้งานที่มีอยู่เท่านั้น" forExistingUsersDescription: "การประกาศนี้จะแสดงต่อผู้ใช้ที่มีอยู่ ณ จุดที่เผยแพร่นั้นๆถ้าหากเปิดใช้งาน ถ้าหากปิดใช้งานผู้ที่กำลังสมัครใหม่หลังจากโพสต์แล้วนั้นก็จะเห็นเช่นกัน" diff --git a/locales/uk-UA.yml b/locales/uk-UA.yml index 8d843d67f..016f41a8d 100644 --- a/locales/uk-UA.yml +++ b/locales/uk-UA.yml @@ -907,6 +907,7 @@ youFollowing: "Підписки" icon: "Аватар" replies: "Відповісти" renotes: "Поширити" +flip: "Перевернути" _achievements: earnedAt: "Відкрито" _types: diff --git a/locales/uz-UZ.yml b/locales/uz-UZ.yml index 3a9e6ec5e..e9b3915f0 100644 --- a/locales/uz-UZ.yml +++ b/locales/uz-UZ.yml @@ -845,6 +845,7 @@ sensitiveWords: "Ta'sirchan so'zlar" icon: "Avatar" replies: "Javob berish" renotes: "Qayta qayd etish" +flip: "Teskari" _achievements: _types: _viewInstanceChart: diff --git a/locales/vi-VN.yml b/locales/vi-VN.yml index b8a77a920..7d650e016 100644 --- a/locales/vi-VN.yml +++ b/locales/vi-VN.yml @@ -1047,6 +1047,7 @@ loadReplies: "Hiển thị các trả lời" pinnedList: "Các mục đã được ghim" keepScreenOn: "Giữ màn hình luôn bật" verifiedLink: "Chúng tôi đã xác nhận bạn là chủ sở hữu của đường dẫn này" +flip: "Lật" _announcement: forExistingUsers: "Chỉ những người dùng đã tồn tại" forExistingUsersDescription: "Nếu được bật, thông báo này sẽ chỉ hiển thị với những người dùng đã tồn tại vào lúc thông báo được tạo. Nếu tắt đi, những tài khoản mới đăng ký sau khi thông báo được đăng lên cũng sẽ thấy nó." diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index e605deb11..646fd47f1 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -1131,6 +1131,7 @@ mutualFollow: "互相关注" fileAttachedOnly: "仅限媒体" showRepliesToOthersInTimeline: "在时间线上显示给其他人的回复" hideRepliesToOthersInTimeline: "在时间线上隐藏给其他人的回复" +flip: "翻转" _announcement: forExistingUsers: "仅限现有用户" forExistingUsersDescription: "若启用,该公告将仅对创建此公告时存在的用户可见。 如果禁用,则在创建此公告后注册的用户也可以看到该公告。" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index 7fa30c1c6..fbbed30a7 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -1132,6 +1132,10 @@ mutualFollow: "互相追隨" fileAttachedOnly: "顯示包含附件的貼文" showRepliesToOthersInTimeline: "顯示給其他人的回覆" hideRepliesToOthersInTimeline: "在時間軸上隱藏給其他人的回覆" +showRepliesToOthersInTimelineAll: "在時間軸包含追隨中所有人的回覆" +hideRepliesToOthersInTimelineAll: "在時間軸不包含追隨中所有人的回覆" +confirmShowRepliesAll: "進行此操作後無法復原。您真的希望時間軸「包含」您目前追隨的所有人的回覆嗎?" +confirmHideRepliesAll: "進行此操作後無法復原。您真的希望時間軸「不包含」您目前追隨的所有人的回覆嗎?" externalServices: "外部服務" impressum: "營運者資訊" impressumUrl: "營運者資訊網址" @@ -1139,6 +1143,12 @@ impressumDescription: "在德國與部份地區必須要明確顯示營運者資 privacyPolicy: "隱私政策" privacyPolicyUrl: "隱私政策網址" tosAndPrivacyPolicy: "服務條款和隱私政策" +avatarDecorations: "頭像裝飾" +attach: "裝上" +detach: "取下" +angle: "角度" +flip: "翻轉" +showAvatarDecorations: "顯示頭像裝飾" _announcement: forExistingUsers: "僅限既有的使用者" forExistingUsersDescription: "啟用代表僅向現存使用者顯示;停用代表張貼後註冊的新使用者也會看到。" @@ -1174,6 +1184,7 @@ _serverSettings: manifestJsonOverride: "覆寫 manifest.json" shortName: "簡稱" shortNameDescription: "如果伺服器的正式名稱很長,可用簡稱或通稱代替。" + fanoutTimelineDescription: "如果啟用的話,檢索各個時間軸的性能會顯著提昇,資料庫的負荷也會減少。不過,Redis 的記憶體使用量會增加。如果伺服器的記憶體容量比較少或者運行不穩定,可以停用。" _accountMigration: moveFrom: "從其他帳戶遷移到這個帳戶" moveFromSub: "為另一個帳戶建立別名" @@ -2146,6 +2157,9 @@ _moderationLogTypes: createAd: "建立廣告" deleteAd: "刪除廣告" updateAd: "更新廣告" + createAvatarDecoration: "建立頭像裝飾" + updateAvatarDecoration: "更新頭像裝飾" + deleteAvatarDecoration: "刪除頭像裝飾" _fileViewer: title: "檔案詳細資訊" type: "檔案類型 " @@ -2154,3 +2168,44 @@ _fileViewer: uploadedAt: "加入日期" attachedNotes: "含有附件的貼文" thisPageCanBeSeenFromTheAuthor: "本頁面僅限上傳了這個檔案的使用者可以檢視。" +_externalResourceInstaller: + title: "從外部網站安裝" + checkVendorBeforeInstall: "安裝前請確認提供者是可信賴的。" + _plugin: + title: "要安裝此外掛嘛?" + metaTitle: "外掛資訊" + _theme: + title: "要安裝此外觀主題嘛?" + metaTitle: "外觀主題資訊" + _meta: + base: "基本配色方案" + _vendorInfo: + title: "提供者資訊" + endpoint: "引用端點" + hashVerify: "確認檔案的完整性" + _errors: + _invalidParams: + title: "缺少參數" + description: "缺少從外部網站取得資料的必要資訊。請檢查 URL 是否正確。" + _resourceTypeNotSupported: + title: "不支援此外部資源。" + description: "不支援從此外部網站取得的資源類型。請聯絡網站管理員。" + _failedToFetch: + title: "無法取得資料" + fetchErrorDescription: "與外部站點的通訊失敗。如果重試後問題仍然存在,請聯絡網站管理員。" + parseErrorDescription: "無法讀取從外部站點取得的資料。請聯絡網站管理員。" + _hashUnmatched: + title: "無法取得正確資料" + description: "所提供資料的完整性驗證失敗。出於安全原因,安裝無法繼續。請聯絡網站管理員。" + _pluginParseFailed: + title: "AiScript 錯誤" + description: "已取得資料但解析 AiScript 時發生錯誤,導致無法載入。請聯絡外掛作者。請檢查 Javascript 控制台以取得錯誤詳細資訊。" + _pluginInstallFailed: + title: "外掛安裝失敗" + description: "安裝插件時出現問題。請再試一次。請參閱 Javascript 控制台以取得錯誤詳細資訊。" + _themeParseFailed: + title: "外觀主題解析錯誤" + description: "已取得資料但解析外觀主題時發生錯誤,導致無法載入。請聯絡主題作者。請檢查 Javascript 控制台以取得錯誤詳細資訊。" + _themeInstallFailed: + title: "無法安裝外觀主題" + description: "安裝外觀主題時出現問題。請再試一次。請參閱 Javascript 控制台以取得錯誤詳細資訊。" From 9ec667a87c0352ee87cb67112255255d23d98ab1 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 28 Oct 2023 15:59:57 +0900 Subject: [PATCH 12/56] 2023.11.0-beta.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d15f60c7b..5c09a99a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "2023.11.0-beta.3", + "version": "2023.11.0-beta.4", "codename": "nasubi", "repository": { "type": "git", From 5887c5da6c2097b8f6344bf137daef1f355746e4 Mon Sep 17 00:00:00 2001 From: yupix Date: Sun, 29 Oct 2023 11:10:01 +0900 Subject: [PATCH 13/56] =?UTF-8?q?feat:=20=E3=83=81=E3=83=A3=E3=83=B3?= =?UTF-8?q?=E3=83=8D=E3=83=AB=E3=81=AE=E4=BD=9C=E6=88=90=E3=83=BB=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=99=82=E3=81=ABapiWithDialog=E3=82=92=E4=BD=BF?= =?UTF-8?q?=E3=81=86=E3=82=88=E3=81=86=E3=81=AB=20(#12142)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: チャンネル作成、更新時にapiWithDialogを使うように * chore: 不要なsuccessの呼び出しを削除 * chore: 誤って削除した必要なコードを元通りに --- CHANGELOG.md | 1 + packages/frontend/src/pages/channel-editor.vue | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c5c582fd..914167f28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう - Fix: 「検索」MFMにおいて一部の検索キーワードが正しく認識されない問題を修正 - Fix: 一部の言語でMisskey Webがクラッシュする問題を修正 +- Fix: チャンネルの作成・更新時に失敗した場合何も表示されない問題を修正 #11983 ### Server - Enhance: RedisへのTLのキャッシュをオフにできるように diff --git a/packages/frontend/src/pages/channel-editor.vue b/packages/frontend/src/pages/channel-editor.vue index 39ce093cf..faef8fdb1 100644 --- a/packages/frontend/src/pages/channel-editor.vue +++ b/packages/frontend/src/pages/channel-editor.vue @@ -154,12 +154,9 @@ function save() { if (props.channelId) { params.channelId = props.channelId; - os.api('channels/update', params).then(() => { - os.success(); - }); + os.apiWithDialog('channels/update', params); } else { - os.api('channels/create', params).then(created => { - os.success(); + os.apiWithDialog('channels/create', params).then(created => { router.push(`/channels/${created.id}`); }); } From 2a61a0c0264c347ebd94c980a09180fd423b7506 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 29 Oct 2023 13:07:49 +0900 Subject: [PATCH 14/56] Update .eslintrc.js --- packages/shared/.eslintrc.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/shared/.eslintrc.js b/packages/shared/.eslintrc.js index c578894f6..3f19aad68 100644 --- a/packages/shared/.eslintrc.js +++ b/packages/shared/.eslintrc.js @@ -67,6 +67,11 @@ module.exports = { 'object-curly-spacing': ['error', 'always'], 'space-infix-ops': ['error'], 'space-before-blocks': ['error', 'always'], + 'padding-line-between-statements': [ + 'error', + { 'blankLine': 'always', 'prev': 'function', 'next': '*' }, + { 'blankLine': 'always', 'prev': '*', 'next': 'function' }, + ], '@typescript-eslint/func-call-spacing': ['error', 'never'], '@typescript-eslint/no-explicit-any': ['warn'], '@typescript-eslint/no-unused-vars': ['warn'], From b627978d00cbca0f89e100f8ec6d96d537154819 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 29 Oct 2023 13:12:04 +0900 Subject: [PATCH 15/56] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 914167f28..aa65bf813 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ ### General - Feat: アイコンデコレーション機能 - Enhance: すでにフォローしたすべての人の返信をTLに追加できるように +- Enhance: ローカリゼーションの更新 +- Enhance: 依存関係の更新 ### Client - Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました From feedad7d8b2ba3251edcdf294d16aef7ff0474c2 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 29 Oct 2023 13:49:26 +0900 Subject: [PATCH 16/56] enhance(frontend): tweak about-misskey page --- locales/index.d.ts | 1 + locales/ja-JP.yml | 3 ++- packages/frontend/src/pages/about-misskey.vue | 26 ++++++++++--------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index bfe25c94a..5f156b617 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -1707,6 +1707,7 @@ export interface Locale { "donate": string; "morePatrons": string; "patrons": string; + "projectMembers": string; }; "_displayOfSensitiveMedia": { "respect": string; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 2b475e213..f7e73042b 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1617,13 +1617,14 @@ _registry: _aboutMisskey: about: "Misskeyはsyuiloによって2014年から開発されている、オープンソースのソフトウェアです。" - contributors: "主なコントリビューター" + contributors: "コントリビューター" allContributors: "全てのコントリビューター" source: "ソースコード" translation: "Misskeyを翻訳" donate: "Misskeyに寄付" morePatrons: "他にも多くの方が支援してくれています。ありがとうございます🥰" patrons: "支援者" + projectMembers: "プロジェクトメンバー" _displayOfSensitiveMedia: respect: "センシティブ設定されたメディアを隠す" diff --git a/packages/frontend/src/pages/about-misskey.vue b/packages/frontend/src/pages/about-misskey.vue index c443cdeb7..7a2c698d1 100644 --- a/packages/frontend/src/pages/about-misskey.vue +++ b/packages/frontend/src/pages/about-misskey.vue @@ -47,7 +47,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- + - + + + + {{ i18n.ts._aboutMisskey.allContributors }} @@ -95,6 +94,9 @@ SPDX-License-Identifier: AGPL-3.0-only
Mask Network
+
+ XServer +
Skeb
From 1a8243f1cace06c2eb872177d39536f76c9a8f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sun, 29 Oct 2023 14:12:40 +0900 Subject: [PATCH 17/56] =?UTF-8?q?MkCode=E3=81=AE=E3=83=91=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E3=82=A8=E3=83=B3=E3=82=B8=E3=83=B3=E3=82=92Shiki?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4=20(#12102)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (swap) prism -> shiki * fix styles * (bump) aiscript-vscode to v0.0.5 * refactor * replace prism-editor (beta) * Update scratchpad.vue * (enhance) MkCodeEditor自動インデント改行 * (fix) lint * (add) scratchpad: MkStickyContainer * Update CHANGELOG.md * clean up --------- Co-authored-by: syuilo --- CHANGELOG.md | 3 + packages/frontend/package.json | 4 +- .../frontend/src/components/MkCode.core.vue | 85 ++++++++- packages/frontend/src/components/MkCode.vue | 21 ++- .../frontend/src/components/MkCodeEditor.vue | 166 ++++++++++++++++++ packages/frontend/src/pages/flash/flash.vue | 2 +- packages/frontend/src/pages/scratchpad.vue | 60 +++---- .../frontend/src/pages/settings/plugin.vue | 2 +- .../frontend/src/scripts/code-highlighter.ts | 31 ++++ packages/frontend/src/style.scss | 4 - pnpm-lock.yaml | 87 +++++---- scripts/build-assets.mjs | 8 + 12 files changed, 380 insertions(+), 93 deletions(-) create mode 100644 packages/frontend/src/components/MkCodeEditor.vue create mode 100644 packages/frontend/src/scripts/code-highlighter.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index aa65bf813..b909b26ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,9 @@ - Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html +- Enhance: コードのシンタックスハイライトエンジンをShikiに変更 + - AiScriptのシンタックスハイライトに対応 + - MFMでAiScriptをハイライトする場合、コードブロックの開始部分を ` ```is ` もしくは ` ```aiscript ` としてください - Enhance: データセーバー有効時はアニメーション付きのアバター画像が停止するように - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました - Enhance: プラグインで`Plugin:register_note_view_interruptor`を用いてnoteの代わりにnullを返却することでノートを非表示にできるようになりました diff --git a/packages/frontend/package.json b/packages/frontend/package.json index f8492b3e5..fe35519d2 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -29,6 +29,7 @@ "@vue/compiler-sfc": "3.3.7", "astring": "1.8.6", "autosize": "6.0.1", + "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.0.5", "broadcast-channel": "5.5.1", "browser-image-resizer": "github:misskey-dev/browser-image-resizer#v2.2.1-misskey.3", "buraha": "0.0.1", @@ -54,11 +55,11 @@ "mfm-js": "0.23.3", "misskey-js": "workspace:*", "photoswipe": "5.4.2", - "prismjs": "1.29.0", "punycode": "2.3.0", "querystring": "0.2.1", "rollup": "4.1.4", "sanitize-html": "2.11.0", + "shiki": "^0.14.5", "sass": "1.69.5", "strict-event-emitter-types": "2.0.0", "textarea-caret": "3.1.0", @@ -74,7 +75,6 @@ "vanilla-tilt": "1.8.1", "vite": "4.5.0", "vue": "3.3.7", - "vue-prism-editor": "2.0.0-alpha.2", "vuedraggable": "next" }, "devDependencies": { diff --git a/packages/frontend/src/components/MkCode.core.vue b/packages/frontend/src/components/MkCode.core.vue index a1300be1f..4ec354041 100644 --- a/packages/frontend/src/components/MkCode.core.vue +++ b/packages/frontend/src/components/MkCode.core.vue @@ -5,21 +5,90 @@ SPDX-License-Identifier: AGPL-3.0-only + + diff --git a/packages/frontend/src/components/MkCode.vue b/packages/frontend/src/components/MkCode.vue index 8972b1863..b39e6ff23 100644 --- a/packages/frontend/src/components/MkCode.vue +++ b/packages/frontend/src/components/MkCode.vue @@ -4,11 +4,18 @@ SPDX-License-Identifier: AGPL-3.0-only --> + + diff --git a/packages/frontend/src/components/MkCodeEditor.vue b/packages/frontend/src/components/MkCodeEditor.vue new file mode 100644 index 000000000..2d56a6196 --- /dev/null +++ b/packages/frontend/src/components/MkCodeEditor.vue @@ -0,0 +1,166 @@ + + + + + + + diff --git a/packages/frontend/src/pages/flash/flash.vue b/packages/frontend/src/pages/flash/flash.vue index 32a835831..ebf117ffb 100644 --- a/packages/frontend/src/pages/flash/flash.vue +++ b/packages/frontend/src/pages/flash/flash.vue @@ -36,7 +36,7 @@ SPDX-License-Identifier: AGPL-3.0-only - +
diff --git a/packages/frontend/src/pages/scratchpad.vue b/packages/frontend/src/pages/scratchpad.vue index 3dfd2d661..f8d3187bd 100644 --- a/packages/frontend/src/pages/scratchpad.vue +++ b/packages/frontend/src/pages/scratchpad.vue @@ -4,46 +4,46 @@ SPDX-License-Identifier: AGPL-3.0-only --> + + diff --git a/packages/frontend/src/components/MkTimeline.vue b/packages/frontend/src/components/MkTimeline.vue index cdd72febd..a2ada35f9 100644 --- a/packages/frontend/src/components/MkTimeline.vue +++ b/packages/frontend/src/components/MkTimeline.vue @@ -4,13 +4,16 @@ SPDX-License-Identifier: AGPL-3.0-only --> + + diff --git a/packages/frontend/src/components/index.ts b/packages/frontend/src/components/index.ts index 48af4754d..c740d181f 100644 --- a/packages/frontend/src/components/index.ts +++ b/packages/frontend/src/components/index.ts @@ -5,7 +5,7 @@ import { App } from 'vue'; -import Mfm from './global/MkMisskeyFlavoredMarkdown.ts'; +import Mfm from './global/MkMisskeyFlavoredMarkdown.js'; import MkA from './global/MkA.vue'; import MkAcct from './global/MkAcct.vue'; import MkAvatar from './global/MkAvatar.vue'; @@ -16,13 +16,14 @@ import MkUserName from './global/MkUserName.vue'; import MkEllipsis from './global/MkEllipsis.vue'; import MkTime from './global/MkTime.vue'; import MkUrl from './global/MkUrl.vue'; -import I18n from './global/i18n'; +import I18n from './global/i18n.js'; import RouterView from './global/RouterView.vue'; import MkLoading from './global/MkLoading.vue'; import MkError from './global/MkError.vue'; import MkAd from './global/MkAd.vue'; import MkPageHeader from './global/MkPageHeader.vue'; import MkSpacer from './global/MkSpacer.vue'; +import MkFooterSpacer from './global/MkFooterSpacer.vue'; import MkStickyContainer from './global/MkStickyContainer.vue'; export default function(app: App) { @@ -50,6 +51,7 @@ export const components = { MkAd: MkAd, MkPageHeader: MkPageHeader, MkSpacer: MkSpacer, + MkFooterSpacer: MkFooterSpacer, MkStickyContainer: MkStickyContainer, }; @@ -73,6 +75,7 @@ declare module '@vue/runtime-core' { MkAd: typeof MkAd; MkPageHeader: typeof MkPageHeader; MkSpacer: typeof MkSpacer; + MkFooterSpacer: typeof MkFooterSpacer; MkStickyContainer: typeof MkStickyContainer; } } diff --git a/packages/frontend/src/pages/settings/index.vue b/packages/frontend/src/pages/settings/index.vue index cfabbbbf6..361a6c8c7 100644 --- a/packages/frontend/src/pages/settings/index.vue +++ b/packages/frontend/src/pages/settings/index.vue @@ -23,6 +23,7 @@ SPDX-License-Identifier: AGPL-3.0-only
+ From 7c692283add6c8ee9db4e5b95f905d23ad45bf7f Mon Sep 17 00:00:00 2001 From: _ Date: Tue, 31 Oct 2023 15:27:20 +0900 Subject: [PATCH 46/56] =?UTF-8?q?fix(backend):=20=E8=87=AA=E8=BA=AB?= =?UTF-8?q?=E3=81=AE=E5=AE=9B=E5=85=88=E3=81=AA=E3=81=97=E3=83=80=E3=82=A4?= =?UTF-8?q?=E3=83=AC=E3=82=AF=E3=83=88=E6=8A=95=E7=A8=BF=E3=81=8C=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=83=AA=E3=83=BC=E3=83=9F=E3=83=B3=E3=82=B0=E3=81=A7?= =?UTF-8?q?=E6=B5=81=E3=82=8C=E3=81=A6=E3=81=93=E3=81=AA=E3=81=84=E5=95=8F?= =?UTF-8?q?=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3=20(#12203)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: dm stream * add CHANGELOG --- CHANGELOG.md | 1 + .../backend/src/server/api/stream/channels/home-timeline.ts | 2 +- .../backend/src/server/api/stream/channels/hybrid-timeline.ts | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbda1f194..51b96831f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,6 +61,7 @@ - Fix: HTLをリロードまたは遡行したとき、フォローしているチャンネルのノートが含まれない問題を修正 #11765 #12181 - Fix: リノートをリノートできるのを修正 - Fix: アクセストークンを削除すると、通知が取得できなくなる場合がある問題を修正 +- Fix: 自身の宛先なしダイレクト投稿がストリーミングで流れてこない問題を修正 ## 2023.10.2 diff --git a/packages/backend/src/server/api/stream/channels/home-timeline.ts b/packages/backend/src/server/api/stream/channels/home-timeline.ts index 1c882c8d8..80054d088 100644 --- a/packages/backend/src/server/api/stream/channels/home-timeline.ts +++ b/packages/backend/src/server/api/stream/channels/home-timeline.ts @@ -56,7 +56,7 @@ class HomeTimelineChannel extends Channel { if (note.visibility === 'followers') { if (!isMe && !Object.hasOwn(this.following, note.userId)) return; } else if (note.visibility === 'specified') { - if (!note.visibleUserIds!.includes(this.user!.id)) return; + if (!isMe && !note.visibleUserIds!.includes(this.user!.id)) return; } if (note.reply) { diff --git a/packages/backend/src/server/api/stream/channels/hybrid-timeline.ts b/packages/backend/src/server/api/stream/channels/hybrid-timeline.ts index aa3fc7509..78645982b 100644 --- a/packages/backend/src/server/api/stream/channels/hybrid-timeline.ts +++ b/packages/backend/src/server/api/stream/channels/hybrid-timeline.ts @@ -67,7 +67,7 @@ class HybridTimelineChannel extends Channel { if (note.visibility === 'followers') { if (!isMe && !Object.hasOwn(this.following, note.userId)) return; } else if (note.visibility === 'specified') { - if (!note.visibleUserIds!.includes(this.user!.id)) return; + if (!isMe && !note.visibleUserIds!.includes(this.user!.id)) return; } // Ignore notes from instances the user has muted From e2f34e3db684b2258db3e7370675afe894f5e301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=9C=E7=89=A9=E3=83=AA=E3=83=B3?= Date: Tue, 31 Oct 2023 17:26:59 +0900 Subject: [PATCH 47/56] =?UTF-8?q?fix:=20headerAction=E3=81=ABPC=E4=BB=A5?= =?UTF-8?q?=E5=A4=96=E3=81=A7=E7=A9=BA=E3=81=AE=E3=83=9C=E3=82=BF=E3=83=B3?= =?UTF-8?q?=E3=81=8C=E5=87=BA=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86=E3=83=90?= =?UTF-8?q?=E3=82=B0=E3=81=AE=E4=BF=AE=E6=AD=A3=20(#12202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * headerActionにPC以外で空のボタンが出てしまうバグの修正 * fix eslint --- packages/frontend/src/pages/timeline.vue | 62 +++++++++++++----------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/packages/frontend/src/pages/timeline.vue b/packages/frontend/src/pages/timeline.vue index f601bc8a8..5b97385ea 100644 --- a/packages/frontend/src/pages/timeline.vue +++ b/packages/frontend/src/pages/timeline.vue @@ -140,36 +140,42 @@ function focus(): void { tlComponent.focus(); } -const headerActions = $computed(() => [ - ...[deviceKind === 'desktop' ? { - icon: 'ti ti-refresh', - text: i18n.ts.reload, - handler: (ev) => { - console.log('called'); - tlComponent.reloadTimeline(); - }, - } : {}], { - icon: 'ti ti-dots', - text: i18n.ts.options, - handler: (ev) => { - os.popupMenu([{ - type: 'switch', - text: i18n.ts.showRenotes, - icon: 'ti ti-repeat', - ref: $$(withRenotes), - }, src === 'local' || src === 'social' ? { - type: 'switch', - text: i18n.ts.showRepliesToOthersInTimeline, - ref: $$(withReplies), - } : undefined, { - type: 'switch', - text: i18n.ts.fileAttachedOnly, - icon: 'ti ti-photo', - ref: $$(onlyFiles), - }], ev.currentTarget ?? ev.target); +const headerActions = $computed(() => { + const tmp = [ + { + icon: 'ti ti-dots', + text: i18n.ts.options, + handler: (ev) => { + os.popupMenu([{ + type: 'switch', + text: i18n.ts.showRenotes, + icon: 'ti ti-repeat', + ref: $$(withRenotes), + }, src === 'local' || src === 'social' ? { + type: 'switch', + text: i18n.ts.showRepliesToOthersInTimeline, + ref: $$(withReplies), + } : undefined, { + type: 'switch', + text: i18n.ts.fileAttachedOnly, + icon: 'ti ti-photo', + ref: $$(onlyFiles), + }], ev.currentTarget ?? ev.target); + }, }, + ]; + if (deviceKind === 'desktop') { + tmp.unshift({ + icon: 'ti ti-refresh', + text: i18n.ts.reload, + handler: (ev: Event) => { + console.log('called'); + tlComponent.reloadTimeline(); + }, + }); } -]); + return tmp; +}); const headerTabs = $computed(() => [...(defaultStore.reactiveState.pinnedUserLists.value.map(l => ({ key: 'list:' + l.id, From cf026e4c72eda0708aef0109901098a7bf10ffa4 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Tue, 31 Oct 2023 17:28:13 +0900 Subject: [PATCH 48/56] feat: add tools to navbar (#12204) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add tools to navbar * docs(changelog): ナビゲーションバーにツールを追加しました --- CHANGELOG.md | 1 + packages/frontend/src/navbar.ts | 9 ++- packages/frontend/src/ui/_common_/common.ts | 63 ++++++++++++--------- 3 files changed, 46 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51b96831f..999f2e43d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html +- Feat: ナビゲーションバーにツールを追加しました - Enhance: スワイプしてタイムラインを再読込できるように - PCの場合は右上のボタンからでも再読込できます - Enhance: タイムラインの自動更新を無効にできるように diff --git a/packages/frontend/src/navbar.ts b/packages/frontend/src/navbar.ts index 7f182a98f..e72a4dc31 100644 --- a/packages/frontend/src/navbar.ts +++ b/packages/frontend/src/navbar.ts @@ -6,7 +6,7 @@ import { computed, reactive } from 'vue'; import { $i } from '@/account.js'; import { miLocalStorage } from '@/local-storage.js'; -import { openInstanceMenu } from '@/ui/_common_/common.js'; +import { openInstanceMenu, openToolsMenu } from '@/ui/_common_/common.js'; import { lookup } from '@/scripts/lookup.js'; import * as os from '@/os.js'; import { i18n } from '@/i18n.js'; @@ -142,6 +142,13 @@ export const navbarItemDef = reactive({ openInstanceMenu(ev); }, }, + tools: { + title: i18n.ts.tools, + icon: 'ti ti-tool', + action: (ev) => { + openToolsMenu(ev); + }, + }, reload: { title: i18n.ts.reload, icon: 'ti ti-refresh', diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts index 125d340fe..ff6157f5f 100644 --- a/packages/frontend/src/ui/_common_/common.ts +++ b/packages/frontend/src/ui/_common_/common.ts @@ -3,12 +3,42 @@ * SPDX-License-Identifier: AGPL-3.0-only */ +import type { MenuItem } from '@/types/menu.js'; import * as os from '@/os.js'; import { instance } from '@/instance.js'; import { host } from '@/config.js'; import { i18n } from '@/i18n.js'; import { $i } from '@/account.js'; +function toolsMenuItems(): MenuItem[] { + return [{ + type: 'link', + to: '/scratchpad', + text: i18n.ts.scratchpad, + icon: 'ti ti-terminal-2', + }, { + type: 'link', + to: '/api-console', + text: 'API Console', + icon: 'ti ti-terminal-2', + }, { + type: 'link', + to: '/clicker', + text: '🍪👈', + icon: 'ti ti-cookie', + }, ($i && ($i.isAdmin || $i.policies.canManageCustomEmojis)) ? { + type: 'link', + to: '/custom-emojis-manager', + text: i18n.ts.manageCustomEmojis, + icon: 'ti ti-icons', + } : undefined, ($i && ($i.isAdmin || $i.policies.canManageAvatarDecorations)) ? { + type: 'link', + to: '/avatar-decorations', + text: i18n.ts.manageAvatarDecorations, + icon: 'ti ti-sparkles', + } : undefined]; +} + export function openInstanceMenu(ev: MouseEvent) { os.popupMenu([{ text: instance.name ?? host, @@ -47,32 +77,7 @@ export function openInstanceMenu(ev: MouseEvent) { type: 'parent', text: i18n.ts.tools, icon: 'ti ti-tool', - children: [{ - type: 'link', - to: '/scratchpad', - text: i18n.ts.scratchpad, - icon: 'ti ti-terminal-2', - }, { - type: 'link', - to: '/api-console', - text: 'API Console', - icon: 'ti ti-terminal-2', - }, { - type: 'link', - to: '/clicker', - text: '🍪👈', - icon: 'ti ti-cookie', - }, ($i && ($i.isAdmin || $i.policies.canManageCustomEmojis)) ? { - type: 'link', - to: '/custom-emojis-manager', - text: i18n.ts.manageCustomEmojis, - icon: 'ti ti-icons', - } : undefined, ($i && ($i.isAdmin || $i.policies.canManageAvatarDecorations)) ? { - type: 'link', - to: '/avatar-decorations', - text: i18n.ts.manageAvatarDecorations, - icon: 'ti ti-sparkles', - } : undefined], + children: toolsMenuItems(), }, null, (instance.impressumUrl) ? { text: i18n.ts.impressum, icon: 'ti ti-file-invoice', @@ -105,3 +110,9 @@ export function openInstanceMenu(ev: MouseEvent) { align: 'left', }); } + +export function openToolsMenu(ev: MouseEvent) { + os.popupMenu(toolsMenuItems(), ev.currentTarget ?? ev.target, { + align: 'left', + }); +} From 735f22c1c5a7a1904ce1c0b197f3fc61c9de1bbc Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 31 Oct 2023 17:29:21 +0900 Subject: [PATCH 49/56] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 999f2e43d..feabb8e0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,6 @@ - Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html -- Feat: ナビゲーションバーにツールを追加しました - Enhance: スワイプしてタイムラインを再読込できるように - PCの場合は右上のボタンからでも再読込できます - Enhance: タイムラインの自動更新を無効にできるように @@ -39,6 +38,7 @@ - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました - Enhance: プラグインで`Plugin:register_note_view_interruptor`を用いてnoteの代わりにnullを返却することでノートを非表示にできるようになりました - Enhance: AiScript関数`Mk:nyaize()`が追加されました +- Enhance: 情報→ツール はナビゲーションバーにツールとして独立した項目になりました - Enhance: その他細かなブラッシュアップ - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう From 7d3721dded457d4ebde023fb157b6ca1dd5b9045 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 31 Oct 2023 20:14:36 +0900 Subject: [PATCH 50/56] Update .eslintrc.js --- packages/shared/.eslintrc.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/shared/.eslintrc.js b/packages/shared/.eslintrc.js index 3deaffb29..b3c7626a3 100644 --- a/packages/shared/.eslintrc.js +++ b/packages/shared/.eslintrc.js @@ -73,6 +73,7 @@ module.exports = { { 'blankLine': 'always', 'prev': '*', 'next': 'function' }, ], "lines-between-class-members": "off", + /* typescript-eslint では enforce に対応してないっぽい '@typescript-eslint/lines-between-class-members': ['error', { enforce: [{ blankLine: 'always', @@ -80,6 +81,7 @@ module.exports = { next: '*', }] }], + */ '@typescript-eslint/func-call-spacing': ['error', 'never'], '@typescript-eslint/no-explicit-any': ['warn'], '@typescript-eslint/no-unused-vars': ['warn'], From d6fe89792350d699ff1ad5dcf639fef19dffa91d Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 1 Nov 2023 10:23:20 +0900 Subject: [PATCH 51/56] =?UTF-8?q?perf(frontend):=20=E3=83=8E=E3=83=BC?= =?UTF-8?q?=E3=83=88=E8=A1=A8=E7=A4=BA=E6=99=82=E3=81=AEMFM=E3=83=91?= =?UTF-8?q?=E3=83=BC=E3=82=B9=E5=87=A6=E7=90=86=E3=82=92=E6=B8=9B=E3=82=89?= =?UTF-8?q?=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/components/MkNote.vue | 7 ++++--- packages/frontend/src/components/MkNoteDetailed.vue | 5 +++-- packages/frontend/src/components/MkSubNoteContent.vue | 2 +- .../src/components/global/MkMisskeyFlavoredMarkdown.ts | 3 ++- packages/frontend/src/scripts/collapsed.ts | 7 ++----- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index f2329ff32..b31ee7853 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -60,7 +60,7 @@ SPDX-License-Identifier: AGPL-3.0-only
({{ i18n.ts.private }}) - +
@@ -209,8 +209,9 @@ const clipButton = shallowRef(); let appearNote = $computed(() => isRenote ? note.renote as Misskey.entities.Note : note); const isMyRenote = $i && ($i.id === note.userId); const showContent = ref(false); -const urls = appearNote.text ? extractUrlFromMfm(mfm.parse(appearNote.text)) : null; -const isLong = shouldCollapsed(appearNote); +const parsed = appearNote.text ? mfm.parse(appearNote.text) : null; +const urls = parsed ? extractUrlFromMfm(parsed) : null; +const isLong = shouldCollapsed(appearNote, urls ?? []); const collapsed = ref(appearNote.cw == null && isLong); const isDeleted = ref(false); const muted = ref($i ? checkWordMute(appearNote, $i, $i.mutedWords) : false); diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index ce4fb79d4..d34d35a0c 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -73,7 +73,7 @@ SPDX-License-Identifier: AGPL-3.0-only
({{ i18n.ts.private }}) - + RN:
@@ -260,7 +260,8 @@ const isDeleted = ref(false); const muted = ref($i ? checkWordMute(appearNote, $i, $i.mutedWords) : false); const translation = ref(null); const translating = ref(false); -const urls = appearNote.text ? extractUrlFromMfm(mfm.parse(appearNote.text)) : null; +const parsed = appearNote.text ? mfm.parse(appearNote.text) : null; +const urls = parsed ? extractUrlFromMfm(parsed) : null; const showTicker = (defaultStore.state.instanceTicker === 'always') || (defaultStore.state.instanceTicker === 'remote' && appearNote.user.instance); const conversation = ref([]); const replies = ref([]); diff --git a/packages/frontend/src/components/MkSubNoteContent.vue b/packages/frontend/src/components/MkSubNoteContent.vue index 34fdd1cce..51dabee16 100644 --- a/packages/frontend/src/components/MkSubNoteContent.vue +++ b/packages/frontend/src/components/MkSubNoteContent.vue @@ -42,7 +42,7 @@ const props = defineProps<{ note: Misskey.entities.Note; }>(); -const isLong = shouldCollapsed(props.note); +const isLong = shouldCollapsed(props.note, []); const collapsed = $ref(isLong); diff --git a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts index 102aa0db3..ab8a34269 100644 --- a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts +++ b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts @@ -38,6 +38,7 @@ type MfmProps = { emojiUrls?: string[]; rootScale?: number; nyaize: boolean | 'account'; + parsedNodes?: mfm.MfmNode[] | null; }; // eslint-disable-next-line import/no-default-export @@ -48,7 +49,7 @@ export default function(props: MfmProps) { // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (props.text == null || props.text === '') return; - const rootAst = (props.plain ? mfm.parseSimple : mfm.parse)(props.text); + const rootAst = props.parsedNodes ?? (props.plain ? mfm.parseSimple : mfm.parse)(props.text); const validTime = (t: string | null | undefined) => { if (t == null) return null; diff --git a/packages/frontend/src/scripts/collapsed.ts b/packages/frontend/src/scripts/collapsed.ts index c3c767bcf..57e6ecf5b 100644 --- a/packages/frontend/src/scripts/collapsed.ts +++ b/packages/frontend/src/scripts/collapsed.ts @@ -3,12 +3,9 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import * as mfm from 'mfm-js'; import * as Misskey from 'misskey-js'; -import { extractUrlFromMfm } from './extract-url-from-mfm.js'; -export function shouldCollapsed(note: Misskey.entities.Note): boolean { - const urls = note.text ? extractUrlFromMfm(mfm.parse(note.text)) : null; +export function shouldCollapsed(note: Misskey.entities.Note, urls: string[]): boolean { const collapsed = note.cw == null && note.text != null && ( (note.text.includes('$[x2')) || (note.text.includes('$[x3')) || @@ -17,7 +14,7 @@ export function shouldCollapsed(note: Misskey.entities.Note): boolean { (note.text.split('\n').length > 9) || (note.text.length > 500) || (note.files.length >= 5) || - (!!urls && urls.length >= 4) + (urls.length >= 4) ); return collapsed; From e85b8217c0eda4b0cb2ebf5642cabd2af7212140 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 1 Nov 2023 11:23:23 +0900 Subject: [PATCH 52/56] =?UTF-8?q?enhance(frontend):=20=E3=80=8C=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=82=92=E9=9A=A0=E3=81=99=E3=80=8D=E3=81=A7=E3=83=AA?= =?UTF-8?q?=E3=82=A2=E3=82=AF=E3=82=B7=E3=83=A7=E3=83=B3=E3=82=82=E9=9A=A0?= =?UTF-8?q?=E3=82=8C=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve #12199 --- packages/frontend/src/components/MkNote.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index b31ee7853..7b8223dfe 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -84,7 +84,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ appearNote.channel.name }}
- + From 5fb6847419ba75edc33270071f4990244669e262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Wed, 1 Nov 2023 13:34:05 +0900 Subject: [PATCH 53/56] =?UTF-8?q?Feat:=20=E6=9C=AA=E8=AA=AD=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=95=B0=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=20(#11982)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 未読通知数を表示できるように * Update Changelog * オプトインにする * Fix lint * (add) テスト通知のプッシュ通知を追加 * add test * フロントエンドの表示上限を99に変更 * Make it default on * 共通スタイルをくくりだす * Update Changelog * tweak * Update UserEntityService.ts * rename * Update navbar-for-mobile.vue --------- Co-authored-by: syuilo --- CHANGELOG.md | 2 + .../backend/assets/tabler-badges/bell.png | Bin 0 -> 1774 bytes .../backend/src/core/NotificationService.ts | 4 +- .../src/core/entities/UserEntityService.ts | 39 ++++++++++++++---- .../backend/src/models/json-schema/user.ts | 4 ++ packages/backend/test/e2e/users.ts | 2 + packages/frontend/src/boot/main-boot.ts | 11 ++++- .../frontend/src/components/MkLaunchPad.vue | 22 ++++++++-- .../src/components/MkNotifications.vue | 6 ++- packages/frontend/src/navbar.ts | 9 ++++ .../src/pages/settings/notifications.vue | 4 +- packages/frontend/src/style.scss | 13 ++++++ packages/frontend/src/ui/_common_/common.vue | 3 +- .../src/ui/_common_/navbar-for-mobile.vue | 11 ++++- packages/frontend/src/ui/_common_/navbar.vue | 22 +++++++++- packages/frontend/src/ui/classic.sidebar.vue | 11 ++++- packages/frontend/src/ui/deck.vue | 12 +++++- packages/frontend/src/ui/universal.vue | 12 +++++- packages/misskey-js/etc/misskey-js.api.md | 5 ++- packages/misskey-js/src/entities.ts | 1 + .../sw/src/scripts/create-notification.ts | 7 ++++ packages/sw/src/types.ts | 1 + 22 files changed, 173 insertions(+), 28 deletions(-) create mode 100644 packages/backend/assets/tabler-badges/bell.png diff --git a/CHANGELOG.md b/CHANGELOG.md index feabb8e0f..77b01aad3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - 最大でも黄色いエリア内にデコレーションを収めることを推奨します。 - 画像は512x512pxを推奨します。 - Enhance: すでにフォローしたすべての人の返信をTLに追加できるように +- Enhance: 未読の通知数を表示できるように - Enhance: ローカリゼーションの更新 - Enhance: 依存関係の更新 @@ -63,6 +64,7 @@ - Fix: リノートをリノートできるのを修正 - Fix: アクセストークンを削除すると、通知が取得できなくなる場合がある問題を修正 - Fix: 自身の宛先なしダイレクト投稿がストリーミングで流れてこない問題を修正 +- Fix: サーバーサイドからのテスト通知を正しく行えるように修正 ## 2023.10.2 diff --git a/packages/backend/assets/tabler-badges/bell.png b/packages/backend/assets/tabler-badges/bell.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3b2a110f668fa064c6bb93a8df1a4ffae7c602 GIT binary patch literal 1774 zcmVi#_{?t{_0_>S#Jlzz8hYHdGNr+KYr5PJU;CeZ&-{z zz@0G7M9$;s3h|5g(^v}jT7j_Lj$#%dC!t@mLJmtj*kP*`2-i(0V7`p-B_&9OO*UGA zFkJk1~xz!o*Q6PaV>glJASdmj)pD4knDwTB_ZkmSCC=Kk&w&aYpryY z)q`a8R!HIBS@0;#D(*uf-om;PAg;G6HlR0W;Su(AD(b4+3rD01TNG~wT?d4V(6tMn zs49{peJbn_k>?Y3H^4+7_S5|sv?~g<;}cJNi&Xd<`k57+XwV-NEvy>rsULJei86F| zK$Lh&NF|jXh{6hl{x;?cYQvRhxK6;@fC6iUt@2vKM&A#$x-Jl25BUhH9R&~Ghio9q z)2}R+aG`^)^k6HkKv)d~1mV^4OSsk#o_d|3XV<_nt;!b_A83^o2+J#APV4m)So=D} zN|P0^EJpnyI9=xJIi%Wx)|pW3U@fcOzxf5O@|(3<&EA#pbD-ZuEq8|>xkB~+y=9nx z#^U}$!XXd87r@anAUqd#O(5deY4MyGA7$N!L|tx}VJhUb_T&06Rd5)_#{-?VQRu9j zExp}Yrjz$MD{;cZ|6WCWKF;lH2sQemFVMm8;GVE-K&YGp-z%8W-CYfbKl~L&Q8uQ8~f1|0;M_;}bpm|3)HXuwsl9+M#xwvTsdKEV!>K}$-0b;d|k$0u&^HkGV z(brE)(a2@@Ys@!kk>4?VZ^i( z5tEA)U!{0)qmjx+6mFJc5wBYpnsuTi8+)n4@?XWE-GptI!AXsJzu8Dc{${(=Ry0n3dsAS%nHsWH0#fgFu0a2`x445sjj zNd>~BFBnX=RDntJ3M_gH#0ta;#0ta;#0ps2(1hJkGBTN#TOeajfpWdY-=sA#6AH8= z#jtw2Y{0Qq8;^Z#eBNn98F?z+W0j!+r){lg52KF#WpU`1EUW+Cb&AvpGlQ zi*=jJB+;x7MFG`O`Q7F!i-tALO2*rzEvFJLA3z$XqRuybW^i3#SX(}!u)3Q`;xrO@ zvLdwUc@Q&L2d1#)GjPZP=!dFfn zS-F;Gz_Dx{zFnT`TafyAt!4SHqi_C{`=@xf;7# z;ZlFURzMy@DONYqvE%->6dRbzO;0Hn6B9kAlSNPhbeK-6ika`sSxWe!!^ zD??rLW70}YF+(U7ZQ|?gfllyNwxZ)`!nbMo^Sgm)^VoS#?zj|gd2V{Y=maNxA0{FD zmHc+T4$~EWl38sV>{BwYT$aFhUqIC@EK$%^GQFOUejfpE^5(RGNP*>E4Z@|EmDP#Y zLHwnTE4Z3#Y}iFW2=38(uEiACJSGiH3$ItROzG`CcI@Net%06{s3sZb17(ybn2y^2 z)wHECEeEmknPb`QR&4|#N4Sh7Y}6XT@e$TZxZJjFKzu92aj^}qP+!S)k2B`@AJnf>D2<5i QUjP6A07*qoM6N<$g17KpssI20 literal 0 HcmV?d00001 diff --git a/packages/backend/src/core/NotificationService.ts b/packages/backend/src/core/NotificationService.ts index c6d5023e6..7c3672c67 100644 --- a/packages/backend/src/core/NotificationService.ts +++ b/packages/backend/src/core/NotificationService.ts @@ -144,7 +144,9 @@ export class NotificationService implements OnApplicationShutdown { this.globalEventService.publishMainStream(notifieeId, 'notification', packed); // 2秒経っても(今回作成した)通知が既読にならなかったら「未読の通知がありますよ」イベントを発行する - setTimeout(2000, 'unread notification', { signal: this.#shutdownController.signal }).then(async () => { + // テスト通知の場合は即時発行 + const interval = notification.type === 'test' ? 0 : 2000; + setTimeout(interval, 'unread notification', { signal: this.#shutdownController.signal }).then(async () => { const latestReadNotificationId = await this.redisClient.get(`latestReadNotification:${notifieeId}`); if (latestReadNotificationId && (latestReadNotificationId >= (await redisIdPromise)!)) return; diff --git a/packages/backend/src/core/entities/UserEntityService.ts b/packages/backend/src/core/entities/UserEntityService.ts index 09a7e579f..17e798817 100644 --- a/packages/backend/src/core/entities/UserEntityService.ts +++ b/packages/backend/src/core/entities/UserEntityService.ts @@ -15,6 +15,7 @@ import { awaitAll } from '@/misc/prelude/await-all.js'; import { USER_ACTIVE_THRESHOLD, USER_ONLINE_THRESHOLD } from '@/const.js'; import type { MiLocalUser, MiPartialLocalUser, MiPartialRemoteUser, MiRemoteUser, MiUser } from '@/models/User.js'; import { birthdaySchema, descriptionSchema, localUsernameSchema, locationSchema, nameSchema, passwordSchema } from '@/models/User.js'; +import { MiNotification } from '@/models/Notification.js'; import type { UsersRepository, UserSecurityKeysRepository, FollowingsRepository, FollowRequestsRepository, BlockingsRepository, MutingsRepository, DriveFilesRepository, NoteUnreadsRepository, UserNotePiningsRepository, UserProfilesRepository, AnnouncementReadsRepository, AnnouncementsRepository, MiUserProfile, RenoteMutingsRepository, UserMemoRepository } from '@/models/_.js'; import { bindThis } from '@/decorators.js'; import { RoleService } from '@/core/RoleService.js'; @@ -235,17 +236,34 @@ export class UserEntityService implements OnModuleInit { } @bindThis - public async getHasUnreadNotification(userId: MiUser['id']): Promise { + public async getNotificationsInfo(userId: MiUser['id']): Promise<{ + hasUnread: boolean; + unreadCount: number; + }> { + const response = { + hasUnread: false, + unreadCount: 0, + }; + const latestReadNotificationId = await this.redisClient.get(`latestReadNotification:${userId}`); - const latestNotificationIdsRes = await this.redisClient.xrevrange( - `notificationTimeline:${userId}`, - '+', - '-', - 'COUNT', 1); - const latestNotificationId = latestNotificationIdsRes[0]?.[0]; + if (!latestReadNotificationId) { + response.unreadCount = await this.redisClient.xlen(`notificationTimeline:${userId}`); + } else { + const latestNotificationIdsRes = await this.redisClient.xrevrange( + `notificationTimeline:${userId}`, + '+', + latestReadNotificationId, + ); - return latestNotificationId != null && (latestReadNotificationId == null || latestReadNotificationId < latestNotificationId); + response.unreadCount = (latestNotificationIdsRes.length - 1 >= 0) ? latestNotificationIdsRes.length - 1 : 0; + } + + if (response.unreadCount > 0) { + response.hasUnread = true; + } + + return response; } @bindThis @@ -331,6 +349,8 @@ export class UserEntityService implements OnModuleInit { ...announcement, })) : null; + const notificationsInfo = isMe && opts.detail ? await this.getNotificationsInfo(user.id) : null; + const packed = { id: user.id, name: user.name, @@ -449,8 +469,9 @@ export class UserEntityService implements OnModuleInit { unreadAnnouncements, hasUnreadAntenna: this.getHasUnreadAntenna(user.id), hasUnreadChannel: false, // 後方互換性のため - hasUnreadNotification: this.getHasUnreadNotification(user.id), + hasUnreadNotification: notificationsInfo?.hasUnread, // 後方互換性のため hasPendingReceivedFollowRequest: this.getHasPendingReceivedFollowRequest(user.id), + unreadNotificationsCount: notificationsInfo?.unreadCount, mutedWords: profile!.mutedWords, mutedInstances: profile!.mutedInstances, mutingNotificationTypes: [], // 後方互換性のため diff --git a/packages/backend/src/models/json-schema/user.ts b/packages/backend/src/models/json-schema/user.ts index 75f3286ef..37bdcbe28 100644 --- a/packages/backend/src/models/json-schema/user.ts +++ b/packages/backend/src/models/json-schema/user.ts @@ -399,6 +399,10 @@ export const packedMeDetailedOnlySchema = { type: 'boolean', nullable: false, optional: false, }, + unreadNotificationsCount: { + type: 'number', + nullable: false, optional: false, + }, mutedWords: { type: 'array', nullable: false, optional: false, diff --git a/packages/backend/test/e2e/users.ts b/packages/backend/test/e2e/users.ts index 520d9b14e..1867525cc 100644 --- a/packages/backend/test/e2e/users.ts +++ b/packages/backend/test/e2e/users.ts @@ -164,6 +164,7 @@ describe('ユーザー', () => { hasUnreadAntenna: user.hasUnreadAntenna, hasUnreadChannel: user.hasUnreadChannel, hasUnreadNotification: user.hasUnreadNotification, + unreadNotificationsCount: user.unreadNotificationsCount, hasPendingReceivedFollowRequest: user.hasPendingReceivedFollowRequest, unreadAnnouncements: user.unreadAnnouncements, mutedWords: user.mutedWords, @@ -414,6 +415,7 @@ describe('ユーザー', () => { assert.strictEqual(response.hasUnreadAntenna, false); assert.strictEqual(response.hasUnreadChannel, false); assert.strictEqual(response.hasUnreadNotification, false); + assert.strictEqual(response.unreadNotificationsCount, 0); assert.strictEqual(response.hasPendingReceivedFollowRequest, false); assert.deepStrictEqual(response.unreadAnnouncements, []); assert.deepStrictEqual(response.mutedWords, []); diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index 800a3b079..b11d0db04 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -226,11 +226,18 @@ export async function mainBoot() { }); main.on('readAllNotifications', () => { - updateAccount({ hasUnreadNotification: false }); + updateAccount({ + hasUnreadNotification: false, + unreadNotificationsCount: 0, + }); }); main.on('unreadNotification', () => { - updateAccount({ hasUnreadNotification: true }); + const unreadNotificationsCount = ($i?.unreadNotificationsCount ?? 0) + 1; + updateAccount({ + hasUnreadNotification: true, + unreadNotificationsCount, + }); }); main.on('unreadMention', () => { diff --git a/packages/frontend/src/components/MkLaunchPad.vue b/packages/frontend/src/components/MkLaunchPad.vue index 321acc0fb..87f15a110 100644 --- a/packages/frontend/src/components/MkLaunchPad.vue +++ b/packages/frontend/src/components/MkLaunchPad.vue @@ -7,16 +7,18 @@ SPDX-License-Identifier: AGPL-3.0-only
-
@@ -218,6 +221,12 @@ watch(defaultStore.reactiveState.menuDisplay, () => { color: var(--navIndicator); font-size: 8px; animation: blink 1s infinite; + + &:has(.itemIndicateValueIcon) { + animation: none; + left: auto; + right: 20px; + } } &:hover { diff --git a/packages/frontend/src/ui/deck.vue b/packages/frontend/src/ui/deck.vue index 251097787..1d51e08f7 100644 --- a/packages/frontend/src/ui/deck.vue +++ b/packages/frontend/src/ui/deck.vue @@ -52,7 +52,12 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
@@ -485,5 +490,10 @@ body { color: var(--indicator); font-size: 16px; animation: blink 1s infinite; + + &:has(.itemIndicateValueIcon) { + animation: none; + font-size: 12px; + } } diff --git a/packages/frontend/src/ui/universal.vue b/packages/frontend/src/ui/universal.vue index c9fb8a931..86ec8650f 100644 --- a/packages/frontend/src/ui/universal.vue +++ b/packages/frontend/src/ui/universal.vue @@ -27,7 +27,12 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
@@ -444,6 +449,11 @@ $widgets-hide-threshold: 1090px; color: var(--indicator); font-size: 16px; animation: blink 1s infinite; + + &:has(.itemIndicateValueIcon) { + animation: none; + font-size: 12px; + } } .menuDrawerBg { diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md index 0a6806ae6..8f389086c 100644 --- a/packages/misskey-js/etc/misskey-js.api.md +++ b/packages/misskey-js/etc/misskey-js.api.md @@ -2488,6 +2488,7 @@ type MeDetailed = UserDetailed & { hasUnreadMessagingMessage: boolean; hasUnreadNotification: boolean; hasUnreadSpecifiedNotes: boolean; + unreadNotificationsCount: number; hideOnlineStatus: boolean; injectFeaturedNote: boolean; integrations: Record; @@ -3023,8 +3024,8 @@ type UserSorting = '+follower' | '-follower' | '+createdAt' | '-createdAt' | '+u // src/api.types.ts:16:32 - (ae-forgotten-export) The symbol "TODO" needs to be exported by the entry point index.d.ts // src/api.types.ts:18:25 - (ae-forgotten-export) The symbol "NoParams" needs to be exported by the entry point index.d.ts // src/api.types.ts:633:18 - (ae-forgotten-export) The symbol "ShowUserReq" needs to be exported by the entry point index.d.ts -// src/entities.ts:115:2 - (ae-forgotten-export) The symbol "notificationTypes_2" needs to be exported by the entry point index.d.ts -// src/entities.ts:611:2 - (ae-forgotten-export) The symbol "ModerationLogPayloads" needs to be exported by the entry point index.d.ts +// src/entities.ts:116:2 - (ae-forgotten-export) The symbol "notificationTypes_2" needs to be exported by the entry point index.d.ts +// src/entities.ts:612:2 - (ae-forgotten-export) The symbol "ModerationLogPayloads" needs to be exported by the entry point index.d.ts // src/streaming.types.ts:33:4 - (ae-forgotten-export) The symbol "FIXME" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) diff --git a/packages/misskey-js/src/entities.ts b/packages/misskey-js/src/entities.ts index 38bac3b7c..029bf48c8 100644 --- a/packages/misskey-js/src/entities.ts +++ b/packages/misskey-js/src/entities.ts @@ -106,6 +106,7 @@ export type MeDetailed = UserDetailed & { hasUnreadMessagingMessage: boolean; hasUnreadNotification: boolean; hasUnreadSpecifiedNotes: boolean; + unreadNotificationsCount: number; hideOnlineStatus: boolean; injectFeaturedNote: boolean; integrations: Record; diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts index e96f8585c..a51a28dc3 100644 --- a/packages/sw/src/scripts/create-notification.ts +++ b/packages/sw/src/scripts/create-notification.ts @@ -225,6 +225,13 @@ async function composeNotification(data: PushNotificationDataMap[keyof PushNotif data, }]; + case 'test': + return [t('_notification.testNotification'), { + body: t('_notification.notificationWillBeDisplayedLikeThis'), + badge: iconUrl('bell'), + data, + }]; + default: return null; } diff --git a/packages/sw/src/types.ts b/packages/sw/src/types.ts index fa1ed15ed..c63e489c7 100644 --- a/packages/sw/src/types.ts +++ b/packages/sw/src/types.ts @@ -41,6 +41,7 @@ export type BadgeNames = | 'antenna' | 'arrow-back-up' | 'at' + | 'bell' | 'chart-arrows' | 'circle-check' | 'medal' From 7ed2a5fc1b6264f656a3e55ad355723bf697a318 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 1 Nov 2023 13:55:19 +0900 Subject: [PATCH 54/56] perf(backend): remove needless query #12206 --- CHANGELOG.md | 1 + .../src/core/entities/ChannelEntityService.ts | 15 ++------------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77b01aad3..d00c960c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ - Enhance: フォローしているチャンネルをフォロー解除した時(またはその逆)、タイムラインに反映される間隔を改善 - Enhance: プロフィールの自己紹介欄のMFMが連合するようになりました - 相手がMisskey v2023.11.0以降である必要があります +- Enhance: チャンネル取得時のパフォーマンスを向上 - Fix: リストTLに自分のフォロワー限定投稿が含まれない問題を修正 - Fix: ローカルタイムラインに投稿者自身の投稿への返信が含まれない問題を修正 - Fix: 自分のフォローしているユーザーの自分のフォローしていないユーザーの visibility: followers な投稿への返信がストリーミングで流れてくる問題を修正 diff --git a/packages/backend/src/core/entities/ChannelEntityService.ts b/packages/backend/src/core/entities/ChannelEntityService.ts index dd72953c7..599b1a1d7 100644 --- a/packages/backend/src/core/entities/ChannelEntityService.ts +++ b/packages/backend/src/core/entities/ChannelEntityService.ts @@ -5,7 +5,7 @@ import { Inject, Injectable } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; -import type { ChannelFavoritesRepository, ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NoteUnreadsRepository, NotesRepository } from '@/models/_.js'; +import type { ChannelFavoritesRepository, ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NotesRepository } from '@/models/_.js'; import type { Packed } from '@/misc/json-schema.js'; import type { } from '@/models/Blocking.js'; import type { MiUser } from '@/models/User.js'; @@ -14,7 +14,6 @@ import { bindThis } from '@/decorators.js'; import { IdService } from '@/core/IdService.js'; import { DriveFileEntityService } from './DriveFileEntityService.js'; import { NoteEntityService } from './NoteEntityService.js'; -import { In } from 'typeorm'; @Injectable() export class ChannelEntityService { @@ -31,9 +30,6 @@ export class ChannelEntityService { @Inject(DI.notesRepository) private notesRepository: NotesRepository, - @Inject(DI.noteUnreadsRepository) - private noteUnreadsRepository: NoteUnreadsRepository, - @Inject(DI.driveFilesRepository) private driveFilesRepository: DriveFilesRepository, @@ -54,13 +50,6 @@ export class ChannelEntityService { const banner = channel.bannerId ? await this.driveFilesRepository.findOneBy({ id: channel.bannerId }) : null; - const hasUnreadNote = meId ? await this.noteUnreadsRepository.exist({ - where: { - noteChannelId: channel.id, - userId: meId, - }, - }) : undefined; - const isFollowing = meId ? await this.channelFollowingsRepository.exist({ where: { followerId: meId, @@ -99,7 +88,7 @@ export class ChannelEntityService { ...(me ? { isFollowing, isFavorited, - hasUnreadNote, + hasUnreadNote: false, // 後方互換性のため } : {}), ...(detailed ? { From e632a844311983856a6667278b5b9626960390fa Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 1 Nov 2023 14:00:31 +0900 Subject: [PATCH 55/56] tweak default configuration --- packages/backend/src/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index ef59a8095..b25554b22 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -258,7 +258,7 @@ export function loadConfig(): Config { clientEntry: clientManifest['src/_boot_.ts'], clientManifestExists: clientManifestExists, perChannelMaxNoteCacheCount: config.perChannelMaxNoteCacheCount ?? 1000, - perUserNotificationsMaxCount: config.perUserNotificationsMaxCount ?? 300, + perUserNotificationsMaxCount: config.perUserNotificationsMaxCount ?? 500, deactivateAntennaThreshold: config.deactivateAntennaThreshold ?? (1000 * 60 * 60 * 24 * 7), pidFile: config.pidFile, }; From 77db652bffd8c8474c09c6353386a89fb0c3f110 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 1 Nov 2023 14:06:54 +0900 Subject: [PATCH 56/56] update deps --- package.json | 8 +- packages/backend/package.json | 20 +- packages/frontend/package.json | 56 +- packages/misskey-js/package.json | 10 +- packages/sw/package.json | 2 +- pnpm-lock.yaml | 1410 ++++++++++++++++-------------- 6 files changed, 801 insertions(+), 705 deletions(-) diff --git a/package.json b/package.json index 17cd49adf..b67048b77 100644 --- a/package.json +++ b/package.json @@ -48,14 +48,14 @@ "cssnano": "6.0.1", "js-yaml": "4.1.0", "postcss": "8.4.31", - "terser": "5.22.0", + "terser": "5.24.0", "typescript": "5.2.2" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", + "@typescript-eslint/eslint-plugin": "6.9.1", + "@typescript-eslint/parser": "6.9.1", "cross-env": "7.0.3", - "cypress": "13.3.3", + "cypress": "13.4.0", "eslint": "8.52.0", "start-server-and-test": "2.0.1" }, diff --git a/packages/backend/package.json b/packages/backend/package.json index a461e3a21..0c4879a29 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -66,17 +66,17 @@ "@discordapp/twemoji": "14.1.2", "@fastify/accepts": "4.2.0", "@fastify/cookie": "9.1.0", - "@fastify/cors": "8.4.0", + "@fastify/cors": "8.4.1", "@fastify/express": "2.3.0", "@fastify/http-proxy": "9.2.1", "@fastify/multipart": "8.0.0", - "@fastify/static": "6.11.2", + "@fastify/static": "6.12.0", "@fastify/view": "8.2.0", "@nestjs/common": "10.2.7", "@nestjs/core": "10.2.7", "@nestjs/testing": "10.2.7", "@peertube/http-signature": "1.7.0", - "@simplewebauthn/server": "8.3.4", + "@simplewebauthn/server": "8.3.5", "@sinonjs/fake-timers": "11.2.2", "@swc/cli": "0.1.62", "@swc/core": "1.3.95", @@ -87,7 +87,7 @@ "bcryptjs": "2.4.3", "blurhash": "2.0.5", "body-parser": "1.20.2", - "bullmq": "4.12.6", + "bullmq": "4.12.7", "cacheable-lookup": "7.0.0", "cbor": "9.0.1", "chalk": "5.3.0", @@ -138,7 +138,7 @@ "probe-image-size": "7.2.3", "promise-limit": "2.7.0", "pug": "3.0.2", - "punycode": "2.3.0", + "punycode": "2.3.1", "pureimage": "0.3.17", "qrcode": "1.5.3", "random-seed": "0.3.0", @@ -175,7 +175,7 @@ "@simplewebauthn/typescript-types": "8.3.4", "@swc/jest": "0.2.29", "@types/accepts": "1.3.6", - "@types/archiver": "5.3.4", + "@types/archiver": "6.0.0", "@types/bcryptjs": "2.4.5", "@types/body-parser": "1.19.4", "@types/cbor": "6.0.0", @@ -183,14 +183,14 @@ "@types/content-disposition": "0.5.7", "@types/fluent-ffmpeg": "2.1.23", "@types/http-link-header": "1.0.4", - "@types/jest": "29.5.6", + "@types/jest": "29.5.7", "@types/js-yaml": "4.0.8", "@types/jsdom": "21.1.4", "@types/jsonld": "1.5.11", "@types/jsrsasign": "10.5.11", "@types/mime-types": "2.1.3", "@types/ms": "0.7.33", - "@types/node": "20.8.9", + "@types/node": "20.8.10", "@types/node-fetch": "3.0.3", "@types/nodemailer": "6.4.13", "@types/oauth": "0.9.3", @@ -213,8 +213,8 @@ "@types/vary": "1.1.2", "@types/web-push": "3.6.2", "@types/ws": "8.5.8", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", + "@typescript-eslint/eslint-plugin": "6.9.1", + "@typescript-eslint/parser": "6.9.1", "aws-sdk-client-mock": "3.0.0", "cross-env": "7.0.3", "eslint": "8.52.0", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index fe35519d2..c487c4a02 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -20,7 +20,7 @@ "@github/webauthn-json": "2.1.1", "@rollup/plugin-alias": "5.0.1", "@rollup/plugin-json": "6.0.1", - "@rollup/plugin-replace": "5.0.4", + "@rollup/plugin-replace": "5.0.5", "@rollup/pluginutils": "5.0.5", "@syuilo/aiscript": "0.16.0", "@tabler/icons-webfont": "2.37.0", @@ -30,7 +30,7 @@ "astring": "1.8.6", "autosize": "6.0.1", "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.0.5", - "broadcast-channel": "5.5.1", + "broadcast-channel": "6.0.0", "browser-image-resizer": "github:misskey-dev/browser-image-resizer#v2.2.1-misskey.3", "buraha": "0.0.1", "canvas-confetti": "1.6.1", @@ -39,7 +39,7 @@ "chartjs-chart-matrix": "2.0.1", "chartjs-plugin-gradient": "0.6.1", "chartjs-plugin-zoom": "2.0.1", - "chromatic": "7.5.4", + "chromatic": "7.6.0", "compare-versions": "6.1.0", "cropperjs": "2.0.0-beta.4", "date-fns": "2.30.0", @@ -55,9 +55,9 @@ "mfm-js": "0.23.3", "misskey-js": "workspace:*", "photoswipe": "5.4.2", - "punycode": "2.3.0", + "punycode": "2.3.1", "querystring": "0.2.1", - "rollup": "4.1.4", + "rollup": "4.2.0", "sanitize-html": "2.11.0", "shiki": "^0.14.5", "sass": "1.69.5", @@ -78,30 +78,30 @@ "vuedraggable": "next" }, "devDependencies": { - "@storybook/addon-actions": "7.5.1", - "@storybook/addon-essentials": "7.5.1", - "@storybook/addon-interactions": "7.5.1", - "@storybook/addon-links": "7.5.1", - "@storybook/addon-storysource": "7.5.1", - "@storybook/addons": "7.5.1", - "@storybook/blocks": "7.5.1", - "@storybook/core-events": "7.5.1", + "@storybook/addon-actions": "7.5.2", + "@storybook/addon-essentials": "7.5.2", + "@storybook/addon-interactions": "7.5.2", + "@storybook/addon-links": "7.5.2", + "@storybook/addon-storysource": "7.5.2", + "@storybook/addons": "7.5.2", + "@storybook/blocks": "7.5.2", + "@storybook/core-events": "7.5.2", "@storybook/jest": "0.2.3", - "@storybook/manager-api": "7.5.1", - "@storybook/preview-api": "7.5.1", - "@storybook/react": "7.5.1", - "@storybook/react-vite": "7.5.1", + "@storybook/manager-api": "7.5.2", + "@storybook/preview-api": "7.5.2", + "@storybook/react": "7.5.2", + "@storybook/react-vite": "7.5.2", "@storybook/testing-library": "0.2.2", - "@storybook/theming": "7.5.1", - "@storybook/types": "7.5.1", - "@storybook/vue3": "7.5.1", - "@storybook/vue3-vite": "7.5.1", - "@testing-library/vue": "7.0.0", + "@storybook/theming": "7.5.2", + "@storybook/types": "7.5.2", + "@storybook/vue3": "7.5.2", + "@storybook/vue3-vite": "7.5.2", + "@testing-library/vue": "8.0.0", "@types/escape-regexp": "0.0.2", - "@types/estree": "1.0.3", + "@types/estree": "1.0.4", "@types/matter-js": "0.19.2", "@types/micromatch": "4.0.4", - "@types/node": "20.8.9", + "@types/node": "20.8.10", "@types/punycode": "2.1.1", "@types/sanitize-html": "2.9.3", "@types/throttle-debounce": "5.0.1", @@ -109,13 +109,13 @@ "@types/uuid": "9.0.6", "@types/websocket": "1.0.8", "@types/ws": "8.5.8", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", + "@typescript-eslint/eslint-plugin": "6.9.1", + "@typescript-eslint/parser": "6.9.1", "@vitest/coverage-v8": "0.34.6", "@vue/runtime-core": "3.3.7", "acorn": "8.11.2", "cross-env": "7.0.3", - "cypress": "13.3.3", + "cypress": "13.4.0", "eslint": "8.52.0", "eslint-plugin-import": "2.29.0", "eslint-plugin-vue": "9.18.1", @@ -129,7 +129,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "start-server-and-test": "2.0.1", - "storybook": "7.5.1", + "storybook": "7.5.2", "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", "summaly": "github:misskey-dev/summaly", "vite-plugin-turbosnap": "1.0.3", diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json index 78e0c17c9..8c28810cb 100644 --- a/packages/misskey-js/package.json +++ b/packages/misskey-js/package.json @@ -20,12 +20,12 @@ "url": "git+https://github.com/misskey-dev/misskey.js.git" }, "devDependencies": { - "@microsoft/api-extractor": "7.38.0", + "@microsoft/api-extractor": "7.38.1", "@swc/jest": "0.2.29", - "@types/jest": "29.5.6", - "@types/node": "20.8.9", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", + "@types/jest": "29.5.7", + "@types/node": "20.8.10", + "@typescript-eslint/eslint-plugin": "6.9.1", + "@typescript-eslint/parser": "6.9.1", "eslint": "8.52.0", "jest": "29.7.0", "jest-fetch-mock": "3.0.3", diff --git a/packages/sw/package.json b/packages/sw/package.json index 52c854663..7959b5139 100644 --- a/packages/sw/package.json +++ b/packages/sw/package.json @@ -14,7 +14,7 @@ "misskey-js": "workspace:*" }, "devDependencies": { - "@typescript-eslint/parser": "6.9.0", + "@typescript-eslint/parser": "6.9.1", "@typescript/lib-webworker": "npm:@types/serviceworker@0.0.67", "eslint": "8.52.0", "eslint-plugin-import": "2.29.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0ffd44949..9bc37d531 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,8 +25,8 @@ importers: specifier: 8.4.31 version: 8.4.31 terser: - specifier: 5.22.0 - version: 5.22.0 + specifier: 5.24.0 + version: 5.24.0 typescript: specifier: 5.2.2 version: 5.2.2 @@ -36,17 +36,17 @@ importers: version: 4.4.0 devDependencies: '@typescript-eslint/eslint-plugin': - specifier: 6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(eslint@8.52.0)(typescript@5.2.2) cross-env: specifier: 7.0.3 version: 7.0.3 cypress: - specifier: 13.3.3 - version: 13.3.3 + specifier: 13.4.0 + version: 13.4.0 eslint: specifier: 8.52.0 version: 8.52.0 @@ -81,8 +81,8 @@ importers: specifier: 9.1.0 version: 9.1.0 '@fastify/cors': - specifier: 8.4.0 - version: 8.4.0 + specifier: 8.4.1 + version: 8.4.1 '@fastify/express': specifier: 2.3.0 version: 2.3.0 @@ -93,8 +93,8 @@ importers: specifier: 8.0.0 version: 8.0.0 '@fastify/static': - specifier: 6.11.2 - version: 6.11.2 + specifier: 6.12.0 + version: 6.12.0 '@fastify/view': specifier: 8.2.0 version: 8.2.0 @@ -111,8 +111,8 @@ importers: specifier: 1.7.0 version: 1.7.0 '@simplewebauthn/server': - specifier: 8.3.4 - version: 8.3.4 + specifier: 8.3.5 + version: 8.3.5 '@sinonjs/fake-timers': specifier: 11.2.2 version: 11.2.2 @@ -147,8 +147,8 @@ importers: specifier: 1.20.2 version: 1.20.2 bullmq: - specifier: 4.12.6 - version: 4.12.6 + specifier: 4.12.7 + version: 4.12.7 cacheable-lookup: specifier: 7.0.0 version: 7.0.0 @@ -300,8 +300,8 @@ importers: specifier: 3.0.2 version: 3.0.2 punycode: - specifier: 2.3.0 - version: 2.3.0 + specifier: 2.3.1 + version: 2.3.1 pureimage: specifier: 0.3.17 version: 0.3.17 @@ -494,8 +494,8 @@ importers: specifier: 1.3.6 version: 1.3.6 '@types/archiver': - specifier: 5.3.4 - version: 5.3.4 + specifier: 6.0.0 + version: 6.0.0 '@types/bcryptjs': specifier: 2.4.5 version: 2.4.5 @@ -518,8 +518,8 @@ importers: specifier: 1.0.4 version: 1.0.4 '@types/jest': - specifier: 29.5.6 - version: 29.5.6 + specifier: 29.5.7 + version: 29.5.7 '@types/js-yaml': specifier: 4.0.8 version: 4.0.8 @@ -539,8 +539,8 @@ importers: specifier: 0.7.33 version: 0.7.33 '@types/node': - specifier: 20.8.9 - version: 20.8.9 + specifier: 20.8.10 + version: 20.8.10 '@types/node-fetch': specifier: 3.0.3 version: 3.0.3 @@ -608,11 +608,11 @@ importers: specifier: 8.5.8 version: 8.5.8 '@typescript-eslint/eslint-plugin': - specifier: 6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(eslint@8.52.0)(typescript@5.2.2) aws-sdk-client-mock: specifier: 3.0.0 version: 3.0.0 @@ -624,13 +624,13 @@ importers: version: 8.52.0 eslint-plugin-import: specifier: 2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) + version: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0) execa: specifier: 8.0.1 version: 8.0.1 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.8.9) + version: 29.7.0(@types/node@20.8.10) jest-mock: specifier: 29.7.0 version: 29.7.0 @@ -648,16 +648,16 @@ importers: version: 2.1.1 '@rollup/plugin-alias': specifier: 5.0.1 - version: 5.0.1(rollup@4.1.4) + version: 5.0.1(rollup@4.2.0) '@rollup/plugin-json': specifier: 6.0.1 - version: 6.0.1(rollup@4.1.4) + version: 6.0.1(rollup@4.2.0) '@rollup/plugin-replace': - specifier: 5.0.4 - version: 5.0.4(rollup@4.1.4) + specifier: 5.0.5 + version: 5.0.5(rollup@4.2.0) '@rollup/pluginutils': specifier: 5.0.5 - version: 5.0.5(rollup@4.1.4) + version: 5.0.5(rollup@4.2.0) '@syuilo/aiscript': specifier: 0.16.0 version: 0.16.0 @@ -669,7 +669,7 @@ importers: version: 4.4.0(vite@4.5.0)(vue@3.3.7) '@vue-macros/reactivity-transform': specifier: 0.3.23 - version: 0.3.23(rollup@4.1.4)(vue@3.3.7) + version: 0.3.23(rollup@4.2.0)(vue@3.3.7) '@vue/compiler-sfc': specifier: 3.3.7 version: 3.3.7 @@ -683,8 +683,8 @@ importers: specifier: 6.0.1 version: 6.0.1 broadcast-channel: - specifier: 5.5.1 - version: 5.5.1 + specifier: 6.0.0 + version: 6.0.0 browser-image-resizer: specifier: github:misskey-dev/browser-image-resizer#v2.2.1-misskey.3 version: github.com/misskey-dev/browser-image-resizer/0227e860621e55cbed0aabe6dc601096a7748c4a @@ -710,8 +710,8 @@ importers: specifier: 2.0.1 version: 2.0.1(chart.js@4.4.0) chromatic: - specifier: 7.5.4 - version: 7.5.4 + specifier: 7.6.0 + version: 7.6.0 compare-versions: specifier: 6.1.0 version: 6.1.0 @@ -758,14 +758,14 @@ importers: specifier: 5.4.2 version: 5.4.2 punycode: - specifier: 2.3.0 - version: 2.3.0 + specifier: 2.3.1 + version: 2.3.1 querystring: specifier: 0.2.1 version: 0.2.1 rollup: - specifier: 4.1.4 - version: 4.1.4 + specifier: 4.2.0 + version: 4.2.0 sanitize-html: specifier: 2.11.0 version: 2.11.0 @@ -813,7 +813,7 @@ importers: version: 1.8.1 vite: specifier: 4.5.0 - version: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + version: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) vue: specifier: 3.3.7 version: 3.3.7(typescript@5.2.2) @@ -822,68 +822,68 @@ importers: version: 4.1.0(vue@3.3.7) devDependencies: '@storybook/addon-actions': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-essentials': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-interactions': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-links': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-storysource': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/addons': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/blocks': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': - specifier: 7.5.1 - version: 7.5.1 + specifier: 7.5.2 + version: 7.5.2 '@storybook/jest': specifier: 0.2.3 version: 0.2.3(vitest@0.34.6) '@storybook/manager-api': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/preview-api': - specifier: 7.5.1 - version: 7.5.1 + specifier: 7.5.2 + version: 7.5.2 '@storybook/react': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) '@storybook/react-vite': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0)(rollup@4.1.4)(typescript@5.2.2)(vite@4.5.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0)(rollup@4.2.0)(typescript@5.2.2)(vite@4.5.0) '@storybook/testing-library': specifier: 0.2.2 version: 0.2.2 '@storybook/theming': - specifier: 7.5.1 - version: 7.5.1(react-dom@18.2.0)(react@18.2.0) + specifier: 7.5.2 + version: 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/types': - specifier: 7.5.1 - version: 7.5.1 + specifier: 7.5.2 + version: 7.5.2 '@storybook/vue3': - specifier: 7.5.1 - version: 7.5.1(@vue/compiler-core@3.3.7)(vue@3.3.7) + specifier: 7.5.2 + version: 7.5.2(@vue/compiler-core@3.3.7)(vue@3.3.7) '@storybook/vue3-vite': - specifier: 7.5.1 - version: 7.5.1(@vue/compiler-core@3.3.7)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.7) + specifier: 7.5.2 + version: 7.5.2(@vue/compiler-core@3.3.7)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.7) '@testing-library/vue': - specifier: 7.0.0 - version: 7.0.0(@vue/compiler-sfc@3.3.7)(vue@3.3.7) + specifier: 8.0.0 + version: 8.0.0(@vue/compiler-sfc@3.3.7)(vue@3.3.7) '@types/escape-regexp': specifier: 0.0.2 version: 0.0.2 '@types/estree': - specifier: 1.0.3 - version: 1.0.3 + specifier: 1.0.4 + version: 1.0.4 '@types/matter-js': specifier: 0.19.2 version: 0.19.2 @@ -891,8 +891,8 @@ importers: specifier: 4.0.4 version: 4.0.4 '@types/node': - specifier: 20.8.9 - version: 20.8.9 + specifier: 20.8.10 + version: 20.8.10 '@types/punycode': specifier: 2.1.1 version: 2.1.1 @@ -915,11 +915,11 @@ importers: specifier: 8.5.8 version: 8.5.8 '@typescript-eslint/eslint-plugin': - specifier: 6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(eslint@8.52.0)(typescript@5.2.2) '@vitest/coverage-v8': specifier: 0.34.6 version: 0.34.6(vitest@0.34.6) @@ -933,14 +933,14 @@ importers: specifier: 7.0.3 version: 7.0.3 cypress: - specifier: 13.3.3 - version: 13.3.3 + specifier: 13.4.0 + version: 13.4.0 eslint: specifier: 8.52.0 version: 8.52.0 eslint-plugin-import: specifier: 2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) + version: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0) eslint-plugin-vue: specifier: 9.18.1 version: 9.18.1(eslint@8.52.0) @@ -975,11 +975,11 @@ importers: specifier: 2.0.1 version: 2.0.1 storybook: - specifier: 7.5.1 - version: 7.5.1 + specifier: 7.5.2 + version: 7.5.2 storybook-addon-misskey-theme: specifier: github:misskey-dev/storybook-addon-misskey-theme - version: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.5.1)(@storybook/components@7.5.1)(@storybook/core-events@7.5.1)(@storybook/manager-api@7.5.1)(@storybook/preview-api@7.5.1)(@storybook/theming@7.5.1)(@storybook/types@7.5.1)(react-dom@18.2.0)(react@18.2.0) + version: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.5.2)(@storybook/components@7.5.1)(@storybook/core-events@7.5.2)(@storybook/manager-api@7.5.2)(@storybook/preview-api@7.5.2)(@storybook/theming@7.5.2)(@storybook/types@7.5.2)(react-dom@18.2.0)(react@18.2.0) summaly: specifier: github:misskey-dev/summaly version: github.com/misskey-dev/summaly/d2d8db49943ccb201c1b1b283e9d0a630519fac7 @@ -988,7 +988,7 @@ importers: version: 1.0.3 vitest: specifier: 0.34.6 - version: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) + version: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.24.0) vitest-fetch-mock: specifier: 0.2.2 version: 0.2.2(vitest@0.34.6) @@ -1015,29 +1015,29 @@ importers: version: 4.4.0 devDependencies: '@microsoft/api-extractor': - specifier: 7.38.0 - version: 7.38.0(@types/node@20.8.9) + specifier: 7.38.1 + version: 7.38.1(@types/node@20.8.10) '@swc/jest': specifier: 0.2.29 version: 0.2.29(@swc/core@1.3.95) '@types/jest': - specifier: 29.5.6 - version: 29.5.6 + specifier: 29.5.7 + version: 29.5.7 '@types/node': - specifier: 20.8.9 - version: 20.8.9 + specifier: 20.8.10 + version: 20.8.10 '@typescript-eslint/eslint-plugin': - specifier: 6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(eslint@8.52.0)(typescript@5.2.2) eslint: specifier: 8.52.0 version: 8.52.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.8.9) + version: 29.7.0(@types/node@20.8.10) jest-fetch-mock: specifier: 3.0.3 version: 3.0.3 @@ -1067,8 +1067,8 @@ importers: version: link:../misskey-js devDependencies: '@typescript-eslint/parser': - specifier: 6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) + specifier: 6.9.1 + version: 6.9.1(eslint@8.52.0)(typescript@5.2.2) '@typescript/lib-webworker': specifier: npm:@types/serviceworker@0.0.67 version: /@types/serviceworker@0.0.67 @@ -1077,7 +1077,7 @@ importers: version: 8.52.0 eslint-plugin-import: specifier: 2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) + version: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0) typescript: specifier: 5.2.2 version: 5.2.2 @@ -1807,7 +1807,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.3 + resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: true @@ -1978,6 +1978,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.22.11 + dev: false /@babel/parser@7.22.7: resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} @@ -1985,6 +1986,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.22.5 + dev: false /@babel/parser@7.23.0: resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} @@ -3088,7 +3090,7 @@ packages: dependencies: '@bull-board/api': 5.9.1(@bull-board/ui@5.9.1) '@bull-board/ui': 5.9.1 - '@fastify/static': 6.11.2 + '@fastify/static': 6.12.0 '@fastify/view': 8.2.0 ejs: 3.1.9 dev: false @@ -3761,8 +3763,8 @@ packages: fastify-plugin: 4.5.0 dev: false - /@fastify/cors@8.4.0: - resolution: {integrity: sha512-MlVvMTenltToByTpLwlWtO+7dQ3l2J+1OpmGrx9JpSNWo1d+dhfNCOi23zHhxdFhtpDzfwGwCsKu9DTeG7k7nQ==} + /@fastify/cors@8.4.1: + resolution: {integrity: sha512-iYQJtrY3pFiDS5mo5zRaudzg2OcUdJ96PD6xfkKOOEilly5nnrFZx/W6Sce2T79xxlEn2qpU3t5+qS2phS369w==} dependencies: fastify-plugin: 4.5.0 mnemonist: 0.39.5 @@ -3843,8 +3845,8 @@ packages: mime: 3.0.0 dev: false - /@fastify/static@6.11.2: - resolution: {integrity: sha512-EH7mh7q4MfNdT7N07ZVlwsX/ObngMvQ7KBP0FXAuPov99Fjn80KSJMdxQhhYKAKWW1jXiFdrk8X7d6uGWdZFxg==} + /@fastify/static@6.12.0: + resolution: {integrity: sha512-KK1B84E6QD/FcQWxDI2aiUCwHxMJBI1KeCUzm1BwYpPY1b742+jeKruGHP2uOluuM6OkBPI8CIANrXcCRtC2oQ==} dependencies: '@fastify/accept-negotiator': 1.0.0 '@fastify/send': 2.0.1 @@ -3857,7 +3859,7 @@ packages: /@fastify/swagger-ui@1.9.0: resolution: {integrity: sha512-7RTq2bI2cg4k6WsY69k8MZ8GnH6VUSbczJGnTotUKH+fOY9Cg3y8NEvPUREfwRzguI+3N+v8gp6H0UAohayldA==} dependencies: - '@fastify/static': 6.11.2 + '@fastify/static': 6.12.0 fastify-plugin: 4.5.0 openapi-types: 12.1.3 rfdc: 1.3.0 @@ -4012,7 +4014,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -4033,14 +4035,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.7.1 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.8.9) + jest-config: 29.7.0(@types/node@20.8.10) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -4075,7 +4077,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 jest-mock: 29.7.0 dev: true @@ -4102,7 +4104,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.8.9 + '@types/node': 20.8.10 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4135,7 +4137,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.18 - '@types/node': 20.8.9 + '@types/node': 20.8.10 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -4229,7 +4231,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.8.9 + '@types/node': 20.8.10 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -4241,7 +4243,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.8.9 + '@types/node': 20.8.10 '@types/yargs': 17.0.19 chalk: 4.1.2 dev: true @@ -4260,7 +4262,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.2.2) typescript: 5.2.2 - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) dev: true /@jridgewell/gen-mapping@0.3.2: @@ -4345,29 +4347,29 @@ packages: react: 18.2.0 dev: true - /@microsoft/api-extractor-model@7.28.2(@types/node@20.8.9): + /@microsoft/api-extractor-model@7.28.2(@types/node@20.8.10): resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.8.9) + '@rushstack/node-core-library': 3.61.0(@types/node@20.8.10) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.38.0(@types/node@20.8.9): - resolution: {integrity: sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg==} + /@microsoft/api-extractor@7.38.1(@types/node@20.8.10): + resolution: {integrity: sha512-Hxu/RrVpItQ4dzeMyfwlk4lGQFsXMoMS7bYU9YUrpW16hH04PXLRiTXJz77WhBiSGNtTuufz2xh6hWyXhC9JuQ==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.2(@types/node@20.8.9) + '@microsoft/api-extractor-model': 7.28.2(@types/node@20.8.10) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@20.8.9) + '@rushstack/node-core-library': 3.61.0(@types/node@20.8.10) '@rushstack/rig-package': 0.5.1 - '@rushstack/ts-command-line': 4.16.1 + '@rushstack/ts-command-line': 4.17.0 colors: 1.2.5 lodash: 4.17.21 - resolve: 1.22.3 + resolve: 1.22.8 semver: 7.5.4 source-map: 0.6.1 typescript: 5.0.4 @@ -4611,6 +4613,10 @@ packages: - encoding dev: false + /@one-ini/wasm@0.1.1: + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + dev: true + /@open-draft/until@1.0.3: resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} dev: true @@ -5193,7 +5199,7 @@ packages: '@babel/runtime': 7.23.2 dev: true - /@rollup/plugin-alias@5.0.1(rollup@4.1.4): + /@rollup/plugin-alias@5.0.1(rollup@4.2.0): resolution: {integrity: sha512-JObvbWdOHoMy9W7SU0lvGhDtWq9PllP5mjpAy+TUslZG/WzOId9u80Hsqq1vCUn9pFJ0cxpdcnAv+QzU2zFH3Q==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5202,11 +5208,11 @@ packages: rollup: optional: true dependencies: - rollup: 4.1.4 + rollup: 4.2.0 slash: 4.0.0 dev: false - /@rollup/plugin-json@6.0.1(rollup@4.1.4): + /@rollup/plugin-json@6.0.1(rollup@4.2.0): resolution: {integrity: sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5215,12 +5221,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.1.4) - rollup: 4.1.4 + '@rollup/pluginutils': 5.0.5(rollup@4.2.0) + rollup: 4.2.0 dev: false - /@rollup/plugin-replace@5.0.4(rollup@4.1.4): - resolution: {integrity: sha512-E2hmRnlh09K8HGT0rOnnri9OTh+BILGr7NVJGB30S4E3cLRn3J0xjdiyOZ74adPs4NiAMgrjUMGAZNJDBgsdmQ==} + /@rollup/plugin-replace@5.0.5(rollup@4.2.0): + resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -5228,12 +5234,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.5(rollup@4.1.4) - magic-string: 0.30.3 - rollup: 4.1.4 + '@rollup/pluginutils': 5.0.5(rollup@4.2.0) + magic-string: 0.30.5 + rollup: 4.2.0 dev: false - /@rollup/pluginutils@5.0.5(rollup@4.1.4): + /@rollup/pluginutils@5.0.5(rollup@4.2.0): resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5242,96 +5248,96 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.4 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.1.4 + rollup: 4.2.0 - /@rollup/rollup-android-arm-eabi@4.1.4: - resolution: {integrity: sha512-WlzkuFvpKl6CLFdc3V6ESPt7gq5Vrimd2Yv9IzKXdOpgbH4cdDSS1JLiACX8toygihtH5OlxyQzhXOph7Ovlpw==} + /@rollup/rollup-android-arm-eabi@4.2.0: + resolution: {integrity: sha512-8PlggAxGxavr+pkCNeV1TM2wTb2o+cUWDg9M1cm9nR27Dsn287uZtSLYXoQqQcmq+sYfF7lHfd3sWJJinH9GmA==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.1.4: - resolution: {integrity: sha512-D1e+ABe56T9Pq2fD+R3ybe1ylCDzu3tY4Qm2Mj24R9wXNCq35+JbFbOpc2yrroO2/tGhTobmEl2Bm5xfE/n8RA==} + /@rollup/rollup-android-arm64@4.2.0: + resolution: {integrity: sha512-+71T85hbMFrJI+zKQULNmSYBeIhru55PYoF/u75MyeN2FcxE4HSPw20319b+FcZ4lWx2Nx/Ql9tN+hoaD3GH/A==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.1.4: - resolution: {integrity: sha512-7vTYrgEiOrjxnjsgdPB+4i7EMxbVp7XXtS+50GJYj695xYTTEMn3HZVEvgtwjOUkAP/Q4HDejm4fIAjLeAfhtg==} + /@rollup/rollup-darwin-arm64@4.2.0: + resolution: {integrity: sha512-IIIQLuG43QIElT1JZqUP/zqIdiJl4t9U/boa0GZnQTw9m1X0k3mlBuysbgYXeloLT1RozdL7bgw4lpSaI8GOXw==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.1.4: - resolution: {integrity: sha512-eGJVZScKSLZkYjhTAESCtbyTBq9SXeW9+TX36ki5gVhDqJtnQ5k0f9F44jNK5RhAMgIj0Ht9+n6HAgH0gUUyWQ==} + /@rollup/rollup-darwin-x64@4.2.0: + resolution: {integrity: sha512-BXcXvnLaea1Xz900omrGJhxHFJfH9jZ0CpJuVsbjjhpniJ6qiLXz3xA8Lekaa4MuhFcJd4f0r+Ky1G4VFbYhWw==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.1.4: - resolution: {integrity: sha512-HnigYSEg2hOdX1meROecbk++z1nVJDpEofw9V2oWKqOWzTJlJf1UXVbDE6Hg30CapJxZu5ga4fdAQc/gODDkKg==} + /@rollup/rollup-linux-arm-gnueabihf@4.2.0: + resolution: {integrity: sha512-f4K3MKw9Y4AKi4ANGnmPIglr+S+8tO858YrGVuqAHXxJdVghBmz9CPU9kDpOnGvT4g4vg5uNyIFpOOFvffXyMA==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.1.4: - resolution: {integrity: sha512-TzJ+N2EoTLWkaClV2CUhBlj6ljXofaYzF/R9HXqQ3JCMnCHQZmQnbnZllw7yTDp0OG5whP4gIPozR4QiX+00MQ==} + /@rollup/rollup-linux-arm64-gnu@4.2.0: + resolution: {integrity: sha512-bNsTYQBgp4H7w6cT7FZhesxpcUPahsSIy4NgdZjH1ZwEoZHxi4XKglj+CsSEkhsKi+x6toVvMylhjRKhEMYfnA==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.1.4: - resolution: {integrity: sha512-aVPmNMdp6Dlo2tWkAduAD/5TL/NT5uor290YvjvFvCv0Q3L7tVdlD8MOGDL+oRSw5XKXKAsDzHhUOPUNPRHVTQ==} + /@rollup/rollup-linux-arm64-musl@4.2.0: + resolution: {integrity: sha512-Jp1NxBJpGLuxRU2ihrQk4IZ+ia5nffobG6sOFUPW5PMYkF0kQtxEbeDuCa69Xif211vUOcxlOnf5IOEIpTEySA==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.1.4: - resolution: {integrity: sha512-77Fb79ayiDad0grvVsz4/OB55wJRyw9Ao+GdOBA9XywtHpuq5iRbVyHToGxWquYWlEf6WHFQQnFEttsAzboyKg==} + /@rollup/rollup-linux-x64-gnu@4.2.0: + resolution: {integrity: sha512-3p3iRtQmv2aXw+vtKNyZMLOQ+LSRsqArXjKAh2Oj9cqwfIRe7OXvdkOzWfZOIp1F/x5KJzVAxGxnniF4cMbnsQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.1.4: - resolution: {integrity: sha512-/t6C6niEQTqmQTVTD9TDwUzxG91Mlk69/v0qodIPUnjjB3wR4UA3klg+orR2SU3Ux2Cgf2pWPL9utK80/1ek8g==} + /@rollup/rollup-linux-x64-musl@4.2.0: + resolution: {integrity: sha512-atih7IF/reUZe4LBLC5Izd44hth2tfDIG8LaPp4/cQXdHh9jabcZEvIeRPrpDq0i/Uu487Qu5gl5KwyAnWajnw==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.1.4: - resolution: {integrity: sha512-ZY5BHHrOPkMbCuGWFNpJH0t18D2LU6GMYKGaqaWTQ3CQOL57Fem4zE941/Ek5pIsVt70HyDXssVEFQXlITI5Gg==} + /@rollup/rollup-win32-arm64-msvc@4.2.0: + resolution: {integrity: sha512-vYxF3tKJeUE4ceYzpNe2p84RXk/fGK30I8frpRfv/MyPStej/mRlojztkN7Jtd1014HHVeq/tYaMBz/3IxkxZw==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.1.4: - resolution: {integrity: sha512-XG2mcRfFrJvYyYaQmvCIvgfkaGinfXrpkBuIbJrTl9SaIQ8HumheWTIwkNz2mktCKwZfXHQNpO7RgXLIGQ7HXA==} + /@rollup/rollup-win32-ia32-msvc@4.2.0: + resolution: {integrity: sha512-1LZJ6zpl93SaPQvas618bMFarVwufWTaczH4ESAbFcwiC4OtznA6Ym+hFPyIGaJaGEB8uMWWac0uXGPXOg5FGA==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.1.4: - resolution: {integrity: sha512-ANFqWYPwkhIqPmXw8vm0GpBEHiPpqcm99jiiAp71DbCSqLDhrtr019C5vhD0Bw4My+LmMvciZq6IsWHqQpl2ZQ==} + /@rollup/rollup-win32-x64-msvc@4.2.0: + resolution: {integrity: sha512-dgQfFdHCNg08nM5zBmqxqc9vrm0DVzhWotpavbPa0j4//MAOKZEB75yGAfzQE9fUJ+4pvM1239Y4IhL8f6sSog==} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@rushstack/node-core-library@3.61.0(@types/node@20.8.9): + /@rushstack/node-core-library@3.61.0(@types/node@20.8.10): resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} peerDependencies: '@types/node': '*' @@ -5339,12 +5345,12 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.3 + resolve: 1.22.8 semver: 7.5.4 z-schema: 5.0.5 dev: true @@ -5352,12 +5358,12 @@ packages: /@rushstack/rig-package@0.5.1: resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==} dependencies: - resolve: 1.22.3 + resolve: 1.22.8 strip-json-comments: 3.1.1 dev: true - /@rushstack/ts-command-line@4.16.1: - resolution: {integrity: sha512-+OCsD553GYVLEmz12yiFjMOzuPeCiZ3f8wTiFHL30ZVXexTyPmgjwXEhg2K2P0a2lVf+8YBy7WtPoflB2Fp8/A==} + /@rushstack/ts-command-line@4.17.0: + resolution: {integrity: sha512-1S0sXuEpZlzKTfvUqNs7Rg4leVkeLJc4Dn9cm+pSIn35a0Ztp5GxPN2gabD2G4RrQoQcJLLyVu+twzrJl1C0eA==} dependencies: '@types/argparse': 1.0.38 argparse: 1.0.10 @@ -5379,8 +5385,8 @@ packages: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: true - /@simplewebauthn/server@8.3.4: - resolution: {integrity: sha512-ak3RY8Og2hJYxgAb+mM99eqTh93N2gz19w/veaLwGJpLn53HjxrdU+o+BQXiErszyXYbBWk9nhU6bKkw5vWEdA==} + /@simplewebauthn/server@8.3.5: + resolution: {integrity: sha512-Y6FkggTkzUdPk3cG3LLCiv7rqPQ3QI7g//RU9937G1pxogChvx12Y7/AZdWeMoeP+LFl0fPpdc1bIE0etJOxGA==} engines: {node: '>=16.0.0'} dependencies: '@hexagon/base64': 1.1.27 @@ -5894,8 +5900,8 @@ packages: resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} dev: false - /@storybook/addon-actions@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-GieD3ru6EslKvwol1cE4lvszQCLB/AkQdnLofnqy1nnYso+hRxmPAw9/O+pWfpUBFdjXsQ7GX09+wEUpOJzepw==} + /@storybook/addon-actions@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jKF3rrMEu42TgZ5AEszADpVdASDu1S4Ozp1Ymf4akHLkaMOv+yzzD7LV6YGjJz8S2IryndZqE47e6stF0T99uA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5905,14 +5911,14 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 dequal: 2.0.3 lodash: 4.17.21 polished: 4.2.2 @@ -5928,8 +5934,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-backgrounds@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-XZoyJw/WoUlVvQHPTbSAZjKy2SEUjaSmAWgcRync25vp+q0obthjx6UnZHEUuH8Ud07HA3FYzlFtMicH5y/OIQ==} + /@storybook/addon-backgrounds@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CII8c+db8sVciWjFY0ProZi5E2d+cOc+XlVHCAVaUYp2Bp/1MV7en8etfLK7DEoH6kBVz1+t3TaPU+xjUTR8Ig==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5939,14 +5945,14 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5956,8 +5962,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-controls@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Xag1e7TZo04LjUenfobkShpKMxTtwa4xM4bXQA8LjaAGZQ7jipbQ4PE73a17K59S2vqq89VAhkuMJWiyaOFqpw==} + /@storybook/addon-controls@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-f04VcBSfm3yMT1hvaFEwCRbdwiXQbddfEwhwjEVsqd+CA0s600W4L7B8tT4daXMsU6NsZyibev910IKTnDw6xQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5967,16 +5973,16 @@ packages: react-dom: optional: true dependencies: - '@storybook/blocks': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-common': 7.5.1 - '@storybook/core-events': 7.5.1 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.5.1 - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/blocks': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-common': 7.5.2 + '@storybook/core-events': 7.5.2 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 7.5.2 + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5988,27 +5994,27 @@ packages: - supports-color dev: true - /@storybook/addon-docs@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+wE67oWIhGK9+kv2sxoY2KDXm3v62RfEgxiksdhtffTP/joOK3p88S0lO+8g0G4xfNGUnBhPtzGMuUxWwaH2Pw==} + /@storybook/addon-docs@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-KxX4XuxK6YcI2mUosFkAlueMon/nby6mp3GRHenuK+nobY0ecfILqSTbsOeO1wqPxALBoq7fLnrgYhdDlandgQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@jest/transform': 29.7.0 '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-plugin': 7.5.1 - '@storybook/csf-tools': 7.5.1 + '@storybook/blocks': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/csf-plugin': 7.5.2 + '@storybook/csf-tools': 7.5.2 '@storybook/global': 5.0.0 '@storybook/mdx2-csf': 1.0.0 - '@storybook/node-logger': 7.5.1 - '@storybook/postinstall': 7.5.1 - '@storybook/preview-api': 7.5.1 - '@storybook/react-dom-shim': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/node-logger': 7.5.2 + '@storybook/postinstall': 7.5.2 + '@storybook/preview-api': 7.5.2 + '@storybook/react-dom-shim': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 fs-extra: 11.1.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6022,25 +6028,25 @@ packages: - supports-color dev: true - /@storybook/addon-essentials@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-/jaUZXV+mE/2G5PgEpFKm4lFEHluWn6GFR/pg+hphvHOzBGA3Y75JMgUfJ5CDYHB1dAVSf9JrPOd8Eb1tpESfA==} + /@storybook/addon-essentials@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-bN7Q+8J3xVgNoBKCwtyX1O5jXuuJavYdAPiPQGrt6YegUi3gVfr5n/+/mNlu6Fd5AThFcVFei6gS9aiYmU/h8g==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/addon-actions': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-backgrounds': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-controls': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-highlight': 7.5.1 - '@storybook/addon-measure': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-outline': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-toolbars': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-viewport': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-common': 7.5.1 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.5.1 - '@storybook/preview-api': 7.5.1 + '@storybook/addon-actions': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-backgrounds': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-controls': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-highlight': 7.5.2 + '@storybook/addon-measure': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-outline': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-toolbars': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-viewport': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-common': 7.5.2 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 7.5.2 + '@storybook/preview-api': 7.5.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 @@ -6051,16 +6057,16 @@ packages: - supports-color dev: true - /@storybook/addon-highlight@7.5.1: - resolution: {integrity: sha512-js9OV17kpjRowuaGAPfI9aOn/zzt8P589ACZE+/eYBO9jT65CADwAUxg//Uq0/he+Ac9495pcK3BcYyDeym7/g==} + /@storybook/addon-highlight@7.5.2: + resolution: {integrity: sha512-0vek42fHh7Aeinvkwge0ZTq5VfNsuMSejUv0wHa3zQWgUmlaRlGY8zDw7nG6LiIz6rnTBDTznsfyWenAySSHXg==} dependencies: - '@storybook/core-events': 7.5.1 + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.5.1 + '@storybook/preview-api': 7.5.2 dev: true - /@storybook/addon-interactions@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-m9yohFYil+UBwYKFxHYdsAsn8PBCPl6HY/FSgfrDc5PiqT1Ya7paXopimyy9ok+VQt/RC8sEWIm809ONEoxosw==} + /@storybook/addon-interactions@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-upddA+pvJtU3pRZqu3Chl5QbVfVv2eCIuUxaAG9rvasaqkLTTrNvna8rmnXwqL8sBKHL1XzSyO2sQF4vzQwymg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6070,16 +6076,16 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-common': 7.5.1 - '@storybook/core-events': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-common': 7.5.2 + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/instrumenter': 7.5.1 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/instrumenter': 7.5.2 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 jest-mock: 27.5.1 polished: 4.2.2 react: 18.2.0 @@ -6092,8 +6098,8 @@ packages: - supports-color dev: true - /@storybook/addon-links@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-KDiQYAVNXxuVTB3QLFZxHlfT8q4KnlNKY+0OODvgD5o1FqFpIyUiR5mIBL4SZMRj2EtwrR3KmZ2UPccFZdu9vw==} + /@storybook/addon-links@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IhUYNOJQYJd8Cnb93l8egnGCGhHV0VHo6HmZT9YjBVuUtetGQbW8Eoh0pQwuklUrJ3jLPwMoKFhN1irQXJjZwQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6103,22 +6109,22 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/core-events': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/core-events': 7.5.2 '@storybook/csf': 0.1.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/router': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/router': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 dev: true - /@storybook/addon-measure@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yR6oELJe0UHYxRijd1YMuGaQRlZ3uABjmrXaFCPnd6agahgTwIJLiK4XamtkVur//LaiJMvtmM2XXrkJ1BvNJw==} + /@storybook/addon-measure@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fkvORLaYVC/yNMFzHRHmzlvniY7sWtpFxaRW+e4++hGXYV4VQjOBlXzdMxQhAg1DCVWD6QV8xnUQPBGrsEklog==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6128,13 +6134,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/types': 7.5.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tiny-invariant: 1.3.1 @@ -6143,8 +6149,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-outline@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-IMi5Bo34/Q5YUG5uD8ZUTBwlpGrkDIV+PUgkyNIbmn9OgozoCH80Fs7YlGluRFODQISpHwio9qvSFRGdSNT56A==} + /@storybook/addon-outline@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BgDnVzE9xCN1xwuCebK6+apNCtVcw1ToW8N6R3vNgXgNPE1euT3jxkDH7K4RJR24Flu6BotWjX3dqv8k+8xGKw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6154,13 +6160,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/types': 7.5.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 @@ -6169,8 +6175,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-storysource@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-B+g0n7Ysk1ldeVyey/vfVyGHmcD5p+/49rWMVp39O8xx/nQMYl0UWSHBcqh6AouNx6GVn+J9wmN0LhP2AOFHxA==} + /@storybook/addon-storysource@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cKw6bNNgguo1V4FZhNIWI1/M0NqxrRWjoWq2MiC+S1YkKrfZcyssHvy0/4XgWcf/vPKWjwD3nGLLt8BJQL+3bg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6180,13 +6186,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/router': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/source-loader': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/router': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/source-loader': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) estraverse: 5.3.0 prop-types: 15.8.1 react: 18.2.0 @@ -6198,8 +6204,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-toolbars@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-T88hEEQicV6eCovr5TN2nFgKt7wU0o7pAunP5cU01iiVRj63+oQiVIBB8Xtm4tN+/DsqtyP0BTa6rFwt2ULy8A==} + /@storybook/addon-toolbars@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BXzb5NOpILFOM7EOBxcF2Qj/q6BicWZ1AvAddORWGmqSa/MxMIa4X52oKXFUTHKBkrTO1X0XqHmoF88qm3TUFg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6209,11 +6215,11 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -6221,8 +6227,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-viewport@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-L57lOGB3LfKgAdLinaZojRQ9W9w2RC0iP9bVaXwrRVeJdpNayfuW4Kh1C8dmacZroB4Zp2U/nEjkSmdcp6uUWg==} + /@storybook/addon-viewport@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qN5X9vgp0v+WGXyFBHQ/CqjdtmnCoHhUjqXmBxEGBziJz/tZwWwtTGWeUUZpuTjCGiZutLrizOFl5MqQAI+ipg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6232,13 +6238,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) memoizerific: 1.11.3 prop-types: 15.8.1 react: 18.2.0 @@ -6248,36 +6254,36 @@ packages: - '@types/react-dom' dev: true - /@storybook/addons@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-/AdQYqZ1aHHmMrJL68suo1IdyQzRQX7W1sQ3o40juqr/REIpiSZMMSuBcQ6wKXP1NxHMJXEDdb/iSN31Z6DiLg==} + /@storybook/addons@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hRiy56zQbz72Pwa4F40srUWXKGNIriNkZ1R0j5KPd8ZqoMk1hIeW0S8E7s1vuM/MplnUE/jFJZqu6HQCvbqmGg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/types': 7.5.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/blocks@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7b69p6kDdgmlejEMM2mW6/Lz4OmU/R3Qr+TpKnPcV5iS7ADxRQEQCTEMoQ5RyLJf0vDRh/7Ljn/RMo8Ux3X7JA==} + /@storybook/blocks@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Tf6XE/YcnWQVBJRcJWJzhkahjSymv6QZuxMAiKFD8v48QRJ8kTxz1tBN9676Ux+l1WwtVWxwvd/0kRKKxE70wQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/channels': 7.5.1 - '@storybook/client-logger': 7.5.1 - '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.5.1 + '@storybook/channels': 7.5.2 + '@storybook/client-logger': 7.5.2 + '@storybook/components': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.5.2 '@storybook/csf': 0.1.0 - '@storybook/docs-tools': 7.5.1 + '@storybook/docs-tools': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 '@types/lodash': 4.14.191 color-convert: 2.0.1 dequal: 2.0.3 @@ -6299,13 +6305,13 @@ packages: - supports-color dev: true - /@storybook/builder-manager@7.5.1: - resolution: {integrity: sha512-a02kg/DCcYgiTz+7rw4KdvQzif+2lZ+NIFF5U5u8SDoCQuoe3wRT6QBrFYQTxJexA4WfO6cpyRLDJ1rx6NLo8A==} + /@storybook/builder-manager@7.5.2: + resolution: {integrity: sha512-s4gOudrft/E4lQ19YNrzL2VJwMEpdY6z319fTlc16J1F6XZSytw6CIZPs3x9yX5CKf4/leWnN5etODaOx7NajQ==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 7.5.1 - '@storybook/manager': 7.5.1 - '@storybook/node-logger': 7.5.1 + '@storybook/core-common': 7.5.2 + '@storybook/manager': 7.5.2 + '@storybook/node-logger': 7.5.2 '@types/ejs': 3.1.2 '@types/find-cache-dir': 3.2.1 '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.18.17) @@ -6323,8 +6329,8 @@ packages: - supports-color dev: true - /@storybook/builder-vite@7.5.1(typescript@5.2.2)(vite@4.5.0): - resolution: {integrity: sha512-fsF4LsxroVvjBJoI5AvRA6euhpYrb5euii5kPzrsWXLOn6gDBK0jQ0looep/io7J45MisDjRTPp14A02pi1bkw==} + /@storybook/builder-vite@7.5.2(typescript@5.2.2)(vite@4.5.0): + resolution: {integrity: sha512-j96m5K0ahlAjQY6uUxEbybvmRFc3eMpQ3wiosuunc8NkXtfohXZeRVQowAcVrfPktKMufRNGY86RTYxe7sMABw==} peerDependencies: '@preact/preset-vite': '*' typescript: '>= 4.3.x' @@ -6338,24 +6344,24 @@ packages: vite-plugin-glimmerx: optional: true dependencies: - '@storybook/channels': 7.5.1 - '@storybook/client-logger': 7.5.1 - '@storybook/core-common': 7.5.1 - '@storybook/csf-plugin': 7.5.1 - '@storybook/node-logger': 7.5.1 - '@storybook/preview': 7.5.1 - '@storybook/preview-api': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/channels': 7.5.2 + '@storybook/client-logger': 7.5.2 + '@storybook/core-common': 7.5.2 + '@storybook/csf-plugin': 7.5.2 + '@storybook/node-logger': 7.5.2 + '@storybook/preview': 7.5.2 + '@storybook/preview-api': 7.5.2 + '@storybook/types': 7.5.2 '@types/find-cache-dir': 3.2.1 browser-assert: 1.2.1 es-module-lexer: 0.9.3 express: 4.18.2 find-cache-dir: 3.3.2 fs-extra: 11.1.1 - magic-string: 0.30.3 + magic-string: 0.30.5 rollup: 3.29.4 typescript: 5.2.2 - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) transitivePeerDependencies: - encoding - supports-color @@ -6372,22 +6378,33 @@ packages: tiny-invariant: 1.3.1 dev: true - /@storybook/cli@7.5.1: - resolution: {integrity: sha512-qKIJs8gqXTy0eSEbt0OW5nsJqiV/2+N1eWoiBiIxoZ+8b0ACXIAUcE/N6AsEDUqIq8AMK7lebqjEfIAt2Sp7Mg==} + /@storybook/channels@7.5.2: + resolution: {integrity: sha512-3SgqWq9NS0XX1QxK3riuaOLrReHWwVhI63u6q1ryDD3SttpmAezZETibOAtzDuk2FKgsyHTmAlmcGQf4ZxhOJA==} + dependencies: + '@storybook/client-logger': 7.5.2 + '@storybook/core-events': 7.5.2 + '@storybook/global': 5.0.0 + qs: 6.11.1 + telejson: 7.2.0 + tiny-invariant: 1.3.1 + dev: true + + /@storybook/cli@7.5.2: + resolution: {integrity: sha512-8JPvA/K66zBmRFpRRwsD0JLqZUODRrGmNuAWx+Bj1K8wqbg68MYnOflbkSIxIVxrfhd39OrffV0h8CwKNL9gAg==} hasBin: true dependencies: '@babel/core': 7.22.11 '@babel/preset-env': 7.22.9(@babel/core@7.22.11) '@babel/types': 7.22.17 '@ndelangen/get-tarball': 3.0.7 - '@storybook/codemod': 7.5.1 - '@storybook/core-common': 7.5.1 - '@storybook/core-events': 7.5.1 - '@storybook/core-server': 7.5.1 - '@storybook/csf-tools': 7.5.1 - '@storybook/node-logger': 7.5.1 - '@storybook/telemetry': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/codemod': 7.5.2 + '@storybook/core-common': 7.5.2 + '@storybook/core-events': 7.5.2 + '@storybook/core-server': 7.5.2 + '@storybook/csf-tools': 7.5.2 + '@storybook/node-logger': 7.5.2 + '@storybook/telemetry': 7.5.2 + '@storybook/types': 7.5.2 '@types/semver': 7.5.4 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 @@ -6430,16 +6447,22 @@ packages: '@storybook/global': 5.0.0 dev: true - /@storybook/codemod@7.5.1: - resolution: {integrity: sha512-PqHGOz/CZnRG9pWgshezCacu524CrXOJrCOwMUP9OMpH0Jk/NhBkHaBZrB8wMjn5hekTj0UmRa/EN8wJm9CCUQ==} + /@storybook/client-logger@7.5.2: + resolution: {integrity: sha512-7YgLItlmiYDzWYexTaRNuHhtFarh9krsI+8l7Yjn9ryoHSTJUcTWx+yPJm1II+PQR8v/x5UgsxzultjgEurfRQ==} + dependencies: + '@storybook/global': 5.0.0 + dev: true + + /@storybook/codemod@7.5.2: + resolution: {integrity: sha512-PxZg0w4OlmFB4dBzB+sCgwmHNke0n1N8vNooxtcuusrLKlbUfmssYRnQn6yRSJw0WfkUYgI10CWxGaamaOFekA==} dependencies: '@babel/core': 7.22.11 '@babel/preset-env': 7.22.9(@babel/core@7.22.11) '@babel/types': 7.22.17 '@storybook/csf': 0.1.0 - '@storybook/csf-tools': 7.5.1 - '@storybook/node-logger': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/csf-tools': 7.5.2 + '@storybook/node-logger': 7.5.2 + '@storybook/types': 7.5.2 '@types/cross-spawn': 6.0.2 cross-spawn: 7.0.3 globby: 11.1.0 @@ -6474,19 +6497,42 @@ packages: - '@types/react-dom' dev: true - /@storybook/core-client@7.5.1: - resolution: {integrity: sha512-K651UnNKkW8U078CH5rcUqf0siGcfEhwya2yQN5RBb/H78HSLBLdYgzKqxaKtmz+S8DFyWhrgbXZLdBjavozJg==} + /@storybook/components@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OP+o6AoxoQDbqjk/jdQ1arlc1T8601eCL+rS1dJY9EtAFq7Z0LEFtafhEW/Lx8FotfVGjfCNptH9ODhHU6e5Jw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/preview-api': 7.5.1 + '@radix-ui/react-select': 1.2.2(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toolbar': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.5.2 + '@storybook/csf': 0.1.0 + '@storybook/global': 5.0.0 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0) + util-deprecate: 1.0.2 + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' dev: true - /@storybook/core-common@7.5.1: - resolution: {integrity: sha512-/rQ0/xvxFHSGCgIkK74HrgDMnzfYtDYTCoSod/qCTojfs9aciX+JYgvo5ChPnI/LEKWwxRTkrE7pl2u5+C4XGA==} + /@storybook/core-client@7.5.2: + resolution: {integrity: sha512-mMDSBxc7esMCu0FOkama9XYHzIHYGhBj8roX+XaTaLDYXaw/UajcCuzcO7fFBHNn3Vdqh2ufIxlI7359v3IqPw==} dependencies: - '@storybook/core-events': 7.5.1 - '@storybook/node-logger': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/preview-api': 7.5.2 + dev: true + + /@storybook/core-common@7.5.2: + resolution: {integrity: sha512-js7fIH4wHS08dBuIVsr3JnwMtKn5O1Izc/Zor4t6PntLWkGGX4X/GxbOkasGX5SkCT1qUtB9RpdPd1sUkLhIgw==} + dependencies: + '@storybook/core-events': 7.5.2 + '@storybook/node-logger': 7.5.2 + '@storybook/types': 7.5.2 '@types/find-cache-dir': 3.2.1 '@types/node': 18.17.15 '@types/node-fetch': 2.6.4 @@ -6518,24 +6564,30 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/core-server@7.5.1: - resolution: {integrity: sha512-DD4BXCH91aZJoFuu0cQwG1ZUmE59kG5pazuE3S89zH1GwKS1jWyeAv4EwEfvynT5Ah1ctd8QdCZCSXVzjq0qcw==} + /@storybook/core-events@7.5.2: + resolution: {integrity: sha512-DV8bFEFVKDEvaH87KYPXDE0YEV+Y9yjFv2xxmC9pF8l+MWCtVW72RBLhB+gU5NM1bkHrRDNb0lOJfVGKlhxOog==} + dependencies: + ts-dedent: 2.2.0 + dev: true + + /@storybook/core-server@7.5.2: + resolution: {integrity: sha512-4oXpy1L/NyHiz/OXNUFnSeMLA/+lTgQAlVx86pRbEBDj6snt1/NSx2+yZyFtZ/XTnJ22BPpM8IIrgm95ZlQKmA==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 7.5.1 - '@storybook/channels': 7.5.1 - '@storybook/core-common': 7.5.1 - '@storybook/core-events': 7.5.1 + '@storybook/builder-manager': 7.5.2 + '@storybook/channels': 7.5.2 + '@storybook/core-common': 7.5.2 + '@storybook/core-events': 7.5.2 '@storybook/csf': 0.1.0 - '@storybook/csf-tools': 7.5.1 + '@storybook/csf-tools': 7.5.2 '@storybook/docs-mdx': 0.1.0 '@storybook/global': 5.0.0 - '@storybook/manager': 7.5.1 - '@storybook/node-logger': 7.5.1 - '@storybook/preview-api': 7.5.1 - '@storybook/telemetry': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/manager': 7.5.2 + '@storybook/node-logger': 7.5.2 + '@storybook/preview-api': 7.5.2 + '@storybook/telemetry': 7.5.2 + '@storybook/types': 7.5.2 '@types/detect-port': 1.3.2 '@types/node': 18.17.15 '@types/pretty-hrtime': 1.0.1 @@ -6569,24 +6621,24 @@ packages: - utf-8-validate dev: true - /@storybook/csf-plugin@7.5.1: - resolution: {integrity: sha512-jhV2aCZhSIXUiQDcHtuCg3dyYMzjYHTwLb4cJtkNw4sXqQoTGydTSWYwWigcHFfKGoyQp82rSgE1hE4YYx6iew==} + /@storybook/csf-plugin@7.5.2: + resolution: {integrity: sha512-ndjn1ia2rQLO1r1z6mXv6nipLzJMwWJp31h16lQUXIBQEOiGKjGGvObiuKaad3nNHxWHpGra4zUg7R+54Yw0Hw==} dependencies: - '@storybook/csf-tools': 7.5.1 + '@storybook/csf-tools': 7.5.2 unplugin: 1.4.0 transitivePeerDependencies: - supports-color dev: true - /@storybook/csf-tools@7.5.1: - resolution: {integrity: sha512-YChGbT1/odLS4RLb2HtK7ixM7mH5s7G5nOsWGKXalbza4SFKZIU2UzllEUsA+X8YfxMHnCD5TC3xLfK0ByxmzQ==} + /@storybook/csf-tools@7.5.2: + resolution: {integrity: sha512-yXaEDREc2wvkjYkQqDMatJw23f0fEFhMIf/zBNF7YljeYw0j8jAg/7XI5WJJSN2KTxD/feD/yD+6eaLUXvrneQ==} dependencies: '@babel/generator': 7.22.10 '@babel/parser': 7.23.0 '@babel/traverse': 7.22.11 '@babel/types': 7.22.17 '@storybook/csf': 0.1.0 - '@storybook/types': 7.5.1 + '@storybook/types': 7.5.2 fs-extra: 11.1.1 recast: 0.23.1 ts-dedent: 2.2.0 @@ -6604,12 +6656,12 @@ packages: resolution: {integrity: sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==} dev: true - /@storybook/docs-tools@7.5.1: - resolution: {integrity: sha512-tDtQGeKU5Kc2XoqZ5vpeGQrOkRg2UoDiSRS6cLy+M/sMB03Annq0ZngnJXaMiv0DLi2zpWSgWqPgYA3TJTZHBw==} + /@storybook/docs-tools@7.5.2: + resolution: {integrity: sha512-mBiZFhzMA2ub7wX0ho3UqKqKXO+xUi/rqb4KV4PihLKlhThEdzKyYrIZO4W90NOmlp1yUJJcjG8D8SUPuHQoTw==} dependencies: - '@storybook/core-common': 7.5.1 - '@storybook/preview-api': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/core-common': 7.5.2 + '@storybook/preview-api': 7.5.2 + '@storybook/types': 7.5.2 '@types/doctrine': 0.0.3 doctrine: 3.0.0 lodash: 4.17.21 @@ -6628,14 +6680,14 @@ packages: resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} dev: true - /@storybook/instrumenter@7.5.1: - resolution: {integrity: sha512-bxRoWVVLlevqTFappXj1JfZlvEceBiBPdQQqTTeeA09VL3UyFWDpPFRn8Wf2C43Vt4V18w+krMyb1KfTk37ROQ==} + /@storybook/instrumenter@7.5.2: + resolution: {integrity: sha512-1l36cc7GaVeTiknhToZcaqI6RsIOfcBgdnvgJ0tiL1naN1GkneCMr+1oLWnlHVrWIOXgh6vNyD792kE3uTLkFg==} dependencies: - '@storybook/channels': 7.5.1 - '@storybook/client-logger': 7.5.1 - '@storybook/core-events': 7.5.1 + '@storybook/channels': 7.5.2 + '@storybook/client-logger': 7.5.2 + '@storybook/core-events': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.5.1 + '@storybook/preview-api': 7.5.2 dev: true /@storybook/jest@0.2.3(vitest@0.34.6): @@ -6651,20 +6703,20 @@ packages: - vitest dev: true - /@storybook/manager-api@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ygwJywluhhE1dpA0jC2D/3NFhMXzFCt+iW4m3cOwexYTuiDWF66AbGOFBx9peE7Wk/Z9doKkf9E3v11enwaidA==} + /@storybook/manager-api@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-WX8GjBkITRQzhQ08WEAVjdDW8QqqIQhWOpFzXUYCxCNzt1eSALI31QQ+M1/MYymw+TOkotC/SMcn/puIAm4rdA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/channels': 7.5.1 - '@storybook/client-logger': 7.5.1 - '@storybook/core-events': 7.5.1 + '@storybook/channels': 7.5.2 + '@storybook/client-logger': 7.5.2 + '@storybook/core-events': 7.5.2 '@storybook/csf': 0.1.0 '@storybook/global': 5.0.0 - '@storybook/router': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/router': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 @@ -6676,31 +6728,31 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/manager@7.5.1: - resolution: {integrity: sha512-Jo83sj7KvsZ78vvqjH72ErmQ31Frx6GBLbpeYXZtbAXWl0/LHsxAEVz0Mke+DixzWDyP0/cn+Nw8QUfA+Oz1fg==} + /@storybook/manager@7.5.2: + resolution: {integrity: sha512-5l1z9SpCFQBcHjC5mbfWQ8mPTYFxD8GQ9mNZ6PPrj47yu9TyCRYSQj7A8ZXJiIY1ZEg4a2BCW7fPUYG+lX6Drw==} dev: true /@storybook/mdx2-csf@1.0.0: resolution: {integrity: sha512-dBAnEL4HfxxJmv7LdEYUoZlQbWj9APZNIbOaq0tgF8XkxiIbzqvgB0jhL/9UOrysSDbQWBiCRTu2wOVxedGfmw==} dev: true - /@storybook/node-logger@7.5.1: - resolution: {integrity: sha512-xRMdL5YPe8C9sgJ1R0QD3YbiLjDGrfQk91+GplRD8N9FVCT5dki55Bv5Kp0FpemLYYg6uxAZL5nHmsZHKDKQoA==} + /@storybook/node-logger@7.5.2: + resolution: {integrity: sha512-VIBuwPJOylu8vJofk1VfmqxlhXgbBgV0pCTo/UzdQAbc3w5y+qNRemf8goWxYEY+L9p6oUXqm/i9+bNGyX7/Mw==} dev: true - /@storybook/postinstall@7.5.1: - resolution: {integrity: sha512-+LFUe2nNbmmLPKNt34RXSSC1r40yGGOoP/qlaPFwNOgQN2AZUrfqk6ZYnw6LjmcuHpQInZ4y4WDgbzg6QQL3+w==} + /@storybook/postinstall@7.5.2: + resolution: {integrity: sha512-fKgyV1fAgckDoxQkUGJl5uzjzGC5esC/nITiCjccZFrqxt9mgmz4VAUkMeseD5tfWQ5oFA0Xdgtrrcl39+chnw==} dev: true - /@storybook/preview-api@7.5.1: - resolution: {integrity: sha512-8xjUbuGmHLmw8tfTUCjXSvMM9r96JaexPFmHdwW6XLe71KKdWp8u96vRDRE5648cd+/of15OjaRtakRKqluA/A==} + /@storybook/preview-api@7.5.2: + resolution: {integrity: sha512-rpmHR/09UBSnorDBTcE7JgHUQjZLO146NCI+vbI7Pqfb4QX/8lhwkFr4cuHRAR16mv6DAJbDVoPETO0Z/CH9aw==} dependencies: - '@storybook/channels': 7.5.1 - '@storybook/client-logger': 7.5.1 - '@storybook/core-events': 7.5.1 + '@storybook/channels': 7.5.2 + '@storybook/client-logger': 7.5.2 + '@storybook/core-events': 7.5.2 '@storybook/csf': 0.1.0 '@storybook/global': 5.0.0 - '@storybook/types': 7.5.1 + '@storybook/types': 7.5.2 '@types/qs': 6.9.7 dequal: 2.0.3 lodash: 4.17.21 @@ -6711,12 +6763,12 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/preview@7.5.1: - resolution: {integrity: sha512-nfZC103z9Cy27FrJKUr2IjDuVt8Mvn1Z5gZ0TtJihoK7sfLTv29nd/XU9zzrb/epM3o8UEzc63xZZsMaToDbAw==} + /@storybook/preview@7.5.2: + resolution: {integrity: sha512-dA5VpHp0D9nh9/wOzWP8At1wtz/SiaMBbwaiEOFTFUGcPerrkroEWadIlSSB7vgQJ9yWiD4l3KDaS8ANzHWtPQ==} dev: true - /@storybook/react-dom-shim@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-bzTIfLm91O9h3rPYJLtRbmsPARerY3z7MoyvadGp8TikvIvf+WyT/vHujw+20SxnqiZVq5Jv65FFlxc46GGB1Q==} + /@storybook/react-dom-shim@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-x7h3TTLRLs8mrsCBKXbvjBRFms73XrNlm0Lo5Tu/Tf//+pwOFq+2sGBkqbRkYd54jNHhpqNF7+UUdzA93ESnbQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6725,8 +6777,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-vite@7.5.1(react-dom@18.2.0)(react@18.2.0)(rollup@4.1.4)(typescript@5.2.2)(vite@4.5.0): - resolution: {integrity: sha512-996/CtOqTjDWMKBGcHG8pwIVlORnoknLD+OTkPXl+aAl9oM9jUtc7psVKLJKGHSHTlVElM2wMTwIHnJ4yeP7bw==} + /@storybook/react-vite@7.5.2(react-dom@18.2.0)(react@18.2.0)(rollup@4.2.0)(typescript@5.2.2)(vite@4.5.0): + resolution: {integrity: sha512-faYGER/qU/jeaMEf5kgx4dNeKno+HkCEviXo/bgRswRg7odW5XydlGGSATOYLYxLhWG6jztaYHYIaDk21KoOVA==} engines: {node: '>=16'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6734,15 +6786,15 @@ packages: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.2.2)(vite@4.5.0) - '@rollup/pluginutils': 5.0.5(rollup@4.1.4) - '@storybook/builder-vite': 7.5.1(typescript@5.2.2)(vite@4.5.0) - '@storybook/react': 7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@rollup/pluginutils': 5.0.5(rollup@4.2.0) + '@storybook/builder-vite': 7.5.2(typescript@5.2.2)(vite@4.5.0) + '@storybook/react': 7.5.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) '@vitejs/plugin-react': 3.1.0(vite@4.5.0) - magic-string: 0.30.3 + magic-string: 0.30.5 react: 18.2.0 react-docgen: 6.0.4 react-dom: 18.2.0(react@18.2.0) - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -6752,8 +6804,8 @@ packages: - vite-plugin-glimmerx dev: true - /@storybook/react@7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): - resolution: {integrity: sha512-IG97c30fFSmPyGpJ1awHC/+9XnCTqleeOQwROXjroMHSm8m/JTWpHMVLyM1x7b6VAnBhNHWJ+oXLZe/hXkXfpA==} + /@storybook/react@7.5.2(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + resolution: {integrity: sha512-7X8GtqvRjWmVS112ifChJMxfD15rMVg5m3t6apZqi0uui1S/DImAveHwz8M4FhsElW6MIHs5xK0uJhR9rVQgTA==} engines: {node: '>=16.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6763,13 +6815,13 @@ packages: typescript: optional: true dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/core-client': 7.5.1 - '@storybook/docs-tools': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/core-client': 7.5.2 + '@storybook/docs-tools': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.5.1 - '@storybook/react-dom-shim': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/preview-api': 7.5.2 + '@storybook/react-dom-shim': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 18.17.15 @@ -6792,27 +6844,27 @@ packages: - supports-color dev: true - /@storybook/router@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-BvKo+IxWwo3dfIG1+vLtZLT4qqkNHL5GTIozTyX04uqt9ByYZL6SJEzxEa1Xn6Qq/fbdQwzCanNHbTlwiTMf7Q==} + /@storybook/router@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jlh48TVUlqvGkU8MnkVp9SrCHomWGtQGx1WMK94NMyOPVPTLWzM6LjIybgmHz0MTe4lpzmbiIOfSlU3pPX054w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/client-logger': 7.5.1 + '@storybook/client-logger': 7.5.2 memoizerific: 1.11.3 qs: 6.11.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/source-loader@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-bJLhUxOwnlodZVOkOt/2swW1e0qCvJxrPdPNHj/81jh0kSfJnLWH+QnwOgdIwPG4qW73nlH5BuSUAlGMVPpS8w==} + /@storybook/source-loader@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9j52EWVXwkK5kBf1EryNCdFJVoel4Mf2STFYqyTyWV0EyYQu+RrSQpqqduaF6tbYY1spDXCnyTg0AmduXazMlw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@storybook/csf': 0.1.0 - '@storybook/types': 7.5.1 + '@storybook/types': 7.5.2 estraverse: 5.3.0 lodash: 4.17.21 prettier: 2.8.8 @@ -6820,12 +6872,12 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/telemetry@7.5.1: - resolution: {integrity: sha512-z9PGouNqvZ2F7vD79qDF4PN7iW3kE3MO7YX0iKTmzgLi4ImKuXIJRF04GRH8r+WYghnbomAyA4o6z9YJMdNuVw==} + /@storybook/telemetry@7.5.2: + resolution: {integrity: sha512-tUgrcIx1vTMhTySp11JbBnWLsaMUNlil5yuOWEJy5i71E4Xy/2hYUtLfxzgXWd/0W7eTl4p2tjUk9uS8AP+S0Q==} dependencies: - '@storybook/client-logger': 7.5.1 - '@storybook/core-common': 7.5.1 - '@storybook/csf-tools': 7.5.1 + '@storybook/client-logger': 7.5.2 + '@storybook/core-common': 7.5.2 + '@storybook/csf-tools': 7.5.2 chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.4 @@ -6858,6 +6910,20 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true + /@storybook/theming@7.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-DZBTcYErSYvmTYsGz7lKtiIcBe8flBw5Ojp52r3O4GcRYG4AbuUwwVvehz+O1cWaS+UW3HavrcgapERH7ZHd1A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0) + '@storybook/client-logger': 7.5.2 + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + /@storybook/types@7.5.1: resolution: {integrity: sha512-ZcMSaqFNx1E+G00nRDUi8kKL7gxJVlnCvbKLNj3V85guy4DkIYAZr31yDqze07gDWbjvKoHIp3tKpgE+2i8upQ==} dependencies: @@ -6867,22 +6933,31 @@ packages: file-system-cache: 2.3.0 dev: true - /@storybook/vue3-vite@7.5.1(@vue/compiler-core@3.3.7)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.7): - resolution: {integrity: sha512-5bO5BactTbyOxxeRw8U6t3FqqfTvVLTefzg1NLDkKt2iAL6lGBSsPTKMgpy3dt+cxdiqEis67niQL68ZtW02Zw==} + /@storybook/types@7.5.2: + resolution: {integrity: sha512-RDKHo6WUES+4nt7uZMfankjxdpYX2EI2GpJ2n2RPcnhzmb/ub1huNTjbzDEYMqY24SppljZeIN57m3Ar6L6f9A==} + dependencies: + '@storybook/channels': 7.5.2 + '@types/babel__core': 7.20.0 + '@types/express': 4.17.17 + file-system-cache: 2.3.0 + dev: true + + /@storybook/vue3-vite@7.5.2(@vue/compiler-core@3.3.7)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0)(vue@3.3.7): + resolution: {integrity: sha512-SChxq87nSFrf3Nywfa/iBNHIoBO0hcvoQdob0ePGSS1tXL2uVEP+A3NFeXb50MXBUSl+ojZpmkEaO4YRt2cZ1w==} engines: {node: ^14.18 || >=16} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 vite: ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: - '@storybook/builder-vite': 7.5.1(typescript@5.2.2)(vite@4.5.0) - '@storybook/core-server': 7.5.1 - '@storybook/vue3': 7.5.1(@vue/compiler-core@3.3.7)(vue@3.3.7) + '@storybook/builder-vite': 7.5.2(typescript@5.2.2)(vite@4.5.0) + '@storybook/core-server': 7.5.2 + '@storybook/vue3': 7.5.2(@vue/compiler-core@3.3.7)(vue@3.3.7) '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.7) - magic-string: 0.30.3 + magic-string: 0.30.5 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) vue-docgen-api: 4.64.1(vue@3.3.7) transitivePeerDependencies: - '@preact/preset-vite' @@ -6896,18 +6971,18 @@ packages: - vue dev: true - /@storybook/vue3@7.5.1(@vue/compiler-core@3.3.7)(vue@3.3.7): - resolution: {integrity: sha512-9srw2rnSYaU45kkunXT8+bX3QMO2QPV6MCWRayKo7Pl+B0H/euHvxPSZb1X8mRpgLtYgVgSNJFoNbk/2Fn8z8g==} + /@storybook/vue3@7.5.2(@vue/compiler-core@3.3.7)(vue@3.3.7): + resolution: {integrity: sha512-k25uwQ33NuQOWEs+0kQUakHzeSu4suCthGv0qCMBoI55mXE7IvMjaPgPDgz/tKVh2qqNa36w1prfqwfWF9uKGw==} engines: {node: '>=16.0.0'} peerDependencies: '@vue/compiler-core': ^3.0.0 vue: ^3.0.0 dependencies: - '@storybook/core-client': 7.5.1 - '@storybook/docs-tools': 7.5.1 + '@storybook/core-client': 7.5.2 + '@storybook/docs-tools': 7.5.2 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.5.1 - '@storybook/types': 7.5.1 + '@storybook/preview-api': 7.5.2 + '@storybook/types': 7.5.2 '@vue/compiler-core': 3.3.7 lodash: 4.17.21 ts-dedent: 2.2.0 @@ -7343,6 +7418,20 @@ packages: pretty-format: 27.5.1 dev: true + /@testing-library/dom@9.3.3: + resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} + engines: {node: '>=14'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/runtime': 7.23.2 + '@types/aria-query': 5.0.1 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + /@testing-library/jest-dom@6.1.2(@types/jest@28.1.3)(vitest@0.34.6): resolution: {integrity: sha512-NP9jl1Q2qDDtx+cqogowtQtmgD2OVs37iMSIsTv5eN5ETRkf26Kj6ugVwA93/gZzzFWQAsgkKkcftDe91BJCkQ==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} @@ -7370,7 +7459,7 @@ packages: dom-accessibility-api: 0.5.16 lodash: 4.17.21 redent: 3.0.0 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.24.0) dev: true /@testing-library/user-event@14.4.3(@testing-library/dom@9.2.0): @@ -7382,18 +7471,20 @@ packages: '@testing-library/dom': 9.2.0 dev: true - /@testing-library/vue@7.0.0(@vue/compiler-sfc@3.3.7)(vue@3.3.7): - resolution: {integrity: sha512-JU/q93HGo2qdm1dCgWymkeQlfpC0/0/DBZ2nAHgEAsVZxX11xVIxT7gbXdI7HACQpUbsUWt1zABGU075Fzt9XQ==} + /@testing-library/vue@8.0.0(@vue/compiler-sfc@3.3.7)(vue@3.3.7): + resolution: {integrity: sha512-SP0qEY/SGpdT9+bPuHxYD3P/HCG0ZY8GlGJocVqdLn9EojbdQu69x06trJi1V7RW9tAZai/wwy+ZFcRsTp47kg==} engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' vue: '>= 3' dependencies: - '@babel/runtime': 7.21.0 - '@testing-library/dom': 9.2.0 + '@babel/runtime': 7.23.2 + '@testing-library/dom': 9.3.3 '@vue/compiler-sfc': 3.3.7 - '@vue/test-utils': 2.3.2(vue@3.3.7) + '@vue/test-utils': 2.4.1(vue@3.3.7) vue: 3.3.7(typescript@5.2.2) + transitivePeerDependencies: + - '@vue/server-renderer' dev: true /@tokenizer/token@0.3.0: @@ -7418,11 +7509,11 @@ packages: /@types/accepts@1.3.6: resolution: {integrity: sha512-6+qlUg57yfE9OO63wnsJXLeq9cG3gSHBBIxNMOjNrbDRlDnm/NaR7RctfYcVCPq+j7d+MwOxqVEludH5+FKrlg==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true - /@types/archiver@5.3.4: - resolution: {integrity: sha512-Lj7fLBIMwYFgViVVZHEdExZC3lVYsl+QL0VmdNdIzGZH544jHveYWij6qdnBgJQDnR7pMKliN9z2cPZFEbhyPw==} + /@types/archiver@6.0.0: + resolution: {integrity: sha512-I1bHy/iSj8/u552lUjnOMG7rUhVkcbGIoNOj7CB/EMah1In+oQAwVZjw2mTI6qx04e5lF2V0JH/1w78jm/Dejw==} dependencies: '@types/readdir-glob': 1.1.1 dev: true @@ -7438,7 +7529,7 @@ packages: /@types/babel__core@7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: - '@babel/parser': 7.22.16 + '@babel/parser': 7.23.0 '@babel/types': 7.22.17 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -7472,7 +7563,7 @@ packages: resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/braces@3.0.1: @@ -7484,7 +7575,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 20.8.9 + '@types/node': 20.8.10 '@types/responselike': 1.0.0 dev: false @@ -7517,7 +7608,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/content-disposition@0.5.7: @@ -7531,7 +7622,7 @@ packages: /@types/cross-spawn@6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/debug@4.1.7: @@ -7575,7 +7666,7 @@ packages: /@types/eslint@7.29.0: resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.4 '@types/json-schema': 7.0.12 dev: true @@ -7583,13 +7674,13 @@ packages: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} dev: true - /@types/estree@1.0.3: - resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==} + /@types/estree@1.0.4: + resolution: {integrity: sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==} /@types/express-serve-static-core@4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -7610,20 +7701,20 @@ packages: /@types/fluent-ffmpeg@2.1.23: resolution: {integrity: sha512-ZEogBz8YpWflRox2uzGUNOYolQPUDGMNUFhf6fY/cW+6i00oeSTD0tYf4az6/162jv0YsRYi6uxigssnag7E7A==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/hast@2.3.4: @@ -7638,7 +7729,7 @@ packages: /@types/http-link-header@1.0.4: resolution: {integrity: sha512-UeasLdPPSfmX45RH6h1lo932WfQUTuc1adQCpPioqRRVBM25dWwIPDBhM0CjWbdflmvr8vIzQg48yk1JzylhXg==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/istanbul-lib-coverage@2.0.4: @@ -7664,8 +7755,8 @@ packages: pretty-format: 28.1.3 dev: true - /@types/jest@29.5.6: - resolution: {integrity: sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==} + /@types/jest@29.5.7: + resolution: {integrity: sha512-HLyetab6KVPSiF+7pFcUyMeLsx25LDNDemw9mGsJBkai/oouwrjTycocSDYopMEwFhN2Y4s9oPyOCZNofgSt2g==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -7682,7 +7773,7 @@ packages: /@types/jsdom@21.1.4: resolution: {integrity: sha512-NzAMLEV0KQ4cBaDx3Ls8VfJUElyDUm1xrtYRmcMK0gF8L5xYbujFVaQlJ50yinQ/d47j2rEP1XUzkiYrw4YRFA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true @@ -7706,7 +7797,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: false /@types/lodash@4.14.191: @@ -7755,7 +7846,7 @@ packages: /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 form-data: 3.0.1 /@types/node-fetch@3.0.3: @@ -7768,15 +7859,15 @@ packages: resolution: {integrity: sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==} dev: true - /@types/node@20.8.9: - resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} + /@types/node@20.8.10: + resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} dependencies: undici-types: 5.26.5 /@types/nodemailer@6.4.13: resolution: {integrity: sha512-889Vq/77eEpidCwh52sVWpbnqQmIwL8yVBekNbrztVEaWKOCRH3Eq6hjIJh1jwsGDEAJEH0RR+YhpH9mfELLKA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/normalize-package-data@2.4.1: @@ -7793,13 +7884,13 @@ packages: resolution: {integrity: sha512-ZnHWsUZf3+gdR4sdsNRtu1jhULpLORn62s5UIvTtXStxy/P6/LiGjbeXVqNkNwCUNlBq6XItc9phMOfxNLX17w==} dependencies: '@types/express': 4.17.17 - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/oauth@0.9.3: resolution: {integrity: sha512-avZiwxSz/WS6EaEjhchzXKgWtlGGYGnEVJoHuQuDLHf7gIW1Gmm9eIxOMuJ6umQNNKZkJ3Uy+C/rLzEvL3I8Sw==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/offscreencanvas@2019.3.0: @@ -7815,7 +7906,7 @@ packages: /@types/pg@8.10.7: resolution: {integrity: sha512-ksJqHipwYaSEHz9e1fr6H6erjoEdNNaOxwyJgPx9bNeaqOW3iWBQgVHfpwiSAoqGzchfc+ZyRLwEfeCcyYD3uQ==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 pg-protocol: 1.6.0 pg-types: 4.0.1 dev: true @@ -7839,7 +7930,7 @@ packages: /@types/qrcode@1.5.4: resolution: {integrity: sha512-ufYqUO7wUBq49hugJry+oIYKscvxIQerJSmXeny215aJKfrepN04DDZP8FCgxvV82kOqKPULCE4PIW3qUmZrRA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/qs@6.9.7: @@ -7863,13 +7954,13 @@ packages: dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 - csstype: 3.1.1 + csstype: 3.1.2 dev: true /@types/readdir-glob@1.1.1: resolution: {integrity: sha512-ImM6TmoF8bgOwvehGviEj3tRdRBbQujr1N+0ypaln/GWjaerOB26jb93vsRHmdMtvVQZQebOlqt2HROark87mQ==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/rename@1.0.6: @@ -7883,7 +7974,7 @@ packages: /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: false /@types/sanitize-html@2.9.3: @@ -7909,7 +8000,7 @@ packages: resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} dependencies: '@types/mime': 3.0.1 - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/serviceworker@0.0.67: @@ -7919,7 +8010,7 @@ packages: /@types/set-cookie-parser@2.4.3: resolution: {integrity: sha512-7QhnH7bi+6KAhBB+Auejz1uV9DHiopZqu7LfR/5gZZTkejJV5nYeZZpgfFoE0N8aDsXuiYpfKyfyMatCwQhyTQ==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/sharp@0.32.0: @@ -7982,13 +8073,13 @@ packages: /@types/vary@1.1.2: resolution: {integrity: sha512-eg5VDqVer3MPty3Ftd/T1ZMGhhBZVvW9rMn4psghY4JqcleHvyU0y2wkyIzrID34AYzdeXLDuxT3oc0AM8nJJQ==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/web-push@3.6.2: resolution: {integrity: sha512-v6Wdk1eIVbAJQjEAa1ZxuG3cfOYTd6nSv55BVJMtLQUvQ07v80MPt2Voq/z71WKhy4CORu4L3aH+8SXKX4BD5g==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/webgl-ext@0.0.30: @@ -7999,13 +8090,13 @@ packages: /@types/websocket@1.0.8: resolution: {integrity: sha512-wvkOpWApbuxVfHhSQ1XrjVN4363vsfLJwEo4AboIZk0g1vJA5nmLp8GXUHuIdf4/Fe7+/V0Efe2HvWiLqHtlqw==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/ws@8.5.8: resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/yargs-parser@21.0.0: @@ -8028,12 +8119,12 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true optional: true - /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} + /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -8044,11 +8135,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/type-utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/type-utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) eslint: 8.52.0 graphemer: 1.4.0 @@ -8061,8 +8152,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} + /@typescript-eslint/parser@6.9.1(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8071,10 +8162,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) eslint: 8.52.0 typescript: 5.2.2 @@ -8082,16 +8173,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.9.0: - resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} + /@typescript-eslint/scope-manager@6.9.1: + resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 dev: true - /@typescript-eslint/type-utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} + /@typescript-eslint/type-utils@6.9.1(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8100,8 +8191,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2) debug: 4.3.4(supports-color@8.1.1) eslint: 8.52.0 ts-api-utils: 1.0.1(typescript@5.2.2) @@ -8110,13 +8201,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.9.0: - resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} + /@typescript-eslint/types@6.9.1: + resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): - resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} + /@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2): + resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -8124,8 +8215,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -8136,8 +8227,8 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} + /@typescript-eslint/utils@6.9.1(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8145,9 +8236,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) eslint: 8.52.0 semver: 7.5.4 transitivePeerDependencies: @@ -8155,11 +8246,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.9.0: - resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} + /@typescript-eslint/visitor-keys@6.9.1: + resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/types': 6.9.1 eslint-visitor-keys: 3.4.3 dev: true @@ -8178,7 +8269,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.22.11) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) transitivePeerDependencies: - supports-color dev: true @@ -8190,7 +8281,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) vue: 3.3.7(typescript@5.2.2) /@vitest/coverage-v8@0.34.6(vitest@0.34.6): @@ -8209,7 +8300,7 @@ packages: std-env: 3.3.3 test-exclude: 6.0.0 v8-to-istanbul: 9.1.0 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.24.0) transitivePeerDependencies: - supports-color dev: true @@ -8233,7 +8324,7 @@ packages: /@vitest/snapshot@0.34.6: resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} dependencies: - magic-string: 0.30.3 + magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 dev: true @@ -8271,7 +8362,7 @@ packages: path-browserify: 1.0.1 dev: true - /@vue-macros/common@1.8.0(rollup@4.1.4)(vue@3.3.7): + /@vue-macros/common@1.8.0(rollup@4.2.0)(vue@3.3.7): resolution: {integrity: sha512-auDJJzE0z3uRe3867e0DsqcseKImktNf5ojCZgUKqiVxb2yTlwlgOVAYCgoep9oITqxkXQymSvFeKhedi8PhaA==} engines: {node: '>=16.14.0'} peerDependencies: @@ -8281,9 +8372,9 @@ packages: optional: true dependencies: '@babel/types': 7.22.17 - '@rollup/pluginutils': 5.0.5(rollup@4.1.4) + '@rollup/pluginutils': 5.0.5(rollup@4.2.0) '@vue/compiler-sfc': 3.3.7 - ast-kit: 0.11.2(rollup@4.1.4) + ast-kit: 0.11.2(rollup@4.2.0) local-pkg: 0.4.3 magic-string-ast: 0.3.0 vue: 3.3.7(typescript@5.2.2) @@ -8291,14 +8382,14 @@ packages: - rollup dev: false - /@vue-macros/reactivity-transform@0.3.23(rollup@4.1.4)(vue@3.3.7): + /@vue-macros/reactivity-transform@0.3.23(rollup@4.2.0)(vue@3.3.7): resolution: {integrity: sha512-SubIg1GsNpQdIDJusrcA2FWBgwSY+4jmL0j6SJ6PU85r3rlS+uDhn6AUkqxeZRAdmJnrbGHXDyWUdygOZmWrSg==} engines: {node: '>=16.14.0'} peerDependencies: vue: ^2.7.0 || ^3.2.25 dependencies: '@babel/parser': 7.22.16 - '@vue-macros/common': 1.8.0(rollup@4.1.4)(vue@3.3.7) + '@vue-macros/common': 1.8.0(rollup@4.2.0)(vue@3.3.7) '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 magic-string: 0.30.3 @@ -8315,6 +8406,7 @@ packages: '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: false /@vue/compiler-core@3.3.6: resolution: {integrity: sha512-2JNjemwaNwf+MkkatATVZi7oAH1Hx0B04DdPH3ZoZ8vKC1xZVP7nl4HIsk8XYd3r+/52sqqoz9TWzYc3yE9dqA==} @@ -8333,13 +8425,6 @@ packages: estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.3.4: - resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} - dependencies: - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - dev: true - /@vue/compiler-dom@3.3.6: resolution: {integrity: sha512-1MxXcJYMHiTPexjLAJUkNs/Tw2eDf2tY3a0rL+LfuWyiKN2s6jvSwywH3PWD8bKICjfebX3GWx2Os8jkRDq3Ng==} dependencies: @@ -8430,6 +8515,7 @@ packages: /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + dev: false /@vue/shared@3.3.6: resolution: {integrity: sha512-Xno5pEqg8SVhomD0kTSmfh30ZEmV/+jZtyh39q6QflrjdJCXah5lrnOLi9KB6a5k5aAHXMXjoMnxlzUkCNfWLQ==} @@ -8438,16 +8524,18 @@ packages: /@vue/shared@3.3.7: resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} - /@vue/test-utils@2.3.2(vue@3.3.7): - resolution: {integrity: sha512-hJnVaYhbrIm0yBS0+e1Y0Sj85cMyAi+PAbK4JHqMRUZ6S622Goa+G7QzkRSyvCteG8wop7tipuEbHoZo26wsSA==} + /@vue/test-utils@2.4.1(vue@3.3.7): + resolution: {integrity: sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==} peerDependencies: + '@vue/server-renderer': ^3.0.1 vue: ^3.0.1 + peerDependenciesMeta: + '@vue/server-renderer': + optional: true dependencies: - js-beautify: 1.14.6 + js-beautify: 1.14.9 vue: 3.3.7(typescript@5.2.2) - optionalDependencies: - '@vue/compiler-dom': 3.3.7 - '@vue/server-renderer': 3.3.7(vue@3.3.7) + vue-component-type-helpers: 1.8.4 dev: true /@webgpu/types@0.1.30: @@ -8548,11 +8636,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - /acorn@8.11.2: resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} @@ -8911,12 +8994,12 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /ast-kit@0.11.2(rollup@4.1.4): + /ast-kit@0.11.2(rollup@4.2.0): resolution: {integrity: sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==} engines: {node: '>=16.14.0'} dependencies: '@babel/parser': 7.23.0 - '@rollup/pluginutils': 5.0.5(rollup@4.1.4) + '@rollup/pluginutils': 5.0.5(rollup@4.2.0) pathe: 1.1.1 transitivePeerDependencies: - rollup @@ -9303,11 +9386,11 @@ packages: dependencies: fill-range: 7.0.1 - /broadcast-channel@5.5.1: - resolution: {integrity: sha512-C7LtMmJCIIU07xtJngYE2OxaGTGBsG+wOa0mBSPRpbTF36kqtsXQhpxtCVDTkpe8gpZMn9C6PhH+mZ/js4IabA==} + /broadcast-channel@6.0.0: + resolution: {integrity: sha512-h8ki6RYXq502Eb+zAt4Kni2ahL/lulh0ip+mpnvsMSRC2biBo6AkSBfO6JFTelT+FX88VL0SDd3RKpqlPNw4ng==} dependencies: '@babel/runtime': 7.23.2 - oblivious-set: 1.1.1 + oblivious-set: 1.4.0 p-queue: 6.6.2 unload: 2.4.1 dev: false @@ -9380,8 +9463,8 @@ packages: dependencies: node-gyp-build: 4.6.0 - /bullmq@4.12.6: - resolution: {integrity: sha512-zPTf1H++KAmGY2T6TCkL7PWvoaiBPtTzMWMb4UOz3OxLTTnip6CsD3xsTZzsmu1xOdCbSf/0lO+SU8PeKTpY7w==} + /bullmq@4.12.7: + resolution: {integrity: sha512-wigDuI8dyzY1jaUZLrwMp0L7t2glp0eErnRCYlVwi56DUWYSrzrOB3Vz8SaAmpc3Ro5dS4mBwt7RDJG3jiuJKA==} dependencies: cron-parser: 4.8.1 glob: 8.1.0 @@ -9729,8 +9812,8 @@ packages: engines: {node: '>=10'} requiresBuild: true - /chromatic@7.5.4: - resolution: {integrity: sha512-DiBwsn8yABN6SFSeEf5gTbwGIqhfP+rjrAQENgeLFDUV3vX3tGdI8oVgseaeCwk8tn08ZukrmB/k3ZG9RPJPTA==} + /chromatic@7.6.0: + resolution: {integrity: sha512-4MwlX8EDMyfQKf1NXTdUhJ2b0EYueByaVrF75pdFaOzHH7n3OhzknmQYbUSegLiFhKvHuvM8nZvf9SCajO+Cow==} hasBin: true dev: false @@ -9911,6 +9994,11 @@ packages: resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} dev: true + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -10072,7 +10160,7 @@ packages: readable-stream: 3.6.0 dev: false - /create-jest@29.7.0(@types/node@20.8.9): + /create-jest@29.7.0(@types/node@20.8.10): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -10081,7 +10169,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.8.9) + jest-config: 29.7.0(@types/node@20.8.10) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -10275,10 +10363,6 @@ packages: rrweb-cssom: 0.6.0 dev: false - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - dev: true - /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} @@ -10288,8 +10372,8 @@ packages: uniq: 1.0.1 dev: false - /cypress@13.3.3: - resolution: {integrity: sha512-mbdkojHhKB1xbrj7CrKWHi22uFx9P9vQFiR0sYDZZoK99OMp9/ZYN55TO5pjbXmV7xvCJ4JwBoADXjOJK8aCJw==} + /cypress@13.4.0: + resolution: {integrity: sha512-KeWNC9xSHG/ewZURVbaQsBQg2mOKw4XhjJZFKjWbEjgZCdxpPXLpJnfq5Jns1Gvnjp6AlnIfpZfWFlDgVKXdWQ==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true @@ -10765,14 +10849,15 @@ packages: safe-buffer: 5.2.1 dev: false - /editorconfig@0.15.3: - resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} + /editorconfig@1.0.4: + resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} + engines: {node: '>=14'} hasBin: true dependencies: - commander: 2.20.3 - lru-cache: 4.1.5 - semver: 5.7.1 - sigmund: 1.0.1 + '@one-ini/wasm': 0.1.1 + commander: 10.0.1 + minimatch: 9.0.1 + semver: 7.5.4 dev: true /ee-first@1.1.1: @@ -11100,7 +11185,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -11121,7 +11206,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2) debug: 3.2.7(supports-color@5.5.0) eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 @@ -11129,7 +11214,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.52.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -11139,7 +11224,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -11148,7 +11233,7 @@ packages: doctrine: 2.1.0 eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -11286,7 +11371,7 @@ packages: /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.4 dev: false /esutils@2.0.3: @@ -13278,7 +13363,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 chalk: 4.1.2 co: 4.6.0 dedent: 1.3.0 @@ -13299,7 +13384,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.8.9): + /jest-cli@29.7.0(@types/node@20.8.10): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13313,10 +13398,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.8.9) + create-jest: 29.7.0(@types/node@20.8.10) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.8.9) + jest-config: 29.7.0(@types/node@20.8.10) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.6.2 @@ -13327,7 +13412,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.8.9): + /jest-config@29.7.0(@types/node@20.8.10): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -13342,7 +13427,7 @@ packages: '@babel/core': 7.22.11 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 babel-jest: 29.7.0(@babel/core@7.22.11) chalk: 4.1.2 ci-info: 3.7.1 @@ -13422,7 +13507,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -13452,7 +13537,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 20.8.9 + '@types/node': 20.8.10 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -13513,7 +13598,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /jest-mock@29.7.0: @@ -13521,7 +13606,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 jest-util: 29.7.0 dev: true @@ -13576,7 +13661,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -13607,7 +13692,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -13659,7 +13744,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 chalk: 4.1.2 ci-info: 3.7.1 graceful-fs: 4.2.11 @@ -13684,7 +13769,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -13703,13 +13788,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.8.9): + /jest@29.7.0(@types/node@20.8.10): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13722,7 +13807,7 @@ packages: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.8.9) + jest-cli: 29.7.0(@types/node@20.8.10) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -13752,13 +13837,13 @@ packages: resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} dev: false - /js-beautify@1.14.6: - resolution: {integrity: sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==} - engines: {node: '>=10'} + /js-beautify@1.14.9: + resolution: {integrity: sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==} + engines: {node: '>=12'} hasBin: true dependencies: config-chain: 1.1.13 - editorconfig: 0.15.3 + editorconfig: 1.0.4 glob: 8.1.0 nopt: 6.0.0 dev: true @@ -14239,6 +14324,7 @@ packages: dependencies: pseudomap: 1.0.2 yallist: 2.1.2 + dev: false /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -14543,6 +14629,13 @@ packages: dependencies: brace-expansion: 2.0.1 + /minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -15235,8 +15328,9 @@ packages: resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} dev: false - /oblivious-set@1.1.1: - resolution: {integrity: sha512-Oh+8fK09mgGmAshFdH6hSVco6KZmd1tTwNFWj35OvzdmJTMZtAkbn05zar2iG3v6sDs1JLEtOiBGNb6BHwkb2w==} + /oblivious-set@1.4.0: + resolution: {integrity: sha512-szyd0ou0T8nsAqHtprRcP3WidfsN1TnAR5yWXf2mFCEr5ek3LEOkT6EZ/92Xfs74HIdyhG5WkGxIssMU0jBaeg==} + engines: {node: '>=16'} dev: false /obuf@1.1.2: @@ -16337,6 +16431,7 @@ packages: /pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: false /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} @@ -16445,8 +16540,8 @@ packages: pump: 2.0.1 dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} /puppeteer-core@2.1.1: @@ -16655,7 +16750,7 @@ packages: '@types/doctrine': 0.0.6 '@types/resolve': 1.20.3 doctrine: 3.0.0 - resolve: 1.22.3 + resolve: 1.22.8 strip-indent: 4.0.0 transitivePeerDependencies: - supports-color @@ -17104,7 +17199,7 @@ packages: /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 dev: true @@ -17197,23 +17292,23 @@ packages: optionalDependencies: fsevents: 2.3.2 - /rollup@4.1.4: - resolution: {integrity: sha512-U8Yk1lQRKqCkDBip/pMYT+IKaN7b7UesK3fLSTuHBoBJacCE+oBqo/dfG/gkUdQNNB2OBmRP98cn2C2bkYZkyw==} + /rollup@4.2.0: + resolution: {integrity: sha512-deaMa9Z+jPVeBD2dKXv+h7EbdKte9++V2potc/ADqvVgEr6DEJ3ia9u0joarjC2lX/ubaCRYz3QVx0TzuVqAJA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.1.4 - '@rollup/rollup-android-arm64': 4.1.4 - '@rollup/rollup-darwin-arm64': 4.1.4 - '@rollup/rollup-darwin-x64': 4.1.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.1.4 - '@rollup/rollup-linux-arm64-gnu': 4.1.4 - '@rollup/rollup-linux-arm64-musl': 4.1.4 - '@rollup/rollup-linux-x64-gnu': 4.1.4 - '@rollup/rollup-linux-x64-musl': 4.1.4 - '@rollup/rollup-win32-arm64-msvc': 4.1.4 - '@rollup/rollup-win32-ia32-msvc': 4.1.4 - '@rollup/rollup-win32-x64-msvc': 4.1.4 + '@rollup/rollup-android-arm-eabi': 4.2.0 + '@rollup/rollup-android-arm64': 4.2.0 + '@rollup/rollup-darwin-arm64': 4.2.0 + '@rollup/rollup-darwin-x64': 4.2.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.2.0 + '@rollup/rollup-linux-arm64-gnu': 4.2.0 + '@rollup/rollup-linux-arm64-musl': 4.2.0 + '@rollup/rollup-linux-x64-gnu': 4.2.0 + '@rollup/rollup-linux-x64-musl': 4.2.0 + '@rollup/rollup-win32-arm64-msvc': 4.2.0 + '@rollup/rollup-win32-ia32-msvc': 4.2.0 + '@rollup/rollup-win32-x64-msvc': 4.2.0 fsevents: 2.3.2 /rrweb-cssom@0.6.0: @@ -17484,10 +17579,6 @@ packages: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true - /sigmund@1.0.1: - resolution: {integrity: sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==} - dev: true - /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -17896,11 +17987,11 @@ packages: resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} dev: true - /storybook@7.5.1: - resolution: {integrity: sha512-Wg3j3z5H03PYnEcmlnhf6bls0OtjmsNPsQ93dTV8F4AweqBECwzjf94Wj++NrP3X+WbfMoCbBU6LRFuEyzCCxw==} + /storybook@7.5.2: + resolution: {integrity: sha512-wuB5VdmI6teU2z5iiBEZ2ziNeP6g6Da/dGM7+tWQVUl8bmfOmpEgzgEyS1/XqdOfm+HoZplspwM0XMHOLo/Now==} hasBin: true dependencies: - '@storybook/cli': 7.5.1 + '@storybook/cli': 7.5.2 transitivePeerDependencies: - bufferutil - encoding @@ -18273,13 +18364,13 @@ packages: unique-string: 2.0.0 dev: true - /terser@5.22.0: - resolution: {integrity: sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==} + /terser@5.24.0: + resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} engines: {node: '>=10'} hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.10.0 + acorn: 8.11.2 commander: 2.20.3 source-map-support: 0.5.21 @@ -18444,7 +18535,7 @@ packages: engines: {node: '>=0.8'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 dev: false /tough-cookie@4.1.2: @@ -18452,7 +18543,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: false @@ -18462,7 +18553,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: true @@ -18475,7 +18566,7 @@ packages: resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} engines: {node: '>=14'} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false /trace-redirect@1.0.6: @@ -18932,7 +19023,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 /url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -19080,7 +19171,7 @@ packages: core-util-is: 1.0.2 extsprintf: 1.3.0 - /vite-node@0.34.6(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0): + /vite-node@0.34.6(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -19090,7 +19181,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) transitivePeerDependencies: - '@types/node' - less @@ -19106,7 +19197,7 @@ packages: resolution: {integrity: sha512-p4D8CFVhZS412SyQX125qxyzOgIFouwOcvjZWk6bQbNPR1wtaEzFT6jZxAjf1dejlGqa6fqHcuCvQea6EWUkUA==} dev: true - /vite@4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0): + /vite@4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -19134,12 +19225,12 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 esbuild: 0.18.17 postcss: 8.4.31 rollup: 3.29.4 sass: 1.69.5 - terser: 5.22.0 + terser: 5.24.0 optionalDependencies: fsevents: 2.3.2 @@ -19150,12 +19241,12 @@ packages: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.5 - vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0) + vitest: 0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.24.0) transitivePeerDependencies: - encoding dev: true - /vitest@0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.22.0): + /vitest@0.34.6(happy-dom@10.0.3)(sass@1.69.5)(terser@5.24.0): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} hasBin: true @@ -19188,7 +19279,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -19208,8 +19299,8 @@ packages: strip-literal: 1.0.1 tinybench: 2.5.0 tinypool: 0.7.0 - vite: 4.5.0(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) - vite-node: 0.34.6(@types/node@20.8.9)(sass@1.69.5)(terser@5.22.0) + vite: 4.5.0(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) + vite-node: 0.34.6(@types/node@20.8.10)(sass@1.69.5)(terser@5.24.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -19237,6 +19328,10 @@ packages: resolution: {integrity: sha512-LK3wJHs3vJxHG292C8cnsRusgyC5SEZDCzDCD01mdE/AoREFMl2tzLRuzwyuEsOIz13tqgBcnvysN3Lxsa14Fw==} dev: true + /vue-component-type-helpers@1.8.4: + resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==} + dev: true + /vue-demi@0.13.11(vue@3.3.7): resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} engines: {node: '>=12'} @@ -19255,9 +19350,9 @@ packages: /vue-docgen-api@4.64.1(vue@3.3.7): resolution: {integrity: sha512-jbOf7ByE3Zvtuk+429Jorl+eIeh2aB2Fx1GUo3xJd1aByJWE8KDlSEa6b11PB1ze8f0sRUBraRDinICCk0KY7g==} dependencies: - '@babel/parser': 7.22.16 + '@babel/parser': 7.23.0 '@babel/types': 7.22.17 - '@vue/compiler-dom': 3.3.4 + '@vue/compiler-dom': 3.3.7 '@vue/compiler-sfc': 3.3.7 ast-types: 0.14.2 hash-sum: 2.0.0 @@ -19650,6 +19745,7 @@ packages: /yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: false /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -19780,7 +19876,7 @@ packages: sharp: 0.31.3 dev: false - github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.5.1)(@storybook/components@7.5.1)(@storybook/core-events@7.5.1)(@storybook/manager-api@7.5.1)(@storybook/preview-api@7.5.1)(@storybook/theming@7.5.1)(@storybook/types@7.5.1)(react-dom@18.2.0)(react@18.2.0): + github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.5.2)(@storybook/components@7.5.1)(@storybook/core-events@7.5.2)(@storybook/manager-api@7.5.2)(@storybook/preview-api@7.5.2)(@storybook/theming@7.5.2)(@storybook/types@7.5.2)(react-dom@18.2.0)(react@18.2.0): resolution: {tarball: https://codeload.github.com/misskey-dev/storybook-addon-misskey-theme/tar.gz/cf583db098365b2ccc81a82f63ca9c93bc32b640} id: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640 name: storybook-addon-misskey-theme @@ -19801,13 +19897,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/blocks': 7.5.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 7.5.2(react-dom@18.2.0)(react@18.2.0) '@storybook/components': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.5.1 - '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.5.1 - '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.5.1 + '@storybook/core-events': 7.5.2 + '@storybook/manager-api': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.5.2 + '@storybook/theming': 7.5.2(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.5.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true