From 207d7e04783cc20bfe26fbb8aed83be2ade6f797 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 8 Jul 2022 11:21:11 +0900 Subject: [PATCH 01/23] fix test --- packages/backend/test/get-file-info.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/backend/test/get-file-info.ts b/packages/backend/test/get-file-info.ts index 6ceeb352a..09378fec8 100644 --- a/packages/backend/test/get-file-info.ts +++ b/packages/backend/test/get-file-info.ts @@ -14,6 +14,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 0, md5: 'd41d8cd98f00b204e9800998ecf8427e', @@ -33,6 +34,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 25360, md5: '091b3f259662aa31e2ffef4519951168', @@ -52,6 +54,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 1868, md5: '08189c607bea3b952704676bb3c979e0', @@ -71,6 +74,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 2248, md5: '32c47a11555675d9267aee1a86571e7e', @@ -90,6 +94,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 3772, md5: 'f73535c3e1e27508885b69b10cf6e991', @@ -109,6 +114,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 505, md5: 'b6f52b4b021e7b92cdd04509c7267965', @@ -129,6 +135,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 544, md5: '4b7a346cde9ccbeb267e812567e33397', @@ -148,6 +155,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 75933, md5: '268c5dde99e17cf8fe09f1ab3f97df56', @@ -167,6 +175,7 @@ describe('Get file info', () => { delete info.warnings; delete info.blurhash; delete info.sensitive; + delete info.porn; assert.deepStrictEqual(info, { size: 12624, md5: '68d5b2d8d1d1acbbce99203e3ec3857e', From 9a58b4160bba25e84178defd902b58ba68d95ccb Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 8 Jul 2022 11:21:14 +0900 Subject: [PATCH 02/23] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63a77218c..cdcf189c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ same as 12.112.0 - ハイライトがみつけるに統合されました - カスタム絵文字ページはインスタンス情報ページに統合されました - 連合ページはインスタンス情報ページに統合されました +- メニューからアンテナタイムラインを表示する方法は廃止され、タイムライン上部のアイコンからアクセスするようになりました +- メニューからリストタイムラインを表示する方法は廃止され、タイムライン上部のアイコンからアクセスするようになりました ### Improvements - Server: Allow GET method for some endpoints @syuilo From 3b71f985a51b9b47dc11fd95bb1a582fe5aa109b Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 8 Jul 2022 11:24:12 +0900 Subject: [PATCH 03/23] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdcf189c6..e9cd6f467 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ same as 12.112.0 - ハイライトがみつけるに統合されました - カスタム絵文字ページはインスタンス情報ページに統合されました - 連合ページはインスタンス情報ページに統合されました +- メンション一覧ページは通知一覧ページに統合されました +- ダイレクト投稿一覧ページは通知一覧ページに統合されました - メニューからアンテナタイムラインを表示する方法は廃止され、タイムライン上部のアイコンからアクセスするようになりました - メニューからリストタイムラインを表示する方法は廃止され、タイムライン上部のアイコンからアクセスするようになりました From 481783606f6c7d702faa251a5c85994db26a0a27 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 8 Jul 2022 11:27:49 +0900 Subject: [PATCH 04/23] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9cd6f467..93cbc10b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ same as 12.112.0 - Server: Add rate limit to i/notifications @tamaina - Client: Improve control panel @syuilo - Client: Show warning in control panel when there is an unresolved abuse report @syuilo +- Client: Statusbars @syuilo - Client: Add instance-cloud widget @syuilo - Client: Add rss-ticker widget @syuilo - Client: Removing entries from a clip @futchitwo From 417e75b470628e43623370c4c4d1d5849a3adfef Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Fri, 8 Jul 2022 17:17:21 +0900 Subject: [PATCH 05/23] =?UTF-8?q?Docker=E3=81=A7Alpine=E3=81=A7=E3=81=AF?= =?UTF-8?q?=E3=81=AA=E3=81=8FDebian=E3=82=92=E4=BD=BF=E7=94=A8=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=20(#8966)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Debian * CHANGELOG * Update CHANGELOG --- CHANGELOG.md | 8 ++++++++ Dockerfile | 28 ++++++++++++---------------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93cbc10b7..db229f539 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,14 @@ You should also include the user name that made the change. --> +## 12.x.x (unreleased) + +### Improvements + +### Bugfixes +- Fix Docker doesn't work @mei23 + Still not working on arm64 environment. (See 12.112.0) + ## 12.112.1 (2022/07/07) same as 12.112.0 diff --git a/Dockerfile b/Dockerfile index 33d5faad1..81dc72637 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,24 @@ -FROM node:18.0.0-alpine3.15 AS base +FROM node:16.15.1-bullseye AS builder ARG NODE_ENV=production WORKDIR /misskey -ENV BUILD_DEPS autoconf automake file g++ gcc libc-dev libtool make nasm pkgconfig python3 zlib-dev git - -FROM base AS builder - COPY . ./ -RUN apk add --no-cache $BUILD_DEPS && \ - git submodule update --init && \ - yarn install && \ - yarn build && \ - rm -rf .git +RUN apt-get update +RUN apt-get install -y build-essential +RUN git submodule update --init +RUN yarn install +RUN yarn build +RUN rm -rf .git -FROM base AS runner +FROM node:16.15.1-bullseye-slim AS runner -RUN apk add --no-cache \ - ffmpeg \ - tini +WORKDIR /misskey -ENTRYPOINT ["/sbin/tini", "--"] +RUN apt-get update +RUN apt-get install -y ffmpeg tini COPY --from=builder /misskey/node_modules ./node_modules COPY --from=builder /misskey/built ./built @@ -32,5 +28,5 @@ COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node COPY . ./ ENV NODE_ENV=production +ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["npm", "run", "migrateandstart"] - From 4ac75243e5a567ef3b7e2f1b068429648b86c24f Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 8 Jul 2022 17:34:44 +0900 Subject: [PATCH 06/23] 12.112.2 --- CHANGELOG.md | 4 +--- package.json | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db229f539..8354d72ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,9 +9,7 @@ You should also include the user name that made the change. --> -## 12.x.x (unreleased) - -### Improvements +## 12.112.2 (2022/07/08) ### Bugfixes - Fix Docker doesn't work @mei23 diff --git a/package.json b/package.json index 549308a89..e07da5ca0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "12.112.1", + "version": "12.112.2", "codename": "indigo", "repository": { "type": "git", From 522ddba3d715e7d506d6e1d39a946dcbf6e91e52 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 9 Jul 2022 13:22:35 +0900 Subject: [PATCH 07/23] enhance(server): tweak identicon generation --- packages/backend/src/misc/gen-identicon.ts | 49 +++++++++++++--------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/packages/backend/src/misc/gen-identicon.ts b/packages/backend/src/misc/gen-identicon.ts index 9b30e5dbd..322ffee22 100644 --- a/packages/backend/src/misc/gen-identicon.ts +++ b/packages/backend/src/misc/gen-identicon.ts @@ -7,28 +7,31 @@ import { WriteStream } from 'node:fs'; import * as p from 'pureimage'; import gen from 'random-seed'; -const size = 256; // px +const size = 128; // px const n = 5; // resolution -const margin = (size / n); +const margin = (size / 4); const colors = [ - '#e57373', - '#F06292', - '#BA68C8', - '#9575CD', - '#7986CB', - '#64B5F6', - '#4FC3F7', - '#4DD0E1', - '#4DB6AC', - '#81C784', - '#8BC34A', - '#AFB42B', - '#F57F17', - '#FF5722', - '#795548', - '#455A64', + ['#FF512F', '#DD2476'], + ['#FF61D2', '#FE9090'], + ['#72FFB6', '#10D164'], + ['#FD8451', '#FFBD6F'], + ['#305170', '#6DFC6B'], + ['#00C0FF', '#4218B8'], + ['#009245', '#FCEE21'], + ['#0100EC', '#FB36F4'], + ['#FDABDD', '#374A5A'], + ['#38A2D7', '#561139'], + ['#121C84', '#8278DA'], + ['#5761B2', '#1FC5A8'], + ['#FFDB01', '#0E197D'], + ['#FF3E9D', '#0E1F40'], + ['#766eff', '#00d4ff'], + ['#9bff6e', '#00d4ff'], + ['#ff6e94', '#00d4ff'], + ['#ffa96e', '#00d4ff'], + ['#ffa96e', '#ff009d'], + ['#ffdd6e', '#ff009d'], ]; -const bg = '#e9e9e9'; const actualSize = size - (margin * 2); const cellSize = actualSize / n; @@ -42,11 +45,17 @@ export function genIdenticon(seed: string, stream: WriteStream): Promise { const canvas = p.make(size, size, undefined); const ctx = canvas.getContext('2d'); + const bgColors = colors[rand(colors.length)]; + + const bg = ctx.createLinearGradient(0, 0, size, size); + bg.addColorStop(0, bgColors[0]); + bg.addColorStop(1, bgColors[1]); + ctx.fillStyle = bg; ctx.beginPath(); ctx.fillRect(0, 0, size, size); - ctx.fillStyle = colors[rand(colors.length)]; + ctx.fillStyle = '#ffffff'; // side bitmap (filled by false) const side: boolean[][] = new Array(sideN); From 75d516011b7169cee6db8aa6e0550d8f84dfde5a Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 9 Jul 2022 15:05:55 +0900 Subject: [PATCH 08/23] enhance: make active email validation configurable --- CHANGELOG.md | 7 +++++++ locales/ja-JP.yml | 1 + .../1657346559800-active-email-validation.js | 11 +++++++++++ packages/backend/src/models/entities/meta.ts | 5 +++++ .../src/server/api/endpoints/admin/meta.ts | 5 +++++ .../server/api/endpoints/admin/update-meta.ts | 5 +++++ .../services/validate-email-for-account.ts | 19 +++++++++++-------- packages/client/src/pages/admin/security.vue | 16 ++++++++++++++++ 8 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 packages/backend/migration/1657346559800-active-email-validation.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 8354d72ba..29f91596c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ You should also include the user name that made the change. --> +## 12.x.x (unreleased) + +### Improvements +- Make active email validation configurable + +### Bugfixes + ## 12.112.2 (2022/07/08) ### Bugfixes diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 3eecc3b57..0e278bead 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -886,6 +886,7 @@ cannotUploadBecauseNoFreeSpace: "ドライブの空き容量が無いためア beta: "ベータ" enableAutoSensitive: "自動NSFW判定" enableAutoSensitiveDescription: "利用可能な場合は、機械学習を利用して自動でメディアにNSFWフラグを設定します。この機能をオフにしても、インスタンスによっては自動で設定されることがあります。" +activeEmailValidationDescription: "ユーザーのメールアドレスのバリデーションを、捨てアドかどうかや実際に通信可能かどうかなどを判定しより積極的に行います。オフにすると単に文字列として正しいかどうかのみチェックされます。" _sensitiveMediaDetection: description: "機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てることができます。サーバーの負荷が少し増えます。" diff --git a/packages/backend/migration/1657346559800-active-email-validation.js b/packages/backend/migration/1657346559800-active-email-validation.js new file mode 100644 index 000000000..f8e03eeb0 --- /dev/null +++ b/packages/backend/migration/1657346559800-active-email-validation.js @@ -0,0 +1,11 @@ +export class activeEmailValidation1657346559800 { + name = 'activeEmailValidation1657346559800' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "enableActiveEmailValidation" boolean NOT NULL DEFAULT true`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableActiveEmailValidation"`); + } +} diff --git a/packages/backend/src/models/entities/meta.ts b/packages/backend/src/models/entities/meta.ts index ebc082dfb..d33ff2519 100644 --- a/packages/backend/src/models/entities/meta.ts +++ b/packages/backend/src/models/entities/meta.ts @@ -454,4 +454,9 @@ export class Meta { default: false, }) public enableIpLogging: boolean; + + @Column('boolean', { + default: true, + }) + public enableActiveEmailValidation: boolean; } diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index cb50e128a..874611968 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -324,6 +324,10 @@ export const meta = { type: 'boolean', optional: true, nullable: false, }, + enableActiveEmailValidation: { + type: 'boolean', + optional: true, nullable: false, + }, }, }, } as const; @@ -421,5 +425,6 @@ export default define(meta, paramDef, async (ps, me) => { deeplAuthKey: instance.deeplAuthKey, deeplIsPro: instance.deeplIsPro, enableIpLogging: instance.enableIpLogging, + enableActiveEmailValidation: instance.enableActiveEmailValidation, }; }); 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 cc32e73c5..f14aa4105 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -101,6 +101,7 @@ export const paramDef = { objectStorageSetPublicRead: { type: 'boolean' }, objectStorageS3ForcePathStyle: { type: 'boolean' }, enableIpLogging: { type: 'boolean' }, + enableActiveEmailValidation: { type: 'boolean' }, }, required: [], } as const; @@ -421,6 +422,10 @@ export default define(meta, paramDef, async (ps, me) => { set.enableIpLogging = ps.enableIpLogging; } + if (ps.enableActiveEmailValidation !== undefined) { + set.enableActiveEmailValidation = ps.enableActiveEmailValidation; + } + await db.transaction(async transactionalEntityManager => { const metas = await transactionalEntityManager.find(Meta, { order: { diff --git a/packages/backend/src/services/validate-email-for-account.ts b/packages/backend/src/services/validate-email-for-account.ts index 132168fb3..b5fa99b93 100644 --- a/packages/backend/src/services/validate-email-for-account.ts +++ b/packages/backend/src/services/validate-email-for-account.ts @@ -1,34 +1,37 @@ import { validate as validateEmail } from 'deep-email-validator'; import { UserProfiles } from '@/models/index.js'; +import { fetchMeta } from '@/misc/fetch-meta.js'; export async function validateEmailForAccount(emailAddress: string): Promise<{ available: boolean; reason: null | 'used' | 'format' | 'disposable' | 'mx' | 'smtp'; }> { + const meta = await fetchMeta(); + const exist = await UserProfiles.countBy({ emailVerified: true, email: emailAddress, }); - const validated = await validateEmail({ + const validated = meta.enableActiveEmailValidation ? await validateEmail({ email: emailAddress, validateRegex: true, validateMx: true, validateTypo: false, // TLDを見ているみたいだけどclubとか弾かれるので validateDisposable: true, // 捨てアドかどうかチェック validateSMTP: false, // 日本だと25ポートが殆どのプロバイダーで塞がれていてタイムアウトになるので - }); + }) : { valid: true }; const available = exist === 0 && validated.valid; return { available, reason: available ? null : - exist !== 0 ? 'used' : - validated.reason === 'regex' ? 'format' : - validated.reason === 'disposable' ? 'disposable' : - validated.reason === 'mx' ? 'mx' : - validated.reason === 'smtp' ? 'smtp' : - null, + exist !== 0 ? 'used' : + validated.reason === 'regex' ? 'format' : + validated.reason === 'disposable' ? 'disposable' : + validated.reason === 'mx' ? 'mx' : + validated.reason === 'smtp' ? 'smtp' : + null, }; } diff --git a/packages/client/src/pages/admin/security.vue b/packages/client/src/pages/admin/security.vue index c4a4994bb..07ee412f3 100644 --- a/packages/client/src/pages/admin/security.vue +++ b/packages/client/src/pages/admin/security.vue @@ -57,6 +57,19 @@ + + + + + +
+ {{ i18n.ts.activeEmailValidationDescription }} + + + +
+
+ @@ -112,6 +125,7 @@ let sensitiveMediaDetectionSensitivity: number = $ref(0); let setSensitiveFlagAutomatically: boolean = $ref(false); let enableSensitiveMediaDetectionForVideos: boolean = $ref(false); let enableIpLogging: boolean = $ref(false); +let enableActiveEmailValidation: boolean = $ref(false); async function init() { const meta = await os.api('admin/meta'); @@ -128,6 +142,7 @@ async function init() { setSensitiveFlagAutomatically = meta.setSensitiveFlagAutomatically; enableSensitiveMediaDetectionForVideos = meta.enableSensitiveMediaDetectionForVideos; enableIpLogging = meta.enableIpLogging; + enableActiveEmailValidation = meta.enableActiveEmailValidation; } function save() { @@ -144,6 +159,7 @@ function save() { setSensitiveFlagAutomatically, enableSensitiveMediaDetectionForVideos, enableIpLogging, + enableActiveEmailValidation, }).then(() => { fetchInstance(); }); From 53e54c22fa3d0bec780441c07b5fd00e02193275 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Sat, 9 Jul 2022 18:18:39 +0900 Subject: [PATCH 09/23] Fix Attempts to update all notifications (#8974) * Fix massive update notification parameters * CHANGELOG * CHANGELOG --- CHANGELOG.md | 1 + packages/backend/src/server/api/common/read-notification.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29f91596c..cfd54f74d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ You should also include the user name that made the change. - Make active email validation configurable ### Bugfixes +- Server: Fix Attempts to update all notifications @mei23 ## 12.112.2 (2022/07/08) diff --git a/packages/backend/src/server/api/common/read-notification.ts b/packages/backend/src/server/api/common/read-notification.ts index 8c4ba41a3..17dd8e6f0 100644 --- a/packages/backend/src/server/api/common/read-notification.ts +++ b/packages/backend/src/server/api/common/read-notification.ts @@ -27,7 +27,7 @@ export async function readNotificationByQuery( userId: User['id'], query: Record ) { - const notificationIds = await Notifications.find({ + const notificationIds = await Notifications.findBy({ ...query, notifieeId: userId, isRead: false, From 49012f83521cf17be738fca5ac7257ad615a609f Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 9 Jul 2022 18:23:21 +0900 Subject: [PATCH 10/23] update summaly --- packages/backend/package.json | 2 +- packages/backend/yarn.lock | 51 ++++++++++------------------------- 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/packages/backend/package.json b/packages/backend/package.json index 8f7cd34a8..b50aa601d 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -104,7 +104,7 @@ "strict-event-emitter-types": "2.0.0", "stringz": "2.1.0", "style-loader": "3.3.1", - "summaly": "2.6.0", + "summaly": "2.7.0", "syslog-pro": "1.0.0", "systeminformation": "5.11.22", "tinycolor2": "1.4.2", diff --git a/packages/backend/yarn.lock b/packages/backend/yarn.lock index 4fdbc8335..a2090a5e9 100644 --- a/packages/backend/yarn.lock +++ b/packages/backend/yarn.lock @@ -303,12 +303,7 @@ pluralize "^8.0.0" yaml-ast-parser "0.0.43" -"@sindresorhus/is@^3.0.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-3.1.2.tgz#548650de521b344e3781fbdb0ece4aa6f729afb8" - integrity sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ== - -"@sindresorhus/is@^4.6.0": +"@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== @@ -1736,19 +1731,6 @@ cacheable-lookup@^5.0.3: resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz#049fdc59dffdd4fc285e8f4f82936591bd59fec3" integrity sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w== -cacheable-request@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" - integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^2.0.0" - cacheable-request@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" @@ -3520,19 +3502,19 @@ google-protobuf@^3.9.2: resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.20.1.tgz#1b255c2b59bcda7c399df46c65206aa3c7a0ce8b" integrity sha512-XMf1+O32FjYIV3CYu6Tuh5PNbfNEU5Xu22X+Xkdb/DUexFlCzhvv7d5Iirm4AOwn8lv4al1YvIhzGrg2j9Zfzw== -got@11.5.1: - version "11.5.1" - resolved "https://registry.yarnpkg.com/got/-/got-11.5.1.tgz#bf098a270fe80b3fb88ffd5a043a59ebb0a391db" - integrity sha512-reQEZcEBMTGnujmQ+Wm97mJs/OK6INtO6HmLI+xt3+9CvnRwWjXutUvb2mqr+Ao4Lu05Rx6+udx9sOQAmExMxA== +got@11.8.5: + version "11.8.5" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" + integrity sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ== dependencies: - "@sindresorhus/is" "^3.0.0" + "@sindresorhus/is" "^4.0.0" "@szmarczak/http-timer" "^4.0.5" "@types/cacheable-request" "^6.0.1" "@types/responselike" "^1.0.0" cacheable-lookup "^5.0.3" - cacheable-request "^7.0.1" + cacheable-request "^7.0.2" decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.0" + http2-wrapper "^1.0.0-beta.5.2" lowercase-keys "^2.0.0" p-cancelable "^2.0.0" responselike "^2.0.0" @@ -3734,7 +3716,7 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -http2-wrapper@^1.0.0-beta.5.0: +http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== @@ -5380,11 +5362,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -6974,15 +6951,15 @@ style-loader@3.3.1: resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== -summaly@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/summaly/-/summaly-2.6.0.tgz#aaac80eb8ae88b130318f44d9b98da9c2ccb328c" - integrity sha512-wIv6fL3aeFfXcQoZISzeUfNUgD3u8Hwx8Rg0awZliQhans62w23K3nDezwfvmYAQCgXs6e0EF7jtGmJv/qeVTA== +summaly@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/summaly/-/summaly-2.7.0.tgz#ccccec0477938edea13cb34412a33e705398c0c4" + integrity sha512-pEz9LL8Gp0oPIQfn6TrnBCcv/HkFE14hxhH3W6LPGdopXlPXjRcMlDMJaO+VupUNMOGaMjCsjq7+0rWnu8sp7w== dependencies: cheerio "0.22.0" debug "4.3.3" escape-regexp "0.0.1" - got "11.5.1" + got "11.8.5" html-entities "2.3.2" iconv-lite "0.6.3" jschardet "3.0.0" From 111d4d014942e661242db78c03d3a798823ff3cb Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 9 Jul 2022 18:32:45 +0900 Subject: [PATCH 11/23] 12.112.3 --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfd54f74d..37e3d52a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ You should also include the user name that made the change. --> -## 12.x.x (unreleased) +## 12.112.3 (2022/07/09) ### Improvements - Make active email validation configurable diff --git a/package.json b/package.json index e07da5ca0..402ae906d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "12.112.2", + "version": "12.112.3", "codename": "indigo", "repository": { "type": "git", From d92200a6d6a81ac0c6a739f0297935bb060a974f Mon Sep 17 00:00:00 2001 From: dogcraft Date: Sun, 10 Jul 2022 10:02:46 +0800 Subject: [PATCH 12/23] fix: QueryFailedError when logging user's IPs (#8973) * fix QueryFailedError when logging user's IPs * use `orIgnore` to fix --- packages/backend/src/server/api/api-handler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/server/api/api-handler.ts b/packages/backend/src/server/api/api-handler.ts index 34ff970b4..ec71ddd2c 100644 --- a/packages/backend/src/server/api/api-handler.ts +++ b/packages/backend/src/server/api/api-handler.ts @@ -68,11 +68,11 @@ export default (endpoint: IEndpoint, ctx: Koa.Context) => new Promise((res } try { - UserIps.insert({ + UserIps.createQueryBuilder().insert().values({ createdAt: new Date(), userId: user.id, ip: ip, - }); + }).orIgnore(true).execute(); } catch { } } From fbd6b90bf8d7fca93ea43174842f6cc0fd8bbe0b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 10 Jul 2022 11:14:41 +0900 Subject: [PATCH 13/23] chore(dev): remove duplicated lint rule --- packages/shared/.eslintrc.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/shared/.eslintrc.js b/packages/shared/.eslintrc.js index 3aef6484e..aed822be9 100644 --- a/packages/shared/.eslintrc.js +++ b/packages/shared/.eslintrc.js @@ -53,7 +53,6 @@ module.exports = { 'no-empty-pattern': ['warn'], 'no-async-promise-executor': ['off'], 'no-useless-escape': ['off'], - 'no-multi-spaces': ['warn'], 'no-multiple-empty-lines': ['error', { 'max': 1 }], 'no-control-regex': ['warn'], 'no-empty': ['warn'], From 7f808eaf426159c77e6ffbf8b246712a584d938b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 10 Jul 2022 13:16:11 +0900 Subject: [PATCH 14/23] fix(client): fix style of mention --- packages/client/src/components/mention.vue | 39 +++++++++++----------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/packages/client/src/components/mention.vue b/packages/client/src/components/mention.vue index 2c8bc0c04..e35652297 100644 --- a/packages/client/src/components/mention.vue +++ b/packages/client/src/components/mention.vue @@ -1,15 +1,15 @@ @@ -41,8 +41,8 @@ const bgCss = bg.toRgbString(); useCssModule(); - From 83ebe79a3fe5ddb22e80d3b47b9e8ec0701286ad Mon Sep 17 00:00:00 2001 From: tamaina Date: Sun, 10 Jul 2022 15:15:21 +0900 Subject: [PATCH 15/23] enhance(sw): If receiving a push notification issued more than a day, ignore it. (#8980) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance(sw): ignore old push notification * :v: * 半日 * !== * 1日 --- packages/backend/src/services/push-notification.ts | 1 + packages/sw/src/sw.ts | 6 +++++- packages/sw/src/types.ts | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/services/push-notification.ts b/packages/backend/src/services/push-notification.ts index 5c3bafbb3..393a23d05 100644 --- a/packages/backend/src/services/push-notification.ts +++ b/packages/backend/src/services/push-notification.ts @@ -64,6 +64,7 @@ export async function pushNotification(u type, body: type === 'notification' ? truncateNotification(body as Packed<'Notification'>) : body, userId, + dateTime: (new Date()).getTime(), }), { proxy: config.proxy, }).catch((err: any) => { diff --git a/packages/sw/src/sw.ts b/packages/sw/src/sw.ts index 0ba6a6e4a..872692f90 100644 --- a/packages/sw/src/sw.ts +++ b/packages/sw/src/sw.ts @@ -42,8 +42,12 @@ self.addEventListener('push', ev => { // case 'driveFileCreated': case 'notification': case 'unreadMessagingMessage': + // 1日以上経過している場合は無視 + if ((new Date()).getTime() - data.dateTime > 1000 * 60 * 60 * 24) break; + // クライアントがあったらストリームに接続しているということなので通知しない - if (clients.length != 0) return; + if (clients.length !== 0) break; + return createNotification(data); case 'readAllNotifications': for (const n of await self.registration.getNotifications()) { diff --git a/packages/sw/src/types.ts b/packages/sw/src/types.ts index 6aa3726ea..0404e21e5 100644 --- a/packages/sw/src/types.ts +++ b/packages/sw/src/types.ts @@ -24,6 +24,7 @@ export type pushNotificationData type: K; body: pushNotificationDataSourceMap[K]; userId: string; + dateTime: number; }; export type pushNotificationDataMap = { From 5cdb9fb748ffed1081ba308ee271457eaba6c651 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 10 Jul 2022 15:35:43 +0900 Subject: [PATCH 16/23] chore(client): tweak style --- packages/client/src/components/visibility-picker.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/components/visibility-picker.vue b/packages/client/src/components/visibility-picker.vue index c717c3a46..7fe55858c 100644 --- a/packages/client/src/components/visibility-picker.vue +++ b/packages/client/src/components/visibility-picker.vue @@ -105,7 +105,7 @@ function choose(visibility: typeof misskey.noteVisibilities[number]): void { } &.active { - color: #fff; + color: var(--fgOnAccent); background: var(--accent); } From bbe4824955d1533c8a466e791a269f30f1586a57 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 10 Jul 2022 15:36:02 +0900 Subject: [PATCH 17/23] enhance(client): update themes --- packages/client/src/scripts/theme.ts | 8 +- packages/client/src/themes/d-black.json5 | 17 ---- packages/client/src/themes/d-lime-green.json5 | 24 +++++ .../client/src/themes/d-orange-green.json5 | 24 +++++ packages/client/src/themes/d-pumpkin.json5 | 88 ------------------- 5 files changed, 52 insertions(+), 109 deletions(-) delete mode 100644 packages/client/src/themes/d-black.json5 create mode 100644 packages/client/src/themes/d-lime-green.json5 create mode 100644 packages/client/src/themes/d-orange-green.json5 delete mode 100644 packages/client/src/themes/d-pumpkin.json5 diff --git a/packages/client/src/scripts/theme.ts b/packages/client/src/scripts/theme.ts index dec9fb355..eb82044b3 100644 --- a/packages/client/src/scripts/theme.ts +++ b/packages/client/src/scripts/theme.ts @@ -1,6 +1,6 @@ import { ref } from 'vue'; -import { globalEvents } from '@/events'; import tinycolor from 'tinycolor2'; +import { globalEvents } from '@/events'; export type Theme = { id: string; @@ -31,11 +31,11 @@ export const getBuiltinThemes = () => Promise.all( 'd-astro', 'd-future', 'd-botanical', + 'd-lime-green', + 'd-orange-green', 'd-cherry', 'd-ice', - 'd-pumpkin', - 'd-black', - ].map(name => import(`../themes/${name}.json5`).then(({ default: _default }): Theme => _default)) + ].map(name => import(`../themes/${name}.json5`).then(({ default: _default }): Theme => _default)), ); export const getBuiltinThemesRef = () => { diff --git a/packages/client/src/themes/d-black.json5 b/packages/client/src/themes/d-black.json5 deleted file mode 100644 index 3c18ebdaf..000000000 --- a/packages/client/src/themes/d-black.json5 +++ /dev/null @@ -1,17 +0,0 @@ -{ - id: '8c539dc1-0fab-4d47-9194-39c508e9bfe1', - - name: 'Mi Black', - author: 'syuilo', - - base: 'dark', - - props: { - divider: '#2d2d2d', - panel: '#131313', - panelHeaderBg: '@panel', - panelHeaderDivider: '@divider', - shadow: 'rgba(255, 255, 255, 0.05)', - modalBg: 'rgba(255, 255, 255, 0.1)', - }, -} diff --git a/packages/client/src/themes/d-lime-green.json5 b/packages/client/src/themes/d-lime-green.json5 new file mode 100644 index 000000000..17617687b --- /dev/null +++ b/packages/client/src/themes/d-lime-green.json5 @@ -0,0 +1,24 @@ +{ + id: '02816013-8107-440f-877e-865083ffe194', + + name: 'Mi Lime+Green Dark', + author: 'syuilo', + + base: 'dark', + + props: { + accent: '#b4e900', + bg: '#0C1210', + fg: '#dee7e4', + fgHighlighted: '#fff', + fgOnAccent: '#192320', + divider: '#e7fffb24', + panel: '#192320', + panelHeaderBg: '@panel', + panelHeaderDivider: '@divider', + popup: '#293330', + renote: '@accent', + mentionMe: '#ffaa00', + link: '#2bceff', + }, +} diff --git a/packages/client/src/themes/d-orange-green.json5 b/packages/client/src/themes/d-orange-green.json5 new file mode 100644 index 000000000..f0e15f476 --- /dev/null +++ b/packages/client/src/themes/d-orange-green.json5 @@ -0,0 +1,24 @@ +{ + id: 'dc489603-27b5-424a-9b25-1ff6aec9824a', + + name: 'Mi Orange+Green Dark', + author: 'syuilo', + + base: 'dark', + + props: { + accent: '#e97f00', + bg: '#0C1210', + fg: '#dee7e4', + fgHighlighted: '#fff', + fgOnAccent: '#192320', + divider: '#e7fffb24', + panel: '#192320', + panelHeaderBg: '@panel', + panelHeaderDivider: '@divider', + popup: '#293330', + renote: '@accent', + mentionMe: '#ffaa00', + link: '#2bceff', + }, +} diff --git a/packages/client/src/themes/d-pumpkin.json5 b/packages/client/src/themes/d-pumpkin.json5 deleted file mode 100644 index 064ca4577..000000000 --- a/packages/client/src/themes/d-pumpkin.json5 +++ /dev/null @@ -1,88 +0,0 @@ -{ - id: '0b64fef3-02c7-20b5-dd87-b3f77e2b4301', - - name: 'Mi Pumpkin Dark', - author: 'syuilo', - - base: 'dark', - - props: { - X2: ':darken<2<@panel', - X3: 'rgba(255, 255, 255, 0.05)', - X4: 'rgba(255, 255, 255, 0.1)', - X5: 'rgba(255, 255, 255, 0.05)', - X6: 'rgba(255, 255, 255, 0.15)', - X7: 'rgba(255, 255, 255, 0.05)', - X8: ':lighten<5<@accent', - X9: ':darken<5<@accent', - bg: 'rgb(37, 32, 47)', - fg: '#e0d5c0', - X10: ':alpha<0.4<@accent', - X11: 'rgba(0, 0, 0, 0.3)', - X12: 'rgba(255, 255, 255, 0.1)', - X13: 'rgba(255, 255, 255, 0.15)', - X14: ':alpha<0.5<@navBg', - X15: ':alpha<0<@panel', - X16: ':alpha<0.7<@panel', - X17: ':alpha<0.8<@bg', - cwBg: '#687390', - cwFg: '#393f4f', - link: 'rgb(172, 193, 68)', - warn: '#ecb637', - badge: '#31b1ce', - error: '#ec4137', - focus: ':alpha<0.3<@accent', - navBg: '@panel', - navFg: '@fg', - panel: ':lighten<3<@bg', - popup: ':lighten<3<@panel', - accent: 'rgb(242, 133, 36)', - header: ':alpha<0.7<@panel', - infoBg: '#253142', - infoFg: '#fff', - renote: 'rgb(110, 179, 72)', - shadow: 'rgba(0, 0, 0, 0.3)', - divider: 'rgba(255, 255, 255, 0.1)', - hashtag: 'rgb(188, 90, 255)', - mention: 'rgb(72, 179, 139)', - modalBg: 'rgba(0, 0, 0, 0.5)', - success: '#86b300', - buttonBg: 'rgba(255, 255, 255, 0.05)', - switchBg: 'rgba(255, 255, 255, 0.15)', - acrylicBg: ':alpha<0.5<@bg', - cwHoverBg: '#707b97', - indicator: '@accent', - mentionMe: '@accent', - messageBg: '@bg', - navActive: '@accent', - accentedBg: ':alpha<0.15<@accent', - fgOnAccent: '#000', - infoWarnBg: '#42321c', - infoWarnFg: '#ffbd3e', - navHoverFg: ':lighten<17<@fg', - dateLabelFg: '@fg', - inputBorder: 'rgba(255, 255, 255, 0.1)', - panelBorder: '" solid 1px var(--divider)', - accentDarken: ':darken<10<@accent', - acrylicPanel: ':alpha<0.5<@panel', - navIndicator: '@indicator', - accentLighten: ':lighten<10<@accent', - buttonHoverBg: 'rgba(255, 255, 255, 0.1)', - driveFolderBg: ':alpha<0.3<@accent', - fgHighlighted: ':lighten<3<@fg', - fgTransparent: ':alpha<0.5<@fg', - panelHeaderBg: ':lighten<3<@panel', - panelHeaderFg: '@fg', - buttonGradateA: '@accent', - buttonGradateB: ':hue<20<@accent', - htmlThemeColor: '@bg', - panelHighlight: ':lighten<3<@panel', - listItemHoverBg: 'rgba(255, 255, 255, 0.03)', - scrollbarHandle: 'rgba(255, 255, 255, 0.2)', - inputBorderHover: 'rgba(255, 255, 255, 0.2)', - wallpaperOverlay: 'rgba(0, 0, 0, 0.5)', - fgTransparentWeak: ':alpha<0.75<@fg', - panelHeaderDivider: 'rgba(0, 0, 0, 0)', - scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)', - }, -} From 9107de63b42970fa309fe0a3f6214627e84d06d3 Mon Sep 17 00:00:00 2001 From: yzhe819 <68207314+yzhe819@users.noreply.github.com> Date: Sun, 10 Jul 2022 22:47:29 +1200 Subject: [PATCH 18/23] chore: fix lint errors (#8981) --- .../src/queue/processors/db/export-custom-emojis.ts | 2 +- .../backend/src/remote/activitypub/models/question.ts | 2 +- packages/backend/src/remote/activitypub/renderer/like.ts | 2 +- packages/client/src/components/drive-window.vue | 2 +- packages/client/src/directives/size.ts | 4 ++-- packages/client/src/scripts/hpml/expr.ts | 2 +- packages/client/src/ui/deck/list-column.vue | 2 +- packages/client/src/widgets/activity.chart.vue | 8 ++++---- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/backend/src/queue/processors/db/export-custom-emojis.ts b/packages/backend/src/queue/processors/db/export-custom-emojis.ts index 8ce1d0527..3da887cda 100644 --- a/packages/backend/src/queue/processors/db/export-custom-emojis.ts +++ b/packages/backend/src/queue/processors/db/export-custom-emojis.ts @@ -8,7 +8,7 @@ import { queueLogger } from '../../logger.js'; import { addFile } from '@/services/drive/add-file.js'; import { format as dateFormat } from 'date-fns'; import { Users, Emojis } from '@/models/index.js'; -import { } from '@/queue/types.js'; +import { } from '@/queue/types.js'; import { createTemp, createTempDir } from '@/misc/create-temp.js'; import { downloadUrl } from '@/misc/download-url.js'; import config from '@/config/index.js'; diff --git a/packages/backend/src/remote/activitypub/models/question.ts b/packages/backend/src/remote/activitypub/models/question.ts index 034501572..f0321fdf2 100644 --- a/packages/backend/src/remote/activitypub/models/question.ts +++ b/packages/backend/src/remote/activitypub/models/question.ts @@ -1,6 +1,6 @@ import config from '@/config/index.js'; import Resolver from '../resolver.js'; -import { IObject, IQuestion, isQuestion } from '../type.js'; +import { IObject, IQuestion, isQuestion } from '../type.js'; import { apLogger } from '../logger.js'; import { Notes, Polls } from '@/models/index.js'; import { IPoll } from '@/models/entities/poll.js'; diff --git a/packages/backend/src/remote/activitypub/renderer/like.ts b/packages/backend/src/remote/activitypub/renderer/like.ts index da1bfe6e8..00fb72e8a 100644 --- a/packages/backend/src/remote/activitypub/renderer/like.ts +++ b/packages/backend/src/remote/activitypub/renderer/like.ts @@ -8,7 +8,7 @@ import renderEmoji from './emoji.js'; export const renderLike = async (noteReaction: NoteReaction, note: Note) => { const reaction = noteReaction.reaction; - const object = { + const object = { type: 'Like', id: `${config.url}/likes/${noteReaction.id}`, actor: `${config.url}/users/${noteReaction.userId}`, diff --git a/packages/client/src/components/drive-window.vue b/packages/client/src/components/drive-window.vue index 5bbfca83c..51ea2b501 100644 --- a/packages/client/src/components/drive-window.vue +++ b/packages/client/src/components/drive-window.vue @@ -13,7 +13,7 @@