diff --git a/packages/backend/src/core/chart/charts/test-grouped.ts b/packages/backend/src/core/chart/charts/test-grouped.ts index 500e85f9f0afc268183f3fdfc34055021d154f79..bc215f39420be439d8513faabffb0798934a62a5 100644 --- a/packages/backend/src/core/chart/charts/test-grouped.ts +++ b/packages/backend/src/core/chart/charts/test-grouped.ts @@ -20,7 +20,7 @@ export default class TestGroupedChart extends Chart<typeof schema> { private db: DataSource, private appLockService: AppLockService, - private logger: Logger, + logger: Logger, ) { super(db, (k) => appLockService.getChartInsertLock(k), logger, name, schema, true); } diff --git a/packages/backend/src/core/chart/charts/test-intersection.ts b/packages/backend/src/core/chart/charts/test-intersection.ts index ff63e9976bea3e8ab6899931411ee183a96b7f3c..a074a7ddedd705ade64d8505e3d5eba53dcfdc5f 100644 --- a/packages/backend/src/core/chart/charts/test-intersection.ts +++ b/packages/backend/src/core/chart/charts/test-intersection.ts @@ -18,7 +18,7 @@ export default class TestIntersectionChart extends Chart<typeof schema> { private db: DataSource, private appLockService: AppLockService, - private logger: Logger, + logger: Logger, ) { super(db, (k) => appLockService.getChartInsertLock(k), logger, name, schema); } diff --git a/packages/backend/src/core/chart/charts/test-unique.ts b/packages/backend/src/core/chart/charts/test-unique.ts index 3be4b0df2b4d942a3937431ca607601cac0f839e..4d3e2f240310ec5745a3790e8be96570e9114c14 100644 --- a/packages/backend/src/core/chart/charts/test-unique.ts +++ b/packages/backend/src/core/chart/charts/test-unique.ts @@ -18,7 +18,7 @@ export default class TestUniqueChart extends Chart<typeof schema> { private db: DataSource, private appLockService: AppLockService, - private logger: Logger, + logger: Logger, ) { super(db, (k) => appLockService.getChartInsertLock(k), logger, name, schema); } diff --git a/packages/backend/src/core/chart/charts/test.ts b/packages/backend/src/core/chart/charts/test.ts index 89f64c4c1dfeb6fc3ddd3ba36a9157aa27bc2a4e..72caf79e0fd3e68a315fcf709c6b2b767a19d060 100644 --- a/packages/backend/src/core/chart/charts/test.ts +++ b/packages/backend/src/core/chart/charts/test.ts @@ -20,7 +20,7 @@ export default class TestChart extends Chart<typeof schema> { private db: DataSource, private appLockService: AppLockService, - private logger: Logger, + logger: Logger, ) { super(db, (k) => appLockService.getChartInsertLock(k), logger, name, schema); } diff --git a/packages/backend/src/core/entities/GalleryLikeEntityService.ts b/packages/backend/src/core/entities/GalleryLikeEntityService.ts index bf7c2b7f8d5bdc8f3666626af1991191c5d17a3a..7e599113cc6c1088cd922ab7862dfac350134776 100644 --- a/packages/backend/src/core/entities/GalleryLikeEntityService.ts +++ b/packages/backend/src/core/entities/GalleryLikeEntityService.ts @@ -1,6 +1,6 @@ import { Inject, Injectable } from '@nestjs/common'; import { DI } from '@/di-symbols.js'; -import type { GalleryPosts, GalleryLikesRepository } from '@/models/index.js'; +import type { GalleryLikesRepository } from '@/models/index.js'; import { awaitAll } from '@/misc/prelude/await-all.js'; import type { Packed } from '@/misc/schema.js'; import type { } from '@/models/entities/Blocking.js'; diff --git a/packages/backend/src/core/remote/activitypub/ApInboxService.ts b/packages/backend/src/core/remote/activitypub/ApInboxService.ts index 7525aa8d479b04f0ceecd9c8375e20dfa8dd7e8f..baeeb1ad3e631ff18de074bc85060a239ccd426e 100644 --- a/packages/backend/src/core/remote/activitypub/ApInboxService.ts +++ b/packages/backend/src/core/remote/activitypub/ApInboxService.ts @@ -295,8 +295,9 @@ export class ApInboxService { let renote; try { renote = await this.apNoteService.resolveNote(targetUri); + if (renote == null) throw new Error('announce target is null'); } catch (err) { - // 対象ãŒ4xxãªã‚‰ã‚¹ã‚ップ + // 対象ãŒ4xxãªã‚‰ã‚¹ã‚ップ if (err instanceof StatusError) { if (err.isClientError) { this.logger.warn(`Ignored announce target ${targetUri} - ${err.statusCode}`); @@ -308,7 +309,10 @@ export class ApInboxService { throw err; } - if (!await this.noteEntityService.isVisibleForMe(renote, actor.id)) return 'skip: invalid actor for this activity'; + if (!await this.noteEntityService.isVisibleForMe(renote, actor.id)) { + this.logger.warn('skip: invalid actor for this activity'); + return; + } this.logger.info(`Creating the (Re)Note: ${uri}`); diff --git a/packages/backend/src/core/remote/activitypub/ApRendererService.ts b/packages/backend/src/core/remote/activitypub/ApRendererService.ts index cf10c83f390917a65e1c9bf5c31c946da364b883..a401b7424f10729dfb5918562615e65ee107c4d8 100644 --- a/packages/backend/src/core/remote/activitypub/ApRendererService.ts +++ b/packages/backend/src/core/remote/activitypub/ApRendererService.ts @@ -243,7 +243,7 @@ export class ApRendererService { }; } - public async renderLike(noteReaction: NoteReaction, note: Note) { + public async renderLike(noteReaction: NoteReaction, note: { uri: string | null }) { const reaction = noteReaction.reaction; const object = { diff --git a/packages/backend/src/core/remote/activitypub/ApResolverService.ts b/packages/backend/src/core/remote/activitypub/ApResolverService.ts index e2d6a7737055cce2611a36b1308498c61c661629..fe57c82ccc89a3c9ac0112cfb88ad497729c68e5 100644 --- a/packages/backend/src/core/remote/activitypub/ApResolverService.ts +++ b/packages/backend/src/core/remote/activitypub/ApResolverService.ts @@ -156,8 +156,8 @@ export class Resolver { return this.notesRepository.findOneByOrFail({ id: parsed.id }) .then(note => { if (parsed.rest === 'activity') { - // this refers to the create activity and not the note itself - return this.apRendererService.renderActivity(this.apRendererService.renderCreate(this.apRendererService.renderNote(note))); + // this refers to the create activity and not the note itself + return this.apRendererService.renderActivity(this.apRendererService.renderCreate(this.apRendererService.renderNote(note), note)); } else { return this.apRendererService.renderNote(note); } @@ -174,7 +174,7 @@ export class Resolver { .then(([note, poll]) => this.apRendererService.renderQuestion({ id: note.userId }, note, poll)); case 'likes': return this.noteReactionsRepository.findOneByOrFail({ id: parsed.id }).then(reaction => - this.apRendererService.renderActivity(this.apRendererService.renderLike(reaction, { uri: null }))); + this.apRendererService.renderActivity(this.apRendererService.renderLike(reaction, { uri: null }))!); case 'follows': // rest should be <followee id> if (parsed.rest == null || !/^\w+$/.test(parsed.rest)) throw new Error('resolveLocal: invalid follow URI'); @@ -184,7 +184,7 @@ export class Resolver { ) .then(([follower, followee]) => this.apRendererService.renderActivity(this.apRendererService.renderFollow(follower, followee, url))); default: - throw new Error(`resolveLocal: type ${type} unhandled`); + throw new Error(`resolveLocal: type ${parsed.type} unhandled`); } } } diff --git a/packages/backend/src/core/remote/activitypub/type.ts b/packages/backend/src/core/remote/activitypub/type.ts index de7eb0ed8332ae446b7d74ef0d21b273836fc41c..dcc5110aa50f58cd3a17cb78c71788d4f5b71f5c 100644 --- a/packages/backend/src/core/remote/activitypub/type.ts +++ b/packages/backend/src/core/remote/activitypub/type.ts @@ -111,8 +111,9 @@ export interface IPost extends IObject { mediaType: string; }; _misskey_quote?: string; + _misskey_content?: string; quoteUrl?: string; - _misskey_talk: boolean; + _misskey_talk?: boolean; } export interface IQuestion extends IObject { diff --git a/packages/backend/src/server/api/endpoints.ts b/packages/backend/src/server/api/endpoints.ts index a05bb5a7e02a1f7e1b616f7d65884162956e63cb..b2ab36e070b1a1741d80a36eec4c8a49e281ac63 100644 --- a/packages/backend/src/server/api/endpoints.ts +++ b/packages/backend/src/server/api/endpoints.ts @@ -725,10 +725,10 @@ export interface IEndpoint { params: Schema; } -const endpoints: IEndpoint[] = eps.map(([name, ep]) => { +const endpoints: IEndpoint[] = (eps as [string, any]).map(([name, ep]) => { return { name: name, - meta: ep.meta || {}, + meta: ep.meta ?? {}, params: ep.paramDef, }; });