feat: add pastParticipants support in history sync

Surfaces past group participant data from WhatsApp history sync messages.
Previously pastParticipants was dropped during event buffering because
it was overwritten instead of accumulated across chunks.

- src/Types/Events.ts: add pastParticipants to BaileysEventMap['messaging-history.set'] and BufferedEventData.historySets
- src/Utils/event-buffer.ts: accumulate pastParticipants via spread array instead of overwriting; include in consolidateEvents output
- src/Utils/history.ts: pass item.pastParticipants in processHistoryMessage return

Refs: WhiskeySockets/Baileys#2426

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Renato Alcara
2026-03-19 12:25:51 -03:00
parent 5926da9493
commit 7436beaab3
3 changed files with 8 additions and 0 deletions
+5
View File
@@ -967,6 +967,10 @@ function append<E extends BufferableEvent>(
}
}
data.historySets.pastParticipants = [
...(data.historySets.pastParticipants || []),
...(eventData.pastParticipants || [])
]
data.historySets.empty = false
data.historySets.syncType = eventData.syncType
data.historySets.progress = eventData.progress
@@ -1292,6 +1296,7 @@ function consolidateEvents(data: BufferedEventData) {
chats: Object.values(data.historySets.chats),
messages: Object.values(data.historySets.messages),
contacts: Object.values(data.historySets.contacts),
pastParticipants: data.historySets.pastParticipants,
syncType: data.historySets.syncType,
progress: data.historySets.progress,
isLatest: data.historySets.isLatest,
+1
View File
@@ -378,6 +378,7 @@ export const processHistoryMessage = (item: proto.IHistorySync, logger?: ILogger
chats,
contacts,
messages,
pastParticipants: item.pastParticipants,
lidPnMappings,
syncType: item.syncType,
progress: item.progress