@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 +8 -0
- package/dist/cjs/providers/syncBlockProvider.js +5 -0
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +10 -9
- package/dist/es2019/providers/syncBlockProvider.js +3 -0
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +10 -9
- package/dist/esm/providers/syncBlockProvider.js +5 -0
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +10 -9
- package/dist/types/providers/syncBlockProvider.d.ts +1 -0
- package/dist/types/providers/types.d.ts +1 -0
- package/package.json +2 -2
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$
|
|
765
|
-
(_this$
|
|
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$
|
|
777
|
+
var _this$dataProvider5;
|
|
777
778
|
var syncBlockNode = (0, _utils.createSyncBlockNode)('', resourceId);
|
|
778
|
-
return (_this$
|
|
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$
|
|
784
|
-
(_this$
|
|
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$
|
|
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$
|
|
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$
|
|
630
|
-
(_this$
|
|
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$
|
|
642
|
+
var _this$dataProvider5, _this$dataProvider5$g;
|
|
642
643
|
const syncBlockNode = createSyncBlockNode('', resourceId);
|
|
643
|
-
return (_this$
|
|
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$
|
|
647
|
-
(_this$
|
|
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$
|
|
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$
|
|
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$
|
|
758
|
-
(_this$
|
|
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$
|
|
770
|
+
var _this$dataProvider5;
|
|
770
771
|
var syncBlockNode = createSyncBlockNode('', resourceId);
|
|
771
|
-
return (_this$
|
|
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$
|
|
777
|
-
(_this$
|
|
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$
|
|
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$
|
|
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.
|
|
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.
|
|
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",
|