@atlaskit/emoji 72.4.12 → 72.4.14
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 +15 -0
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +5 -12
- package/dist/cjs/util/analytics/createEvent.js +1 -1
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +5 -12
- package/dist/es2019/util/analytics/createEvent.js +1 -1
- package/dist/esm/components/common/ResourcedEmojiComponent.js +5 -12
- package/dist/esm/util/analytics/createEvent.js +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 72.4.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 72.4.13
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`c03298c2e2f68`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c03298c2e2f68) -
|
|
14
|
+
Cleanup `experiment` `platform_emoji_fetch_in_effect`. `ResourcedEmoji` now always fetches its
|
|
15
|
+
emoji from a layout effect instead of during render, so only committed renders fetch and discarded
|
|
16
|
+
renders (for example a pass that suspends) no longer trigger emoji provider lookups.
|
|
17
|
+
|
|
3
18
|
## 72.4.12
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -14,7 +14,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
14
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
18
17
|
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
19
18
|
var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
|
|
20
19
|
var _EmojiCommonProvider = require("../../context/EmojiCommonProvider");
|
|
@@ -178,18 +177,12 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
178
177
|
}
|
|
179
178
|
}, [emojiId]);
|
|
180
179
|
|
|
181
|
-
// Fetching
|
|
182
|
-
//
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
(0, _react.useMemo)(function () {
|
|
186
|
-
if (!resolvedEmojiProvider || !emojiId || (0, _isExperimentEnabled.isExperimentEnabled)('platform_emoji_fetch_in_effect')) {
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
fetchOrGetEmoji(resolvedEmojiProvider, emojiId, optimistic);
|
|
190
|
-
}, [resolvedEmojiProvider, emojiId, optimistic, fetchOrGetEmoji]);
|
|
180
|
+
// Fetching during render means a render React later discards (for example a pass that suspends)
|
|
181
|
+
// still creates a promise whose callbacks set state and schedule yet another render. This layout
|
|
182
|
+
// effect only runs for committed renders, and being pre-paint it keeps the synchronous cache-hit
|
|
183
|
+
// path from flashing the placeholder.
|
|
191
184
|
(0, _react.useLayoutEffect)(function () {
|
|
192
|
-
if (!resolvedEmojiProvider || !emojiId
|
|
185
|
+
if (!resolvedEmojiProvider || !emojiId) {
|
|
193
186
|
return;
|
|
194
187
|
}
|
|
195
188
|
fetchOrGetEmoji(resolvedEmojiProvider, emojiId, optimistic);
|
|
@@ -19,7 +19,7 @@ var createEvent = exports.createEvent = function createEvent(eventType, action,
|
|
|
19
19
|
actionSubjectId: actionSubjectId,
|
|
20
20
|
attributes: _objectSpread({
|
|
21
21
|
packageName: "@atlaskit/emoji",
|
|
22
|
-
packageVersion: "72.4.
|
|
22
|
+
packageVersion: "72.4.13"
|
|
23
23
|
}, attributes)
|
|
24
24
|
};
|
|
25
25
|
};
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import "./ResourcedEmojiComponent.compiled.css";
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useState } from 'react';
|
|
5
|
-
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
6
5
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
7
6
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
8
7
|
import { EmojiCommonProvider } from '../../context/EmojiCommonProvider';
|
|
@@ -127,18 +126,12 @@ export const ResourcedEmojiComponent = ({
|
|
|
127
126
|
}
|
|
128
127
|
}, [emojiId]);
|
|
129
128
|
|
|
130
|
-
// Fetching
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
useMemo(() => {
|
|
135
|
-
if (!resolvedEmojiProvider || !emojiId || isExperimentEnabled('platform_emoji_fetch_in_effect')) {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
fetchOrGetEmoji(resolvedEmojiProvider, emojiId, optimistic);
|
|
139
|
-
}, [resolvedEmojiProvider, emojiId, optimistic, fetchOrGetEmoji]);
|
|
129
|
+
// Fetching during render means a render React later discards (for example a pass that suspends)
|
|
130
|
+
// still creates a promise whose callbacks set state and schedule yet another render. This layout
|
|
131
|
+
// effect only runs for committed renders, and being pre-paint it keeps the synchronous cache-hit
|
|
132
|
+
// path from flashing the placeholder.
|
|
140
133
|
useLayoutEffect(() => {
|
|
141
|
-
if (!resolvedEmojiProvider || !emojiId
|
|
134
|
+
if (!resolvedEmojiProvider || !emojiId) {
|
|
142
135
|
return;
|
|
143
136
|
}
|
|
144
137
|
fetchOrGetEmoji(resolvedEmojiProvider, emojiId, optimistic);
|
|
@@ -8,7 +8,6 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
8
8
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
9
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
10
|
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useState } from 'react';
|
|
11
|
-
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
12
11
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
13
12
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
14
13
|
import { EmojiCommonProvider } from '../../context/EmojiCommonProvider';
|
|
@@ -169,18 +168,12 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(_ref) {
|
|
|
169
168
|
}
|
|
170
169
|
}, [emojiId]);
|
|
171
170
|
|
|
172
|
-
// Fetching
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
useMemo(function () {
|
|
177
|
-
if (!resolvedEmojiProvider || !emojiId || isExperimentEnabled('platform_emoji_fetch_in_effect')) {
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
fetchOrGetEmoji(resolvedEmojiProvider, emojiId, optimistic);
|
|
181
|
-
}, [resolvedEmojiProvider, emojiId, optimistic, fetchOrGetEmoji]);
|
|
171
|
+
// Fetching during render means a render React later discards (for example a pass that suspends)
|
|
172
|
+
// still creates a promise whose callbacks set state and schedule yet another render. This layout
|
|
173
|
+
// effect only runs for committed renders, and being pre-paint it keeps the synchronous cache-hit
|
|
174
|
+
// path from flashing the placeholder.
|
|
182
175
|
useLayoutEffect(function () {
|
|
183
|
-
if (!resolvedEmojiProvider || !emojiId
|
|
176
|
+
if (!resolvedEmojiProvider || !emojiId) {
|
|
184
177
|
return;
|
|
185
178
|
}
|
|
186
179
|
fetchOrGetEmoji(resolvedEmojiProvider, emojiId, optimistic);
|
|
@@ -12,7 +12,7 @@ export var createEvent = function createEvent(eventType, action, actionSubject,
|
|
|
12
12
|
actionSubjectId: actionSubjectId,
|
|
13
13
|
attributes: _objectSpread({
|
|
14
14
|
packageName: "@atlaskit/emoji",
|
|
15
|
-
packageVersion: "72.4.
|
|
15
|
+
packageVersion: "72.4.13"
|
|
16
16
|
}, attributes)
|
|
17
17
|
};
|
|
18
18
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/emoji",
|
|
3
|
-
"version": "72.4.
|
|
3
|
+
"version": "72.4.14",
|
|
4
4
|
"description": "Fabric emoji React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@atlaskit/spinner": "^20.4.0",
|
|
55
55
|
"@atlaskit/textfield": "^10.2.0",
|
|
56
56
|
"@atlaskit/theme": "^28.2.0",
|
|
57
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
57
|
+
"@atlaskit/tmp-editor-statsig": "^202.0.0",
|
|
58
58
|
"@atlaskit/tokens": "^18.2.0",
|
|
59
59
|
"@atlaskit/tooltip": "^24.3.0",
|
|
60
60
|
"@atlaskit/ufo": "^1.2.0",
|