onDocumentRegistered method
Called when session subscribes to a new document.
Implementation
@override
void onDocumentRegistered(ClientSession session, String documentId) {
var awareness = _documentAwareness[documentId] ??
DocumentAwareness(
documentId: documentId,
states: {},
);
final client = ClientAwareness(
clientId: session.id,
metadata: {},
);
awareness = awareness.copyWithUpdatedClient(client);
_documentAwareness[documentId] = awareness;
// send to all clients except the one that joined
// the new incoming data
_broadcastAwarenessUpdate(
documentId,
session.id,
excludeClientIds: [session.id],
);
_sendAwarenessStateToClient(
documentId,
session.id,
);
_updateController(
ServerAwarenessEvent(
type: ServerAwarenessEventType.clientJoined,
documentId: documentId,
clientId: session.id,
),
);
}