feat: send Update(Note) on chat message deletion and restoration, serving Tombstone if deleted

re: #12853
This commit is contained in:
Julian Lam
2024-10-17 11:05:27 -04:00
parent b472c58946
commit 61445d3d87
4 changed files with 36 additions and 7 deletions

View File

@@ -107,8 +107,11 @@ inbox.update = async (req) => {
}
case isMessage: {
const roomId = await messaging.getMessageField(object.id, 'roomId');
const [roomId, deleted] = await messaging.getMessageFields(object.id, ['roomId', 'deleted']);
await messaging.editMessage(actor, object.id, roomId, object.content);
if (deleted) {
await api.chats.restoreMessage({ uid: actor }, { mid: object.id });
}
break;
}
@@ -140,8 +143,9 @@ inbox.update = async (req) => {
}
case 'Tombstone': {
const [isNote/* , isActor */] = await Promise.all([
const [isNote, isMessage/* , isActor */] = await Promise.all([
posts.exists(object.id),
messaging.messageExists(object.id),
// db.isSortedSetMember('usersRemote:lastCrawled', object.id),
]);
@@ -151,6 +155,11 @@ inbox.update = async (req) => {
break;
}
case isMessage: {
await api.chats.deleteMessage({ uid: actor }, { mid: object.id });
break;
}
// case isActor: {
// console.log('actor');
// break;