Merge upstream

This commit is contained in:
オスカー、 2024-08-12 18:37:03 +09:00
commit b546ab3252
Signed by: SWREI
GPG Key ID: 139D6573F92DA9F7
17 changed files with 2802 additions and 3710 deletions

View File

@ -593,6 +593,8 @@ unsetUserAvatar: "Unset avatar"
unsetUserAvatarConfirm: "Are you sure you want to unset the avatar?" unsetUserAvatarConfirm: "Are you sure you want to unset the avatar?"
unsetUserBanner: "Unset banner" unsetUserBanner: "Unset banner"
unsetUserBannerConfirm: "Are you sure you want to unset the banner?" unsetUserBannerConfirm: "Are you sure you want to unset the banner?"
unsetUserMutualLink: "Unset mutual link"
unsetUserMutualLinkConfirm: "Are you sure you want to unset the mutual link?"
deleteAllFiles: "Delete all files" deleteAllFiles: "Delete all files"
deleteAllFilesConfirm: "Are you sure that you want to delete all files?" deleteAllFilesConfirm: "Are you sure that you want to delete all files?"
removeAllFollowing: "Unfollow all followed users" removeAllFollowing: "Unfollow all followed users"
@ -1267,6 +1269,7 @@ hideSensitiveInformation: "Hide sensitive information"
youAreHidingSensitiveInformation: "This content was hidden by 'Private Mode'." youAreHidingSensitiveInformation: "This content was hidden by 'Private Mode'."
temporarilySeeThis: "Nevermind, just show me this" temporarilySeeThis: "Nevermind, just show me this"
sensitiveDoubleClickRequired: "Require double-click to open sensitive media" sensitiveDoubleClickRequired: "Require double-click to open sensitive media"
mutualLink: "Mutual Link"
_bubbleGame: _bubbleGame:
howToPlay: "How to play" howToPlay: "How to play"
hold: "Hold" hold: "Hold"
@ -1341,6 +1344,7 @@ _initialAccountSetting:
startTutorial: "Start Tutorial" startTutorial: "Start Tutorial"
skipAreYouSure: "Really skip profile setup?" skipAreYouSure: "Really skip profile setup?"
laterAreYouSure: "Really do profile setup later?" laterAreYouSure: "Really do profile setup later?"
mustBeSetBotOwner: "The bot account must have an administrator specified. Please select an administrator account from below."
_initialTutorial: _initialTutorial:
launchTutorial: "Start Tutorial" launchTutorial: "Start Tutorial"
title: "Tutorial" title: "Tutorial"
@ -1765,6 +1769,9 @@ _role:
canUseTranslator: "Can use Translator" canUseTranslator: "Can use Translator"
avatarDecorationLimit: "Maximum number of avatar decorations that can be applied" avatarDecorationLimit: "Maximum number of avatar decorations that can be applied"
canUseDriveFileInSoundSettings: "Can use Drive File in Sound Settings" canUseDriveFileInSoundSettings: "Can use Drive File in Sound Settings"
canUseReaction: "Can use reactions"
mutualLinkSectionLimit: "Maximum number of mutual link sections"
mutualLinkLimit: "Maximum number of mutual links in a section"
_condition: _condition:
roleAssignedTo: "Assigned to manual roles" roleAssignedTo: "Assigned to manual roles"
isLocal: "Local user" isLocal: "Local user"
@ -2116,6 +2123,7 @@ _permissions:
"write:admin:suspend-user": "Suspend user" "write:admin:suspend-user": "Suspend user"
"write:admin:unset-user-avatar": "Remove user avatar" "write:admin:unset-user-avatar": "Remove user avatar"
"write:admin:unset-user-banner": "Remove user banner" "write:admin:unset-user-banner": "Remove user banner"
"write:admin:unset-user-mutual-link": "Remove user mutual link"
"write:admin:unsuspend-user": "Unsuspend user" "write:admin:unsuspend-user": "Unsuspend user"
"write:admin:meta": "Manage instance metadata" "write:admin:meta": "Manage instance metadata"
"write:admin:user-note": "Manage moderation note" "write:admin:user-note": "Manage moderation note"
@ -2267,6 +2275,16 @@ _profile:
changeBanner: "Change banner" changeBanner: "Change banner"
verifiedLinkDescription: "By entering an URL that contains a link to your profile here, an ownership verification icon can be displayed next to the field." verifiedLinkDescription: "By entering an URL that contains a link to your profile here, an ownership verification icon can be displayed next to the field."
avatarDecorationMax: "You can add up to {max} decorations." avatarDecorationMax: "You can add up to {max} decorations."
mutualLinksEdit: "Edit mutual links"
mutualLinksBanner: "Banner of mutual links"
mutualLinksDescriptionEdit: "Description"
mutualLinksUrl: "URL of the link"
mutualLinksDescription: "Mutual links are displayed as banners on your profile."
addMutualLink: "Add mutual link"
addMutualLinkSection: "Add section"
sectionName: "Section name"
sectionNameNoneDescription: "Do not display the section name"
sectionNameNone: "Hide section name"
_exportOrImport: _exportOrImport:
allNotes: "All notes" allNotes: "All notes"
favoritedNotes: "Favorite notes" favoritedNotes: "Favorite notes"

12
locales/index.d.ts vendored
View File

@ -5159,14 +5159,6 @@ export interface Locale extends ILocale {
* *
*/ */
"mutualLink": string; "mutualLink": string;
/**
*
*/
"mutualBannerThisUser": string;
/**
*
*/
"maximum": string;
"_bubbleGame": { "_bubbleGame": {
/** /**
* *
@ -8974,10 +8966,6 @@ export interface Locale extends ILocale {
* URL * URL
*/ */
"mutualLinksUrl": string; "mutualLinksUrl": string;
/**
*
*/
"mutualLinkPining": string;
/** /**
* *
*/ */

View File

@ -1285,8 +1285,6 @@ refreshMetadata: "サーバー情報を更新"
removeAllFollowings: "相互フォロー解除" removeAllFollowings: "相互フォロー解除"
areYouSureToRemoveAllFollowings: "本当に{host}とのすべてのフォロー関係を削除しますか? 実行後は元に戻せません。 相手インスタンスが閉鎖されたと判断した場合のみ実行してください。" areYouSureToRemoveAllFollowings: "本当に{host}とのすべてのフォロー関係を削除しますか? 実行後は元に戻せません。 相手インスタンスが閉鎖されたと判断した場合のみ実行してください。"
mutualLink: "相互リンク" mutualLink: "相互リンク"
mutualBannerThisUser: "このユーザーのバナー"
maximum: "最大"
_bubbleGame: _bubbleGame:
howToPlay: "遊び方" howToPlay: "遊び方"
@ -2358,7 +2356,6 @@ _profile:
mutualLinksBanner: "相互リンクのバナー" mutualLinksBanner: "相互リンクのバナー"
mutualLinksDescriptionEdit: "説明" mutualLinksDescriptionEdit: "説明"
mutualLinksUrl: "リンク先のURL" mutualLinksUrl: "リンク先のURL"
mutualLinkPining: "このセクションをプロフィールにピン留め"
mutualLinksDescription: "相互リンクを設定すると、あなたのプロフィールにバナーが表示されます。" mutualLinksDescription: "相互リンクを設定すると、あなたのプロフィールにバナーが表示されます。"
addMutualLink: "相互リンクを追加" addMutualLink: "相互リンクを追加"
addMutualLinkSection: "セクションを追加" addMutualLinkSection: "セクションを追加"

View File

@ -592,6 +592,8 @@ unsetUserAvatar: "아바타 제거"
unsetUserAvatarConfirm: "아바타를 제거할까요?" unsetUserAvatarConfirm: "아바타를 제거할까요?"
unsetUserBanner: "배너 제거" unsetUserBanner: "배너 제거"
unsetUserBannerConfirm: "배너를 제거할까요?" unsetUserBannerConfirm: "배너를 제거할까요?"
unsetUserMutualLink: "서로링크 삭제"
unsetUserMutualLinkConfirm: "서로링크를 삭제할까요?"
deleteAllFiles: "모든 파일 삭제" deleteAllFiles: "모든 파일 삭제"
deleteAllFilesConfirm: "모든 파일을 삭제하시겠습니까?" deleteAllFilesConfirm: "모든 파일을 삭제하시겠습니까?"
removeAllFollowing: "모든 팔로잉 해제" removeAllFollowing: "모든 팔로잉 해제"
@ -1267,6 +1269,7 @@ onboarding: "온보딩"
refreshMetadata: "서버 정보를 갱신하기" refreshMetadata: "서버 정보를 갱신하기"
removeAllFollowings: "모든 팔로우 관계를 제거하기" removeAllFollowings: "모든 팔로우 관계를 제거하기"
areYouSureToRemoveAllFollowings: "정말로 {host}와의 모든 팔로우 관계를 제거하시겠습니까? 실행한 후에는 되돌릴 수 없습니다. 상대 인스턴스가 폐쇄됐다고 판단되는 경우에만 실행하세요." areYouSureToRemoveAllFollowings: "정말로 {host}와의 모든 팔로우 관계를 제거하시겠습니까? 실행한 후에는 되돌릴 수 없습니다. 상대 인스턴스가 폐쇄됐다고 판단되는 경우에만 실행하세요."
mutualLink: "서로링크"
_bubbleGame: _bubbleGame:
howToPlay: "설명" howToPlay: "설명"
hold: "홀드" hold: "홀드"
@ -1782,6 +1785,9 @@ _role:
canUseTranslator: "노트 번역 허용" canUseTranslator: "노트 번역 허용"
canUseDriveFileInSoundSettings: "사운드 설정에서 드라이브의 파일 사용 가능 여부" canUseDriveFileInSoundSettings: "사운드 설정에서 드라이브의 파일 사용 가능 여부"
avatarDecorationLimit: "붙일 수 있는 아바타 장식의 최대 개수" avatarDecorationLimit: "붙일 수 있는 아바타 장식의 최대 개수"
canUseReaction: "리액션 사용"
mutualLinkSectionLimit: "서로링크 섹션의 최대 수"
mutualLinkLimit: "섹션 내의 서로링크의 최대 수"
_condition: _condition:
roleAssignedTo: "수동 역할에 이미 할당됨" roleAssignedTo: "수동 역할에 이미 할당됨"
isLocal: "로컬 유저" isLocal: "로컬 유저"
@ -2128,6 +2134,7 @@ _permissions:
"write:admin:suspend-user": "유저 정지하기" "write:admin:suspend-user": "유저 정지하기"
"write:admin:unset-user-avatar": "유저 아바타 삭제하기" "write:admin:unset-user-avatar": "유저 아바타 삭제하기"
"write:admin:unset-user-banner": "유저 배너 삭제하기" "write:admin:unset-user-banner": "유저 배너 삭제하기"
"write:admin:unset-user-mutual-link": "사용자의 서로링크 삭제하기"
"write:admin:unsuspend-user": "유저 정지 해제하기" "write:admin:unsuspend-user": "유저 정지 해제하기"
"write:admin:meta": "인스턴스 메타데이터 수정하기" "write:admin:meta": "인스턴스 메타데이터 수정하기"
"write:admin:user-note": "중재 기록 수정하기" "write:admin:user-note": "중재 기록 수정하기"
@ -2279,6 +2286,16 @@ _profile:
changeBanner: "배너 이미지 변경" changeBanner: "배너 이미지 변경"
verifiedLinkDescription: "내용에 자신의 프로필로 향하는 링크가 포함된 페이지의 URL을 삽입하면 소유자 인증 마크가 표시됩니다." verifiedLinkDescription: "내용에 자신의 프로필로 향하는 링크가 포함된 페이지의 URL을 삽입하면 소유자 인증 마크가 표시됩니다."
avatarDecorationMax: "최대 {max}개까지 장식을 할 수 있습니다." avatarDecorationMax: "최대 {max}개까지 장식을 할 수 있습니다."
mutualLinksEdit: "서로링크 편집"
mutualLinksBanner: "서로링크 배너"
mutualLinksDescriptionEdit: "설명"
mutualLinksUrl: "링크 URL"
mutualLinksDescription: "서로링크를 설정하면 프로필에 배너가 표시됩니다."
addMutualLink: "서로링크 추가"
addMutualLinkSection: "섹션 추가"
sectionName: "섹션 이름"
sectionNameNoneDescription: "섹션 이름이 표시되지 않도록 합니다."
sectionNameNone: "섹션 이름을 숨기기"
_exportOrImport: _exportOrImport:
allNotes: "모든 노트" allNotes: "모든 노트"
favoritedNotes: "즐겨찾기한 노트" favoritedNotes: "즐겨찾기한 노트"

View File

@ -21,7 +21,7 @@
"build-assets": "node ./scripts/build-assets.mjs", "build-assets": "node ./scripts/build-assets.mjs",
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets", "build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
"build-storybook": "pnpm --filter frontend build-storybook", "build-storybook": "pnpm --filter frontend build-storybook",
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api", "build-misskey-js-with-types": "pnpm build-pre && pnpm -r build:tsc && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js", "start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
"start:docker": "pnpm check:connect && cd packages/backend && exec node ./built/boot/entry.js", "start:docker": "pnpm check:connect && cd packages/backend && exec node ./built/boot/entry.js",
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js", "start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
@ -46,29 +46,29 @@
"cleanall": "pnpm clean-all" "cleanall": "pnpm clean-all"
}, },
"resolutions": { "resolutions": {
"@tensorflow/tfjs-core": "4.19.0", "@tensorflow/tfjs-core": "4.20.0",
"chokidar": "3.6.0", "chokidar": "3.6.0",
"esbuild": "0.21.3", "esbuild": "0.23.0",
"lodash": "4.17.21", "lodash": "4.17.21",
"sharp": "0.33.4" "sharp": "0.33.4"
}, },
"dependencies": { "dependencies": {
"cssnano": "7.0.1", "cssnano": "7.0.5",
"execa": "9.1.0", "execa": "9.3.0",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"postcss": "8.4.38", "postcss": "8.4.41",
"terser": "5.31.0", "terser": "5.31.5",
"typescript": "5.4.5" "typescript": "5.5.4"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "20.12.12", "@types/node": "22.2.0",
"@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/eslint-plugin": "7.10.0",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"cypress": "13.10.0", "cypress": "13.13.2",
"eslint": "8.57.0", "eslint": "8.57.0",
"ncp": "2.0.0", "ncp": "2.0.0",
"start-server-and-test": "2.0.3" "start-server-and-test": "2.0.5"
}, },
"optionalDependencies": { "optionalDependencies": {
"@tensorflow/tfjs-core": "4.19.0" "@tensorflow/tfjs-core": "4.19.0"

View File

@ -66,11 +66,11 @@
}, },
"dependencies": { "dependencies": {
"@authenio/samlify-node-xmllint": "2.0.0", "@authenio/samlify-node-xmllint": "2.0.0",
"@aws-sdk/client-s3": "3.577.0", "@aws-sdk/client-s3": "3.627.0",
"@aws-sdk/lib-storage": "3.578.0", "@aws-sdk/lib-storage": "3.627.0",
"@bull-board/api": "5.18.1", "@bull-board/api": "5.21.3",
"@bull-board/fastify": "5.18.1", "@bull-board/fastify": "5.21.3",
"@bull-board/ui": "5.18.1", "@bull-board/ui": "5.21.3",
"@discordapp/twemoji": "15.0.3", "@discordapp/twemoji": "15.0.3",
"@elastic/elasticsearch": "^8.14.0", "@elastic/elasticsearch": "^8.14.0",
"@fastify/accepts": "4.3.0", "@fastify/accepts": "4.3.0",
@ -79,30 +79,30 @@
"@fastify/express": "3.0.0", "@fastify/express": "3.0.0",
"@fastify/formbody": "7.4.0", "@fastify/formbody": "7.4.0",
"@fastify/http-proxy": "9.5.0", "@fastify/http-proxy": "9.5.0",
"@fastify/multipart": "8.2.0", "@fastify/multipart": "8.3.0",
"@fastify/static": "7.0.4", "@fastify/static": "7.0.4",
"@fastify/view": "9.1.0", "@fastify/view": "9.1.0",
"@misskey-dev/sharp-read-bmp": "1.2.0", "@misskey-dev/sharp-read-bmp": "1.2.0",
"@misskey-dev/summaly": "5.1.0", "@misskey-dev/summaly": "5.1.0",
"@napi-rs/canvas": "0.1.52", "@napi-rs/canvas": "0.1.53",
"@nestjs/common": "10.3.8", "@nestjs/common": "10.3.10",
"@nestjs/core": "10.3.8", "@nestjs/core": "10.3.10",
"@nestjs/testing": "10.3.8", "@nestjs/testing": "10.3.10",
"@peertube/http-signature": "1.7.0", "@peertube/http-signature": "1.7.0",
"@simplewebauthn/server": "10.0.0", "@simplewebauthn/server": "10.0.1",
"@sinonjs/fake-timers": "11.2.2", "@sinonjs/fake-timers": "11.2.2",
"@smithy/node-http-handler": "3.0.0", "@smithy/node-http-handler": "3.1.4",
"@swc/cli": "0.3.12", "@swc/cli": "0.3.12",
"@swc/core": "1.5.7", "@swc/core": "1.5.7",
"@twemoji/parser": "15.1.1", "@twemoji/parser": "15.1.1",
"accepts": "1.3.8", "accepts": "1.3.8",
"ajv": "8.13.0", "ajv": "8.17.1",
"archiver": "7.0.1", "archiver": "7.0.1",
"async-mutex": "0.5.0", "async-mutex": "0.5.0",
"bcryptjs": "2.4.3", "bcryptjs": "2.4.3",
"blurhash": "2.0.5", "blurhash": "2.0.5",
"body-parser": "1.20.2", "body-parser": "1.20.2",
"bullmq": "5.7.10", "bullmq": "5.12.3",
"cacheable-lookup": "7.0.0", "cacheable-lookup": "7.0.0",
"cbor": "9.0.2", "cbor": "9.0.2",
"chalk": "5.3.0", "chalk": "5.3.0",
@ -113,29 +113,29 @@
"content-disposition": "0.5.4", "content-disposition": "0.5.4",
"date-fns": "3.6.0", "date-fns": "3.6.0",
"deep-email-validator": "0.1.21", "deep-email-validator": "0.1.21",
"fastify": "4.27.0", "fastify": "4.28.1",
"fastify-http-errors-enhanced": "5.0.4", "fastify-http-errors-enhanced": "5.0.4",
"fastify-raw-body": "4.3.0", "fastify-raw-body": "4.3.0",
"feed": "4.2.2", "feed": "4.2.2",
"file-type": "19.0.0", "file-type": "19.4.0",
"fluent-ffmpeg": "2.1.3", "fluent-ffmpeg": "2.1.3",
"form-data": "4.0.0", "form-data": "4.0.0",
"got": "14.3.0", "got": "14.4.2",
"happy-dom": "14.11.0", "happy-dom": "14.12.3",
"hpagent": "1.2.0", "hpagent": "1.2.0",
"htmlescape": "1.1.1", "htmlescape": "1.1.1",
"http-link-header": "1.1.3", "http-link-header": "1.1.3",
"ioredis": "5.4.1", "ioredis": "5.4.1",
"ip-cidr": "3.1.0", "ip-cidr": "3.1.0",
"ipaddr.js": "2.2.0", "ipaddr.js": "2.2.0",
"is-svg": "5.0.1", "is-svg": "5.1.0",
"jose": "5.3.0", "jose": "5.6.3",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"jsdom": "24.0.0", "jsdom": "24.1.1",
"json5": "2.2.3", "json5": "2.2.3",
"jsonld": "8.3.2", "jsonld": "8.3.2",
"jsrsasign": "11.1.0", "jsrsasign": "11.1.0",
"meilisearch": "0.40.0", "meilisearch": "0.41.0",
"mfm-js": "0.24.0", "mfm-js": "0.24.0",
"microformats-parser": "2.0.2", "microformats-parser": "2.0.2",
"mime-types": "2.1.35", "mime-types": "2.1.35",
@ -146,26 +146,26 @@
"nested-property": "4.0.0", "nested-property": "4.0.0",
"node-fetch": "3.3.2", "node-fetch": "3.3.2",
"node-forge": "1.3.1", "node-forge": "1.3.1",
"nodemailer": "6.9.13", "nodemailer": "6.9.14",
"nsfwjs": "2.4.2", "nsfwjs": "2.4.2",
"oauth": "0.10.0", "oauth": "0.10.0",
"oauth2orize": "1.12.0", "oauth2orize": "1.12.0",
"oauth2orize-pkce": "0.1.2", "oauth2orize-pkce": "0.1.2",
"os-utils": "0.0.14", "os-utils": "0.0.14",
"otpauth": "9.2.4", "otpauth": "9.3.1",
"parse5": "7.1.2", "parse5": "7.1.2",
"pg": "8.11.5", "pg": "8.12.0",
"pino": "9.1.0", "pino": "9.3.2",
"pino-pretty": "11.0.0", "pino-pretty": "11.2.2",
"pkce-challenge": "4.1.0", "pkce-challenge": "4.1.0",
"probe-image-size": "7.2.3", "probe-image-size": "7.2.3",
"promise-limit": "2.7.0", "promise-limit": "2.7.0",
"pug": "3.0.2", "pug": "3.0.3",
"punycode": "2.3.1", "punycode": "2.3.1",
"qrcode": "1.5.3", "qrcode": "1.5.4",
"random-seed": "0.3.0", "random-seed": "0.3.0",
"ratelimiter": "3.4.1", "ratelimiter": "3.4.1",
"re2": "1.20.11", "re2": "1.21.3",
"redis-lock": "0.1.4", "redis-lock": "0.1.4",
"reflect-metadata": "0.2.2", "reflect-metadata": "0.2.2",
"rename": "1.0.4", "rename": "1.0.4",
@ -178,24 +178,24 @@
"slacc": "0.0.10", "slacc": "0.0.10",
"strict-event-emitter-types": "2.0.0", "strict-event-emitter-types": "2.0.0",
"stringz": "2.1.0", "stringz": "2.1.0",
"systeminformation": "5.22.9", "systeminformation": "5.23.4",
"tinycolor2": "1.6.0", "tinycolor2": "1.6.0",
"tmp": "0.2.3", "tmp": "0.2.3",
"tsc-alias": "1.8.10", "tsc-alias": "1.8.10",
"tsconfig-paths": "4.2.0", "tsconfig-paths": "4.2.0",
"typeorm": "0.3.20", "typeorm": "0.3.20",
"typescript": "5.4.5", "typescript": "5.5.4",
"ulid": "2.3.0", "ulid": "2.3.0",
"vary": "1.1.2", "vary": "1.1.2",
"web-push": "3.6.7", "web-push": "3.6.7",
"ws": "8.17.0", "ws": "8.18.0",
"xev": "3.0.2", "xev": "3.0.2",
"xmlbuilder": "15.1.1" "xmlbuilder": "15.1.1"
}, },
"devDependencies": { "devDependencies": {
"@jest/globals": "29.7.0", "@jest/globals": "29.7.0",
"@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/eslint-plugin": "1.0.0",
"@nestjs/platform-express": "10.3.8", "@nestjs/platform-express": "10.3.10",
"@simplewebauthn/types": "10.0.0", "@simplewebauthn/types": "10.0.0",
"@swc/jest": "0.2.36", "@swc/jest": "0.2.36",
"@types/accepts": "1.3.7", "@types/accepts": "1.3.7",
@ -204,20 +204,20 @@
"@types/body-parser": "1.19.5", "@types/body-parser": "1.19.5",
"@types/color-convert": "2.0.3", "@types/color-convert": "2.0.3",
"@types/content-disposition": "0.5.8", "@types/content-disposition": "0.5.8",
"@types/fluent-ffmpeg": "2.1.24", "@types/fluent-ffmpeg": "2.1.25",
"@types/htmlescape": "^1.1.3", "@types/htmlescape": "^1.1.3",
"@types/http-link-header": "1.0.5", "@types/http-link-header": "1.0.7",
"@types/jest": "29.5.12", "@types/jest": "29.5.12",
"@types/js-yaml": "4.0.9", "@types/js-yaml": "4.0.9",
"@types/jsdom": "21.1.6", "@types/jsdom": "21.1.7",
"@types/jsonld": "1.5.13", "@types/jsonld": "1.5.15",
"@types/jsrsasign": "10.5.14", "@types/jsrsasign": "10.5.14",
"@types/mime-types": "2.1.4", "@types/mime-types": "2.1.4",
"@types/ms": "0.7.34", "@types/ms": "0.7.34",
"@types/node": "20.12.12", "@types/node": "22.2.0",
"@types/node-forge": "1.3.11", "@types/node-forge": "1.3.11",
"@types/nodemailer": "6.4.15", "@types/nodemailer": "6.4.15",
"@types/oauth": "0.9.4", "@types/oauth": "0.9.5",
"@types/oauth2orize": "1.11.5", "@types/oauth2orize": "1.11.5",
"@types/oauth2orize-pkce": "0.1.2", "@types/oauth2orize-pkce": "0.1.2",
"@types/pg": "8.11.6", "@types/pg": "8.11.6",
@ -235,19 +235,19 @@
"@types/tmp": "0.2.6", "@types/tmp": "0.2.6",
"@types/vary": "1.1.3", "@types/vary": "1.1.3",
"@types/web-push": "3.6.3", "@types/web-push": "3.6.3",
"@types/ws": "8.5.10", "@types/ws": "8.5.12",
"@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/eslint-plugin": "7.10.0",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"aws-sdk-client-mock": "4.0.0", "aws-sdk-client-mock": "4.0.1",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"eslint": "8.57.0", "eslint": "8.57.0",
"eslint-plugin-import": "2.29.1", "eslint-plugin-import": "2.29.1",
"execa": "9.1.0", "execa": "9.3.0",
"fkill": "^9.0.0", "fkill": "^9.0.0",
"jest": "29.7.0", "jest": "29.7.0",
"jest-mock": "29.7.0", "jest-mock": "29.7.0",
"nodemon": "3.1.0", "nodemon": "3.1.4",
"pid-port": "1.0.0", "pid-port": "1.0.0",
"simple-oauth2": "5.0.0" "simple-oauth2": "5.1.0"
} }
} }

View File

@ -10,7 +10,6 @@ import { bindThis } from '@/decorators.js';
import { envOption } from './env.js'; import { envOption } from './env.js';
import type { KEYWORD } from 'color-convert/conversions.js'; import type { KEYWORD } from 'color-convert/conversions.js';
// @ts-expect-error it gives error if we use pinoPretty.PinoPretty instead of pinoPretty.
const pinoPrettyStream = pinoPretty({ const pinoPrettyStream = pinoPretty({
levelFirst: false, levelFirst: false,
levelKey: 'level', levelKey: 'level',

View File

@ -4,7 +4,7 @@
*/ */
export interface IMaybe<T> { export interface IMaybe<T> {
isJust(): this is IJust<T>; isJust(): boolean;
} }
export interface IJust<T> extends IMaybe<T> { export interface IJust<T> extends IMaybe<T> {

View File

@ -113,7 +113,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
throw new ApiError(meta.errors.invalidParam); throw new ApiError(meta.errors.invalidParam);
} }
const calcHash = createHash('sha256').update(`${ps.folderId}:${ps.isSensitive}`); const calcHash = createHash('sha256').update(`${ps.folderId}:${ps.name}:${ps.isSensitive}`);
await stream.pipeline(fs.createReadStream(file.path, { encoding: 'binary', start: 0, end: 1024 * 1024 }), calcHash); await stream.pipeline(fs.createReadStream(file.path, { encoding: 'binary', start: 0, end: 1024 * 1024 }), calcHash);
const hash = calcHash.digest('base64'); const hash = calcHash.digest('base64');
logger.setContext({ userId: me.id, hash, ip, headers }); logger.setContext({ userId: me.id, hash, ip, headers });

View File

@ -23,13 +23,13 @@
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3", "@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
"@misskey-dev/browser-image-resizer": "2024.1.0", "@misskey-dev/browser-image-resizer": "2024.1.0",
"@rollup/plugin-json": "6.1.0", "@rollup/plugin-json": "6.1.0",
"@rollup/plugin-replace": "5.0.5", "@rollup/plugin-replace": "5.0.7",
"@rollup/plugin-typescript": "11.1.6", "@rollup/plugin-typescript": "11.1.6",
"@rollup/pluginutils": "5.1.0", "@rollup/pluginutils": "5.1.0",
"@syuilo/aiscript": "0.18.0", "@syuilo/aiscript": "0.18.0",
"@tabler/icons-webfont": "3.5.0", "@tabler/icons-webfont": "3.12.0",
"@twemoji/parser": "15.1.1", "@twemoji/parser": "15.1.1",
"@vitejs/plugin-vue": "5.0.4", "@vitejs/plugin-vue": "5.1.2",
"@vue/compiler-sfc": "3.4.15", "@vue/compiler-sfc": "3.4.15",
"aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.9", "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.9",
"astring": "1.8.6", "astring": "1.8.6",
@ -41,8 +41,8 @@
"chartjs-chart-matrix": "2.0.1", "chartjs-chart-matrix": "2.0.1",
"chartjs-plugin-gradient": "0.6.1", "chartjs-plugin-gradient": "0.6.1",
"chartjs-plugin-zoom": "2.0.1", "chartjs-plugin-zoom": "2.0.1",
"chromatic": "11.4.0", "chromatic": "11.7.0",
"compare-versions": "6.1.0", "compare-versions": "6.1.1",
"cropperjs": "2.0.0-beta.4", "cropperjs": "2.0.0-beta.4",
"date-fns": "3.6.0", "date-fns": "3.6.0",
"escape-regexp": "0.0.1", "escape-regexp": "0.0.1",
@ -52,93 +52,93 @@
"insert-text-at-cursor": "0.3.0", "insert-text-at-cursor": "0.3.0",
"is-file-animated": "1.0.2", "is-file-animated": "1.0.2",
"json5": "2.2.3", "json5": "2.2.3",
"matter-js": "0.19.0", "matter-js": "0.20.0",
"mfm-js": "0.24.0", "mfm-js": "0.24.0",
"misskey-bubble-game": "workspace:*", "misskey-bubble-game": "workspace:*",
"misskey-js": "workspace:*", "misskey-js": "workspace:*",
"misskey-reversi": "workspace:*", "misskey-reversi": "workspace:*",
"photoswipe": "5.4.3", "photoswipe": "5.4.4",
"punycode": "2.3.1", "punycode": "2.3.1",
"rollup": "4.18.0", "rollup": "4.20.0",
"sanitize-html": "2.13.0", "sanitize-html": "2.13.0",
"sass": "1.77.2", "sass": "1.77.8",
"shiki": "1.6.0", "shiki": "1.12.1",
"strict-event-emitter-types": "2.0.0", "strict-event-emitter-types": "2.0.0",
"textarea-caret": "3.1.0", "textarea-caret": "3.1.0",
"three": "0.164.1", "three": "0.167.1",
"throttle-debounce": "5.0.0", "throttle-debounce": "5.0.2",
"tinycolor2": "1.6.0", "tinycolor2": "1.6.0",
"tsc-alias": "1.8.10", "tsc-alias": "1.8.10",
"tsconfig-paths": "4.2.0", "tsconfig-paths": "4.2.0",
"typescript": "5.4.5", "typescript": "5.5.4",
"uuid": "9.0.1", "uuid": "10.0.0",
"v-code-diff": "1.12.0", "v-code-diff": "1.12.1",
"vite": "5.2.11", "vite": "5.4.0",
"vue": "3.4.15", "vue": "3.4.15",
"vuedraggable": "next" "vuedraggable": "next"
}, },
"devDependencies": { "devDependencies": {
"@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/eslint-plugin": "1.0.0",
"@misskey-dev/summaly": "5.1.0", "@misskey-dev/summaly": "5.1.0",
"@storybook/addon-actions": "8.1.2", "@storybook/addon-actions": "8.2.8",
"@storybook/addon-essentials": "8.1.2", "@storybook/addon-essentials": "8.2.8",
"@storybook/addon-interactions": "8.1.2", "@storybook/addon-interactions": "8.2.8",
"@storybook/addon-links": "8.1.2", "@storybook/addon-links": "8.2.8",
"@storybook/addon-mdx-gfm": "8.1.2", "@storybook/addon-mdx-gfm": "8.2.8",
"@storybook/addon-storysource": "8.1.2", "@storybook/addon-storysource": "8.2.8",
"@storybook/blocks": "8.1.2", "@storybook/blocks": "8.2.8",
"@storybook/components": "8.1.2", "@storybook/components": "8.2.8",
"@storybook/core-events": "8.1.2", "@storybook/core-events": "8.2.8",
"@storybook/manager-api": "8.1.2", "@storybook/manager-api": "8.2.8",
"@storybook/preview-api": "8.1.2", "@storybook/preview-api": "8.2.8",
"@storybook/react": "8.1.2", "@storybook/react": "8.2.8",
"@storybook/react-vite": "8.1.2", "@storybook/react-vite": "8.2.8",
"@storybook/test": "8.1.2", "@storybook/test": "8.2.8",
"@storybook/theming": "8.1.2", "@storybook/theming": "8.2.8",
"@storybook/types": "8.1.2", "@storybook/types": "8.2.8",
"@storybook/vue3": "8.1.2", "@storybook/vue3": "8.2.8",
"@storybook/vue3-vite": "8.1.2", "@storybook/vue3-vite": "8.2.8",
"@testing-library/vue": "8.1.0", "@testing-library/vue": "8.1.0",
"@types/canvas-confetti": "^1.6.4", "@types/canvas-confetti": "^1.6.4",
"@types/escape-regexp": "0.0.3", "@types/escape-regexp": "0.0.3",
"@types/estree": "1.0.5", "@types/estree": "1.0.5",
"@types/matter-js": "0.19.6", "@types/matter-js": "0.19.7",
"@types/micromatch": "4.0.7", "@types/micromatch": "4.0.9",
"@types/node": "20.12.12", "@types/node": "22.2.0",
"@types/punycode": "2.1.4", "@types/punycode": "2.1.4",
"@types/sanitize-html": "2.11.0", "@types/sanitize-html": "2.11.0",
"@types/throttle-debounce": "5.0.2", "@types/throttle-debounce": "5.0.2",
"@types/tinycolor2": "1.4.6", "@types/tinycolor2": "1.4.6",
"@types/uuid": "9.0.8", "@types/uuid": "10.0.0",
"@types/ws": "8.5.10", "@types/ws": "8.5.12",
"@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/eslint-plugin": "7.10.0",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"@vitest/coverage-v8": "0.34.6", "@vitest/coverage-v8": "0.34.6",
"@vue/runtime-core": "3.4.15", "@vue/runtime-core": "3.4.15",
"acorn": "8.11.3", "acorn": "8.12.1",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"cypress": "13.10.0", "cypress": "13.13.2",
"eslint": "8.57.0", "eslint": "8.57.0",
"eslint-plugin-import": "2.29.1", "eslint-plugin-import": "2.29.1",
"eslint-plugin-vue": "9.26.0", "eslint-plugin-vue": "9.27.0",
"fast-glob": "3.3.2", "fast-glob": "3.3.2",
"happy-dom": "14.11.0", "happy-dom": "14.12.3",
"intersection-observer": "0.12.2", "intersection-observer": "0.12.2",
"micromatch": "4.0.7", "micromatch": "4.0.7",
"msw": "2.3.0", "msw": "2.3.5",
"msw-storybook-addon": "2.0.2", "msw-storybook-addon": "2.0.3",
"nodemon": "3.1.0", "nodemon": "3.1.4",
"prettier": "3.2.5", "prettier": "3.3.3",
"react": "18.3.1", "react": "18.3.1",
"react-dom": "18.3.1", "react-dom": "18.3.1",
"start-server-and-test": "2.0.3", "start-server-and-test": "2.0.5",
"storybook": "8.1.2", "storybook": "8.2.8",
"storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme",
"vite-plugin-turbosnap": "1.0.3", "vite-plugin-turbosnap": "1.0.3",
"vitest": "0.34.6", "vitest": "0.34.6",
"vitest-fetch-mock": "0.2.2", "vitest-fetch-mock": "0.2.2",
"vue-component-type-helpers": "2.0.19", "vue-component-type-helpers": "2.0.29",
"vue-eslint-parser": "9.4.2", "vue-eslint-parser": "9.4.3",
"vue-tsc": "2.0.19" "vue-tsc": "2.0.29"
} }
} }

View File

@ -46,7 +46,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #key>{{ i18n.ts.email }}</template> <template #key>{{ i18n.ts.email }}</template>
<template #value><span class="_monospace">{{ info.email }}</span></template> <template #value><span class="_monospace">{{ info.email }}</span></template>
</MkKeyValue> </MkKeyValue>
<MkKeyValue v-if="iAmAdmin && ips ? ips.length : 0 > 0" :copy="ips ? ips[0].ip : null" oneline> <MkKeyValue v-if="iAmAdmin && ips && ips.length > 0" :copy="ips[0].ip" oneline>
<template #key>IP (recent)</template> <template #key>IP (recent)</template>
<template #value><span class="_monospace">{{ ips ? ips[0].ip : 'N/A' }}</span></template> <template #value><span class="_monospace">{{ ips ? ips[0].ip : 'N/A' }}</span></template>
</MkKeyValue> </MkKeyValue>

View File

@ -25,23 +25,23 @@
}, },
"devDependencies": { "devDependencies": {
"@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/eslint-plugin": "1.0.0",
"@types/matter-js": "0.19.6", "@types/matter-js": "0.19.7",
"@types/node": "20.12.12", "@types/node": "22.2.0",
"@types/seedrandom": "3.0.8", "@types/seedrandom": "3.0.8",
"@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/eslint-plugin": "7.10.0",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"eslint": "8.57.0", "eslint": "8.57.0",
"nodemon": "3.1.0", "nodemon": "3.1.4",
"typescript": "5.4.5" "typescript": "5.5.4"
}, },
"files": [ "files": [
"built" "built"
], ],
"dependencies": { "dependencies": {
"esbuild": "0.21.3", "esbuild": "0.23.0",
"eventemitter3": "5.0.1", "eventemitter3": "5.0.1",
"glob": "10.3.16", "glob": "11.0.0",
"matter-js": "0.19.0", "matter-js": "0.20.0",
"seedrandom": "3.0.5" "seedrandom": "3.0.5"
} }
} }

View File

@ -8,16 +8,16 @@
}, },
"devDependencies": { "devDependencies": {
"@misskey-dev/eslint-plugin": "^1.0.0", "@misskey-dev/eslint-plugin": "^1.0.0",
"@readme/openapi-parser": "2.5.1", "@readme/openapi-parser": "2.6.0",
"@types/node": "20.12.12", "@types/node": "22.2.0",
"@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/eslint-plugin": "7.10.0",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"eslint": "8.57.0", "eslint": "8.57.0",
"openapi-types": "12.1.3", "openapi-types": "12.1.3",
"openapi-typescript": "6.7.6", "openapi-typescript": "6.7.6",
"ts-case-convert": "2.0.7", "ts-case-convert": "2.0.7",
"tsx": "4.10.5", "tsx": "4.17.0",
"typescript": "5.4.5" "typescript": "5.5.4"
}, },
"files": [ "files": [
"built" "built"

View File

@ -35,11 +35,11 @@
"url": "git+https://github.com/misskey-dev/misskey.js.git" "url": "git+https://github.com/misskey-dev/misskey.js.git"
}, },
"devDependencies": { "devDependencies": {
"@microsoft/api-extractor": "7.43.7", "@microsoft/api-extractor": "7.47.5",
"@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/eslint-plugin": "1.0.0",
"@swc/jest": "0.2.36", "@swc/jest": "0.2.36",
"@types/jest": "29.5.12", "@types/jest": "29.5.12",
"@types/node": "20.12.12", "@types/node": "22.2.0",
"@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/eslint-plugin": "7.10.0",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"eslint": "8.57.0", "eslint": "8.57.0",
@ -48,9 +48,9 @@
"jest-websocket-mock": "2.5.0", "jest-websocket-mock": "2.5.0",
"mock-socket": "9.3.1", "mock-socket": "9.3.1",
"ncp": "2.0.0", "ncp": "2.0.0",
"nodemon": "3.1.0", "nodemon": "3.1.4",
"tsd": "0.31.0", "tsd": "0.31.1",
"typescript": "5.4.5" "typescript": "5.5.4"
}, },
"files": [ "files": [
"built", "built",

View File

@ -25,17 +25,17 @@
}, },
"devDependencies": { "devDependencies": {
"@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/eslint-plugin": "1.0.0",
"@types/node": "20.12.12", "@types/node": "22.2.0",
"@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/eslint-plugin": "7.10.0",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"eslint": "8.57.0", "eslint": "8.57.0",
"nodemon": "3.1.0", "nodemon": "3.1.4",
"typescript": "5.4.5" "typescript": "5.5.4"
}, },
"dependencies": { "dependencies": {
"crc-32": "1.2.2", "crc-32": "1.2.2",
"esbuild": "0.21.3", "esbuild": "0.23.0",
"glob": "10.3.16" "glob": "11.0.0"
}, },
"files": [ "files": [
"built" "built"

View File

@ -9,18 +9,18 @@
"lint": "pnpm typecheck && pnpm eslint" "lint": "pnpm typecheck && pnpm eslint"
}, },
"dependencies": { "dependencies": {
"esbuild": "0.21.3", "esbuild": "0.23.0",
"idb-keyval": "6.2.1", "idb-keyval": "6.2.1",
"misskey-js": "workspace:*" "misskey-js": "workspace:*"
}, },
"devDependencies": { "devDependencies": {
"@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/eslint-plugin": "1.0.0",
"@types/serviceworker": "0.0.86", "@types/serviceworker": "0.0.92",
"@typescript-eslint/parser": "7.10.0", "@typescript-eslint/parser": "7.10.0",
"eslint": "8.57.0", "eslint": "8.57.0",
"eslint-plugin-import": "2.29.1", "eslint-plugin-import": "2.29.1",
"nodemon": "3.1.0", "nodemon": "3.1.4",
"typescript": "5.4.5" "typescript": "5.5.4"
}, },
"type": "module" "type": "module"
} }

File diff suppressed because it is too large Load Diff