Do not interrupt redact sequences because of exceptions on backfilling (#479)

This commit is contained in:
Marco Cirillo 2024-07-25 01:14:11 +02:00 committed by GitHub
parent e776d82d89
commit 1ffde55beb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -86,16 +86,20 @@ export async function redactUserMessagesIn(client: MatrixSendClient, managementR
for (const targetRoomId of targetRoomIds) { for (const targetRoomId of targetRoomIds) {
await managementRoom.logMessage(LogLevel.DEBUG, "utils#redactUserMessagesIn", `Fetching sent messages for ${userIdOrGlob} in ${targetRoomId} to redact...`, targetRoomId); await managementRoom.logMessage(LogLevel.DEBUG, "utils#redactUserMessagesIn", `Fetching sent messages for ${userIdOrGlob} in ${targetRoomId} to redact...`, targetRoomId);
await getMessagesByUserIn(client, userIdOrGlob, targetRoomId, limit, async (eventsToRedact) => { try {
for (const targetEvent of eventsToRedact) { await getMessagesByUserIn(client, userIdOrGlob, targetRoomId, limit, async (eventsToRedact) => {
await managementRoom.logMessage(LogLevel.DEBUG, "utils#redactUserMessagesIn", `Redacting ${targetEvent['event_id']} in ${targetRoomId}`, targetRoomId); for (const targetEvent of eventsToRedact) {
if (!noop) { await managementRoom.logMessage(LogLevel.DEBUG, "utils#redactUserMessagesIn", `Redacting ${targetEvent['event_id']} in ${targetRoomId}`, targetRoomId);
await client.redactEvent(targetRoomId, targetEvent['event_id']); if (!noop) {
} else { await client.redactEvent(targetRoomId, targetEvent['event_id']);
await managementRoom.logMessage(LogLevel.WARN, "utils#redactUserMessagesIn", `Tried to redact ${targetEvent['event_id']} in ${targetRoomId} but Mjolnir is running in no-op mode`, targetRoomId); } else {
await managementRoom.logMessage(LogLevel.WARN, "utils#redactUserMessagesIn", `Tried to redact ${targetEvent['event_id']} in ${targetRoomId} but Mjolnir is running in no-op mode`, targetRoomId);
}
} }
} });
}); } catch (error) {
await managementRoom.logMessage(LogLevel.ERROR, "utils#redactUserMessagesIn", `Caught an error while trying to redact messages for ${userIdOrGlob} in ${targetRoomId}: ${error}`, targetRoomId);
}
} }
} }