@atlaskit/editor-synced-block-provider 4.0.1 → 4.1.1
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 +19 -0
- package/dist/cjs/clients/block-service/blockService.js +35 -17
- package/dist/cjs/common/types.js +2 -0
- package/dist/cjs/providers/block-service/blockServiceAPI.js +16 -1
- package/dist/cjs/store-manager/referenceSyncBlockStoreManager.js +209 -811
- package/dist/cjs/store-manager/sourceSyncBlockStoreManager.js +3 -6
- package/dist/cjs/store-manager/syncBlockSubscriptionManager.js +180 -17
- package/dist/es2019/clients/block-service/blockService.js +16 -3
- package/dist/es2019/common/types.js +2 -0
- package/dist/es2019/providers/block-service/blockServiceAPI.js +12 -1
- package/dist/es2019/store-manager/referenceSyncBlockStoreManager.js +78 -595
- package/dist/es2019/store-manager/sourceSyncBlockStoreManager.js +3 -6
- package/dist/es2019/store-manager/syncBlockSubscriptionManager.js +157 -10
- package/dist/esm/clients/block-service/blockService.js +34 -16
- package/dist/esm/common/types.js +2 -0
- package/dist/esm/providers/block-service/blockServiceAPI.js +17 -2
- package/dist/esm/store-manager/referenceSyncBlockStoreManager.js +210 -812
- package/dist/esm/store-manager/sourceSyncBlockStoreManager.js +3 -6
- package/dist/esm/store-manager/syncBlockSubscriptionManager.js +180 -17
- package/dist/types/clients/block-service/blockService.d.ts +4 -1
- package/dist/types/common/types.d.ts +2 -1
- package/dist/types/store-manager/referenceSyncBlockStoreManager.d.ts +4 -49
- package/dist/types/store-manager/syncBlockSubscriptionManager.d.ts +25 -6
- package/dist/types-ts4.5/clients/block-service/blockService.d.ts +4 -1
- package/dist/types-ts4.5/common/types.d.ts +2 -1
- package/dist/types-ts4.5/store-manager/referenceSyncBlockStoreManager.d.ts +4 -49
- package/dist/types-ts4.5/store-manager/syncBlockSubscriptionManager.d.ts +25 -6
- package/package.json +4 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @atlaskit/editor-synced-block-provider
|
|
2
2
|
|
|
3
|
+
## 4.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`7428d9bf3aa13`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7428d9bf3aa13) -
|
|
8
|
+
Clean up platform_synced_block_patch_5 feature gate
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 4.1.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [`beb2f030213b1`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/beb2f030213b1) -
|
|
16
|
+
EDITOR-5735 Make SSR bulk request configurable
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies
|
|
21
|
+
|
|
3
22
|
## 4.0.1
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.updateSyncedBlocks = exports.updateSyncedBlock = exports.updateReferenceSyncedBlockOnDocument = exports.isBlockContentResponse = exports.getSyncedBlockContent = exports.getReferenceSyncedBlocksByBlockAri = exports.getReferenceSyncedBlocks = exports.deleteSyncedBlock = exports.createSyncedBlock = exports.batchRetrieveSyncedBlocks = exports.BlockError = void 0;
|
|
7
|
+
exports.updateSyncedBlocks = exports.updateSyncedBlock = exports.updateReferenceSyncedBlockOnDocument = exports.isBlockContentResponse = exports.getSyncedBlockContent = exports.getReferenceSyncedBlocksByBlockAri = exports.getReferenceSyncedBlocks = exports.deleteSyncedBlock = exports.createSyncedBlock = exports.batchRetrieveSyncedBlocks = exports.BlockTimeoutError = exports.BlockError = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -225,6 +225,17 @@ var BlockError = exports.BlockError = /*#__PURE__*/function (_Error) {
|
|
|
225
225
|
(0, _inherits2.default)(BlockError, _Error);
|
|
226
226
|
return (0, _createClass2.default)(BlockError);
|
|
227
227
|
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
228
|
+
var BlockTimeoutError = exports.BlockTimeoutError = /*#__PURE__*/function (_Error2) {
|
|
229
|
+
function BlockTimeoutError() {
|
|
230
|
+
var _this2;
|
|
231
|
+
(0, _classCallCheck2.default)(this, BlockTimeoutError);
|
|
232
|
+
_this2 = _callSuper(this, BlockTimeoutError, ['Block request timed out']);
|
|
233
|
+
_this2.name = 'BlockTimeoutError';
|
|
234
|
+
return _this2;
|
|
235
|
+
}
|
|
236
|
+
(0, _inherits2.default)(BlockTimeoutError, _Error2);
|
|
237
|
+
return (0, _createClass2.default)(BlockTimeoutError);
|
|
238
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
228
239
|
var getSyncedBlockContent = exports.getSyncedBlockContent = /*#__PURE__*/function () {
|
|
229
240
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_ref2) {
|
|
230
241
|
var _result$data;
|
|
@@ -293,12 +304,12 @@ var getSyncedBlockContent = exports.getSyncedBlockContent = /*#__PURE__*/functio
|
|
|
293
304
|
*/
|
|
294
305
|
var batchRetrieveSyncedBlocks = exports.batchRetrieveSyncedBlocks = /*#__PURE__*/function () {
|
|
295
306
|
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_ref4) {
|
|
296
|
-
var _result$data2;
|
|
297
|
-
var blockIdentifiers, blockAris, bodyData, url, response, result, graphqlResponse;
|
|
307
|
+
var _config$timeoutMs, _result$data2;
|
|
308
|
+
var blockIdentifiers, config, blockAris, bodyData, url, fetchPromise, timeoutMs, response, result, graphqlResponse;
|
|
298
309
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
299
310
|
while (1) switch (_context3.prev = _context3.next) {
|
|
300
311
|
case 0:
|
|
301
|
-
blockIdentifiers = _ref4.blockIdentifiers;
|
|
312
|
+
blockIdentifiers = _ref4.blockIdentifiers, config = _ref4.config;
|
|
302
313
|
blockAris = blockIdentifiers.map(function (blockIdentifier) {
|
|
303
314
|
return blockIdentifier.blockAri;
|
|
304
315
|
});
|
|
@@ -306,45 +317,52 @@ var batchRetrieveSyncedBlocks = exports.batchRetrieveSyncedBlocks = /*#__PURE__*
|
|
|
306
317
|
query: buildBatchRetrieveBlocksQuery(blockAris),
|
|
307
318
|
operationName: BATCH_RETRIEVE_BLOCKS_OPERATION_NAME
|
|
308
319
|
};
|
|
309
|
-
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockBatchRetrieveBlocks");
|
|
310
|
-
|
|
311
|
-
|
|
320
|
+
url = "".concat(GRAPHQL_ENDPOINT, "?operation=editorSyncedBlockBatchRetrieveBlocks"); // undefined or 0 or negative means no timeout,
|
|
321
|
+
// We don't enforce a minimum timeout for simplicity
|
|
322
|
+
fetchPromise = (0, _retry.fetchWithRetry)(url, {
|
|
312
323
|
method: 'POST',
|
|
313
324
|
headers: COMMON_HEADERS,
|
|
314
325
|
body: JSON.stringify(bodyData)
|
|
315
326
|
});
|
|
316
|
-
|
|
327
|
+
timeoutMs = (_config$timeoutMs = config === null || config === void 0 ? void 0 : config.timeoutMs) !== null && _config$timeoutMs !== void 0 ? _config$timeoutMs : 0;
|
|
328
|
+
_context3.next = 8;
|
|
329
|
+
return timeoutMs > 0 ? Promise.race([fetchPromise, new Promise(function (_, reject) {
|
|
330
|
+
return setTimeout(function () {
|
|
331
|
+
return reject(new BlockTimeoutError());
|
|
332
|
+
}, timeoutMs);
|
|
333
|
+
})]) : fetchPromise;
|
|
334
|
+
case 8:
|
|
317
335
|
response = _context3.sent;
|
|
318
336
|
if (response.ok) {
|
|
319
|
-
_context3.next =
|
|
337
|
+
_context3.next = 11;
|
|
320
338
|
break;
|
|
321
339
|
}
|
|
322
340
|
throw new BlockError(response.status);
|
|
323
|
-
case 9:
|
|
324
|
-
_context3.next = 11;
|
|
325
|
-
return response.json();
|
|
326
341
|
case 11:
|
|
342
|
+
_context3.next = 13;
|
|
343
|
+
return response.json();
|
|
344
|
+
case 13:
|
|
327
345
|
result = _context3.sent;
|
|
328
346
|
if (!(result.errors && result.errors.length > 0)) {
|
|
329
|
-
_context3.next =
|
|
347
|
+
_context3.next = 16;
|
|
330
348
|
break;
|
|
331
349
|
}
|
|
332
350
|
throw new Error(result.errors.map(function (e) {
|
|
333
351
|
return e.message;
|
|
334
352
|
}).join(', '));
|
|
335
|
-
case
|
|
353
|
+
case 16:
|
|
336
354
|
if ((_result$data2 = result.data) !== null && _result$data2 !== void 0 && _result$data2.blockService_batchRetrieveBlocks) {
|
|
337
|
-
_context3.next =
|
|
355
|
+
_context3.next = 18;
|
|
338
356
|
break;
|
|
339
357
|
}
|
|
340
358
|
throw new Error('No data returned from GraphQL query');
|
|
341
|
-
case
|
|
359
|
+
case 18:
|
|
342
360
|
graphqlResponse = result.data.blockService_batchRetrieveBlocks;
|
|
343
361
|
return _context3.abrupt("return", {
|
|
344
362
|
success: graphqlResponse.success,
|
|
345
363
|
error: graphqlResponse.error
|
|
346
364
|
});
|
|
347
|
-
case
|
|
365
|
+
case 20:
|
|
348
366
|
case "end":
|
|
349
367
|
return _context3.stop();
|
|
350
368
|
}
|
package/dist/cjs/common/types.js
CHANGED
|
@@ -17,5 +17,7 @@ var SyncBlockError = exports.SyncBlockError = /*#__PURE__*/function (SyncBlockEr
|
|
|
17
17
|
// content is not a valid JSON
|
|
18
18
|
SyncBlockError["Offline"] = "offline";
|
|
19
19
|
SyncBlockError["Unpublished"] = "unpublished";
|
|
20
|
+
// request was aborted, typically due to client timeout
|
|
21
|
+
SyncBlockError["Aborted"] = "aborted";
|
|
20
22
|
return SyncBlockError;
|
|
21
23
|
}({});
|
|
@@ -12,6 +12,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
14
|
var _react = require("react");
|
|
15
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
15
16
|
var _ari = require("../../clients/block-service/ari");
|
|
16
17
|
var _blockService = require("../../clients/block-service/blockService");
|
|
17
18
|
var _blockSubscription = require("../../clients/block-service/blockSubscription");
|
|
@@ -392,6 +393,20 @@ var _batchFetchData = exports.batchFetchData = /*#__PURE__*/function () {
|
|
|
392
393
|
case 61:
|
|
393
394
|
_context2.prev = 61;
|
|
394
395
|
_context2.t2 = _context2["catch"](5);
|
|
396
|
+
if (!(_context2.t2 instanceof _blockService.BlockTimeoutError && (0, _expValEquals.expValEquals)('platform_editor_sync_block_ssr_config', 'isEnabled', true))) {
|
|
397
|
+
_context2.next = 65;
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
return _context2.abrupt("return", blockNodeIdentifiers.map(function (blockNodeIdentifier) {
|
|
401
|
+
return {
|
|
402
|
+
error: {
|
|
403
|
+
type: _types.SyncBlockError.Aborted,
|
|
404
|
+
reason: _context2.t2.message
|
|
405
|
+
},
|
|
406
|
+
resourceId: blockNodeIdentifier.resourceId
|
|
407
|
+
};
|
|
408
|
+
}));
|
|
409
|
+
case 65:
|
|
395
410
|
return _context2.abrupt("return", blockNodeIdentifiers.map(function (blockNodeIdentifier) {
|
|
396
411
|
return {
|
|
397
412
|
error: {
|
|
@@ -401,7 +416,7 @@ var _batchFetchData = exports.batchFetchData = /*#__PURE__*/function () {
|
|
|
401
416
|
resourceId: blockNodeIdentifier.resourceId
|
|
402
417
|
};
|
|
403
418
|
}));
|
|
404
|
-
case
|
|
419
|
+
case 66:
|
|
405
420
|
case "end":
|
|
406
421
|
return _context2.stop();
|
|
407
422
|
}
|