Hiyve Components - v1.0.0
    Preparing search index...

    Function usePresenterSync

    • Synchronises presenter state across room participants via the semantic relay (low-latency QUIC datagrams).

      The presenter broadcasts sidebar / tab / file-open state changes; followers receive and apply them. The relay envelope already carries a senderId and messageId, so this hook delegates self-message filtering and messageId dedup to useRelaySubProtocol. A separate timestamp check inside the payload still drops messages that arrived out-of-order from a slow peer.

      Parameters

      Returns PresenterSyncReturn

      const { broadcastState } = usePresenterSync({
      localUserId: user.id,
      isPresenter: true,
      enabled: syncEnabled,
      });

      // In PrebuiltRoom callbacks:
      onSidebarOpenChanged={(open) => broadcastState({ sidebarOpen: open })}
      onActiveTabChanged={(tab) => broadcastState({ activeTab: tab })}
      const { presenterState, isFollowing } = usePresenterSync({
      localUserId: user.id,
      isPresenter: false,
      enabled: true,
      });

      // Pass controlled props to PrebuiltRoom when following:
      controlledSidebarOpen={isFollowing ? presenterState?.sidebarOpen : undefined}
      controlledActiveTab={isFollowing ? presenterState?.activeTab : undefined}