summaryrefslogtreecommitdiff
path: root/src/services/note
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-09-08 11:30:44 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-09-08 11:30:44 +0900
commitc033464b924a91c8e80bd8a315153037450dcf96 (patch)
tree8e173a83648ec853585e87cce4eba20315deb0a1 /src/services/note
parentUpdate README.md [AUTOGEN] (#5402) (diff)
downloadsharkey-c033464b924a91c8e80bd8a315153037450dcf96.tar.gz
sharkey-c033464b924a91c8e80bd8a315153037450dcf96.tar.bz2
sharkey-c033464b924a91c8e80bd8a315153037450dcf96.zip
AP Undo Announce (#5400)
* AP Undo Announce * Use activity id
Diffstat (limited to 'src/services/note')
-rw-r--r--src/services/note/delete.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/services/note/delete.ts b/src/services/note/delete.ts
index 95776f7287..0f087de420 100644
--- a/src/services/note/delete.ts
+++ b/src/services/note/delete.ts
@@ -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[] = [];