From b2a28ad9d4773ff1db44ace81bb61dc40cd60132 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 23 Apr 2023 16:24:34 +0900 Subject: [PATCH 01/22] Update about-misskey.vue --- packages/frontend/src/pages/about-misskey.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/frontend/src/pages/about-misskey.vue b/packages/frontend/src/pages/about-misskey.vue index ee0f57969f..5a2b256950 100644 --- a/packages/frontend/src/pages/about-misskey.vue +++ b/packages/frontend/src/pages/about-misskey.vue @@ -132,6 +132,9 @@ const patronsWithIcon = [{ }, { name: 'mollinaca', icon: 'https://misskey-hub.net/patrons/ceb36b8f66e549bdadb3b90d5da62314.jpg', +}, { + name: '坂本龍', + icon: 'https://misskey-hub.net/patrons/a631cf8b490145cf8dbbe4e7508cfbc2.jpg', }]; const patrons = [ From b9b9cd0c78c9697e213780907c20b83006a2c083 Mon Sep 17 00:00:00 2001 From: tamaina Date: Tue, 25 Apr 2023 15:18:03 +0900 Subject: [PATCH 02/22] =?UTF-8?q?enhance(server):=20=E7=92=B0=E5=A2=83?= =?UTF-8?q?=E5=A4=89=E6=95=B0MISSKEY=5FCONFIG=5FYML=E3=81=A7default.yml?= =?UTF-8?q?=E3=82=92=E4=BB=BB=E6=84=8F=E3=81=AEyml=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E5=8F=AF=E8=83=BD=E3=81=AB=20(#10712)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance(server): MISSKEY_CONFIG_YMLでconfigを設定可能に * update changelog --- CHANGELOG.md | 1 + packages/backend/src/config.ts | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97ce4ec7b8..0a8dabfacb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ - 新しい実績を追加 ### Server +- 環境変数MISSKEY_CONFIG_YMLで設定ファイルをdefault.ymlから変更可能に - Fix: エクスポートデータの拡張子がunknownになる問題を修正 - Fix: Content-Dispositionのパースでエラーが発生した場合にダウンロードが完了しない問題を修正 - Fix: API: i/update avatarIdとbannerIdにnullを渡した時、画像がリセットされない問題を修正 diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index e4f7601fa9..b6ec549965 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -4,7 +4,7 @@ import * as fs from 'node:fs'; import { fileURLToPath } from 'node:url'; -import { dirname } from 'node:path'; +import { dirname, resolve } from 'node:path'; import * as yaml from 'js-yaml'; /** @@ -132,10 +132,11 @@ const dir = `${_dirname}/../../../.config`; /** * Path of configuration file */ -const path = process.env.NODE_ENV === 'test' - ? `${dir}/test.yml` - : `${dir}/default.yml`; - +const path = process.env.MISSKEY_CONFIG_YML + ? resolve(dir, process.env.MISSKEY_CONFIG_YML) + : process.env.NODE_ENV === 'test' + ? resolve(dir, 'test.yml') + : resolve(dir, 'config.yml'); export function loadConfig() { const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../built/meta.json`, 'utf-8')); const clientManifestExists = fs.existsSync(_dirname + '/../../../built/_vite_/manifest.json'); From 2aa75f5489b2b22aed427681670b29777e9dad34 Mon Sep 17 00:00:00 2001 From: tamaina Date: Tue, 25 Apr 2023 06:29:27 +0000 Subject: [PATCH 03/22] fix --- 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 b6ec549965..bb97d8c17c 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -136,7 +136,7 @@ const path = process.env.MISSKEY_CONFIG_YML ? resolve(dir, process.env.MISSKEY_CONFIG_YML) : process.env.NODE_ENV === 'test' ? resolve(dir, 'test.yml') - : resolve(dir, 'config.yml'); + : resolve(dir, 'default.yml'); export function loadConfig() { const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../built/meta.json`, 'utf-8')); const clientManifestExists = fs.existsSync(_dirname + '/../../../built/_vite_/manifest.json'); From a986203b38db243147590498bae82c53517d1c70 Mon Sep 17 00:00:00 2001 From: Yuriha <121590760+yuriha-chan@users.noreply.github.com> Date: Wed, 26 Apr 2023 02:17:58 +0900 Subject: [PATCH 04/22] =?UTF-8?q?[fix]=20.wav=20.flac=20=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E3=82=92=E5=86=8D=E7=94=9F=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E3=81=AB=E3=81=99=E3=82=8B=20(#10686)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * .wav .flac ファイルを再生可能にする file-typeにより判定されたMIME TypeをHTML5 Audio/Video要素に認識されるものに書き換える * fix typecheck error * frontend側の FILE_TYPE_BROWSERSAFEも更新 * Update packages/backend/src/core/FileInfoService.ts * :v: * 後方互換を確保 * add tests * update changelog.md --------- Co-authored-by: tamaina --- CHANGELOG.md | 1 + packages/backend/src/const.ts | 5 + packages/backend/src/core/FileInfoService.ts | 25 +- .../backend/src/server/FileServerService.ts | 3 +- .../backend/test/resources/kick_gaba7.aac | Bin 0 -> 7291 bytes .../backend/test/resources/kick_gaba7.flac | Bin 0 -> 108793 bytes .../backend/test/resources/kick_gaba7.mp3 | Bin 0 -> 19853 bytes .../backend/test/resources/kick_gaba7.wav | Bin 0 -> 87630 bytes .../backend/test/resources/kick_gaba7.webm | Bin 0 -> 8879 bytes packages/backend/test/unit/FileInfoService.ts | 413 +++++++++++------- packages/frontend/src/const.ts | 5 + 11 files changed, 292 insertions(+), 160 deletions(-) create mode 100644 packages/backend/test/resources/kick_gaba7.aac create mode 100644 packages/backend/test/resources/kick_gaba7.flac create mode 100644 packages/backend/test/resources/kick_gaba7.mp3 create mode 100644 packages/backend/test/resources/kick_gaba7.wav create mode 100644 packages/backend/test/resources/kick_gaba7.webm diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a8dabfacb..ed2c3158fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ - Fix: Content-Dispositionのパースでエラーが発生した場合にダウンロードが完了しない問題を修正 - Fix: API: i/update avatarIdとbannerIdにnullを渡した時、画像がリセットされない問題を修正 - Fix: 1:1ではない画像のリアクション通知バッジが左や上に寄ってしまっていたのを中央に来るように修正 +- Fix: .wav, .flacが再生できない問題を修正(新しくアップロードされたファイルのみ修正が適用されます) ## 13.11.3 diff --git a/packages/backend/src/const.ts b/packages/backend/src/const.ts index 6c7f214214..ee1a9a3093 100644 --- a/packages/backend/src/const.ts +++ b/packages/backend/src/const.ts @@ -56,6 +56,11 @@ export const FILE_TYPE_BROWSERSAFE = [ 'audio/webm', 'audio/aac', + + // see https://github.com/misskey-dev/misskey/pull/10686 + 'audio/flac', + 'audio/wav', + // backward compatibility 'audio/x-flac', 'audio/vnd.wave', ]; diff --git a/packages/backend/src/core/FileInfoService.ts b/packages/backend/src/core/FileInfoService.ts index e39b134b7e..b6cae5ea75 100644 --- a/packages/backend/src/core/FileInfoService.ts +++ b/packages/backend/src/core/FileInfoService.ts @@ -5,7 +5,7 @@ import * as stream from 'node:stream'; import * as util from 'node:util'; import { Injectable } from '@nestjs/common'; import { FSWatcher } from 'chokidar'; -import { fileTypeFromFile } from 'file-type'; +import * as fileType from 'file-type'; import FFmpeg from 'fluent-ffmpeg'; import isSvg from 'is-svg'; import probeImageSize from 'probe-image-size'; @@ -301,21 +301,34 @@ export class FileInfoService { return fs.promises.access(path).then(() => true, () => false); } + @bindThis + public fixMime(mime: string | fileType.MimeType): string { + // see https://github.com/misskey-dev/misskey/pull/10686 + if (mime === "audio/x-flac") { + return "audio/flac"; + } + if (mime === "audio/vnd.wave") { + return "audio/wav"; + } + + return mime; + } + /** * Detect MIME Type and extension */ @bindThis public async detectType(path: string): Promise<{ - mime: string; - ext: string | null; -}> { + mime: string; + ext: string | null; + }> { // Check 0 byte const fileSize = await this.getFileSize(path); if (fileSize === 0) { return TYPE_OCTET_STREAM; } - const type = await fileTypeFromFile(path); + const type = await fileType.fileTypeFromFile(path); if (type) { // XMLはSVGかもしれない @@ -324,7 +337,7 @@ export class FileInfoService { } return { - mime: type.mime, + mime: this.fixMime(type.mime), ext: type.ext, }; } diff --git a/packages/backend/src/server/FileServerService.ts b/packages/backend/src/server/FileServerService.ts index aa91d936b1..98329ddffa 100644 --- a/packages/backend/src/server/FileServerService.ts +++ b/packages/backend/src/server/FileServerService.ts @@ -454,7 +454,8 @@ export class FileServerService { fileRole: 'original', file, filename: file.name, - mime: file.type, + // 古いファイルは修正前のmimeを持っているのでできるだけ修正してあげる + mime: this.fileInfoService.fixMime(file.type), ext: null, path, }; diff --git a/packages/backend/test/resources/kick_gaba7.aac b/packages/backend/test/resources/kick_gaba7.aac new file mode 100644 index 0000000000000000000000000000000000000000..4644542f9664182a78bc1d8b6116c5706200ced5 GIT binary patch literal 7291 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 literal 0 HcmV?d00001 diff --git a/packages/backend/test/resources/kick_gaba7.flac b/packages/backend/test/resources/kick_gaba7.flac new file mode 100644 index 0000000000000000000000000000000000000000..75128120182a70cec0fcf52efc3df7b77972c38b GIT binary patch literal 108793 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

RqHp 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 H$$%s|WNI6| literal 0 HcmV?d00001 diff --git a/packages/backend/test/resources/kick_gaba7.mp3 b/packages/backend/test/resources/kick_gaba7.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6ba317deb1a04eb62384b2cf0c79c7d901f2bbf1 GIT binary patch literal 19853 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 S`Ljmd&#KqI8I3>5U4H>xRaV;o literal 0 HcmV?d00001 diff --git a/packages/backend/test/resources/kick_gaba7.wav b/packages/backend/test/resources/kick_gaba7.wav new file mode 100644 index 0000000000000000000000000000000000000000..2cd280148e125c77596b97836503b1777f793564 GIT binary patch literal 87630 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 literal 0 HcmV?d00001 diff --git a/packages/backend/test/resources/kick_gaba7.webm b/packages/backend/test/resources/kick_gaba7.webm new file mode 100644 index 0000000000000000000000000000000000000000..82c5349cd4a20dd3d890d57ab61f0354bd846e8a GIT binary patch literal 8879 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 Wnxd+pfV$AXM^jE=z?Bmy^8W%Y1kWn~ literal 0 HcmV?d00001 diff --git a/packages/backend/test/unit/FileInfoService.ts b/packages/backend/test/unit/FileInfoService.ts index d05833560d..f378184c74 100644 --- a/packages/backend/test/unit/FileInfoService.ts +++ b/packages/backend/test/unit/FileInfoService.ts @@ -7,10 +7,10 @@ import { ModuleMocker } from 'jest-mock'; import { Test } from '@nestjs/testing'; import { GlobalModule } from '@/GlobalModule.js'; import { FileInfoService } from '@/core/FileInfoService.js'; -import { DI } from '@/di-symbols.js'; +//import { DI } from '@/di-symbols.js'; import { AiService } from '@/core/AiService.js'; import type { TestingModule } from '@nestjs/testing'; -import type { jest } from '@jest/globals'; +import { describe, beforeAll, afterAll, test } from '@jest/globals'; import type { MockFunctionMetadata } from 'jest-mock'; const _filename = fileURLToPath(import.meta.url); @@ -74,164 +74,271 @@ describe('FileInfoService', () => { }); }); - test('Generic JPEG', async () => { - const path = `${resources}/Lenna.jpg`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 25360, - md5: '091b3f259662aa31e2ffef4519951168', - type: { - mime: 'image/jpeg', - ext: 'jpg', - }, - width: 512, - height: 512, - orientation: undefined, + describe('IMAGE', () => { + test('Generic JPEG', async () => { + const path = `${resources}/Lenna.jpg`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 25360, + md5: '091b3f259662aa31e2ffef4519951168', + type: { + mime: 'image/jpeg', + ext: 'jpg', + }, + width: 512, + height: 512, + orientation: undefined, + }); + }); + + test('Generic APNG', async () => { + const path = `${resources}/anime.png`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 1868, + md5: '08189c607bea3b952704676bb3c979e0', + type: { + mime: 'image/apng', + ext: 'apng', + }, + width: 256, + height: 256, + orientation: undefined, + }); + }); + + test('Generic AGIF', async () => { + const path = `${resources}/anime.gif`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 2248, + md5: '32c47a11555675d9267aee1a86571e7e', + type: { + mime: 'image/gif', + ext: 'gif', + }, + width: 256, + height: 256, + orientation: undefined, + }); + }); + + test('PNG with alpha', async () => { + const path = `${resources}/with-alpha.png`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 3772, + md5: 'f73535c3e1e27508885b69b10cf6e991', + type: { + mime: 'image/png', + ext: 'png', + }, + width: 256, + height: 256, + orientation: undefined, + }); + }); + + test('Generic SVG', async () => { + const path = `${resources}/image.svg`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 505, + md5: 'b6f52b4b021e7b92cdd04509c7267965', + type: { + mime: 'image/svg+xml', + ext: 'svg', + }, + width: 256, + height: 256, + orientation: undefined, + }); + }); + + test('SVG with XML definition', async () => { + // https://github.com/misskey-dev/misskey/issues/4413 + const path = `${resources}/with-xml-def.svg`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 544, + md5: '4b7a346cde9ccbeb267e812567e33397', + type: { + mime: 'image/svg+xml', + ext: 'svg', + }, + width: 256, + height: 256, + orientation: undefined, + }); + }); + + test('Dimension limit', async () => { + const path = `${resources}/25000x25000.png`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 75933, + md5: '268c5dde99e17cf8fe09f1ab3f97df56', + type: { + mime: 'application/octet-stream', // do not treat as image + ext: null, + }, + width: 25000, + height: 25000, + orientation: undefined, + }); + }); + + test('Rotate JPEG', async () => { + const path = `${resources}/rotate.jpg`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + assert.deepStrictEqual(info, { + size: 12624, + md5: '68d5b2d8d1d1acbbce99203e3ec3857e', + type: { + mime: 'image/jpeg', + ext: 'jpg', + }, + width: 512, + height: 256, + orientation: 8, + }); }); }); - test('Generic APNG', async () => { - const path = `${resources}/anime.png`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 1868, - md5: '08189c607bea3b952704676bb3c979e0', - type: { - mime: 'image/apng', - ext: 'apng', - }, - width: 256, - height: 256, - orientation: undefined, + describe('AUDIO', () => { + test('MP3', async () => { + const path = `${resources}/kick_gaba7.mp3`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + delete info.width; + delete info.height; + delete info.orientation; + assert.deepStrictEqual(info, { + size: 19853, + md5: '4f557df8548bc3cecc794c652f690446', + type: { + mime: 'audio/mpeg', + ext: 'mp3', + }, + }); }); - }); - - test('Generic AGIF', async () => { - const path = `${resources}/anime.gif`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 2248, - md5: '32c47a11555675d9267aee1a86571e7e', - type: { - mime: 'image/gif', - ext: 'gif', - }, - width: 256, - height: 256, - orientation: undefined, + + test('WAV', async () => { + const path = `${resources}/kick_gaba7.wav`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + delete info.width; + delete info.height; + delete info.orientation; + assert.deepStrictEqual(info, { + size: 87630, + md5: '8bc9bb4fe5e77bb1871448209be635c1', + type: { + mime: 'audio/wav', + ext: 'wav', + }, + }); }); - }); - - test('PNG with alpha', async () => { - const path = `${resources}/with-alpha.png`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 3772, - md5: 'f73535c3e1e27508885b69b10cf6e991', - type: { - mime: 'image/png', - ext: 'png', - }, - width: 256, - height: 256, - orientation: undefined, + + test('AAC', async () => { + const path = `${resources}/kick_gaba7.aac`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + delete info.width; + delete info.height; + delete info.orientation; + assert.deepStrictEqual(info, { + size: 7291, + md5: '2789323f05e3392b648066f50be6a2a6', + type: { + mime: 'audio/aac', + ext: 'aac', + }, + }); }); - }); - - test('Generic SVG', async () => { - const path = `${resources}/image.svg`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 505, - md5: 'b6f52b4b021e7b92cdd04509c7267965', - type: { - mime: 'image/svg+xml', - ext: 'svg', - }, - width: 256, - height: 256, - orientation: undefined, + + test('FLAC', async () => { + const path = `${resources}/kick_gaba7.flac`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + delete info.width; + delete info.height; + delete info.orientation; + assert.deepStrictEqual(info, { + size: 108793, + md5: 'bc0f3adfe0e1ca99ae6c7528c46b3173', + type: { + mime: 'audio/flac', + ext: 'flac', + }, + }); }); - }); - - test('SVG with XML definition', async () => { - // https://github.com/misskey-dev/misskey/issues/4413 - const path = `${resources}/with-xml-def.svg`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 544, - md5: '4b7a346cde9ccbeb267e812567e33397', - type: { - mime: 'image/svg+xml', - ext: 'svg', - }, - width: 256, - height: 256, - orientation: undefined, - }); - }); - - test('Dimension limit', async () => { - const path = `${resources}/25000x25000.png`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 75933, - md5: '268c5dde99e17cf8fe09f1ab3f97df56', - type: { - mime: 'application/octet-stream', // do not treat as image - ext: null, - }, - width: 25000, - height: 25000, - orientation: undefined, - }); - }); - - test('Rotate JPEG', async () => { - const path = `${resources}/rotate.jpg`; - const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; - delete info.warnings; - delete info.blurhash; - delete info.sensitive; - delete info.porn; - assert.deepStrictEqual(info, { - size: 12624, - md5: '68d5b2d8d1d1acbbce99203e3ec3857e', - type: { - mime: 'image/jpeg', - ext: 'jpg', - }, - width: 512, - height: 256, - orientation: 8, + + /* + * video/webmとして検出されてしまう + test('WEBM AUDIO', async () => { + const path = `${resources}/kick_gaba7.webm`; + const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any; + delete info.warnings; + delete info.blurhash; + delete info.sensitive; + delete info.porn; + delete info.width; + delete info.height; + delete info.orientation; + assert.deepStrictEqual(info, { + size: 8879, + md5: '3350083dec312419cfdc06c16413aca7', + type: { + mime: 'audio/webm', + ext: 'webm', + }, + }); }); + */ }); }); diff --git a/packages/frontend/src/const.ts b/packages/frontend/src/const.ts index 1d1b8fcea4..38af9eac9a 100644 --- a/packages/frontend/src/const.ts +++ b/packages/frontend/src/const.ts @@ -35,6 +35,11 @@ export const FILE_TYPE_BROWSERSAFE = [ 'audio/webm', 'audio/aac', + + // see https://github.com/misskey-dev/misskey/pull/10686 + 'audio/flac', + 'audio/wav', + // backward compatibility 'audio/x-flac', 'audio/vnd.wave', ]; From 52a1d962189489316667949f15bf6346fad8714e Mon Sep 17 00:00:00 2001 From: futchitwo <74236683+futchitwo@users.noreply.github.com> Date: Wed, 26 Apr 2023 14:10:04 +0900 Subject: [PATCH 05/22] fix(play preset): Set failback for notes without text or user.name in Timeline preset (#10718) --- packages/frontend/src/pages/flash/flash-edit.vue | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/pages/flash/flash-edit.vue b/packages/frontend/src/pages/flash/flash-edit.vue index 35edcc7cda..639e351cac 100644 --- a/packages/frontend/src/pages/flash/flash-edit.vue +++ b/packages/frontend/src/pages/flash/flash-edit.vue @@ -305,6 +305,11 @@ const PRESET_TIMELINE = `/// @ 0.13.1 // それぞれのノートごとにUI要素作成 let noteEls = [] each (let note, notes) { + // 表示名を設定していないアカウントはidを表示 + let userName = if Core:type(note.user.name) == "str" note.user.name else note.user.username + // リノートもしくはメディア・投票のみで本文が無いノートに代替表示文を設定 + let noteText = if Core:type(note.text) == "str" note.text else "(リノートもしくはメディア・投票のみのノート)" + let el = Ui:C:container({ bgColor: "#444" fgColor: "#fff" @@ -312,11 +317,11 @@ const PRESET_TIMELINE = `/// @ 0.13.1 rounded: true children: [ Ui:C:mfm({ - text: note.user.name + text: userName bold: true }) Ui:C:mfm({ - text: note.text + text: noteText }) ] }) From 6e0f998fb2cff15f2dec83cbd81b4bd2efe97095 Mon Sep 17 00:00:00 2001 From: tamaina Date: Wed, 26 Apr 2023 15:17:40 +0000 Subject: [PATCH 06/22] test: use pnpm v8 --- .github/workflows/lint.yml | 2 +- .github/workflows/storybook.yml | 2 +- .github/workflows/test-backend.yml | 2 +- .github/workflows/test-frontend.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a15742dba7..0f3702f958 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -17,7 +17,7 @@ jobs: submodules: true - uses: pnpm/action-setup@v2 with: - version: 7 + version: 8 run_install: false - uses: actions/setup-node@v3.6.0 with: diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml index f77daf5868..d5e6769bca 100644 --- a/.github/workflows/storybook.yml +++ b/.github/workflows/storybook.yml @@ -20,7 +20,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2 with: - version: 7 + version: 8 run_install: false - name: Use Node.js 18.x uses: actions/setup-node@v3.6.0 diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index f1e414dbbc..d7be15bd4f 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -35,7 +35,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2 with: - version: 7 + version: 8 run_install: false - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3.6.0 diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml index b0da3769a7..4ea4ba4628 100644 --- a/.github/workflows/test-frontend.yml +++ b/.github/workflows/test-frontend.yml @@ -22,7 +22,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2 with: - version: 7 + version: 8 run_install: false - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3.6.0 From 5124db57d2f2b5db6e8109ae6edf196942bf4d07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=9F=E3=83=BC=E3=81=B3=E3=82=93?= Date: Thu, 27 Apr 2023 19:43:00 +0900 Subject: [PATCH 07/22] fix email test (#10719) --- packages/frontend/src/pages/admin/email-settings.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/frontend/src/pages/admin/email-settings.vue b/packages/frontend/src/pages/admin/email-settings.vue index b742132af6..d51bf6230a 100644 --- a/packages/frontend/src/pages/admin/email-settings.vue +++ b/packages/frontend/src/pages/admin/email-settings.vue @@ -96,7 +96,9 @@ async function testEmail() { const { canceled, result: destination } = await os.inputText({ title: i18n.ts.destination, type: 'email', - placeholder: instance.maintainerEmail, + default: instance.maintainerEmail ?? '', + placeholder: 'test@example.com', + minLength: 1, }); if (canceled) return; os.apiWithDialog('admin/send-email', { From 8fbca63cecfbb6e939360c01f07f5907de437a0f 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, 29 Apr 2023 15:48:06 +0900 Subject: [PATCH 08/22] =?UTF-8?q?feat(client):=20Renote=E3=81=97=E3=81=9F?= =?UTF-8?q?=E4=BA=BA=E3=81=AE=E4=B8=80=E8=A6=A7=E3=82=92=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=83=80=E3=82=A4=E3=82=A2=E3=83=AD=E3=82=B0?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=20(#10647)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * (add) renote user dialog * (change) noteMenu order Co-authored-by: Acid Chicken (硫酸鶏) * (change) menu text * Update CHANGELOG.md * (change) dialog title text * (fix) grammar mistakes in CHANGELOG.md * (change) i18n keys --------- Co-authored-by: Acid Chicken (硫酸鶏) --- CHANGELOG.md | 1 + locales/ja-JP.yml | 2 + .../src/components/MkReactedUsersDialog.vue | 4 +- .../src/components/MkRenotedUsersDialog.vue | 65 +++++++++++++++++++ .../frontend/src/scripts/get-note-menu.ts | 14 +++- 5 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 packages/frontend/src/components/MkRenotedUsersDialog.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index ed2c3158fc..210b1ed5fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ - 1枚だけのメディアリストの画像のアスペクト比を画像に応じて縦長にするように - Fix: リアクションをホバーした時のユーザーリストで猫耳が切れてしまっていた問題を修正 - 新しい実績を追加 +- Renoteしたユーザーの一覧を見れるように ### Server - 環境変数MISSKEY_CONFIG_YMLで設定ファイルをdefault.ymlから変更可能に diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 24a4b9fbb2..1e2019b8f0 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1007,6 +1007,8 @@ accountMoved: "このユーザーは新しいアカウントに引っ越しま forceShowAds: "常に広告を表示する" addMemo: "メモを追加" editMemo: "メモを編集" +reactionsList: "リアクション一覧" +renotesList: "Renote一覧" notificationDisplay: "通知の表示" leftTop: "左上" rightTop: "右上" diff --git a/packages/frontend/src/components/MkReactedUsersDialog.vue b/packages/frontend/src/components/MkReactedUsersDialog.vue index 1506e24ce8..0c0cc36692 100644 --- a/packages/frontend/src/components/MkReactedUsersDialog.vue +++ b/packages/frontend/src/components/MkReactedUsersDialog.vue @@ -6,7 +6,7 @@ @close="dialog.close()" @closed="emit('closed')" > - +

- + diff --git a/packages/frontend/src/components/MkRenotedUsersDialog.vue b/packages/frontend/src/components/MkRenotedUsersDialog.vue new file mode 100644 index 0000000000..56025535f1 --- /dev/null +++ b/packages/frontend/src/components/MkRenotedUsersDialog.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/packages/frontend/src/scripts/get-note-menu.ts b/packages/frontend/src/scripts/get-note-menu.ts index d91f0b0eb6..c8a6100253 100644 --- a/packages/frontend/src/scripts/get-note-menu.ts +++ b/packages/frontend/src/scripts/get-note-menu.ts @@ -211,6 +211,12 @@ export function getNoteMenu(props: { }, {}, 'closed'); } + function showRenotes(): void { + os.popup(defineAsyncComponent(() => import('@/components/MkRenotedUsersDialog.vue')), { + noteId: appearNote.id, + }, {}, 'closed'); + } + async function translate(): Promise { if (props.translation.value != null) return; props.translating.value = true; @@ -241,8 +247,12 @@ export function getNoteMenu(props: { text: i18n.ts.details, action: openDetail, }, { - icon: 'ti ti-users', - text: i18n.ts.reactions, + icon: 'ti ti-repeat', + text: i18n.ts.renotesList, + action: showRenotes, + }, { + icon: 'ti ti-icons', + text: i18n.ts.reactionsList, action: showReactions, }, { icon: 'ti ti-copy', From 0ad7869249c8594277afc0aa707c05ac2ed633cf Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 29 Apr 2023 17:03:14 +0900 Subject: [PATCH 09/22] feat: preserved usernames Resolve #10704 --- CHANGELOG.md | 1 + locales/ja-JP.yml | 2 ++ .../migration/1682754135458-preservedUsernames.js | 11 +++++++++++ packages/backend/src/core/SignupService.ts | 15 +++++++++++++-- packages/backend/src/models/entities/Meta.ts | 5 +++++ .../backend/src/server/api/SignupApiService.ts | 7 ++++++- .../server/api/endpoints/admin/accounts/create.ts | 1 + .../src/server/api/endpoints/admin/meta.ts | 9 +++++++++ .../src/server/api/endpoints/admin/update-meta.ts | 5 +++++ .../server/api/endpoints/username/available.ts | 9 +++++++-- packages/frontend/src/pages/admin/moderation.vue | 9 ++++++++- 11 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 packages/backend/migration/1682754135458-preservedUsernames.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 210b1ed5fe..4704c8050f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - ロールタイムラインをロールごとに表示するかどうかの選択できるようになりました。 * デフォルトがオフになるので、ロールタイムラインを表示する場合はオンにしてください。 - カスタム絵文字のライセンスを複数でセットできるようになりました。 +- 管理者が予約ユーザー名を設定できるようになりました。 ### Client - 通知の表示をカスタマイズできるように diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 1e2019b8f0..5e2e83fb19 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1022,6 +1022,8 @@ serverRules: "サーバールール" pleaseConfirmBelowBeforeSignup: "このサーバーに登録する前に、以下を確認してください。" pleaseAgreeAllToContinue: "続けるには、全ての「同意する」にチェックが入っている必要があります。" continue: "続ける" +preservedUsernames: "予約ユーザー名" +preservedUsernamesDescription: "予約するユーザー名を改行で列挙します。ここで指定されたユーザー名はアカウント作成時に使えなくなりますが、管理者によるアカウント作成自はこの制限を受けません。また、既に存在するアカウントも影響を受けません。" _serverRules: description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。" diff --git a/packages/backend/migration/1682754135458-preservedUsernames.js b/packages/backend/migration/1682754135458-preservedUsernames.js new file mode 100644 index 0000000000..46a0826f43 --- /dev/null +++ b/packages/backend/migration/1682754135458-preservedUsernames.js @@ -0,0 +1,11 @@ +export class PreservedUsernames1682754135458 { + name = 'PreservedUsernames1682754135458' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "preservedUsernames" character varying(1024) array NOT NULL DEFAULT '{ "admin", "administrator", "root", "system", "maintainer", "host", "mod", "moderator", "owner", "superuser", "staff", "auth", "i", "me", "everyone", "all", "mention", "mentions", "example", "user", "users", "account", "accounts", "official", "help", "helps", "support", "supports", "info", "information", "informations", "announce", "announces", "announcement", "announcements", "notice", "notification", "notifications", "dev", "developer", "developers", "tech", "misskey" }'`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "preservedUsernames"`); + } +} diff --git a/packages/backend/src/core/SignupService.ts b/packages/backend/src/core/SignupService.ts index d7bc05b8bd..2b8387f89c 100644 --- a/packages/backend/src/core/SignupService.ts +++ b/packages/backend/src/core/SignupService.ts @@ -13,8 +13,9 @@ import { UsedUsername } from '@/models/entities/UsedUsername.js'; import generateUserToken from '@/misc/generate-native-user-token.js'; import { UserEntityService } from '@/core/entities/UserEntityService.js'; import { bindThis } from '@/decorators.js'; -import UsersChart from './chart/charts/users.js'; -import { UtilityService } from './UtilityService.js'; +import UsersChart from '@/core/chart/charts/users.js'; +import { UtilityService } from '@/core/UtilityService.js'; +import { MetaService } from '@/core/MetaService.js'; @Injectable() export class SignupService { @@ -34,6 +35,7 @@ export class SignupService { private utilityService: UtilityService, private userEntityService: UserEntityService, private idService: IdService, + private metaService: MetaService, private usersChart: UsersChart, ) { } @@ -44,6 +46,7 @@ export class SignupService { password?: string | null; passwordHash?: UserProfile['password'] | null; host?: string | null; + ignorePreservedUsernames?: boolean; }) { const { username, password, passwordHash, host } = opts; let hash = passwordHash; @@ -76,6 +79,14 @@ export class SignupService { if (await this.usedUsernamesRepository.findOneBy({ username: username.toLowerCase() })) { throw new Error('USED_USERNAME'); } + + if (!opts.ignorePreservedUsernames) { + const instance = await this.metaService.fetch(true); + const isPreserved = instance.preservedUsernames.map(x => x.toLowerCase()).includes(username.toLowerCase()); + if (isPreserved) { + throw new Error('USED_USERNAME'); + } + } const keyPair = await new Promise((res, rej) => generateKeyPair('rsa', { diff --git a/packages/backend/src/models/entities/Meta.ts b/packages/backend/src/models/entities/Meta.ts index c8df141a0b..6d44e4edc7 100644 --- a/packages/backend/src/models/entities/Meta.ts +++ b/packages/backend/src/models/entities/Meta.ts @@ -412,4 +412,9 @@ export class Meta { default: '{}', }) public serverRules: string[]; + + @Column('varchar', { + length: 1024, array: true, default: '{ "admin", "administrator", "root", "system", "maintainer", "host", "mod", "moderator", "owner", "superuser", "staff", "auth", "i", "me", "everyone", "all", "mention", "mentions", "example", "user", "users", "account", "accounts", "official", "help", "helps", "support", "supports", "info", "information", "informations", "announce", "announces", "announcement", "announcements", "notice", "notification", "notifications", "dev", "developer", "developers", "tech", "misskey" }', + }) + public preservedUsernames: string[]; } diff --git a/packages/backend/src/server/api/SignupApiService.ts b/packages/backend/src/server/api/SignupApiService.ts index fbabf47aff..f44e71771c 100644 --- a/packages/backend/src/server/api/SignupApiService.ts +++ b/packages/backend/src/server/api/SignupApiService.ts @@ -1,6 +1,7 @@ import { Inject, Injectable } from '@nestjs/common'; import rndstr from 'rndstr'; import bcrypt from 'bcryptjs'; +import { IsNull } from 'typeorm'; import { DI } from '@/di-symbols.js'; import type { RegistrationTicketsRepository, UsedUsernamesRepository, UserPendingsRepository, UserProfilesRepository, UsersRepository } from '@/models/index.js'; import type { Config } from '@/config.js'; @@ -15,7 +16,6 @@ import { FastifyReplyError } from '@/misc/fastify-reply-error.js'; import { bindThis } from '@/decorators.js'; import { SigninService } from './SigninService.js'; import type { FastifyRequest, FastifyReply } from 'fastify'; -import { IsNull } from 'typeorm'; @Injectable() export class SignupApiService { @@ -137,6 +137,11 @@ export class SignupApiService { throw new FastifyReplyError(400, 'USED_USERNAME'); } + const isPreserved = instance.preservedUsernames.map(x => x.toLowerCase()).includes(username.toLowerCase()); + if (isPreserved) { + throw new FastifyReplyError(400, 'USED_USERNAME'); + } + const code = rndstr('a-z0-9', 16); // Generate hash of password diff --git a/packages/backend/src/server/api/endpoints/admin/accounts/create.ts b/packages/backend/src/server/api/endpoints/admin/accounts/create.ts index bac8ae16e5..8a3541dffe 100644 --- a/packages/backend/src/server/api/endpoints/admin/accounts/create.ts +++ b/packages/backend/src/server/api/endpoints/admin/accounts/create.ts @@ -52,6 +52,7 @@ export default class extends Endpoint { const { account, secret } = await this.signupService.signup({ username: ps.username, password: ps.password, + ignorePreservedUsernames: true, }); const res = await this.userEntityService.pack(account, account, { diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index fc318a621a..87a2d22ac2 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -118,6 +118,14 @@ export const meta = { optional: false, nullable: false, }, }, + preservedUsernames: { + type: 'array', + optional: false, nullable: false, + items: { + type: 'string', + optional: false, nullable: false, + }, + }, hcaptchaSecretKey: { type: 'string', optional: true, nullable: true, @@ -311,6 +319,7 @@ export default class extends Endpoint { hiddenTags: instance.hiddenTags, blockedHosts: instance.blockedHosts, sensitiveWords: instance.sensitiveWords, + preservedUsernames: instance.preservedUsernames, hcaptchaSecretKey: instance.hcaptchaSecretKey, recaptchaSecretKey: instance.recaptchaSecretKey, turnstileSecretKey: instance.turnstileSecretKey, diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index ae2fc84b50..0e94f56cfd 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -95,6 +95,7 @@ export const paramDef = { enableChartsForRemoteUser: { type: 'boolean' }, enableChartsForFederatedInstances: { type: 'boolean' }, serverRules: { type: 'array', items: { type: 'string' } }, + preservedUsernames: { type: 'array', items: { type: 'string' } }, }, required: [], } as const; @@ -392,6 +393,10 @@ export default class extends Endpoint { set.serverRules = ps.serverRules; } + if (ps.preservedUsernames !== undefined) { + set.preservedUsernames = ps.preservedUsernames; + } + await this.metaService.update(set); this.moderationLogService.insertModerationLog(me, 'updateMeta'); }); diff --git a/packages/backend/src/server/api/endpoints/username/available.ts b/packages/backend/src/server/api/endpoints/username/available.ts index c80b6efdcd..6293c5cb50 100644 --- a/packages/backend/src/server/api/endpoints/username/available.ts +++ b/packages/backend/src/server/api/endpoints/username/available.ts @@ -4,6 +4,7 @@ import type { UsedUsernamesRepository, UsersRepository } from '@/models/index.js import { Endpoint } from '@/server/api/endpoint-base.js'; import { localUsernameSchema } from '@/models/entities/User.js'; import { DI } from '@/di-symbols.js'; +import { MetaService } from '@/core/MetaService.js'; export const meta = { tags: ['users'], @@ -39,9 +40,10 @@ export default class extends Endpoint { @Inject(DI.usedUsernamesRepository) private usedUsernamesRepository: UsedUsernamesRepository, + + private metaService: MetaService, ) { super(meta, paramDef, async (ps, me) => { - // Get exist const exist = await this.usersRepository.countBy({ host: IsNull(), usernameLower: ps.username.toLowerCase(), @@ -49,8 +51,11 @@ export default class extends Endpoint { const exist2 = await this.usedUsernamesRepository.countBy({ username: ps.username.toLowerCase() }); + const meta = await this.metaService.fetch(); + const isPreserved = meta.preservedUsernames.map(x => x.toLowerCase()).includes(ps.username.toLowerCase()); + return { - available: exist === 0 && exist2 === 0, + available: exist === 0 && exist2 === 0 && !isPreserved, }; }); } diff --git a/packages/frontend/src/pages/admin/moderation.vue b/packages/frontend/src/pages/admin/moderation.vue index e7e3cb5368..1ee07d383e 100644 --- a/packages/frontend/src/pages/admin/moderation.vue +++ b/packages/frontend/src/pages/admin/moderation.vue @@ -12,6 +12,10 @@ + + + + @@ -46,14 +50,16 @@ import { fetchInstance } from '@/instance'; import { i18n } from '@/i18n'; import { definePageMetadata } from '@/scripts/page-metadata'; import MkButton from '@/components/MkButton.vue'; -import FormLink from "@/components/form/link.vue"; +import FormLink from '@/components/form/link.vue'; let sensitiveWords: string = $ref(''); +let preservedUsernames: string = $ref(''); let tosUrl: string | null = $ref(null); async function init() { const meta = await os.api('admin/meta'); sensitiveWords = meta.sensitiveWords.join('\n'); + preservedUsernames = meta.preservedUsernames.join('\n'); tosUrl = meta.tosUrl; } @@ -61,6 +67,7 @@ function save() { os.apiWithDialog('admin/update-meta', { tosUrl, sensitiveWords: sensitiveWords.split('\n'), + preservedUsernames: preservedUsernames.split('\n'), }).then(() => { fetchInstance(); }); From 8fb5457c0198c7c45b888ddb742793d546cd68b8 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 29 Apr 2023 18:28:25 +0900 Subject: [PATCH 10/22] [ci skip] fix typo --- locales/ja-JP.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 5e2e83fb19..02ebacbca0 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1023,7 +1023,7 @@ pleaseConfirmBelowBeforeSignup: "このサーバーに登録する前に、以 pleaseAgreeAllToContinue: "続けるには、全ての「同意する」にチェックが入っている必要があります。" continue: "続ける" preservedUsernames: "予約ユーザー名" -preservedUsernamesDescription: "予約するユーザー名を改行で列挙します。ここで指定されたユーザー名はアカウント作成時に使えなくなりますが、管理者によるアカウント作成自はこの制限を受けません。また、既に存在するアカウントも影響を受けません。" +preservedUsernamesDescription: "予約するユーザー名を改行で列挙します。ここで指定されたユーザー名はアカウント作成時に使えなくなりますが、管理者によるアカウント作成時はこの制限を受けません。また、既に存在するアカウントも影響を受けません。" _serverRules: description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。" From e2d9c0efe2e7435c0b84ed608257593ad76bb456 Mon Sep 17 00:00:00 2001 From: okayurisotto Date: Sat, 29 Apr 2023 19:24:33 +0900 Subject: [PATCH 11/22] =?UTF-8?q?fix(backend):=20`alsoKnownAs`=E3=81=AE?= =?UTF-8?q?=E8=AA=A4=E3=81=A3=E3=81=9F=E5=AE=9A=E7=BE=A9=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=20(#10725)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/backend/src/models/json-schema/user.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/models/json-schema/user.ts b/packages/backend/src/models/json-schema/user.ts index 836368886e..895934f8bd 100644 --- a/packages/backend/src/models/json-schema/user.ts +++ b/packages/backend/src/models/json-schema/user.ts @@ -80,9 +80,14 @@ export const packedUserDetailedNotMeOnlySchema = { }, alsoKnownAs: { type: 'array', - format: 'uri', nullable: true, optional: false, + items: { + type: 'string', + format: 'uri', + nullable: false, + optional: false, + }, }, createdAt: { type: 'string', From 9d5911d4e436859127f38d5fcdaa6cb5ce6d01e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?= Date: Sat, 29 Apr 2023 22:57:46 +0900 Subject: [PATCH 12/22] feat: make `MkImgWithBlurhash` transitionable (#10500) * feat: make `MkImgWithBlurhash` animatable * refactor: split out transition styles * fix: bug * test: waitFor image loads * style: remove unused await * fix * fix type error --------- Co-authored-by: tamaina --- .../MkGalleryPostPreview.stories.impl.ts | 8 +-- .../src/components/MkGalleryPostPreview.vue | 52 ++++++++++++++----- .../src/components/MkImgWithBlurhash.vue | 52 ++++++++++++++++--- 3 files changed, 88 insertions(+), 24 deletions(-) diff --git a/packages/frontend/src/components/MkGalleryPostPreview.stories.impl.ts b/packages/frontend/src/components/MkGalleryPostPreview.stories.impl.ts index e46a708192..57b3e75513 100644 --- a/packages/frontend/src/components/MkGalleryPostPreview.stories.impl.ts +++ b/packages/frontend/src/components/MkGalleryPostPreview.stories.impl.ts @@ -28,9 +28,11 @@ export const Default = { async play({ canvasElement }) { const canvas = within(canvasElement); const links = canvas.getAllByRole('link'); - await expect(links).toHaveLength(2); - await expect(links[0]).toHaveAttribute('href', `/gallery/${galleryPost().id}`); - await expect(links[1]).toHaveAttribute('href', `/@${galleryPost().user.username}@${galleryPost().user.host}`); + expect(links).toHaveLength(2); + expect(links[0]).toHaveAttribute('href', `/gallery/${galleryPost().id}`); + expect(links[1]).toHaveAttribute('href', `/@${galleryPost().user.username}@${galleryPost().user.host}`); + const images = canvas.getAllByRole('img'); + await waitFor(() => expect(Promise.all(images.map((image) => image.decode()))).resolves.toBeDefined()); }, args: { post: galleryPost(), diff --git a/packages/frontend/src/components/MkGalleryPostPreview.vue b/packages/frontend/src/components/MkGalleryPostPreview.vue index 944f5ad97b..4f8f7b945a 100644 --- a/packages/frontend/src/components/MkGalleryPostPreview.vue +++ b/packages/frontend/src/components/MkGalleryPostPreview.vue @@ -1,9 +1,21 @@