@atlaskit/editor-synced-block-provider 22.0.5 → 22.0.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/editor-synced-block-provider
2
2
 
3
+ ## 22.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [`ed9aabfa3a701`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ed9aabfa3a701) -
8
+ Fix synced-block reference rendering with fetch-only providers by skipping local same-document
9
+ detection when reference IDs cannot be generated.
10
+
3
11
  ## 22.0.5
4
12
 
5
13
  ### Patch Changes
@@ -398,6 +398,11 @@ var SyncedBlockProvider = exports.SyncedBlockProvider = /*#__PURE__*/function (_
398
398
  resourceId: resourceId
399
399
  };
400
400
  }
401
+ }, {
402
+ key: "canGenerateResourceIdForReference",
403
+ value: function canGenerateResourceIdForReference() {
404
+ return this.writeProvider !== undefined;
405
+ }
401
406
  }, {
402
407
  key: "generateResourceIdForReference",
403
408
  value: function generateResourceIdForReference(sourceId) {
@@ -266,8 +266,9 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
266
266
  }, {
267
267
  key: "getSameDocumentReferenceParts",
268
268
  value: function getSameDocumentReferenceParts(resourceId) {
269
+ var _this$dataProvider$ca, _this$dataProvider3;
269
270
  var parsed = (0, _resourceId.parseResourceId)(resourceId);
270
- if (!parsed || !this.dataProvider || this.dataProvider.generateResourceIdForReference(parsed.uuid) !== resourceId) {
271
+ if (!parsed || !this.dataProvider || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_blocks_patch_12') && ((_this$dataProvider$ca = (_this$dataProvider3 = this.dataProvider).canGenerateResourceIdForReference) === null || _this$dataProvider$ca === void 0 ? void 0 : _this$dataProvider$ca.call(_this$dataProvider3)) === false || this.dataProvider.generateResourceIdForReference(parsed.uuid) !== resourceId) {
271
272
  return undefined;
272
273
  }
273
274
  return parsed;
@@ -761,8 +762,8 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
761
762
  var sanitizedSyncBlock = this.normalizeReferenceData(syncBlock);
762
763
  var resourceId = sanitizedSyncBlock.resourceId;
763
764
  if (resourceId) {
764
- var _this$dataProvider3;
765
- (_this$dataProvider3 = this.dataProvider) === null || _this$dataProvider3 === void 0 || _this$dataProvider3.updateCache((0, _defineProperty2.default)({}, resourceId, sanitizedSyncBlock), {
765
+ var _this$dataProvider4;
766
+ (_this$dataProvider4 = this.dataProvider) === null || _this$dataProvider4 === void 0 || _this$dataProvider4.updateCache((0, _defineProperty2.default)({}, resourceId, sanitizedSyncBlock), {
766
767
  strategy: 'merge',
767
768
  source: 'network'
768
769
  });
@@ -773,15 +774,15 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
773
774
  }, {
774
775
  key: "getFromCache",
775
776
  value: function getFromCache(resourceId) {
776
- var _this$dataProvider4;
777
+ var _this$dataProvider5;
777
778
  var syncBlockNode = (0, _utils.createSyncBlockNode)('', resourceId);
778
- return (_this$dataProvider4 = this.dataProvider) === null || _this$dataProvider4 === void 0 || (_this$dataProvider4 = _this$dataProvider4.getNodeDataFromCache(syncBlockNode)) === null || _this$dataProvider4 === void 0 ? void 0 : _this$dataProvider4.data;
779
+ return (_this$dataProvider5 = this.dataProvider) === null || _this$dataProvider5 === void 0 || (_this$dataProvider5 = _this$dataProvider5.getNodeDataFromCache(syncBlockNode)) === null || _this$dataProvider5 === void 0 ? void 0 : _this$dataProvider5.data;
779
780
  }
780
781
  }, {
781
782
  key: "deleteFromCache",
782
783
  value: function deleteFromCache(resourceId) {
783
- var _this$dataProvider5;
784
- (_this$dataProvider5 = this.dataProvider) === null || _this$dataProvider5 === void 0 || _this$dataProvider5.removeFromCache([resourceId]);
784
+ var _this$dataProvider6;
785
+ (_this$dataProvider6 = this.dataProvider) === null || _this$dataProvider6 === void 0 || _this$dataProvider6.removeFromCache([resourceId]);
785
786
  this._providerFactoryManager.deleteFactory(resourceId);
786
787
  // Evict in-flight source-info promise and reset reschedule counter
787
788
  // so a stale resolution can't silently merge into a re-fetched entry.
@@ -1265,7 +1266,7 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
1265
1266
  }, {
1266
1267
  key: "destroy",
1267
1268
  value: function destroy() {
1268
- var _this$dataProvider6, _this$saveExperience5, _this$fetchExperience0, _this$fetchSourceInfo2;
1269
+ var _this$dataProvider7, _this$saveExperience5, _this$fetchExperience0, _this$fetchSourceInfo2;
1269
1270
  // Mark destroyed first so in-flight timer callbacks can early-return.
1270
1271
  this.isDestroyed = true;
1271
1272
 
@@ -1291,7 +1292,7 @@ var ReferenceSyncBlockStoreManager = exports.ReferenceSyncBlockStoreManager = /*
1291
1292
  this._subscriptionManager.destroy();
1292
1293
  this._providerFactoryManager.destroy();
1293
1294
  this._batchFetcher.destroy();
1294
- (_this$dataProvider6 = this.dataProvider) === null || _this$dataProvider6 === void 0 || _this$dataProvider6.resetCache();
1295
+ (_this$dataProvider7 = this.dataProvider) === null || _this$dataProvider7 === void 0 || _this$dataProvider7.resetCache();
1295
1296
  this.dataProvider = undefined;
1296
1297
  this.syncBlockFetchDataRequests.clear();
1297
1298
  this.syncBlockSourceInfoRequests.clear();
@@ -252,6 +252,9 @@ export class SyncedBlockProvider extends SyncBlockDataProviderInterface {
252
252
  resourceId
253
253
  };
254
254
  }
255
+ canGenerateResourceIdForReference() {
256
+ return this.writeProvider !== undefined;
257
+ }
255
258
  generateResourceIdForReference(sourceId) {
256
259
  if (!this.writeProvider) {
257
260
  throw new Error('Write provider not set');
@@ -188,8 +188,9 @@ export class ReferenceSyncBlockStoreManager {
188
188
  return this.getFromSessionCache(resourceId);
189
189
  }
190
190
  getSameDocumentReferenceParts(resourceId) {
191
+ var _this$dataProvider$ca, _this$dataProvider3;
191
192
  const parsed = parseResourceId(resourceId);
192
- if (!parsed || !this.dataProvider || this.dataProvider.generateResourceIdForReference(parsed.uuid) !== resourceId) {
193
+ if (!parsed || !this.dataProvider || isExperimentEnabled('platform_editor_blocks_patch_12') && ((_this$dataProvider$ca = (_this$dataProvider3 = this.dataProvider).canGenerateResourceIdForReference) === null || _this$dataProvider$ca === void 0 ? void 0 : _this$dataProvider$ca.call(_this$dataProvider3)) === false || this.dataProvider.generateResourceIdForReference(parsed.uuid) !== resourceId) {
193
194
  return undefined;
194
195
  }
195
196
  return parsed;
@@ -626,8 +627,8 @@ export class ReferenceSyncBlockStoreManager {
626
627
  resourceId
627
628
  } = sanitizedSyncBlock;
628
629
  if (resourceId) {
629
- var _this$dataProvider3;
630
- (_this$dataProvider3 = this.dataProvider) === null || _this$dataProvider3 === void 0 ? void 0 : _this$dataProvider3.updateCache({
630
+ var _this$dataProvider4;
631
+ (_this$dataProvider4 = this.dataProvider) === null || _this$dataProvider4 === void 0 ? void 0 : _this$dataProvider4.updateCache({
631
632
  [resourceId]: sanitizedSyncBlock
632
633
  }, {
633
634
  strategy: 'merge',
@@ -638,13 +639,13 @@ export class ReferenceSyncBlockStoreManager {
638
639
  }
639
640
  }
640
641
  getFromCache(resourceId) {
641
- var _this$dataProvider4, _this$dataProvider4$g;
642
+ var _this$dataProvider5, _this$dataProvider5$g;
642
643
  const syncBlockNode = createSyncBlockNode('', resourceId);
643
- return (_this$dataProvider4 = this.dataProvider) === null || _this$dataProvider4 === void 0 ? void 0 : (_this$dataProvider4$g = _this$dataProvider4.getNodeDataFromCache(syncBlockNode)) === null || _this$dataProvider4$g === void 0 ? void 0 : _this$dataProvider4$g.data;
644
+ return (_this$dataProvider5 = this.dataProvider) === null || _this$dataProvider5 === void 0 ? void 0 : (_this$dataProvider5$g = _this$dataProvider5.getNodeDataFromCache(syncBlockNode)) === null || _this$dataProvider5$g === void 0 ? void 0 : _this$dataProvider5$g.data;
644
645
  }
645
646
  deleteFromCache(resourceId) {
646
- var _this$dataProvider5;
647
- (_this$dataProvider5 = this.dataProvider) === null || _this$dataProvider5 === void 0 ? void 0 : _this$dataProvider5.removeFromCache([resourceId]);
647
+ var _this$dataProvider6;
648
+ (_this$dataProvider6 = this.dataProvider) === null || _this$dataProvider6 === void 0 ? void 0 : _this$dataProvider6.removeFromCache([resourceId]);
648
649
  this._providerFactoryManager.deleteFactory(resourceId);
649
650
  // Evict in-flight source-info promise and reset reschedule counter
650
651
  // so a stale resolution can't silently merge into a re-fetched entry.
@@ -1031,7 +1032,7 @@ export class ReferenceSyncBlockStoreManager {
1031
1032
  return success;
1032
1033
  }
1033
1034
  destroy() {
1034
- var _this$dataProvider6, _this$saveExperience5, _this$fetchExperience0, _this$fetchSourceInfo6;
1035
+ var _this$dataProvider7, _this$saveExperience5, _this$fetchExperience0, _this$fetchSourceInfo6;
1035
1036
  // Mark destroyed first so in-flight timer callbacks can early-return.
1036
1037
  this.isDestroyed = true;
1037
1038
 
@@ -1053,7 +1054,7 @@ export class ReferenceSyncBlockStoreManager {
1053
1054
  this._subscriptionManager.destroy();
1054
1055
  this._providerFactoryManager.destroy();
1055
1056
  this._batchFetcher.destroy();
1056
- (_this$dataProvider6 = this.dataProvider) === null || _this$dataProvider6 === void 0 ? void 0 : _this$dataProvider6.resetCache();
1057
+ (_this$dataProvider7 = this.dataProvider) === null || _this$dataProvider7 === void 0 ? void 0 : _this$dataProvider7.resetCache();
1057
1058
  this.dataProvider = undefined;
1058
1059
  this.syncBlockFetchDataRequests.clear();
1059
1060
  this.syncBlockSourceInfoRequests.clear();
@@ -391,6 +391,11 @@ export var SyncedBlockProvider = /*#__PURE__*/function (_SyncBlockDataProvide) {
391
391
  resourceId: resourceId
392
392
  };
393
393
  }
394
+ }, {
395
+ key: "canGenerateResourceIdForReference",
396
+ value: function canGenerateResourceIdForReference() {
397
+ return this.writeProvider !== undefined;
398
+ }
394
399
  }, {
395
400
  key: "generateResourceIdForReference",
396
401
  value: function generateResourceIdForReference(sourceId) {
@@ -259,8 +259,9 @@ export var ReferenceSyncBlockStoreManager = /*#__PURE__*/function () {
259
259
  }, {
260
260
  key: "getSameDocumentReferenceParts",
261
261
  value: function getSameDocumentReferenceParts(resourceId) {
262
+ var _this$dataProvider$ca, _this$dataProvider3;
262
263
  var parsed = parseResourceId(resourceId);
263
- if (!parsed || !this.dataProvider || this.dataProvider.generateResourceIdForReference(parsed.uuid) !== resourceId) {
264
+ if (!parsed || !this.dataProvider || isExperimentEnabled('platform_editor_blocks_patch_12') && ((_this$dataProvider$ca = (_this$dataProvider3 = this.dataProvider).canGenerateResourceIdForReference) === null || _this$dataProvider$ca === void 0 ? void 0 : _this$dataProvider$ca.call(_this$dataProvider3)) === false || this.dataProvider.generateResourceIdForReference(parsed.uuid) !== resourceId) {
264
265
  return undefined;
265
266
  }
266
267
  return parsed;
@@ -754,8 +755,8 @@ export var ReferenceSyncBlockStoreManager = /*#__PURE__*/function () {
754
755
  var sanitizedSyncBlock = this.normalizeReferenceData(syncBlock);
755
756
  var resourceId = sanitizedSyncBlock.resourceId;
756
757
  if (resourceId) {
757
- var _this$dataProvider3;
758
- (_this$dataProvider3 = this.dataProvider) === null || _this$dataProvider3 === void 0 || _this$dataProvider3.updateCache(_defineProperty({}, resourceId, sanitizedSyncBlock), {
758
+ var _this$dataProvider4;
759
+ (_this$dataProvider4 = this.dataProvider) === null || _this$dataProvider4 === void 0 || _this$dataProvider4.updateCache(_defineProperty({}, resourceId, sanitizedSyncBlock), {
759
760
  strategy: 'merge',
760
761
  source: 'network'
761
762
  });
@@ -766,15 +767,15 @@ export var ReferenceSyncBlockStoreManager = /*#__PURE__*/function () {
766
767
  }, {
767
768
  key: "getFromCache",
768
769
  value: function getFromCache(resourceId) {
769
- var _this$dataProvider4;
770
+ var _this$dataProvider5;
770
771
  var syncBlockNode = createSyncBlockNode('', resourceId);
771
- return (_this$dataProvider4 = this.dataProvider) === null || _this$dataProvider4 === void 0 || (_this$dataProvider4 = _this$dataProvider4.getNodeDataFromCache(syncBlockNode)) === null || _this$dataProvider4 === void 0 ? void 0 : _this$dataProvider4.data;
772
+ return (_this$dataProvider5 = this.dataProvider) === null || _this$dataProvider5 === void 0 || (_this$dataProvider5 = _this$dataProvider5.getNodeDataFromCache(syncBlockNode)) === null || _this$dataProvider5 === void 0 ? void 0 : _this$dataProvider5.data;
772
773
  }
773
774
  }, {
774
775
  key: "deleteFromCache",
775
776
  value: function deleteFromCache(resourceId) {
776
- var _this$dataProvider5;
777
- (_this$dataProvider5 = this.dataProvider) === null || _this$dataProvider5 === void 0 || _this$dataProvider5.removeFromCache([resourceId]);
777
+ var _this$dataProvider6;
778
+ (_this$dataProvider6 = this.dataProvider) === null || _this$dataProvider6 === void 0 || _this$dataProvider6.removeFromCache([resourceId]);
778
779
  this._providerFactoryManager.deleteFactory(resourceId);
779
780
  // Evict in-flight source-info promise and reset reschedule counter
780
781
  // so a stale resolution can't silently merge into a re-fetched entry.
@@ -1258,7 +1259,7 @@ export var ReferenceSyncBlockStoreManager = /*#__PURE__*/function () {
1258
1259
  }, {
1259
1260
  key: "destroy",
1260
1261
  value: function destroy() {
1261
- var _this$dataProvider6, _this$saveExperience5, _this$fetchExperience0, _this$fetchSourceInfo2;
1262
+ var _this$dataProvider7, _this$saveExperience5, _this$fetchExperience0, _this$fetchSourceInfo2;
1262
1263
  // Mark destroyed first so in-flight timer callbacks can early-return.
1263
1264
  this.isDestroyed = true;
1264
1265
 
@@ -1284,7 +1285,7 @@ export var ReferenceSyncBlockStoreManager = /*#__PURE__*/function () {
1284
1285
  this._subscriptionManager.destroy();
1285
1286
  this._providerFactoryManager.destroy();
1286
1287
  this._batchFetcher.destroy();
1287
- (_this$dataProvider6 = this.dataProvider) === null || _this$dataProvider6 === void 0 || _this$dataProvider6.resetCache();
1288
+ (_this$dataProvider7 = this.dataProvider) === null || _this$dataProvider7 === void 0 || _this$dataProvider7.resetCache();
1288
1289
  this.dataProvider = undefined;
1289
1290
  this.syncBlockFetchDataRequests.clear();
1290
1291
  this.syncBlockSourceInfoRequests.clear();
@@ -73,6 +73,7 @@ export declare class SyncedBlockProvider extends SyncBlockDataProviderInterface
73
73
  localId: BlockInstanceId;
74
74
  resourceId: ResourceId;
75
75
  };
76
+ canGenerateResourceIdForReference(): boolean;
76
77
  generateResourceIdForReference(sourceId: ResourceId): ResourceId;
77
78
  /**
78
79
  * Get the synced block renderer provider options
@@ -220,6 +220,7 @@ export declare abstract class SyncBlockDataProviderInterface extends NodeDataPro
220
220
  * @returns The generated resource ID
221
221
  */
222
222
  abstract generateResourceIdForReference(sourceId: ResourceId): ResourceId;
223
+ canGenerateResourceIdForReference?(): boolean;
223
224
  abstract updateReferenceData(blocks: SyncBlockAttrs[], noContent?: boolean): Promise<UpdateReferenceSyncBlockResult>;
224
225
  abstract fetchReferences(resourceId: string, isSource: boolean): Promise<ReferenceSyncBlockData>;
225
226
  /**
package/package.json CHANGED
@@ -33,7 +33,7 @@
33
33
  "uuid": "^11.1.1"
34
34
  },
35
35
  "peerDependencies": {
36
- "@atlaskit/editor-common": "^130.3.0",
36
+ "@atlaskit/editor-common": "^130.4.0",
37
37
  "react": "^18.2.0 || ^19.2.0"
38
38
  },
39
39
  "devDependencies": {
@@ -42,7 +42,7 @@
42
42
  "react-dom": "^19.2.0"
43
43
  },
44
44
  "name": "@atlaskit/editor-synced-block-provider",
45
- "version": "22.0.5",
45
+ "version": "22.0.6",
46
46
  "description": "Synced Block Provider for @atlaskit/editor-plugin-synced-block",
47
47
  "author": "Atlassian Pty Ltd",
48
48
  "license": "Apache-2.0",