diff --git a/CHANGELOG.md b/CHANGELOG.md index deae7133f3..24271d7fa0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 2026.1.0 +## 2026.2.0 ### Note - `users/following` の `birthday` プロパティは非推奨になりました。代わりに `users/get-following-birthday-users` をご利用ください。 @@ -7,6 +7,7 @@ - Enhance: 「もうすぐ誕生日のユーザー」ウィジェットで、誕生日が至近のユーザーも表示できるように (Cherry-picked from https://github.com/MisskeyIO/misskey) - 「今日誕生日のユーザー」は「もうすぐ誕生日のユーザー」に名称変更されました +- Fix: ユーザーハッシュタグページでユーザーの読み込みが重複する問題を修正 - 依存関係の更新 ### Client @@ -26,11 +27,14 @@ - Fix: mCaptchaが正しく動作しない問題を修正 - Fix: 非ログイン時にリバーシの対局が表示されない問題を修正 - Fix: ノートの詳細表示でリアクションが全件表示されない問題を修正 +- Fix: 動画埋め込みプレイヤーなどの一部ウィンドウで、ウィンドウのサイズ変更や移動が正常に行えない問題を修正 - Fix: 画像エフェクトの修正 - 塗りつぶし・モザイク・ぼかしエフェクトを回転させると歪む問題を修正 - モザイクの格子のサイズが画像の縦横比によって長方形となる問題を修正 - モザイクの色味がより自然になるように修正 - ぼかしに不自然な縦線が入る問題を修正 +- Fix: フォロー承認通知でフォローされた際のメッセージの絵文字が表示されない問題を修正 +- Fix: HTTP環境など(Secure Contextのない環境)で、設定画面が閲覧できない問題を修正 ### Server - Enhance: OAuthのクライアント情報取得(Client Information Discovery)において、IndieWeb Living Standard 11 July 2024で定義されているJSONドキュメント形式に対応しました diff --git a/package.json b/package.json index d124dca24f..d7d5d307e6 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "misskey", - "version": "2026.1.0-beta.0", + "version": "2026.2.0-beta.0", "codename": "nasubi", "repository": { "type": "git", "url": "https://github.com/misskey-dev/misskey.git" }, - "packageManager": "pnpm@10.28.2", + "packageManager": "pnpm@10.29.3", "workspaces": [ "packages/misskey-js", "packages/i18n", @@ -54,30 +54,30 @@ }, "dependencies": { "cssnano": "7.1.2", - "esbuild": "0.27.2", + "esbuild": "0.27.3", "execa": "9.6.1", "ignore-walk": "8.0.0", "js-yaml": "4.1.1", "postcss": "8.5.6", - "tar": "7.5.7", + "tar": "7.5.9", "terser": "5.46.0" }, "devDependencies": { "@eslint/js": "9.39.2", - "@misskey-dev/eslint-plugin": "2.2.0", + "@misskey-dev/eslint-plugin": "2.1.0", "@types/js-yaml": "4.0.9", - "@types/node": "24.10.9", - "@typescript-eslint/eslint-plugin": "8.53.0", - "@typescript-eslint/parser": "8.53.0", + "@types/node": "24.10.13", + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", "@typescript/native-preview": "7.0.0-dev.20260116.1", "cross-env": "10.1.0", - "cypress": "15.9.0", + "cypress": "15.10.0", "eslint": "9.39.2", - "globals": "16.5.0", + "globals": "17.3.0", "ncp": "2.0.0", - "pnpm": "10.28.2", - "typescript": "5.9.3", - "start-server-and-test": "2.1.3" + "pnpm": "10.29.3", + "start-server-and-test": "2.1.3", + "typescript": "5.9.3" }, "optionalDependencies": { "@tensorflow/tfjs-core": "4.22.0" diff --git a/packages/backend/package.json b/packages/backend/package.json index c3f881292a..873c03cef3 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -41,17 +41,17 @@ }, "optionalDependencies": { "@swc/core-android-arm64": "1.3.11", - "@swc/core-darwin-arm64": "1.15.8", - "@swc/core-darwin-x64": "1.15.8", + "@swc/core-darwin-arm64": "1.15.11", + "@swc/core-darwin-x64": "1.15.11", "@swc/core-freebsd-x64": "1.3.11", - "@swc/core-linux-arm-gnueabihf": "1.15.8", - "@swc/core-linux-arm64-gnu": "1.15.8", - "@swc/core-linux-arm64-musl": "1.15.8", - "@swc/core-linux-x64-gnu": "1.15.8", - "@swc/core-linux-x64-musl": "1.15.8", - "@swc/core-win32-arm64-msvc": "1.15.8", - "@swc/core-win32-ia32-msvc": "1.15.8", - "@swc/core-win32-x64-msvc": "1.15.8", + "@swc/core-linux-arm-gnueabihf": "1.15.11", + "@swc/core-linux-arm64-gnu": "1.15.11", + "@swc/core-linux-arm64-musl": "1.15.11", + "@swc/core-linux-x64-gnu": "1.15.11", + "@swc/core-linux-x64-musl": "1.15.11", + "@swc/core-win32-arm64-msvc": "1.15.11", + "@swc/core-win32-ia32-msvc": "1.15.11", + "@swc/core-win32-x64-msvc": "1.15.11", "@tensorflow/tfjs": "4.22.0", "@tensorflow/tfjs-node": "4.22.0", "bufferutil": "4.1.0", @@ -71,39 +71,39 @@ "utf-8-validate": "6.0.6" }, "dependencies": { - "@aws-sdk/client-s3": "3.970.0", - "@aws-sdk/lib-storage": "3.970.0", + "@aws-sdk/client-s3": "3.990.0", + "@aws-sdk/lib-storage": "3.990.0", "@discordapp/twemoji": "16.0.1", "@fastify/accepts": "5.0.4", "@fastify/cors": "11.2.0", "@fastify/express": "4.0.4", "@fastify/http-proxy": "11.4.1", - "@fastify/multipart": "9.3.0", - "@fastify/static": "8.3.0", - "@kitajs/html": "4.2.11", + "@fastify/multipart": "9.4.0", + "@fastify/static": "9.0.0", + "@kitajs/html": "4.2.12", "@misskey-dev/sharp-read-bmp": "1.2.0", "@misskey-dev/summaly": "5.2.5", - "@napi-rs/canvas": "0.1.88", - "@nestjs/common": "11.1.12", - "@nestjs/core": "11.1.12", - "@nestjs/testing": "11.1.12", + "@napi-rs/canvas": "0.1.92", + "@nestjs/common": "11.1.13", + "@nestjs/core": "11.1.13", + "@nestjs/testing": "11.1.13", "@peertube/http-signature": "1.7.0", - "@sentry/node": "10.34.0", - "@sentry/profiling-node": "10.34.0", + "@sentry/node": "10.38.0", + "@sentry/profiling-node": "10.38.0", "@simplewebauthn/server": "13.2.2", "@sinonjs/fake-timers": "15.1.0", - "@smithy/node-http-handler": "4.4.8", - "@swc/cli": "0.7.10", - "@swc/core": "1.15.8", + "@smithy/node-http-handler": "4.4.10", + "@swc/cli": "0.8.0", + "@swc/core": "1.15.11", "@twemoji/parser": "16.0.0", "accepts": "1.3.8", - "ajv": "8.17.1", + "ajv": "8.18.0", "archiver": "7.0.1", "async-mutex": "0.5.0", "bcryptjs": "3.0.3", "blurhash": "2.0.5", "body-parser": "2.2.2", - "bullmq": "5.66.5", + "bullmq": "5.69.2", "cacheable-lookup": "7.0.0", "chalk": "5.6.2", "chalk-template": "1.1.2", @@ -112,7 +112,7 @@ "content-disposition": "1.0.1", "date-fns": "4.1.0", "deep-email-validator": "0.1.21", - "fastify": "5.7.1", + "fastify": "5.7.4", "fastify-raw-body": "5.0.0", "feed": "5.2.0", "file-type": "21.3.0", @@ -122,13 +122,13 @@ "hpagent": "1.2.0", "http-link-header": "1.1.3", "i18n": "workspace:*", - "ioredis": "5.9.2", + "ioredis": "5.9.3", "ip-cidr": "4.0.2", "ipaddr.js": "2.3.0", "is-svg": "6.1.0", "json5": "2.2.3", "jsonld": "9.0.0", - "juice": "11.1.0", + "juice": "11.1.1", "meilisearch": "0.55.0", "mfm-js": "0.25.0", "mime-types": "3.0.2", @@ -139,32 +139,32 @@ "nested-property": "4.0.0", "node-fetch": "3.3.2", "node-html-parser": "7.0.2", - "nodemailer": "7.0.12", + "nodemailer": "8.0.1", "nsfwjs": "4.2.0", "oauth2orize": "1.12.0", "oauth2orize-pkce": "0.1.2", "os-utils": "0.0.14", - "otpauth": "9.4.1", - "pg": "8.17.1", - "pkce-challenge": "5.0.1", + "otpauth": "9.5.0", + "pg": "8.18.0", + "pkce-challenge": "6.0.0", "probe-image-size": "7.2.3", "promise-limit": "2.7.0", "qrcode": "1.5.4", "random-seed": "0.3.0", "ratelimiter": "3.4.1", - "re2": "1.23.0", + "re2": "1.23.3", "reflect-metadata": "0.2.2", "rename": "1.0.4", "rss-parser": "3.13.0", "rxjs": "7.8.2", "sanitize-html": "2.17.0", "secure-json-parse": "4.1.0", - "semver": "7.7.3", + "semver": "7.7.4", "sharp": "0.33.5", "slacc": "0.0.10", "strict-event-emitter-types": "2.0.0", "stringz": "2.1.0", - "systeminformation": "5.30.5", + "systeminformation": "5.31.0", "tinycolor2": "1.6.0", "tmp": "0.2.5", "tsc-alias": "1.8.16", @@ -177,9 +177,9 @@ }, "devDependencies": { "@jest/globals": "29.7.0", - "@kitajs/ts-html-plugin": "4.1.3", - "@nestjs/platform-express": "11.1.12", - "@sentry/vue": "10.34.0", + "@kitajs/ts-html-plugin": "4.1.4", + "@nestjs/platform-express": "11.1.13", + "@sentry/vue": "10.38.0", "@simplewebauthn/types": "12.0.0", "@swc/jest": "0.2.39", "@types/accepts": "1.3.7", @@ -193,8 +193,8 @@ "@types/jsonld": "1.5.15", "@types/mime-types": "3.0.1", "@types/ms": "2.1.0", - "@types/node": "24.10.9", - "@types/nodemailer": "7.0.5", + "@types/node": "24.10.13", + "@types/nodemailer": "7.0.9", "@types/oauth2orize": "1.11.5", "@types/oauth2orize-pkce": "0.1.2", "@types/pg": "8.16.0", @@ -212,8 +212,8 @@ "@types/vary": "1.1.3", "@types/web-push": "3.6.4", "@types/ws": "8.18.1", - "@typescript-eslint/eslint-plugin": "8.53.0", - "@typescript-eslint/parser": "8.53.0", + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", "aws-sdk-client-mock": "4.1.0", "cbor": "10.0.11", "cross-env": "10.1.0", diff --git a/packages/backend/src/server/api/endpoints/hashtags/users.ts b/packages/backend/src/server/api/endpoints/hashtags/users.ts index 30f0c1b0c8..7b2c137bd4 100644 --- a/packages/backend/src/server/api/endpoints/hashtags/users.ts +++ b/packages/backend/src/server/api/endpoints/hashtags/users.ts @@ -32,6 +32,7 @@ export const paramDef = { properties: { tag: { type: 'string' }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, + offset: { type: 'integer', default: 0 }, sort: { type: 'string', enum: ['+follower', '-follower', '+createdAt', '-createdAt', '+updatedAt', '-updatedAt'] }, state: { type: 'string', enum: ['all', 'alive'], default: 'all' }, origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: 'local' }, @@ -74,7 +75,10 @@ export default class extends Endpoint { // eslint- case '-updatedAt': query.orderBy('user.updatedAt', 'ASC'); break; } - const users = await query.limit(ps.limit).getMany(); + const users = await query + .limit(ps.limit) + .offset(ps.offset) + .getMany(); return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' }); }); diff --git a/packages/frontend-builder/package.json b/packages/frontend-builder/package.json index 0ae32117b6..e68efc9663 100644 --- a/packages/frontend-builder/package.json +++ b/packages/frontend-builder/package.json @@ -11,10 +11,10 @@ }, "devDependencies": { "@types/estree": "1.0.8", - "@types/node": "24.10.9", - "@typescript-eslint/eslint-plugin": "8.53.0", - "@typescript-eslint/parser": "8.53.0", - "rollup": "4.55.1" + "@types/node": "24.10.13", + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", + "rollup": "4.57.1" }, "dependencies": { "i18n": "workspace:*", diff --git a/packages/frontend-embed/package.json b/packages/frontend-embed/package.json index aadb20cb48..e3c411d081 100644 --- a/packages/frontend-embed/package.json +++ b/packages/frontend-embed/package.json @@ -15,7 +15,7 @@ "@rollup/plugin-replace": "6.0.3", "@rollup/pluginutils": "5.3.0", "@twemoji/parser": "16.0.0", - "@vitejs/plugin-vue": "6.0.3", + "@vitejs/plugin-vue": "6.0.4", "buraha": "0.0.1", "estree-walker": "3.0.3", "frontend-shared": "workspace:*", @@ -25,13 +25,13 @@ "mfm-js": "0.25.0", "misskey-js": "workspace:*", "punycode.js": "2.3.1", - "rollup": "4.55.1", - "sass": "1.97.2", - "shiki": "3.21.0", + "rollup": "4.57.1", + "sass": "1.97.3", + "shiki": "3.22.0", "tinycolor2": "1.6.0", "uuid": "13.0.0", "vite": "7.3.1", - "vue": "3.5.26" + "vue": "3.5.28" }, "devDependencies": { "@misskey-dev/summaly": "5.2.5", @@ -39,29 +39,29 @@ "@testing-library/vue": "8.1.0", "@types/estree": "1.0.8", "@types/micromatch": "4.0.10", - "@types/node": "24.10.9", + "@types/node": "24.10.13", "@types/punycode.js": "npm:@types/punycode@2.1.4", "@types/tinycolor2": "1.4.6", "@types/ws": "8.18.1", - "@typescript-eslint/eslint-plugin": "8.53.0", - "@typescript-eslint/parser": "8.53.0", - "@vitest/coverage-v8": "4.0.17", - "@vue/runtime-core": "3.5.26", + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", + "@vitest/coverage-v8": "4.0.18", + "@vue/runtime-core": "3.5.28", "acorn": "8.15.0", "cross-env": "10.1.0", "eslint-plugin-import": "2.32.0", - "eslint-plugin-vue": "10.7.0", - "happy-dom": "20.3.1", + "eslint-plugin-vue": "10.8.0", + "happy-dom": "20.6.1", "intersection-observer": "0.12.2", "micromatch": "4.0.8", - "msw": "2.12.7", + "msw": "2.12.10", "nodemon": "3.1.11", - "prettier": "3.8.0", + "prettier": "3.8.1", "start-server-and-test": "2.1.3", "tsx": "4.21.0", "vite-plugin-turbosnap": "1.0.3", - "vue-component-type-helpers": "3.2.2", - "vue-eslint-parser": "10.2.0", - "vue-tsc": "3.2.2" + "vue-component-type-helpers": "3.2.4", + "vue-eslint-parser": "10.4.0", + "vue-tsc": "3.2.4" } } diff --git a/packages/frontend-shared/package.json b/packages/frontend-shared/package.json index a33394661a..c4e37d3953 100644 --- a/packages/frontend-shared/package.json +++ b/packages/frontend-shared/package.json @@ -21,13 +21,13 @@ "lint": "pnpm typecheck && pnpm eslint" }, "devDependencies": { - "@types/node": "24.10.9", - "@typescript-eslint/eslint-plugin": "8.53.0", - "@typescript-eslint/parser": "8.53.0", - "esbuild": "0.27.2", - "eslint-plugin-vue": "10.7.0", + "@types/node": "24.10.13", + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", + "esbuild": "0.27.3", + "eslint-plugin-vue": "10.8.0", "nodemon": "3.1.11", - "vue-eslint-parser": "10.2.0" + "vue-eslint-parser": "10.4.0" }, "files": [ "js-built" @@ -35,6 +35,6 @@ "dependencies": { "i18n": "workspace:*", "misskey-js": "workspace:*", - "vue": "3.5.26" + "vue": "3.5.28" } } diff --git a/packages/frontend/package.json b/packages/frontend/package.json index bfed677061..d84f08fe04 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -28,14 +28,14 @@ "@rollup/plugin-json": "6.1.0", "@rollup/plugin-replace": "6.0.3", "@rollup/pluginutils": "5.3.0", - "@sentry/vue": "10.34.0", + "@sentry/vue": "10.38.0", "@syuilo/aiscript": "1.2.1", "@syuilo/aiscript-0-19-0": "npm:@syuilo/aiscript@^0.19.0", "@twemoji/parser": "16.0.0", - "@vitejs/plugin-vue": "6.0.3", + "@vitejs/plugin-vue": "6.0.4", "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.16", "analytics": "0.8.19", - "broadcast-channel": "7.2.0", + "broadcast-channel": "7.3.0", "buraha": "0.0.1", "canvas-confetti": "1.9.4", "chart.js": "4.5.1", @@ -43,13 +43,13 @@ "chartjs-chart-matrix": "3.0.0", "chartjs-plugin-gradient": "0.6.1", "chartjs-plugin-zoom": "2.2.0", - "chromatic": "13.3.5", + "chromatic": "15.1.0", "compare-versions": "6.1.1", "cropperjs": "2.1.0", "date-fns": "4.1.0", - "eventemitter3": "5.0.1", + "eventemitter3": "5.0.4", "execa": "9.6.1", - "exifreader": "4.36.0", + "exifreader": "4.36.1", "frontend-shared": "workspace:*", "i18n": "workspace:*", "icons-subsetter": "workspace:*", @@ -59,7 +59,7 @@ "is-file-animated": "1.0.2", "json5": "2.2.3", "matter-js": "0.20.0", - "mediabunny": "1.28.0", + "mediabunny": "1.34.2", "mfm-js": "0.25.0", "misskey-bubble-game": "workspace:*", "misskey-js": "workspace:*", @@ -68,24 +68,24 @@ "punycode.js": "2.3.1", "qr-code-styling": "1.9.2", "qr-scanner": "1.4.2", - "rollup": "4.55.1", + "rollup": "4.57.1", "sanitize-html": "2.17.0", - "sass": "1.97.2", - "shiki": "3.21.0", + "sass": "1.97.3", + "shiki": "3.22.0", "textarea-caret": "3.1.0", "three": "0.182.0", "throttle-debounce": "5.0.2", "tinycolor2": "1.6.0", "v-code-diff": "1.13.1", "vite": "7.3.1", - "vue": "3.5.26", + "vue": "3.5.28", "wanakana": "5.3.1" }, "devDependencies": { "@misskey-dev/summaly": "5.2.5", "@storybook/addon-essentials": "8.6.15", "@storybook/addon-interactions": "8.6.15", - "@storybook/addon-links": "10.1.11", + "@storybook/addon-links": "10.2.8", "@storybook/addon-mdx-gfm": "8.6.15", "@storybook/addon-storysource": "8.6.15", "@storybook/blocks": "8.6.15", @@ -93,13 +93,13 @@ "@storybook/core-events": "8.6.15", "@storybook/manager-api": "8.6.15", "@storybook/preview-api": "8.6.15", - "@storybook/react": "10.1.11", - "@storybook/react-vite": "10.1.11", + "@storybook/react": "10.2.8", + "@storybook/react-vite": "10.2.8", "@storybook/test": "8.6.15", "@storybook/theming": "8.6.15", "@storybook/types": "8.6.15", - "@storybook/vue3": "10.1.11", - "@storybook/vue3-vite": "10.1.11", + "@storybook/vue3": "10.2.8", + "@storybook/vue3-vite": "10.2.8", "@tabler/icons-webfont": "3.35.0", "@testing-library/vue": "8.1.0", "@types/canvas-confetti": "1.9.0", @@ -107,46 +107,46 @@ "@types/insert-text-at-cursor": "0.3.2", "@types/matter-js": "0.20.2", "@types/micromatch": "4.0.10", - "@types/node": "24.10.9", + "@types/node": "24.10.13", "@types/punycode.js": "npm:@types/punycode@2.1.4", "@types/sanitize-html": "2.16.0", "@types/seedrandom": "3.0.8", "@types/textarea-caret": "3.0.4", "@types/throttle-debounce": "5.0.2", "@types/tinycolor2": "1.4.6", - "@typescript-eslint/eslint-plugin": "8.53.0", - "@typescript-eslint/parser": "8.53.0", - "@vitest/coverage-v8": "4.0.17", - "@vue/compiler-core": "3.5.26", + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", + "@vitest/coverage-v8": "4.0.18", + "@vue/compiler-core": "3.5.28", "acorn": "8.15.0", "astring": "1.9.0", "cross-env": "10.1.0", - "cypress": "15.9.0", + "cypress": "15.10.0", "eslint-plugin-import": "2.32.0", - "eslint-plugin-vue": "10.7.0", + "eslint-plugin-vue": "10.8.0", "estree-walker": "3.0.3", - "happy-dom": "20.3.1", + "happy-dom": "20.6.1", "intersection-observer": "0.12.2", "magic-string": "0.30.21", "micromatch": "4.0.8", - "minimatch": "10.1.1", - "msw": "2.12.7", + "minimatch": "10.2.2", + "msw": "2.12.10", "msw-storybook-addon": "2.0.6", "nodemon": "3.1.11", - "prettier": "3.8.0", - "react": "19.2.3", - "react-dom": "19.2.3", + "prettier": "3.8.1", + "react": "19.2.4", + "react-dom": "19.2.4", "seedrandom": "3.0.5", "start-server-and-test": "2.1.3", - "storybook": "10.1.11", + "storybook": "10.2.8", "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", "tsx": "4.21.0", "vite-plugin-glsl": "1.5.5", "vite-plugin-turbosnap": "1.0.3", - "vitest": "4.0.17", + "vitest": "4.0.18", "vitest-fetch-mock": "0.4.5", - "vue-component-type-helpers": "3.2.2", - "vue-eslint-parser": "10.2.0", - "vue-tsc": "3.2.2" + "vue-component-type-helpers": "3.2.4", + "vue-eslint-parser": "10.4.0", + "vue-tsc": "3.2.4" } } diff --git a/packages/frontend/src/components/MkDraggable.vue b/packages/frontend/src/components/MkDraggable.vue index 7075306dd4..07fa1045b9 100644 --- a/packages/frontend/src/components/MkDraggable.vue +++ b/packages/frontend/src/components/MkDraggable.vue @@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
>({ required: true }); function getHex(c: ImageEffectorRGB) { - return `#${c.map(x => (x * 255).toString(16).padStart(2, '0')).join('')}`; + return `#${c.map(x => Math.round(x * 255).toString(16).padStart(2, '0')).join('')}`; } function getRgb(hex: string | number): ImageEffectorRGB | null { diff --git a/packages/frontend/src/components/MkImageFrameEditorDialog.vue b/packages/frontend/src/components/MkImageFrameEditorDialog.vue index 0badda3db7..1a37a32a96 100644 --- a/packages/frontend/src/components/MkImageFrameEditorDialog.vue +++ b/packages/frontend/src/components/MkImageFrameEditorDialog.vue @@ -156,11 +156,11 @@ SPDX-License-Identifier: AGPL-3.0-only import { ref, useTemplateRef, watch, onMounted, onUnmounted, reactive, nextTick } from 'vue'; import ExifReader from 'exifreader'; import { throttle } from 'throttle-debounce'; +import MkPreviewWithControls from './MkPreviewWithControls.vue'; import type { ImageFrameParams, ImageFramePreset } from '@/utility/image-frame-renderer/ImageFrameRenderer.js'; import { ImageFrameRenderer } from '@/utility/image-frame-renderer/ImageFrameRenderer.js'; import { i18n } from '@/i18n.js'; import MkModalWindow from '@/components/MkModalWindow.vue'; -import MkPreviewWithControls from './MkPreviewWithControls.vue'; import MkSelect from '@/components/MkSelect.vue'; import MkFolder from '@/components/MkFolder.vue'; import MkSwitch from '@/components/MkSwitch.vue'; @@ -390,7 +390,7 @@ async function save() { } function getHex(c: [number, number, number]) { - return `#${c.map(x => (x * 255).toString(16).padStart(2, '0')).join('')}`; + return `#${c.map(x => Math.round(x * 255).toString(16).padStart(2, '0')).join('')}`; } function getRgb(hex: string | number): [number, number, number] | null { diff --git a/packages/frontend/src/components/MkNotification.vue b/packages/frontend/src/components/MkNotification.vue index 30494d5362..6c70358c2c 100644 --- a/packages/frontend/src/components/MkNotification.vue +++ b/packages/frontend/src/components/MkNotification.vue @@ -136,7 +136,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.followRequestAccepted }}
- {{ notification.message }} +
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index 72a7f4a01c..d709286041 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -114,7 +114,7 @@ SPDX-License-Identifier: AGPL-3.0-only