@liveblocks/react 3.22.0-rc1 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/_private.cjs CHANGED
@@ -29,7 +29,7 @@
29
29
 
30
30
 
31
31
 
32
- var _chunkX6E4Y65Ycjs = require('./chunk-X6E4Y65Y.cjs');
32
+ var _chunkIMWZEHKFcjs = require('./chunk-IMWZEHKF.cjs');
33
33
 
34
34
  // src/lib/use-layout-effect.ts
35
35
  var _react = require('react');
@@ -54,7 +54,7 @@ function selectorFor_useGroup(state) {
54
54
  };
55
55
  }
56
56
  function useGroup(groupId) {
57
- const client = _chunkX6E4Y65Ycjs.useClient.call(void 0, );
57
+ const client = _chunkIMWZEHKFcjs.useClient.call(void 0, );
58
58
  const store = client[_core.kInternal].httpClient.groupsStore;
59
59
  const getGroupState = _react.useCallback.call(void 0,
60
60
  () => store.getItemState(groupId),
@@ -63,7 +63,7 @@ function useGroup(groupId) {
63
63
  _react.useEffect.call(void 0, () => {
64
64
  void store.enqueue(groupId);
65
65
  }, [store, groupId]);
66
- return _chunkX6E4Y65Ycjs.useSyncExternalStoreWithSelector.call(void 0,
66
+ return _chunkIMWZEHKFcjs.useSyncExternalStoreWithSelector.call(void 0,
67
67
  store.subscribe,
68
68
  getGroupState,
69
69
  getGroupState,
@@ -84,8 +84,8 @@ function normalizeMentionSuggestions(suggestions) {
84
84
  function useMentionSuggestions(roomId, search) {
85
85
  const [mentionSuggestions, setMentionSuggestions] = _react.useState.call(void 0, );
86
86
  const lastInvokedAt = _react.useRef.call(void 0, );
87
- const resolveMentionSuggestions = _chunkX6E4Y65Ycjs.useResolveMentionSuggestions.call(void 0, );
88
- const mentionSuggestionsCache = _chunkX6E4Y65Ycjs.useMentionSuggestionsCache.call(void 0, );
87
+ const resolveMentionSuggestions = _chunkIMWZEHKFcjs.useResolveMentionSuggestions.call(void 0, );
88
+ const mentionSuggestionsCache = _chunkIMWZEHKFcjs.useMentionSuggestionsCache.call(void 0, );
89
89
  _react.useEffect.call(void 0, () => {
90
90
  if (search === void 0 || !resolveMentionSuggestions) {
91
91
  return;
@@ -140,7 +140,7 @@ function useMentionSuggestions(roomId, search) {
140
140
 
141
141
 
142
142
  function useSyncSource() {
143
- const client = _chunkX6E4Y65Ycjs.useClient.call(void 0, );
143
+ const client = _chunkIMWZEHKFcjs.useClient.call(void 0, );
144
144
  const createSyncSource = client[_core.kInternal].createSyncSource;
145
145
  const [syncSource, setSyncSource] = _react.useState.call(void 0, );
146
146
  _react.useEffect.call(void 0, () => {
@@ -184,5 +184,5 @@ function useSyncSource() {
184
184
 
185
185
 
186
186
 
187
- exports.getUmbrellaStoreForClient = _chunkX6E4Y65Ycjs.getUmbrellaStoreForClient; exports.useAddRoomCommentReaction = _chunkX6E4Y65Ycjs.useAddRoomCommentReaction; exports.useClientOrNull = _chunkX6E4Y65Ycjs.useClientOrNull; exports.useCreateRoomComment = _chunkX6E4Y65Ycjs.useCreateRoomComment; exports.useCreateRoomThread = _chunkX6E4Y65Ycjs.useCreateRoomThread; exports.useCreateTextMention = _chunkX6E4Y65Ycjs.useCreateTextMention; exports.useDeleteRoomComment = _chunkX6E4Y65Ycjs.useDeleteRoomComment; exports.useDeleteRoomThread = _chunkX6E4Y65Ycjs.useDeleteRoomThread; exports.useDeleteTextMention = _chunkX6E4Y65Ycjs.useDeleteTextMention; exports.useEditRoomComment = _chunkX6E4Y65Ycjs.useEditRoomComment; exports.useEditRoomThreadMetadata = _chunkX6E4Y65Ycjs.useEditRoomThreadMetadata; exports.useGroup = useGroup; exports.useHasPermissionAccess = _chunkX6E4Y65Ycjs.useHasPermissionAccess; exports.useInitial = _chunkX6E4Y65Ycjs.useInitial; exports.useLatest = _chunkX6E4Y65Ycjs.useLatest; exports.useLayoutEffect = useLayoutEffect; exports.useMarkRoomThreadAsRead = _chunkX6E4Y65Ycjs.useMarkRoomThreadAsRead; exports.useMarkRoomThreadAsResolved = _chunkX6E4Y65Ycjs.useMarkRoomThreadAsResolved; exports.useMarkRoomThreadAsUnresolved = _chunkX6E4Y65Ycjs.useMarkRoomThreadAsUnresolved; exports.useMentionSuggestions = useMentionSuggestions; exports.useMentionSuggestionsCache = _chunkX6E4Y65Ycjs.useMentionSuggestionsCache; exports.useRemoveRoomCommentReaction = _chunkX6E4Y65Ycjs.useRemoveRoomCommentReaction; exports.useReportTextEditor = _chunkX6E4Y65Ycjs.useReportTextEditor; exports.useResolveMentionSuggestions = _chunkX6E4Y65Ycjs.useResolveMentionSuggestions; exports.useRoomAttachmentUrl = _chunkX6E4Y65Ycjs.useRoomAttachmentUrl; exports.useRoomPermissions = _chunkX6E4Y65Ycjs.useRoomPermissions; exports.useRoomThreadSubscription = _chunkX6E4Y65Ycjs.useRoomThreadSubscription; exports.useSignal = _chunkX6E4Y65Ycjs.useSignal; exports.useSuspendUntilPresenceReady = _chunkX6E4Y65Ycjs.useSuspendUntilPresenceReady; exports.useSuspendUntilStorageReady = _chunkX6E4Y65Ycjs.useSuspendUntilStorageReady; exports.useSyncExternalStoreWithSelector = _chunkX6E4Y65Ycjs.useSyncExternalStoreWithSelector; exports.useSyncSource = useSyncSource; exports.useYjsProvider = _chunkX6E4Y65Ycjs.useYjsProvider;
187
+ exports.getUmbrellaStoreForClient = _chunkIMWZEHKFcjs.getUmbrellaStoreForClient; exports.useAddRoomCommentReaction = _chunkIMWZEHKFcjs.useAddRoomCommentReaction; exports.useClientOrNull = _chunkIMWZEHKFcjs.useClientOrNull; exports.useCreateRoomComment = _chunkIMWZEHKFcjs.useCreateRoomComment; exports.useCreateRoomThread = _chunkIMWZEHKFcjs.useCreateRoomThread; exports.useCreateTextMention = _chunkIMWZEHKFcjs.useCreateTextMention; exports.useDeleteRoomComment = _chunkIMWZEHKFcjs.useDeleteRoomComment; exports.useDeleteRoomThread = _chunkIMWZEHKFcjs.useDeleteRoomThread; exports.useDeleteTextMention = _chunkIMWZEHKFcjs.useDeleteTextMention; exports.useEditRoomComment = _chunkIMWZEHKFcjs.useEditRoomComment; exports.useEditRoomThreadMetadata = _chunkIMWZEHKFcjs.useEditRoomThreadMetadata; exports.useGroup = useGroup; exports.useHasPermissionAccess = _chunkIMWZEHKFcjs.useHasPermissionAccess; exports.useInitial = _chunkIMWZEHKFcjs.useInitial; exports.useLatest = _chunkIMWZEHKFcjs.useLatest; exports.useLayoutEffect = useLayoutEffect; exports.useMarkRoomThreadAsRead = _chunkIMWZEHKFcjs.useMarkRoomThreadAsRead; exports.useMarkRoomThreadAsResolved = _chunkIMWZEHKFcjs.useMarkRoomThreadAsResolved; exports.useMarkRoomThreadAsUnresolved = _chunkIMWZEHKFcjs.useMarkRoomThreadAsUnresolved; exports.useMentionSuggestions = useMentionSuggestions; exports.useMentionSuggestionsCache = _chunkIMWZEHKFcjs.useMentionSuggestionsCache; exports.useRemoveRoomCommentReaction = _chunkIMWZEHKFcjs.useRemoveRoomCommentReaction; exports.useReportTextEditor = _chunkIMWZEHKFcjs.useReportTextEditor; exports.useResolveMentionSuggestions = _chunkIMWZEHKFcjs.useResolveMentionSuggestions; exports.useRoomAttachmentUrl = _chunkIMWZEHKFcjs.useRoomAttachmentUrl; exports.useRoomPermissions = _chunkIMWZEHKFcjs.useRoomPermissions; exports.useRoomThreadSubscription = _chunkIMWZEHKFcjs.useRoomThreadSubscription; exports.useSignal = _chunkIMWZEHKFcjs.useSignal; exports.useSuspendUntilPresenceReady = _chunkIMWZEHKFcjs.useSuspendUntilPresenceReady; exports.useSuspendUntilStorageReady = _chunkIMWZEHKFcjs.useSuspendUntilStorageReady; exports.useSyncExternalStoreWithSelector = _chunkIMWZEHKFcjs.useSyncExternalStoreWithSelector; exports.useSyncSource = useSyncSource; exports.useYjsProvider = _chunkIMWZEHKFcjs.useYjsProvider;
188
188
  //# sourceMappingURL=_private.cjs.map
@@ -1,5 +1,5 @@
1
- import { G as GroupAsyncResult } from './room-C5ak1P_z.cjs';
2
- export { g as getUmbrellaStoreForClient, u as useAddRoomCommentReaction, a as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useHasPermissionAccess, l as useMarkRoomThreadAsRead, m as useMarkRoomThreadAsResolved, n as useMarkRoomThreadAsUnresolved, o as useMentionSuggestionsCache, p as useRemoveRoomCommentReaction, q as useReportTextEditor, r as useResolveMentionSuggestions, s as useRoomAttachmentUrl, t as useRoomPermissions, v as useRoomThreadSubscription, w as useSuspendUntilPresenceReady, x as useSuspendUntilStorageReady, y as useYjsProvider } from './room-C5ak1P_z.cjs';
1
+ import { G as GroupAsyncResult } from './room-Qo6boT5Q.cjs';
2
+ export { g as getUmbrellaStoreForClient, u as useAddRoomCommentReaction, a as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useHasPermissionAccess, l as useMarkRoomThreadAsRead, m as useMarkRoomThreadAsResolved, n as useMarkRoomThreadAsUnresolved, o as useMentionSuggestionsCache, p as useRemoveRoomCommentReaction, q as useReportTextEditor, r as useResolveMentionSuggestions, s as useRoomAttachmentUrl, t as useRoomPermissions, v as useRoomThreadSubscription, w as useSuspendUntilPresenceReady, x as useSuspendUntilStorageReady, y as useYjsProvider } from './room-Qo6boT5Q.cjs';
3
3
  import { MutableRefObject, useEffect } from 'react';
4
4
  import { MentionData, ISignal, SyncSource } from '@liveblocks/core';
5
5
  import '@liveblocks/client';
@@ -1,5 +1,5 @@
1
- import { G as GroupAsyncResult } from './room-C5ak1P_z.js';
2
- export { g as getUmbrellaStoreForClient, u as useAddRoomCommentReaction, a as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useHasPermissionAccess, l as useMarkRoomThreadAsRead, m as useMarkRoomThreadAsResolved, n as useMarkRoomThreadAsUnresolved, o as useMentionSuggestionsCache, p as useRemoveRoomCommentReaction, q as useReportTextEditor, r as useResolveMentionSuggestions, s as useRoomAttachmentUrl, t as useRoomPermissions, v as useRoomThreadSubscription, w as useSuspendUntilPresenceReady, x as useSuspendUntilStorageReady, y as useYjsProvider } from './room-C5ak1P_z.js';
1
+ import { G as GroupAsyncResult } from './room-Qo6boT5Q.js';
2
+ export { g as getUmbrellaStoreForClient, u as useAddRoomCommentReaction, a as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useHasPermissionAccess, l as useMarkRoomThreadAsRead, m as useMarkRoomThreadAsResolved, n as useMarkRoomThreadAsUnresolved, o as useMentionSuggestionsCache, p as useRemoveRoomCommentReaction, q as useReportTextEditor, r as useResolveMentionSuggestions, s as useRoomAttachmentUrl, t as useRoomPermissions, v as useRoomThreadSubscription, w as useSuspendUntilPresenceReady, x as useSuspendUntilStorageReady, y as useYjsProvider } from './room-Qo6boT5Q.js';
3
3
  import { MutableRefObject, useEffect } from 'react';
4
4
  import { MentionData, ISignal, SyncSource } from '@liveblocks/core';
5
5
  import '@liveblocks/client';
package/dist/_private.js CHANGED
@@ -29,7 +29,7 @@ import {
29
29
  useSuspendUntilStorageReady,
30
30
  useSyncExternalStoreWithSelector,
31
31
  useYjsProvider
32
- } from "./chunk-BTNBUDWN.js";
32
+ } from "./chunk-HJZWAVCC.js";
33
33
 
34
34
  // src/lib/use-layout-effect.ts
35
35
  import { useEffect, useLayoutEffect as useOriginalLayoutEffect } from "react";
@@ -1,6 +1,6 @@
1
1
  // src/version.ts
2
2
  var PKG_NAME = "@liveblocks/react";
3
- var PKG_VERSION = "3.22.0-rc1";
3
+ var PKG_VERSION = "3.22.0";
4
4
  var PKG_FORMAT = "esm";
5
5
 
6
6
  // src/ClientSideSuspense.tsx
@@ -20,4 +20,4 @@ export {
20
20
  PKG_FORMAT,
21
21
  ClientSideSuspense
22
22
  };
23
- //# sourceMappingURL=chunk-YJ3VWMRC.js.map
23
+ //# sourceMappingURL=chunk-AIWIX5H4.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/version.ts
2
2
  var PKG_NAME = "@liveblocks/react";
3
- var PKG_VERSION = "3.22.0-rc1";
3
+ var PKG_VERSION = "3.22.0";
4
4
  var PKG_FORMAT = "cjs";
5
5
 
6
6
  // src/ClientSideSuspense.tsx
@@ -20,4 +20,4 @@ function ClientSideSuspense(props) {
20
20
 
21
21
 
22
22
  exports.PKG_NAME = PKG_NAME; exports.PKG_VERSION = PKG_VERSION; exports.PKG_FORMAT = PKG_FORMAT; exports.ClientSideSuspense = ClientSideSuspense;
23
- //# sourceMappingURL=chunk-EEEE2AWI.cjs.map
23
+ //# sourceMappingURL=chunk-DAXUX747.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-EEEE2AWI.cjs","../src/version.ts","../src/ClientSideSuspense.tsx"],"names":[],"mappings":"AAAA;ACGO,IAAM,SAAA,EAAW,mBAAA;AACjB,IAAM,YAAA,EAAiD,YAAA;AACvD,IAAM,WAAA,EAAgD,KAAA;ADD7D;AACA;AEJA,8BAA8C;AAkC1C,+CAAA;AAVG,SAAS,kBAAA,CAAmB,KAAA,EAAc;AAC/C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,EAAA,EAAI,6BAAA,KAAc,CAAA;AAE5C,EAAA,8BAAA,CAAU,EAAA,GAAM;AAGd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,EAAA,uBACE,6BAAA,eAAC,EAAA,EAAS,QAAA,EAAU,KAAA,CAAM,QAAA,EACvB,QAAA,EAAA,QAAA,EACG,OAAO,KAAA,CAAM,SAAA,IAAa,WAAA,EACxB,KAAA,CAAM,QAAA,CAAS,EAAA,EACf,KAAA,CAAM,SAAA,EACR,KAAA,CAAM,SAAA,CACZ,CAAA;AAEJ;AF5BA;AACA;AACE;AACA;AACA;AACA;AACF,iJAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-EEEE2AWI.cjs","sourcesContent":[null,"declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","import type { ReactNode } from \"react\";\nimport { Suspense, useEffect, useState } from \"react\";\n\ntype Props = {\n fallback: ReactNode;\n children: (() => ReactNode | undefined) | ReactNode | undefined;\n};\n\n/**\n * Almost like a normal <Suspense> component, except that for server-side\n * renders, the fallback will be used.\n *\n * The child props will have to be provided in a function, i.e. change:\n *\n * <Suspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </Suspense>\n *\n * To:\n *\n * <ClientSideSuspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </ClientSideSuspense>\n *\n */\nexport function ClientSideSuspense(props: Props) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n // Effects are never executed on the server side. The point of this is to\n // delay the flipping of this boolean until after hydration has happened.\n setMounted(true);\n }, []);\n\n return (\n <Suspense fallback={props.fallback}>\n {mounted\n ? typeof props.children === \"function\"\n ? props.children()\n : props.children\n : props.fallback}\n </Suspense>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-DAXUX747.cjs","../src/version.ts","../src/ClientSideSuspense.tsx"],"names":[],"mappings":"AAAA;ACGO,IAAM,SAAA,EAAW,mBAAA;AACjB,IAAM,YAAA,EAAiD,QAAA;AACvD,IAAM,WAAA,EAAgD,KAAA;ADD7D;AACA;AEJA,8BAA8C;AAkC1C,+CAAA;AAVG,SAAS,kBAAA,CAAmB,KAAA,EAAc;AAC/C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,EAAA,EAAI,6BAAA,KAAc,CAAA;AAE5C,EAAA,8BAAA,CAAU,EAAA,GAAM;AAGd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,EAAA,uBACE,6BAAA,eAAC,EAAA,EAAS,QAAA,EAAU,KAAA,CAAM,QAAA,EACvB,QAAA,EAAA,QAAA,EACG,OAAO,KAAA,CAAM,SAAA,IAAa,WAAA,EACxB,KAAA,CAAM,QAAA,CAAS,EAAA,EACf,KAAA,CAAM,SAAA,EACR,KAAA,CAAM,SAAA,CACZ,CAAA;AAEJ;AF5BA;AACA;AACE;AACA;AACA;AACA;AACF,iJAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-DAXUX747.cjs","sourcesContent":[null,"declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","import type { ReactNode } from \"react\";\nimport { Suspense, useEffect, useState } from \"react\";\n\ntype Props = {\n fallback: ReactNode;\n children: (() => ReactNode | undefined) | ReactNode | undefined;\n};\n\n/**\n * Almost like a normal <Suspense> component, except that for server-side\n * renders, the fallback will be used.\n *\n * The child props will have to be provided in a function, i.e. change:\n *\n * <Suspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </Suspense>\n *\n * To:\n *\n * <ClientSideSuspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </ClientSideSuspense>\n *\n */\nexport function ClientSideSuspense(props: Props) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n // Effects are never executed on the server side. The point of this is to\n // delay the flipping of this boolean until after hydration has happened.\n setMounted(true);\n }, []);\n\n return (\n <Suspense fallback={props.fallback}>\n {mounted\n ? typeof props.children === \"function\"\n ? props.children()\n : props.children\n : props.fallback}\n </Suspense>\n );\n}\n"]}
@@ -5330,6 +5330,41 @@ function useRoomSubscriptionSettingsSuspense_withRoomContext(RoomContext) {
5330
5330
  function useRoomSubscriptionSettingsSuspense() {
5331
5331
  return useRoomSubscriptionSettingsSuspense_withRoomContext(GlobalRoomContext);
5332
5332
  }
5333
+ function parseStorageVersionNodes(ndjson) {
5334
+ return ndjson.split("\n").filter((line) => line.length > 0).map((line) => JSON.parse(line));
5335
+ }
5336
+ function useHistoryVersionStorageData_withRoomContext(RoomContext, versionId) {
5337
+ const [state, setState] = useState3({
5338
+ isLoading: true
5339
+ });
5340
+ const room = useRoom_withRoomContext(RoomContext);
5341
+ useEffect6(() => {
5342
+ setState({ isLoading: true });
5343
+ const load = async () => {
5344
+ try {
5345
+ const response = await room[kInternal4].fetchStorageHistoryVersion(versionId);
5346
+ const nodes = parseStorageVersionNodes(await response.text());
5347
+ const data = room[kInternal4].liveObjectFromNodeStream(nodes);
5348
+ setState({ isLoading: false, data });
5349
+ } catch (error) {
5350
+ setState({
5351
+ isLoading: false,
5352
+ error: error instanceof Error ? error : new Error(
5353
+ "An unknown error occurred while loading this version"
5354
+ )
5355
+ });
5356
+ }
5357
+ };
5358
+ void load();
5359
+ }, [room, versionId]);
5360
+ return state;
5361
+ }
5362
+ function useHistoryVersionStorageData(versionId) {
5363
+ return useHistoryVersionStorageData_withRoomContext(
5364
+ GlobalRoomContext,
5365
+ versionId
5366
+ );
5367
+ }
5333
5368
  function useHistoryVersionYjsData_withRoomContext(RoomContext, versionId) {
5334
5369
  const [state, setState] = useState3({
5335
5370
  isLoading: true
@@ -5339,7 +5374,7 @@ function useHistoryVersionYjsData_withRoomContext(RoomContext, versionId) {
5339
5374
  setState({ isLoading: true });
5340
5375
  const load = async () => {
5341
5376
  try {
5342
- const response = await room[kInternal4].getYjsHistoryVersion(versionId);
5377
+ const response = await room[kInternal4].fetchYjsHistoryVersion(versionId);
5343
5378
  const buffer = await response.arrayBuffer();
5344
5379
  const data = new Uint8Array(buffer);
5345
5380
  setState({
@@ -5388,6 +5423,30 @@ function useHistoryVersions_withRoomContext(RoomContext) {
5388
5423
  );
5389
5424
  return useSignal(store.outputs.versionsByRoomId.getOrCreate(room.id).signal);
5390
5425
  }
5426
+ function useDeleteHistoryVersion_withRoomContext(RoomContext) {
5427
+ const room = useRoom_withRoomContext(RoomContext);
5428
+ return useCallback3(
5429
+ (versionId) => room[kInternal4].deleteHistoryVersion(versionId),
5430
+ [room]
5431
+ );
5432
+ }
5433
+ function useDeleteHistoryVersion() {
5434
+ return useDeleteHistoryVersion_withRoomContext(GlobalRoomContext);
5435
+ }
5436
+ function useRestoreToStorageVersion_withRoomContext(RoomContext, versionId) {
5437
+ const room = useRoom_withRoomContext(RoomContext);
5438
+ return useCallback3(async () => {
5439
+ const response = await room[kInternal4].fetchStorageHistoryVersion(versionId);
5440
+ const nodes = parseStorageVersionNodes(await response.text());
5441
+ room[kInternal4].reconcileStorageWithNodes(nodes);
5442
+ }, [room, versionId]);
5443
+ }
5444
+ function useRestoreToStorageVersion(versionId) {
5445
+ return useRestoreToStorageVersion_withRoomContext(
5446
+ GlobalRoomContext,
5447
+ versionId
5448
+ );
5449
+ }
5391
5450
  function useHistoryVersions() {
5392
5451
  return useHistoryVersions_withRoomContext(GlobalRoomContext);
5393
5452
  }
@@ -5838,9 +5897,21 @@ function createRoomContext(client) {
5838
5897
  function useHistoryVersionsSuspense_withBoundRoomContext() {
5839
5898
  return useHistoryVersionsSuspense_withRoomContext(BoundRoomContext);
5840
5899
  }
5900
+ function useHistoryVersionStorageData_withBoundRoomContext(...args) {
5901
+ return useHistoryVersionStorageData_withRoomContext(
5902
+ BoundRoomContext,
5903
+ ...args
5904
+ );
5905
+ }
5841
5906
  function useHistoryVersionYjsData_withBoundRoomContext(...args) {
5842
5907
  return useHistoryVersionYjsData_withRoomContext(BoundRoomContext, ...args);
5843
5908
  }
5909
+ function useDeleteHistoryVersion_withBoundRoomContext() {
5910
+ return useDeleteHistoryVersion_withRoomContext(BoundRoomContext);
5911
+ }
5912
+ function useRestoreToStorageVersion_withBoundRoomContext(...args) {
5913
+ return useRestoreToStorageVersion_withRoomContext(BoundRoomContext, ...args);
5914
+ }
5844
5915
  function useRoomSubscriptionSettings_withBoundRoomContext() {
5845
5916
  return useRoomSubscriptionSettings_withRoomContext(BoundRoomContext);
5846
5917
  }
@@ -5985,8 +6056,13 @@ function createRoomContext(client) {
5985
6056
  // prettier-ignore
5986
6057
  useHistoryVersionData: useHistoryVersionYjsData_withBoundRoomContext,
5987
6058
  // prettier-ignore
6059
+ useHistoryVersionStorageData: useHistoryVersionStorageData_withBoundRoomContext,
5988
6060
  useHistoryVersionYjsData: useHistoryVersionYjsData_withBoundRoomContext,
5989
6061
  // prettier-ignore
6062
+ useDeleteHistoryVersion: useDeleteHistoryVersion_withBoundRoomContext,
6063
+ // prettier-ignore
6064
+ useRestoreToStorageVersion: useRestoreToStorageVersion_withBoundRoomContext,
6065
+ // prettier-ignore
5990
6066
  useRoomSubscriptionSettings: useRoomSubscriptionSettings_withBoundRoomContext,
5991
6067
  // prettier-ignore
5992
6068
  useUpdateRoomSubscriptionSettings: useUpdateRoomSubscriptionSettings_withBoundRoomContext,
@@ -6236,8 +6312,11 @@ export {
6236
6312
  useUnsubscribeFromThread,
6237
6313
  useThreadSubscription,
6238
6314
  useRoomThreadSubscription,
6315
+ useHistoryVersionStorageData,
6239
6316
  useHistoryVersionData,
6240
6317
  useHistoryVersionYjsData,
6318
+ useDeleteHistoryVersion,
6319
+ useRestoreToStorageVersion,
6241
6320
  useUpdateRoomSubscriptionSettings,
6242
6321
  useSuspendUntilPresenceReady,
6243
6322
  useOthersConnectionIdsSuspense,
@@ -6287,4 +6366,4 @@ export {
6287
6366
  _useStorageRoot,
6288
6367
  _useUpdateMyPresence
6289
6368
  };
6290
- //# sourceMappingURL=chunk-BTNBUDWN.js.map
6369
+ //# sourceMappingURL=chunk-HJZWAVCC.js.map