fix(federation): include presenceUpdate in outbox-to-relay event rebuild
The outbox worker rebuilds FederationRelayEvent objects from stored JSON via an allowlist of known fields. presenceUpdate was missed when presence_update events shipped, so peers received events with eventType='presence_update' but no payload — rejected with missing_presence_update_payload on every tick.
This commit is contained in:
@@ -220,6 +220,7 @@ export async function processOutboxTick(): Promise<void> {
|
|||||||
if (parsed.rejectionLimit != null) evt.rejectionLimit = parsed.rejectionLimit;
|
if (parsed.rejectionLimit != null) evt.rejectionLimit = parsed.rejectionLimit;
|
||||||
if (parsed.affectedUserIds) evt.affectedUserIds = parsed.affectedUserIds;
|
if (parsed.affectedUserIds) evt.affectedUserIds = parsed.affectedUserIds;
|
||||||
if (parsed.profileUpdate) evt.profileUpdate = parsed.profileUpdate;
|
if (parsed.profileUpdate) evt.profileUpdate = parsed.profileUpdate;
|
||||||
|
if (parsed.presenceUpdate) evt.presenceUpdate = parsed.presenceUpdate;
|
||||||
if (parsed.readState) evt.readState = parsed.readState;
|
if (parsed.readState) evt.readState = parsed.readState;
|
||||||
if (parsed.dmCloseReopen) evt.dmCloseReopen = parsed.dmCloseReopen;
|
if (parsed.dmCloseReopen) evt.dmCloseReopen = parsed.dmCloseReopen;
|
||||||
return evt;
|
return evt;
|
||||||
|
|||||||
Reference in New Issue
Block a user