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:
Jannis Braun
2026-05-05 16:28:07 +02:00
parent ba0f8637f5
commit d2bd7987c1
@@ -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;