@atlaskit/renderer 138.0.0 → 138.0.2
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,23 @@
|
|
|
1
1
|
# @atlaskit/renderer
|
|
2
2
|
|
|
3
|
+
## 138.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 138.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`8d65b130dff43`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8d65b130dff43) -
|
|
14
|
+
Behind the `platform_renderer_on_complete_after_commit` experiment, `onComplete` is invoked from
|
|
15
|
+
an effect after the rendered document is committed instead of synchronously during render. Calling
|
|
16
|
+
it during render let consumers set state on other components mid-render, which React forbids and
|
|
17
|
+
which could feed a render loop on pages that never reached commit. With the experiment off the
|
|
18
|
+
callback fires exactly as before.
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
|
|
3
21
|
## 138.0.0
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -73,7 +73,7 @@ var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
|
73
73
|
var TABLE_INFO_TIMEOUT = 10000;
|
|
74
74
|
var RENDER_EVENT_SAMPLE_RATE = 0.1;
|
|
75
75
|
var packageName = "@atlaskit/renderer";
|
|
76
|
-
var packageVersion = "
|
|
76
|
+
var packageVersion = "138.0.1";
|
|
77
77
|
var setAsQueryContainerStyles = (0, _react2.css)({
|
|
78
78
|
containerName: 'ak-renderer-wrapper',
|
|
79
79
|
containerType: 'inline-size'
|
|
@@ -486,6 +486,21 @@ var RendererFunctionalComponent = exports.RendererFunctionalComponent = function
|
|
|
486
486
|
// render; elsewhere both arms are already identical. Control keeps the copy-per-render
|
|
487
487
|
// behaviour, which is what makes `renderDocument`'s validation memo miss.
|
|
488
488
|
var validationOverrides = stableValidationOverrides.allowTableInPanel && !(0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_adf_validator_perf') ? _objectSpread({}, stableValidationOverrides) : stableValidationOverrides;
|
|
489
|
+
|
|
490
|
+
// Invoking `onComplete` during render lets consumers set state on other components mid-render,
|
|
491
|
+
// so the stat is parked here and delivered once the rendered document has been committed.
|
|
492
|
+
// No dependency array: `renderDocument` produces a new stat on every render, so the callback
|
|
493
|
+
// must run after every commit to keep its historical once-per-render cadence.
|
|
494
|
+
var pendingOnCompleteStatRef = (0, _react.useRef)(null);
|
|
495
|
+
var onComplete = props.onComplete;
|
|
496
|
+
(0, _react.useEffect)(function () {
|
|
497
|
+
var stat = pendingOnCompleteStatRef.current;
|
|
498
|
+
if (stat === null || !onComplete) {
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
pendingOnCompleteStatRef.current = null;
|
|
502
|
+
onComplete(stat);
|
|
503
|
+
});
|
|
489
504
|
try {
|
|
490
505
|
var _rendererContext$feat, _props$media;
|
|
491
506
|
var schema = getSchema(props.schema, props.adfStage);
|
|
@@ -494,7 +509,11 @@ var RendererFunctionalComponent = exports.RendererFunctionalComponent = function
|
|
|
494
509
|
stat = _renderDocument.stat,
|
|
495
510
|
pmDoc = _renderDocument.pmDoc;
|
|
496
511
|
if (props.onComplete) {
|
|
497
|
-
|
|
512
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_renderer_on_complete_after_commit')) {
|
|
513
|
+
pendingOnCompleteStatRef.current = stat;
|
|
514
|
+
} else {
|
|
515
|
+
props.onComplete(stat);
|
|
516
|
+
}
|
|
498
517
|
}
|
|
499
518
|
var rendererOutput = (0, _react2.jsx)(_rendererContext.RendererContextProvider, {
|
|
500
519
|
value: rendererContext
|
|
@@ -59,7 +59,7 @@ export const DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
|
59
59
|
const TABLE_INFO_TIMEOUT = 10000;
|
|
60
60
|
const RENDER_EVENT_SAMPLE_RATE = 0.1;
|
|
61
61
|
const packageName = "@atlaskit/renderer";
|
|
62
|
-
const packageVersion = "
|
|
62
|
+
const packageVersion = "138.0.1";
|
|
63
63
|
const setAsQueryContainerStyles = css({
|
|
64
64
|
containerName: 'ak-renderer-wrapper',
|
|
65
65
|
containerType: 'inline-size'
|
|
@@ -479,6 +479,23 @@ export const RendererFunctionalComponent = props => {
|
|
|
479
479
|
const validationOverrides = stableValidationOverrides.allowTableInPanel && !isExperimentEnabled('platform_editor_adf_validator_perf') ? {
|
|
480
480
|
...stableValidationOverrides
|
|
481
481
|
} : stableValidationOverrides;
|
|
482
|
+
|
|
483
|
+
// Invoking `onComplete` during render lets consumers set state on other components mid-render,
|
|
484
|
+
// so the stat is parked here and delivered once the rendered document has been committed.
|
|
485
|
+
// No dependency array: `renderDocument` produces a new stat on every render, so the callback
|
|
486
|
+
// must run after every commit to keep its historical once-per-render cadence.
|
|
487
|
+
const pendingOnCompleteStatRef = useRef(null);
|
|
488
|
+
const {
|
|
489
|
+
onComplete
|
|
490
|
+
} = props;
|
|
491
|
+
useEffect(() => {
|
|
492
|
+
const stat = pendingOnCompleteStatRef.current;
|
|
493
|
+
if (stat === null || !onComplete) {
|
|
494
|
+
return;
|
|
495
|
+
}
|
|
496
|
+
pendingOnCompleteStatRef.current = null;
|
|
497
|
+
onComplete(stat);
|
|
498
|
+
});
|
|
482
499
|
try {
|
|
483
500
|
var _rendererContext$feat, _props$media;
|
|
484
501
|
const schema = getSchema(props.schema, props.adfStage);
|
|
@@ -488,7 +505,11 @@ export const RendererFunctionalComponent = props => {
|
|
|
488
505
|
pmDoc
|
|
489
506
|
} = renderDocument(props.shouldRemoveEmptySpaceAroundContent ? removeEmptySpaceAroundContent(props.document) : props.document, serializer, schema, props.adfStage, props.useSpecBasedValidator, id, fireAnalyticsEvent, props.unsupportedContentLevelsTracking, props.appearance, props.includeNodesCountInStats, props.skipValidation, validationOverrides);
|
|
490
507
|
if (props.onComplete) {
|
|
491
|
-
|
|
508
|
+
if (isExperimentEnabled('platform_renderer_on_complete_after_commit')) {
|
|
509
|
+
pendingOnCompleteStatRef.current = stat;
|
|
510
|
+
} else {
|
|
511
|
+
props.onComplete(stat);
|
|
512
|
+
}
|
|
492
513
|
}
|
|
493
514
|
const rendererOutput = jsx(RendererContextProvider, {
|
|
494
515
|
value: rendererContext
|
|
@@ -64,7 +64,7 @@ export var DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
|
64
64
|
var TABLE_INFO_TIMEOUT = 10000;
|
|
65
65
|
var RENDER_EVENT_SAMPLE_RATE = 0.1;
|
|
66
66
|
var packageName = "@atlaskit/renderer";
|
|
67
|
-
var packageVersion = "
|
|
67
|
+
var packageVersion = "138.0.1";
|
|
68
68
|
var setAsQueryContainerStyles = css({
|
|
69
69
|
containerName: 'ak-renderer-wrapper',
|
|
70
70
|
containerType: 'inline-size'
|
|
@@ -477,6 +477,21 @@ export var RendererFunctionalComponent = function RendererFunctionalComponent(pr
|
|
|
477
477
|
// render; elsewhere both arms are already identical. Control keeps the copy-per-render
|
|
478
478
|
// behaviour, which is what makes `renderDocument`'s validation memo miss.
|
|
479
479
|
var validationOverrides = stableValidationOverrides.allowTableInPanel && !isExperimentEnabled('platform_editor_adf_validator_perf') ? _objectSpread({}, stableValidationOverrides) : stableValidationOverrides;
|
|
480
|
+
|
|
481
|
+
// Invoking `onComplete` during render lets consumers set state on other components mid-render,
|
|
482
|
+
// so the stat is parked here and delivered once the rendered document has been committed.
|
|
483
|
+
// No dependency array: `renderDocument` produces a new stat on every render, so the callback
|
|
484
|
+
// must run after every commit to keep its historical once-per-render cadence.
|
|
485
|
+
var pendingOnCompleteStatRef = useRef(null);
|
|
486
|
+
var onComplete = props.onComplete;
|
|
487
|
+
useEffect(function () {
|
|
488
|
+
var stat = pendingOnCompleteStatRef.current;
|
|
489
|
+
if (stat === null || !onComplete) {
|
|
490
|
+
return;
|
|
491
|
+
}
|
|
492
|
+
pendingOnCompleteStatRef.current = null;
|
|
493
|
+
onComplete(stat);
|
|
494
|
+
});
|
|
480
495
|
try {
|
|
481
496
|
var _rendererContext$feat, _props$media;
|
|
482
497
|
var schema = getSchema(props.schema, props.adfStage);
|
|
@@ -485,7 +500,11 @@ export var RendererFunctionalComponent = function RendererFunctionalComponent(pr
|
|
|
485
500
|
stat = _renderDocument.stat,
|
|
486
501
|
pmDoc = _renderDocument.pmDoc;
|
|
487
502
|
if (props.onComplete) {
|
|
488
|
-
|
|
503
|
+
if (isExperimentEnabled('platform_renderer_on_complete_after_commit')) {
|
|
504
|
+
pendingOnCompleteStatRef.current = stat;
|
|
505
|
+
} else {
|
|
506
|
+
props.onComplete(stat);
|
|
507
|
+
}
|
|
489
508
|
}
|
|
490
509
|
var rendererOutput = jsx(RendererContextProvider, {
|
|
491
510
|
value: rendererContext
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/renderer",
|
|
3
|
-
"version": "138.0.
|
|
3
|
+
"version": "138.0.2",
|
|
4
4
|
"description": "Renderer component",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"@atlaskit/feature-gate-js-client": "^6.0.0",
|
|
51
51
|
"@atlaskit/icon": "^37.6.0",
|
|
52
52
|
"@atlaskit/link": "^5.1.0",
|
|
53
|
-
"@atlaskit/link-datasource": "^6.
|
|
53
|
+
"@atlaskit/link-datasource": "^6.12.0",
|
|
54
54
|
"@atlaskit/link-extractors": "^4.2.0",
|
|
55
55
|
"@atlaskit/linking-common": "^12.1.0",
|
|
56
56
|
"@atlaskit/media-card": "^81.10.0",
|
|
57
|
-
"@atlaskit/media-client": "^
|
|
57
|
+
"@atlaskit/media-client": "^38.0.0",
|
|
58
58
|
"@atlaskit/media-client-react": "^6.4.0",
|
|
59
59
|
"@atlaskit/media-common": "^14.6.0",
|
|
60
60
|
"@atlaskit/media-filmstrip": "^52.4.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@atlaskit/pragmatic-drag-and-drop": "^3.1.0",
|
|
67
67
|
"@atlaskit/react-compiler-gating": "^0.2.0",
|
|
68
68
|
"@atlaskit/react-ufo": "^7.8.0",
|
|
69
|
-
"@atlaskit/smart-card": "^45.
|
|
69
|
+
"@atlaskit/smart-card": "^45.21.0",
|
|
70
70
|
"@atlaskit/status": "^5.9.0",
|
|
71
71
|
"@atlaskit/task-decision": "^21.9.0",
|
|
72
72
|
"@atlaskit/theme": "^28.2.0",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"uuid": "^11.1.1"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
|
88
|
-
"@atlaskit/editor-common": "^121.
|
|
88
|
+
"@atlaskit/editor-common": "^121.1.0",
|
|
89
89
|
"@atlaskit/link-provider": "^5.5.0",
|
|
90
90
|
"@atlaskit/media-core": "^38.2.0",
|
|
91
91
|
"react": "^18.2.0",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"@af/visual-regression": "workspace:^",
|
|
98
98
|
"@atlaskit/analytics-gas-types": "^6.2.0",
|
|
99
99
|
"@atlaskit/checkbox": "^19.2.0",
|
|
100
|
-
"@atlaskit/editor-plugin-media": "^19.
|
|
100
|
+
"@atlaskit/editor-plugin-media": "^19.1.0",
|
|
101
101
|
"@atlaskit/editor-test-helpers": "workspace:^",
|
|
102
102
|
"@atlaskit/inline-edit": "^16.4.0",
|
|
103
103
|
"@atlaskit/json-ld-types": "^2.0.0",
|