feat(federation): client handler for federation_peer_reset_detected
This commit is contained in:
@@ -50,6 +50,13 @@ function notifyFederationChangeListeners(): void {
|
|||||||
for (const cb of federationChangeListeners) cb();
|
for (const cb of federationChangeListeners) cb();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const federationPeerResetDetectedListeners = new Set<(origin: string) => void>();
|
||||||
|
|
||||||
|
export function onFederationPeerResetDetected(cb: (origin: string) => void): () => void {
|
||||||
|
federationPeerResetDetectedListeners.add(cb);
|
||||||
|
return () => { federationPeerResetDetectedListeners.delete(cb); };
|
||||||
|
}
|
||||||
|
|
||||||
// ─── Connection state ─────────────────────────────────────────────────────────
|
// ─── Connection state ─────────────────────────────────────────────────────────
|
||||||
|
|
||||||
interface ConnectionState {
|
interface ConnectionState {
|
||||||
@@ -826,6 +833,11 @@ function handleEvent(origin: string, event: ServerEvent): void {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case 'federation_peer_reset_detected': {
|
||||||
|
for (const cb of federationPeerResetDetectedListeners) cb(event.origin);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case 'federation_approval_request_received': {
|
case 'federation_approval_request_received': {
|
||||||
notifyFederationChangeListeners();
|
notifyFederationChangeListeners();
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user