diff --git a/src/misc/reaction-lib.ts b/src/misc/reaction-lib.ts index 20051f028..008991454 100644 --- a/src/misc/reaction-lib.ts +++ b/src/misc/reaction-lib.ts @@ -20,7 +20,7 @@ export async function getFallbackReaction(): Promise { return meta.useStarForReactionFallback ? 'star' : 'like'; } -export async function toDbReaction(reaction: string, enableEmoji = true): Promise { +export async function toDbReaction(reaction?: string | null, enableEmoji = true): Promise { if (reaction == null) return await getFallbackReaction(); // 既存の文字列リアクションはそのまま diff --git a/src/remote/activitypub/models/note.ts b/src/remote/activitypub/models/note.ts index 9ed2fd641..c11a77b0f 100644 --- a/src/remote/activitypub/models/note.ts +++ b/src/remote/activitypub/models/note.ts @@ -152,7 +152,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false const cw = note.summary === '' ? null : note.summary; // テキストのパース - const text = note._misskey_content || fromHtml(note.content); + const text = note._misskey_content || (note.content ? fromHtml(note.content) : null); // vote if (reply && reply.hasPoll) { diff --git a/src/remote/activitypub/type.ts b/src/remote/activitypub/type.ts index 7e81a7cc4..95c69fb8a 100644 --- a/src/remote/activitypub/type.ts +++ b/src/remote/activitypub/type.ts @@ -12,7 +12,7 @@ export interface IObject { attachment?: any[]; inReplyTo?: any; replies?: ICollection; - content: string; + content?: string; name?: string; startTime?: Date; endTime?: Date; @@ -44,16 +44,16 @@ export interface IOrderedCollection extends IObject { export interface INote extends IObject { type: 'Note' | 'Question'; - _misskey_content: string; - _misskey_quote: string; - _misskey_question: string; + _misskey_content?: string; + _misskey_quote?: string; + _misskey_question?: string; } export interface IQuestion extends IObject { type: 'Note' | 'Question'; - _misskey_content: string; - _misskey_quote: string; - _misskey_question: string; + _misskey_content?: string; + _misskey_quote?: string; + _misskey_question?: string; oneOf?: IQuestionChoice[]; anyOf?: IQuestionChoice[]; endTime?: Date; @@ -129,7 +129,7 @@ export interface IRemove extends IActivity { export interface ILike extends IActivity { type: 'Like'; - _misskey_reaction: string; + _misskey_reaction?: string; } export interface IAnnounce extends IActivity { diff --git a/src/services/note/reaction/create.ts b/src/services/note/reaction/create.ts index ea2108430..6db210ea6 100644 --- a/src/services/note/reaction/create.ts +++ b/src/services/note/reaction/create.ts @@ -16,7 +16,7 @@ import { NoteReaction } from '../../../models/entities/note-reaction'; import { createNotification } from '../../create-notification'; import { isDuplicateKeyValueError } from '../../../misc/is-duplicate-key-value-error'; -export default async (user: User, note: Note, reaction: string) => { +export default async (user: User, note: Note, reaction?: string) => { // Myself if (note.userId === user.id) { throw new IdentifiableError('2d8e7297-1873-4c00-8404-792c68d7bef0', 'cannot react to my note');