diff --git a/CHANGELOG.md b/CHANGELOG.md index 698b0900c..f37b9b383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,8 @@ - Enhance: フォローするかどうかの確認ダイアログを出せるように - Enhance: Playを手動でリロードできるように - Enhance: 通報のコメント内のリンクをクリックした際、ウィンドウで開くように -- Chore: AiScriptを0.18.0にバージョンアップ +- Enhance: `Ui:C:postForm` および `Ui:C:postFormButton` に `localOnly` と `visibility` を設定できるように +- Enhance: AiScriptを0.18.0にバージョンアップ - Fix: 一部のページ内リンクが正しく動作しない問題を修正 - Fix: 周年の実績が閏年を考慮しない問題を修正 - Fix: ローカルURLのプレビューポップアップが左上に表示される @@ -62,6 +63,8 @@ ### Server - Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに - Enhance: misskey-dev/summaly@5.1.0の取り込み(プレビュー生成処理の効率化) +- Enhance: ドライブのファイルがNSFWかどうか個別に連合されるように (#13756) + - 可能な場合、ノートの添付ファイルのセンシティブ判定がファイル単位になります - Fix: リモートから配送されたアクティビティにJSON-LD compactionをかける - Fix: フォローリクエストを作成する際に既存のものは削除するように (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/440) @@ -77,8 +80,6 @@ - Fix: グローバルタイムラインで返信が表示されないことがある問題を修正 - Fix: リノートをミュートしたユーザの投稿のリノートがミュートされる問題を修正 - Fix: AP Link等は添付ファイル扱いしないようになど (#13754) -- Enhance: ドライブのファイルがNSFWかどうか個別に連合されるように (#13756) - - 可能な場合、ノートの添付ファイルのセンシティブ判定がファイル単位になります ## 2024.3.1 diff --git a/package.json b/package.json index db86db250..399b3a3a3 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "git", "url": "https://github.com/MisskeyIO/misskey.git" }, - "packageManager": "pnpm@9.0.6", + "packageManager": "pnpm@9.1.0", "workspaces": [ "packages/frontend", "packages/backend", @@ -48,6 +48,7 @@ "resolutions": { "@tensorflow/tfjs-core": "4.19.0", "chokidar": "3.6.0", + "esbuild": "0.21.1", "lodash": "4.17.21", "sharp": "0.33.3" }, @@ -60,11 +61,11 @@ "typescript": "5.4.5" }, "devDependencies": { - "@types/node": "20.12.8", + "@types/node": "20.12.11", "@typescript-eslint/eslint-plugin": "7.8.0", "@typescript-eslint/parser": "7.8.0", "cross-env": "7.0.3", - "cypress": "13.8.1", + "cypress": "13.9.0", "eslint": "8.57.0", "ncp": "2.0.0", "start-server-and-test": "2.0.3" diff --git a/packages/backend/package.json b/packages/backend/package.json index 787af1875..991fcf500 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -35,17 +35,17 @@ }, "optionalDependencies": { "@swc/core-android-arm64": "1.3.11", - "@swc/core-darwin-arm64": "1.5.2", - "@swc/core-darwin-x64": "1.5.0", + "@swc/core-darwin-arm64": "1.5.5", + "@swc/core-darwin-x64": "1.5.5", "@swc/core-freebsd-x64": "1.3.11", - "@swc/core-linux-arm-gnueabihf": "1.5.2", - "@swc/core-linux-arm64-gnu": "1.5.2", - "@swc/core-linux-arm64-musl": "1.5.2", - "@swc/core-linux-x64-gnu": "1.5.2", - "@swc/core-linux-x64-musl": "1.5.2", - "@swc/core-win32-arm64-msvc": "1.5.2", - "@swc/core-win32-ia32-msvc": "1.5.2", - "@swc/core-win32-x64-msvc": "1.5.2", + "@swc/core-linux-arm-gnueabihf": "1.5.5", + "@swc/core-linux-arm64-gnu": "1.5.5", + "@swc/core-linux-arm64-musl": "1.5.5", + "@swc/core-linux-x64-gnu": "1.5.5", + "@swc/core-linux-x64-musl": "1.5.5", + "@swc/core-win32-arm64-msvc": "1.5.5", + "@swc/core-win32-ia32-msvc": "1.5.5", + "@swc/core-win32-x64-msvc": "1.5.5", "@tensorflow/tfjs": "4.19.0", "@tensorflow/tfjs-node": "4.19.0", "bufferutil": "4.0.8", @@ -68,9 +68,9 @@ "@authenio/samlify-node-xmllint": "2.0.0", "@aws-sdk/client-s3": "3.569.0", "@aws-sdk/lib-storage": "3.569.0", - "@bull-board/api": "5.17.0", - "@bull-board/fastify": "5.17.0", - "@bull-board/ui": "5.17.0", + "@bull-board/api": "5.17.1", + "@bull-board/fastify": "5.17.1", + "@bull-board/ui": "5.17.1", "@discordapp/twemoji": "15.0.3", "@fastify/accepts": "4.3.0", "@fastify/cookie": "9.3.1", @@ -79,7 +79,7 @@ "@fastify/formbody": "7.4.0", "@fastify/http-proxy": "9.5.0", "@fastify/multipart": "8.2.0", - "@fastify/static": "7.0.3", + "@fastify/static": "7.0.4", "@fastify/view": "9.1.0", "@misskey-dev/sharp-read-bmp": "1.2.0", "@misskey-dev/summaly": "5.1.0", @@ -92,7 +92,7 @@ "@sinonjs/fake-timers": "11.2.2", "@smithy/node-http-handler": "2.5.0", "@swc/cli": "0.3.12", - "@swc/core": "1.4.17", + "@swc/core": "1.5.5", "@twemoji/parser": "15.1.1", "accepts": "1.3.8", "ajv": "8.13.0", @@ -112,7 +112,7 @@ "content-disposition": "0.5.4", "date-fns": "3.6.0", "deep-email-validator": "0.1.21", - "fastify": "4.26.2", + "fastify": "4.27.0", "fastify-http-errors-enhanced": "5.0.4", "fastify-raw-body": "4.3.0", "feed": "4.2.2", @@ -120,7 +120,7 @@ "fluent-ffmpeg": "2.1.2", "form-data": "4.0.0", "got": "14.2.1", - "happy-dom": "14.7.1", + "happy-dom": "14.10.1", "hpagent": "1.2.0", "htmlescape": "1.1.1", "http-link-header": "1.1.3", @@ -134,7 +134,7 @@ "json5": "2.2.3", "jsonld": "8.3.2", "jsrsasign": "11.1.0", - "meilisearch": "0.38.0", + "meilisearch": "0.39.0", "mfm-js": "0.24.0", "microformats-parser": "2.0.2", "mime-types": "2.1.35", @@ -151,7 +151,7 @@ "oauth2orize": "1.12.0", "oauth2orize-pkce": "0.1.2", "os-utils": "0.0.14", - "otpauth": "9.2.3", + "otpauth": "9.2.4", "parse5": "7.1.2", "pg": "8.11.5", "pino": "9.0.0", @@ -164,7 +164,7 @@ "qrcode": "1.5.3", "random-seed": "0.3.0", "ratelimiter": "3.4.1", - "re2": "1.20.10", + "re2": "1.20.11", "redis-lock": "0.1.4", "reflect-metadata": "0.2.2", "rename": "1.0.4", @@ -177,7 +177,7 @@ "slacc": "0.0.10", "strict-event-emitter-types": "2.0.0", "stringz": "2.1.0", - "systeminformation": "5.22.7", + "systeminformation": "5.22.8", "tinycolor2": "1.6.0", "tmp": "0.2.3", "tsc-alias": "1.8.8", @@ -213,13 +213,13 @@ "@types/jsrsasign": "10.5.14", "@types/mime-types": "2.1.4", "@types/ms": "0.7.34", - "@types/node": "20.12.8", + "@types/node": "20.12.11", "@types/node-forge": "1.3.11", "@types/nodemailer": "6.4.15", "@types/oauth": "0.9.4", "@types/oauth2orize": "1.11.5", "@types/oauth2orize-pkce": "0.1.2", - "@types/pg": "8.11.5", + "@types/pg": "8.11.6", "@types/pug": "2.0.10", "@types/punycode": "2.1.4", "@types/qrcode": "1.5.5", diff --git a/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts b/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts index 7e654b3be..df0c501be 100644 --- a/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts +++ b/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts @@ -96,9 +96,10 @@ export default class extends Endpoint { } const keyInfo = await this.webAuthnService.verifyRegistration(me.id, ps.credential); + const keyId = keyInfo.credentialID; await this.userSecurityKeysRepository.insert({ - id: keyInfo.credentialID, + id: keyId, userId: me.id, name: ps.name, publicKey: Buffer.from(keyInfo.credentialPublicKey).toString('base64url'), @@ -115,7 +116,7 @@ export default class extends Endpoint { })); return { - id: keyInfo.credentialID, + id: keyId, name: ps.name, }; }); diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts index a9ddaf4f1..fb78ed75b 100644 --- a/packages/backend/src/server/web/ClientServerService.ts +++ b/packages/backend/src/server/web/ClientServerService.ts @@ -199,6 +199,11 @@ export class ClientServerService { // Authenticate fastify.addHook('onRequest', async (request, reply) => { + if (request.routeOptions.url == null) { + reply.code(404).send('Not found'); + return; + } + // %71ueueとかでリクエストされたら困るため const url = decodeURI(request.routeOptions.url ?? ''); if (url === bullBoardPath || url.startsWith(bullBoardPath + '/')) { diff --git a/packages/frontend/package.json b/packages/frontend/package.json index e3c3590ea..f96cb122d 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -41,7 +41,7 @@ "chartjs-chart-matrix": "2.0.1", "chartjs-plugin-gradient": "0.6.1", "chartjs-plugin-zoom": "2.0.1", - "chromatic": "11.3.0", + "chromatic": "11.3.1", "compare-versions": "6.1.0", "cropperjs": "2.0.0-beta.4", "date-fns": "3.6.0", @@ -61,7 +61,7 @@ "punycode": "2.3.1", "rollup": "4.17.2", "sanitize-html": "2.13.0", - "sass": "1.76.0", + "sass": "1.77.0", "shiki": "1.4.0", "strict-event-emitter-types": "2.0.0", "textarea-caret": "3.1.0", @@ -72,7 +72,7 @@ "tsconfig-paths": "4.2.0", "typescript": "5.4.5", "uuid": "9.0.1", - "v-code-diff": "1.11.0", + "v-code-diff": "1.12.0", "vite": "5.2.11", "vue": "3.4.15", "vuedraggable": "next" @@ -80,30 +80,30 @@ "devDependencies": { "@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/summaly": "5.1.0", - "@storybook/addon-actions": "8.0.9", - "@storybook/addon-essentials": "8.0.9", - "@storybook/addon-interactions": "8.0.9", - "@storybook/addon-links": "8.0.9", - "@storybook/addon-mdx-gfm": "8.0.9", - "@storybook/addon-storysource": "8.0.9", - "@storybook/blocks": "8.0.9", - "@storybook/components": "8.0.9", - "@storybook/core-events": "8.0.9", - "@storybook/manager-api": "8.0.9", - "@storybook/preview-api": "8.0.9", - "@storybook/react": "8.0.9", - "@storybook/react-vite": "8.0.9", - "@storybook/test": "8.0.9", - "@storybook/theming": "8.0.9", - "@storybook/types": "8.0.9", - "@storybook/vue3": "8.0.9", - "@storybook/vue3-vite": "8.0.9", + "@storybook/addon-actions": "8.0.10", + "@storybook/addon-essentials": "8.0.10", + "@storybook/addon-interactions": "8.0.10", + "@storybook/addon-links": "8.0.10", + "@storybook/addon-mdx-gfm": "8.0.10", + "@storybook/addon-storysource": "8.0.10", + "@storybook/blocks": "8.0.10", + "@storybook/components": "8.0.10", + "@storybook/core-events": "8.0.10", + "@storybook/manager-api": "8.0.10", + "@storybook/preview-api": "8.0.10", + "@storybook/react": "8.0.10", + "@storybook/react-vite": "8.0.10", + "@storybook/test": "8.0.10", + "@storybook/theming": "8.0.10", + "@storybook/types": "8.0.10", + "@storybook/vue3": "8.0.10", + "@storybook/vue3-vite": "8.0.10", "@testing-library/vue": "8.0.3", "@types/escape-regexp": "0.0.3", "@types/estree": "1.0.5", "@types/matter-js": "0.19.6", "@types/micromatch": "4.0.7", - "@types/node": "20.12.8", + "@types/node": "20.12.11", "@types/punycode": "2.1.4", "@types/sanitize-html": "2.11.0", "@types/throttle-debounce": "5.0.2", @@ -116,22 +116,22 @@ "@vue/runtime-core": "3.4.15", "acorn": "8.11.3", "cross-env": "7.0.3", - "cypress": "13.8.1", + "cypress": "13.9.0", "eslint": "8.57.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-vue": "9.25.0", "fast-glob": "3.3.2", - "happy-dom": "14.7.1", + "happy-dom": "14.10.1", "intersection-observer": "0.12.2", "micromatch": "4.0.5", - "msw": "2.2.14", - "msw-storybook-addon": "2.0.1", + "msw": "2.3.0", + "msw-storybook-addon": "2.0.2", "nodemon": "3.1.0", "prettier": "3.2.5", "react": "18.3.1", "react-dom": "18.3.1", "start-server-and-test": "2.0.3", - "storybook": "8.0.9", + "storybook": "8.0.10", "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", "vite-plugin-turbosnap": "1.0.3", "vitest": "0.34.6", diff --git a/packages/frontend/src/components/MkAbuseReport.vue b/packages/frontend/src/components/MkAbuseReport.vue index 819e32195..b9f872107 100644 --- a/packages/frontend/src/components/MkAbuseReport.vue +++ b/packages/frontend/src/components/MkAbuseReport.vue @@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +

{{ i18n.ts.reporter }}: @{{ report.reporter.username }}
diff --git a/packages/frontend/src/components/MkAsUi.vue b/packages/frontend/src/components/MkAsUi.vue index 5eb77740b..18e8e7542 100644 --- a/packages/frontend/src/components/MkAsUi.vue +++ b/packages/frontend/src/components/MkAsUi.vue @@ -44,6 +44,8 @@ SPDX-License-Identifier: AGPL-3.0-only :instant="true" :initialText="c.form?.text" :initialCw="c.form?.cw" + :initialVisibility="c.form?.visibility" + :initialLocalOnly="c.form?.localOnly" />
@@ -111,6 +113,8 @@ function openPostForm() { os.post({ initialText: form.text, initialCw: form.cw, + initialVisibility: form.visibility, + initialLocalOnly: form.localOnly, instant: true, }); } diff --git a/packages/frontend/src/components/MkLink.vue b/packages/frontend/src/components/MkLink.vue index e4fdaab29..15cf16e16 100644 --- a/packages/frontend/src/components/MkLink.vue +++ b/packages/frontend/src/components/MkLink.vue @@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only :[attr]="self ? url.substring(local.length) : url" :rel="rel ?? 'nofollow noopener'" :target="target" - :behavior="props.behavior" + :behavior="props.navigationBehavior" :title="url" @click="(ev: MouseEvent) => warningExternalWebsite(ev, url)" > @@ -33,7 +33,7 @@ import { MkABehavior } from '@/components/global/MkA.vue'; const props = withDefaults(defineProps<{ url: string; rel?: null | string; - behavior?: MkABehavior; + navigationBehavior?: MkABehavior; }>(), { }); diff --git a/packages/frontend/src/components/MkMention.vue b/packages/frontend/src/components/MkMention.vue index cbefecf03..bfb49a416 100644 --- a/packages/frontend/src/components/MkMention.vue +++ b/packages/frontend/src/components/MkMention.vue @@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only -->