@supernova-studio/client 0.47.73 → 0.47.74

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supernova-studio/client",
3
- "version": "0.47.73",
3
+ "version": "0.47.74",
4
4
  "description": "Supernova Data Models",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -76,7 +76,7 @@ export class VersionRoomBaseYDoc {
76
76
 
77
77
  const rawSettings: Record<keyof DocumentationHierarchySettings, any> = {
78
78
  routingVersion: map.get("routingVersion"),
79
- isDraftFeatureAdopted: map.get("isDraftFeatureAdapted") ?? false,
79
+ isDraftFeatureAdopted: map.get("isDraftFeatureAdopted") ?? false,
80
80
  };
81
81
 
82
82
  const settingsParseResult = DocumentationHierarchySettings.safeParse(rawSettings);
@@ -94,6 +94,7 @@ export class VersionRoomBaseYDoc {
94
94
  const map = this.internalSettingsYMap;
95
95
 
96
96
  map.set("routingVersion", settings.routingVersion);
97
+ map.set("isDraftFeatureAdopted", settings.isDraftFeatureAdopted);
97
98
  }
98
99
 
99
100
  private get internalSettingsYMap() {
@@ -49,16 +49,26 @@ export class FrontendVersionRoomYDoc {
49
49
 
50
50
  const settings = doc.getDocumentationInternalSettings();
51
51
 
52
- // Convert pages to DTOs with draft states
52
+ // Convert pages to DTOs
53
53
  const pageDTOs = documentationPagesToDTOV2(pages, groups, settings.routingVersion);
54
+ const groupDTOs = elementGroupsToDocumentationGroupDTOV2(groups, pages);
55
+
56
+ // If draft feature is not yet adopted, no snapshot-based features should not be provided
57
+ if (!settings.isDraftFeatureAdopted) {
58
+ return {
59
+ pages: pageDTOs,
60
+ groups: groupDTOs,
61
+ deletedGroups: [],
62
+ deletedPages: [],
63
+ };
64
+ }
65
+
54
66
  const pageDraftStates = this.buildPageDraftStates(pages, pageSnapshots);
55
67
  pageDTOs.forEach(p => {
56
68
  const draftState = pageDraftStates.get(p.id);
57
69
  draftState && (p.draftState = draftState);
58
70
  });
59
71
 
60
- // Convert groups to DTOs with draft states
61
- const groupDTOs = elementGroupsToDocumentationGroupDTOV2(groups, pages);
62
72
  const groupDraftStates = this.buildGroupDraftStates(groups, groupSnapshots);
63
73
  groupDTOs.forEach(g => {
64
74
  const draftState = groupDraftStates.get(g.id);