RemoteTLStoreWithStatus

See source code

A store wrapper specifically for remote collaboration that excludes local-only states. This type represents a tldraw store that is synchronized with a remote multiplayer server.

Unlike the base TLStoreWithStatus, this excludes 'synced-local' and 'not-synced' states since remote stores are always either loading, connected to a server, or in an error state.

type RemoteTLStoreWithStatus = Exclude<
  TLStoreWithStatus,
  | {
      status: "not-synced";
    }
  | {
      status: "synced-local";
    }
>;

Example

function MyCollaborativeApp() {
  const store: RemoteTLStoreWithStatus = useSync({
    uri: "wss://myserver.com/sync/room-123",
    assets: myAssetStore,
  });

  if (store.status === "loading") {
    return <div>Connecting to multiplayer session...</div>;
  }

  if (store.status === "error") {
    return <div>Connection failed: {store.error.message}</div>;
  }

  // store.status === 'synced-remote'
  return <Tldraw store={store.store} />;
}
Prev
UnknownRecord
Next
UseSyncConnectFn