AP Undo Announce (#5400)

* AP Undo Announce

* Use activity id
This commit is contained in:
MeiMei 2019-09-08 11:30:44 +09:00 committed by syuilo
parent 3ef6305c76
commit c033464b92
3 changed files with 34 additions and 2 deletions

View file

@ -1,5 +1,7 @@
import { publishNoteStream } from '../stream';
import renderDelete from '../../remote/activitypub/renderer/delete';
import renderAnnounce from '../../remote/activitypub/renderer/announce';
import renderUndo from '../../remote/activitypub/renderer/undo';
import { renderActivity } from '../../remote/activitypub/renderer';
import { deliver } from '../../queue';
import renderTombstone from '../../remote/activitypub/renderer/tombstone';
@ -35,7 +37,17 @@ export default async function(user: User, note: Note, quiet = false) {
//#region ローカルの投稿なら削除アクティビティを配送
if (Users.isLocalUser(user)) {
const content = renderActivity(renderDelete(renderTombstone(`${config.url}/notes/${note.id}`), user));
let renote: Note | undefined;
if (note.renoteId && note.text == null && !note.hasPoll && (note.fileIds == null || note.fileIds.length == 0)) {
renote = await Notes.findOne({
id: note.renoteId
});
}
const content = renderActivity(renote
? renderUndo(renderAnnounce(renote.uri || `${config.url}/notes/${renote.id}`, note), user)
: renderDelete(renderTombstone(`${config.url}/notes/${note.id}`), user));
const queue: string[] = [];