feat(guild): gossip handlers for emoji pack RPC 54–55

Wire EMOJI_PACK_UPSERT/DELETE on mesh receive and simulateGossip,
plus gossipEmojiPackUpsert/Delete broadcast helpers for platform.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-21 23:14:19 -04:00
co-authored by Cursor
parent 77b606464d
commit 2128acc7b1
+22
View File
@@ -386,6 +386,12 @@ class PearcordGuild extends EventEmitter {
if (method === RPC.STICKER_PACK_DELETE) {
this.emit('guild-sticker-pack-delete', payload)
}
if (method === RPC.EMOJI_PACK_UPSERT) {
this.emit('guild-emoji-pack', payload)
}
if (method === RPC.EMOJI_PACK_DELETE) {
this.emit('guild-emoji-pack-delete', payload)
}
}
/** Deterministic gossip injection for Bare smokes (no live mesh). */
@@ -418,6 +424,14 @@ class PearcordGuild extends EventEmitter {
this.emit('guild-sticker-pack-delete', payload)
return
}
if (method === RPC.EMOJI_PACK_UPSERT) {
this.emit('guild-emoji-pack', payload)
return
}
if (method === RPC.EMOJI_PACK_DELETE) {
this.emit('guild-emoji-pack-delete', payload)
return
}
this._onGossip(method, payload, { remotePublicKey: b4a.alloc(32) })
}
@@ -569,6 +583,14 @@ class PearcordGuild extends EventEmitter {
broadcastGossip(this, RPC.STICKER_PACK_DELETE, payload)
}
gossipEmojiPackUpsert (row) {
broadcastGossip(this, RPC.EMOJI_PACK_UPSERT, row)
}
gossipEmojiPackDelete (payload) {
broadcastGossip(this, RPC.EMOJI_PACK_DELETE, payload)
}
sendScreenMedia (msg) {
broadcastScreenMedia(this, msg)
}