OptionaldisabledWhen true, the provider does not connect. Useful for rooms where
the relay isn't needed yet (e.g. while waiting for a token to come
back from the backend) or when the consumer wants a kill switch.
OptionalmaxMaximum dedupe entries per topic before pruning kicks in. Default 200.
OptionalonNotification when the connection state changes.
OptionalonOptional debug hook — pairs nicely with createDebugLogger('hiyve:semantic-relay').
OptionalonConnection-level error callback.
OptionalpruneNumber of dedupe entries to drop when the cache is pruned. Default 50.
OptionalretryOverride the connect-retry policy. Defaults to three attempts with 200ms / 800ms / 2000ms backoff. Auth failures (401/403 from the handshake) are not retried regardless of this setting.
Room identifier — relay-side broadcast scope. The provider rebuilds its client whenever this changes so peers see the new session.
OptionalserverCert hashes for the browser WebTransport serverCertificateHashes
option. The relay uses self-signed ECDSA P-256 certificates rotated
every ~12 days; the app backend should fetch the current hash from
the cert-hash file (private S3 in production) and pass it through.
HMAC-SHA256 JWT minted by the app backend.
WebTransport URL — must use the https:// scheme (HTTP/3). The relay
adds query parameters for room and token, so callers should pass the
raw base path, e.g. https://semantic.hiyve.tv:4443/relay.
Identifier the consumer treats as authoritative. Duplicated into every
published envelope so subscribers can attribute messages without waiting
for a peer-presence stream from the server. Should match the JWT's
userId claim — the SDK does not enforce this, but mismatches lead to
confusing attribution.
Props for
<SemanticRelayProvider>. Mirrors the shape ofRelayOptionsfrom the underlying client, plus adisabledflag and achildrenslot. The provider owns theSemanticRelayClientinstance and tears it down whenroomId/userId/tokenchange or when the component unmounts.