diff --git a/packages/backend/migration/1718271407902-noteEdit.js b/packages/backend/migration/1718271407902-noteEdit.js index bf3155ee0b..6ee09fddd6 100644 --- a/packages/backend/migration/1718271407902-noteEdit.js +++ b/packages/backend/migration/1718271407902-noteEdit.js @@ -9,7 +9,7 @@ export class NoteEdit1718271407902 { async up(queryRunner) { await queryRunner.query(`ALTER TABLE "note" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`); await queryRunner.query(`COMMENT ON COLUMN "note"."updatedAt" IS 'The updated date of the Note.'`); - await queryRunner.query(`CREATE TABLE "note_history" ("id" character varying(32) NOT NULL, "targetId" character varying(32), "text" text, "name" character varying(256), "cw" character varying(512), "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "attachedFileTypes" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mentions" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentionedRemoteUsers" text NOT NULL DEFAULT '[]', "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "hasPoll" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_96d34172acfba2f6b1bc2ed43058" PRIMARY KEY ("id"))`); + await queryRunner.query(`CREATE TABLE "note_history" ("id" character varying(32) NOT NULL, "targetId" character varying(32) NOT NULL, "text" text, "name" character varying(256), "cw" character varying(512), "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "attachedFileTypes" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mentions" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentionedRemoteUsers" text NOT NULL DEFAULT '[]', "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "hasPoll" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_96d34172acfba2f6b1bc2ed43058" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_f23ad074619d2afe0f69da9a95" ON "note_history" ("targetId") `); await queryRunner.query(`ALTER TABLE "note_history" ADD CONSTRAINT "FK_aacf2074601e204e0f69da9a954" FOREIGN KEY ("targetId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } diff --git a/packages/backend/src/core/NoteEditService.ts b/packages/backend/src/core/NoteEditService.ts index 099de8f5e9..2fc32a3544 100644 --- a/packages/backend/src/core/NoteEditService.ts +++ b/packages/backend/src/core/NoteEditService.ts @@ -55,7 +55,7 @@ type MinimumUser = { }; type Option = { - createdAt?: Date | null; + publishedAt?: Date | null; name?: string | null; text?: string | null; reply?: MiNote | null; @@ -170,7 +170,6 @@ export class NoteEditService implements OnApplicationShutdown { data.channel = await this.channelsRepository.findOneBy({ id: data.reply.channelId }); } - if (data.createdAt == null) data.createdAt = this.idService.parse(targetId).date; if (data.renote == null && targetNote.renoteId) data.renote = await this.notesRepository.findOneByOrFail({ id: targetNote.renoteId }); if (data.reply == null && targetNote.replyId) data.reply = await this.notesRepository.findOneByOrFail({ id: targetNote.replyId }); if (data.poll == null) data.poll = targetNote.hasPoll ? await this.pollsRepository.findOneByOrFail({ noteId: targetId }) : null; @@ -248,7 +247,7 @@ export class NoteEditService implements OnApplicationShutdown { const note = new MiNote({ id: targetNote.id, - updatedAt: data.createdAt ?? new Date(), + updatedAt: data.publishedAt ?? new Date(), visibility: changeVisibilityToHome ? 'home' : targetNote.visibility, fileIds: data.files ? data.files.map(file => file.id) : [], replyId: data.reply ? data.reply.id : null, diff --git a/packages/backend/src/core/activitypub/models/ApNoteService.ts b/packages/backend/src/core/activitypub/models/ApNoteService.ts index 162dc35361..5fa24d3555 100644 --- a/packages/backend/src/core/activitypub/models/ApNoteService.ts +++ b/packages/backend/src/core/activitypub/models/ApNoteService.ts @@ -503,7 +503,7 @@ export class ApNoteService { const poll = await this.apQuestionService.extractPollFromQuestion(note, resolver).catch(() => undefined); await this.noteEditService.edit(actor, targetNote.id, { - createdAt: note.published ? new Date(note.published) : null, + publishedAt: note.published ? new Date(note.published) : new Date(), files, reply, renote: quote,