mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
fix(guild): stop batched message delete audit log disappearance (#1511)
This commit is contained in:
1 parent
bf004e6d72
commit
6a23ec30c6
1 file changed
+5
-3
@@ -111,11 +111,10 @@ export class GuildAuditLogService {
|
|||||||
const group = groups.find((g) => g.logs.includes(log));
|
const group = groups.find((g) => g.logs.includes(log));
|
||||||
if (group && group.logs.length >= 2) {
|
if (group && group.logs.length >= 2) {
|
||||||
if (log === group.logs[0]) {
|
if (log === group.logs[0]) {
|
||||||
const newestLogId = group.logs.reduce((max, l) => (l.logId > max ? l.logId : max), group.logs[0].logId);
|
|
||||||
for (const groupLog of group.logs) {
|
for (const groupLog of group.logs) {
|
||||||
deletedLogIds.push(groupLog.logId);
|
deletedLogIds.push(groupLog.logId);
|
||||||
}
|
}
|
||||||
const batchedLog = await this.createBatchedMessageDeleteLog(guildId, group, newestLogId);
|
const batchedLog = await this.createBatchedMessageDeleteLog(guildId, group);
|
||||||
createdLogs.push(batchedLog);
|
createdLogs.push(batchedLog);
|
||||||
processedLogs.push(batchedLog);
|
processedLogs.push(batchedLog);
|
||||||
}
|
}
|
||||||
@@ -183,8 +182,11 @@ export class GuildAuditLogService {
|
|||||||
private async createBatchedMessageDeleteLog(
|
private async createBatchedMessageDeleteLog(
|
||||||
guildId: GuildID,
|
guildId: GuildID,
|
||||||
group: MessageDeleteBatchGroup,
|
group: MessageDeleteBatchGroup,
|
||||||
logId: bigint,
|
|
||||||
): Promise<GuildAuditLog> {
|
): Promise<GuildAuditLog> {
|
||||||
|
// Must be a fresh id: reusing one of the replaced logs would put a delete and an insert for the same
|
||||||
|
// primary key in one batch, and Cassandra resolves that tie in favour of the tombstone, so the entry
|
||||||
|
// would silently vanish from every table whose key does not include action_type.
|
||||||
|
const logId = await this.snowflakeService.generate();
|
||||||
const row: GuildAuditLogRow = {
|
const row: GuildAuditLogRow = {
|
||||||
guild_id: guildId,
|
guild_id: guildId,
|
||||||
log_id: logId,
|
log_id: logId,
|
||||||
|
|||||||
Reference in new issue
Block a user