diff --git a/CHANGELOG.md b/CHANGELOG.md index a54b613c82..2b40102e41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,8 @@ - Fix: 大文字を含むユーザの URL で照会された場合に 404 エラーを返す問題 #15813 - Fix: リードレプリカ設定時にレコードの追加・更新・削除を伴うクエリを発行した際はmasterノードで実行されるように調整( #10897 ) - Fix: ファイルアップロード時の挙動を一部調整(#15895) +- Fix: FreeBSDで起動できない問題を修正 + (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/887) ## 2025.4.0 diff --git a/packages/backend/package.json b/packages/backend/package.json index 0574403ce1..8464a99f8c 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -80,7 +80,6 @@ "@fastify/view": "10.0.2", "@misskey-dev/sharp-read-bmp": "1.3.0", "@misskey-dev/summaly": "5.2.1", - "@napi-rs/canvas": "0.1.69", "@nestjs/common": "11.1.0", "@nestjs/core": "11.1.0", "@nestjs/testing": "11.1.0", @@ -103,6 +102,7 @@ "body-parser": "1.20.3", "bullmq": "5.51.1", "cacheable-lookup": "7.0.0", + "canvas": "3.1.0", "cbor": "9.0.2", "chalk": "5.4.1", "chalk-template": "1.1.0", diff --git a/packages/backend/src/core/UserListService.ts b/packages/backend/src/core/UserListService.ts index f0a8768c8f..8fef473fdb 100644 --- a/packages/backend/src/core/UserListService.ts +++ b/packages/backend/src/core/UserListService.ts @@ -58,7 +58,7 @@ export class UserListService implements OnApplicationShutdown, OnModuleInit { } async onModuleInit() { - this.roleService = this.moduleRef.get(RoleService.name); + this.roleService = this.moduleRef.get(RoleService); } @bindThis diff --git a/packages/backend/src/misc/gen-identicon.ts b/packages/backend/src/misc/gen-identicon.ts index 342e0f8602..f3c08cc76e 100644 --- a/packages/backend/src/misc/gen-identicon.ts +++ b/packages/backend/src/misc/gen-identicon.ts @@ -8,7 +8,7 @@ * https://en.wikipedia.org/wiki/Identicon */ -import { createCanvas } from '@napi-rs/canvas'; +import { createCanvas } from 'canvas'; import gen from 'random-seed'; const size = 128; // px @@ -100,5 +100,5 @@ export async function genIdenticon(seed: string): Promise { } } - return await canvas.encode('png'); + return await canvas.toBuffer('image/png'); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d8bed52a1..2103e981ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,9 +126,6 @@ importers: '@misskey-dev/summaly': specifier: 5.2.1 version: 5.2.1 - '@napi-rs/canvas': - specifier: 0.1.69 - version: 0.1.69 '@nestjs/common': specifier: 11.1.0 version: 11.1.0(reflect-metadata@0.2.2)(rxjs@7.8.2) @@ -195,6 +192,9 @@ importers: cacheable-lookup: specifier: 7.0.0 version: 7.0.0 + canvas: + specifier: 3.1.0 + version: 3.1.0 cbor: specifier: 9.0.2 version: 9.0.2 @@ -2767,70 +2767,6 @@ packages: resolution: {integrity: sha512-AAwRb5vXFcY4L+FvZ7LZusDuZ0vEe0Zm8ohn1FM6/X7A3bj4mqmkAcGRWuvC2JwSygNwHAAmMnAI73vPHeqsHA==} engines: {node: '>=18'} - '@napi-rs/canvas-android-arm64@0.1.69': - resolution: {integrity: sha512-4icWTByY8zPvM9SelfQKf3I6kwXw0aI5drBOVrwfER5kjwXJd78FPSDSZkxDHjvIo9Q86ljl18Yr963ehA4sHQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@napi-rs/canvas-darwin-arm64@0.1.69': - resolution: {integrity: sha512-HOanhhYlHdukA+unjelT4Dg3ta7e820x87/AG2dKUMsUzH19jaeZs9bcYjzEy2vYi/dFWKz7cSv2yaIOudB8Yg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@napi-rs/canvas-darwin-x64@0.1.69': - resolution: {integrity: sha512-SIp7WfhxAPnSVK9bkFfJp+84rbATCIq9jMUzDwpCLhQ+v+OqtXe4pggX1oeV+62/HK6BT1t18qRmJfyqwJ9f3g==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.69': - resolution: {integrity: sha512-Ls+KujCp6TGpkuMVFvrlx+CxtL+casdkrprFjqIuOAnB30Mct6bCEr+I83Tu29s3nNq4EzIGjdmA3fFAZG/Dtw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@napi-rs/canvas-linux-arm64-gnu@0.1.69': - resolution: {integrity: sha512-m8VcGmeSBNRbHZBd1srvdM1aq/ScS2y8KqGqmCCEgJlytYK4jdULzAo2K/BPKE1v3xvn8oUPZDLI/NBJbJkEoA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@napi-rs/canvas-linux-arm64-musl@0.1.69': - resolution: {integrity: sha512-a3xjNRIeK2m2ZORGv2moBvv3vbkaFZG1QKMeiEv/BKij+rkztuEhTJGMar+buICFgS0fLgphXXsKNkUSJb7eRQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@napi-rs/canvas-linux-riscv64-gnu@0.1.69': - resolution: {integrity: sha512-pClUoJF5wdC9AvD0mc15G9JffL1Q85nuH1rLSQPRkGmGmQOtRjw5E9xNbanz7oFUiPbjH7xcAXUjVAcf7tdgPQ==} - engines: {node: '>= 10'} - cpu: [riscv64] - os: [linux] - - '@napi-rs/canvas-linux-x64-gnu@0.1.69': - resolution: {integrity: sha512-96X3bFAmzemfw84Ts6Jg/omL86uuynvK06MWGR/mp3JYNumY9RXofA14eF/kJIYelbYFWXcwpbcBR71lJ6G/YQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@napi-rs/canvas-linux-x64-musl@0.1.69': - resolution: {integrity: sha512-2QTsEFO72Kwkj53W9hc5y1FAUvdGx0V+pjJB+9oQF6Ys9+y989GyPIl5wZDzeh8nIJW6koZZ1eFa8pD+pA5BFQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@napi-rs/canvas-win32-x64-msvc@0.1.69': - resolution: {integrity: sha512-Q4YA8kVnKarApBVLu7F8icGlIfSll5Glswo5hY6gPS4Is2dCI8+ig9OeDM8RlwYevUIxKq8lZBypN8Q1iLAQ7w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@napi-rs/canvas@0.1.69': - resolution: {integrity: sha512-ydvNeJMRm+l3T14yCoUKqjYQiEdXDq1isznI93LEBGYssXKfSaLNLHOkeM4z9Fnw9Pkt2EKOCAtW9cS4b00Zcg==} - engines: {node: '>= 10'} - '@nestjs/common@11.1.0': resolution: {integrity: sha512-8MrajltjtIN6eW9cTpv+1IZogqz2Zsrc8YDt0LwQPUq8cSq0j50DETdQpPsNMeib+p9avkV41+NrzGk1z2o5Wg==} peerDependencies: @@ -12736,49 +12672,6 @@ snapshots: outvariant: 1.4.3 strict-event-emitter: 0.5.1 - '@napi-rs/canvas-android-arm64@0.1.69': - optional: true - - '@napi-rs/canvas-darwin-arm64@0.1.69': - optional: true - - '@napi-rs/canvas-darwin-x64@0.1.69': - optional: true - - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.69': - optional: true - - '@napi-rs/canvas-linux-arm64-gnu@0.1.69': - optional: true - - '@napi-rs/canvas-linux-arm64-musl@0.1.69': - optional: true - - '@napi-rs/canvas-linux-riscv64-gnu@0.1.69': - optional: true - - '@napi-rs/canvas-linux-x64-gnu@0.1.69': - optional: true - - '@napi-rs/canvas-linux-x64-musl@0.1.69': - optional: true - - '@napi-rs/canvas-win32-x64-msvc@0.1.69': - optional: true - - '@napi-rs/canvas@0.1.69': - optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.69 - '@napi-rs/canvas-darwin-arm64': 0.1.69 - '@napi-rs/canvas-darwin-x64': 0.1.69 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.69 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.69 - '@napi-rs/canvas-linux-arm64-musl': 0.1.69 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.69 - '@napi-rs/canvas-linux-x64-gnu': 0.1.69 - '@napi-rs/canvas-linux-x64-musl': 0.1.69 - '@napi-rs/canvas-win32-x64-msvc': 0.1.69 - '@nestjs/common@11.1.0(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: file-type: 20.4.1 @@ -15664,7 +15557,6 @@ snapshots: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - optional: true blob-util@2.0.2: {} @@ -15868,7 +15760,6 @@ snapshots: dependencies: node-addon-api: 7.1.1 prebuild-install: 7.1.3 - optional: true caseless@0.12.0: {} @@ -15974,8 +15865,7 @@ snapshots: dependencies: readdirp: 4.1.2 - chownr@1.1.4: - optional: true + chownr@1.1.4: {} chownr@2.0.0: {} @@ -16475,8 +16365,7 @@ snapshots: which-collection: 1.0.1 which-typed-array: 1.1.15 - deep-extend@0.6.0: - optional: true + deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -16523,8 +16412,7 @@ snapshots: detect-libc@2.0.3: {} - detect-libc@2.0.4: - optional: true + detect-libc@2.0.4: {} detect-newline@3.1.0: {} @@ -17150,8 +17038,7 @@ snapshots: exit@0.1.2: {} - expand-template@2.0.3: - optional: true + expand-template@2.0.3: {} expect-type@1.2.1: {} @@ -17498,8 +17385,7 @@ snapshots: from@0.1.7: {} - fs-constants@1.0.0: - optional: true + fs-constants@1.0.0: {} fs-extra@11.3.0: dependencies: @@ -17649,8 +17535,7 @@ snapshots: dependencies: assert-plus: 1.0.0 - github-from-package@0.0.0: - optional: true + github-from-package@0.0.0: {} glob-parent@5.1.2: dependencies: @@ -19438,8 +19323,7 @@ snapshots: minipass: 7.1.2 rimraf: 5.0.10 - mkdirp-classic@0.5.3: - optional: true + mkdirp-classic@0.5.3: {} mkdirp@0.5.6: dependencies: @@ -19539,8 +19423,7 @@ snapshots: nanoid@5.1.5: {} - napi-build-utils@2.0.0: - optional: true + napi-build-utils@2.0.0: {} natural-compare@1.4.0: {} @@ -19581,15 +19464,13 @@ snapshots: node-abi@3.74.0: dependencies: semver: 7.7.1 - optional: true node-abort-controller@3.1.1: {} node-addon-api@3.2.1: optional: true - node-addon-api@7.1.1: - optional: true + node-addon-api@7.1.1: {} node-domexception@1.0.0: {} @@ -20288,7 +20169,6 @@ snapshots: simple-get: 4.0.1 tar-fs: 2.1.2 tunnel-agent: 0.6.0 - optional: true prelude-ls@1.2.1: {} @@ -20531,7 +20411,6 @@ snapshots: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - optional: true rdf-canonize@3.4.0: dependencies: @@ -21053,15 +20932,13 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: - optional: true + simple-concat@1.0.1: {} simple-get@4.0.1: dependencies: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 - optional: true simple-oauth2@5.1.0: dependencies: @@ -21445,8 +21322,7 @@ snapshots: dependencies: min-indent: 1.0.1 - strip-json-comments@2.0.1: - optional: true + strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -21509,7 +21385,6 @@ snapshots: mkdirp-classic: 0.5.3 pump: 3.0.2 tar-stream: 2.2.0 - optional: true tar-stream@2.2.0: dependencies: @@ -21518,7 +21393,6 @@ snapshots: fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 - optional: true tar-stream@3.1.6: dependencies: