@atlaskit/emoji 69.0.11 → 69.0.12

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/emoji
2
2
 
3
+ ## 69.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - [#139312](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/139312)
8
+ [`abb297a1fa59c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/abb297a1fa59c) -
9
+ Adding metadata to failed emoji rendering
10
+
3
11
  ## 69.0.11
4
12
 
5
13
  ### Patch Changes
@@ -47,6 +47,9 @@
47
47
  {
48
48
  "path": "../../../design-system/primitives/afm-cc/tsconfig.json"
49
49
  },
50
+ {
51
+ "path": "../../../react-ufo/atlaskit/afm-cc/tsconfig.json"
52
+ },
50
53
  {
51
54
  "path": "../../../design-system/spinner/afm-cc/tsconfig.json"
52
55
  },
@@ -47,6 +47,9 @@
47
47
  {
48
48
  "path": "../../../design-system/primitives/afm-jira/tsconfig.json"
49
49
  },
50
+ {
51
+ "path": "../../../react-ufo/atlaskit/afm-jira/tsconfig.json"
52
+ },
50
53
  {
51
54
  "path": "../../../design-system/spinner/afm-jira/tsconfig.json"
52
55
  },
@@ -47,6 +47,9 @@
47
47
  {
48
48
  "path": "../../../design-system/primitives/afm-post-office/tsconfig.json"
49
49
  },
50
+ {
51
+ "path": "../../../react-ufo/atlaskit/afm-post-office/tsconfig.json"
52
+ },
50
53
  {
51
54
  "path": "../../../design-system/spinner/afm-post-office/tsconfig.json"
52
55
  },
@@ -7,10 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.ResourcedEmojiComponent = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
+ var _interactionMetrics = require("@atlaskit/react-ufo/interaction-metrics");
14
15
  var _constants = require("../../util/constants");
15
16
  var _typeHelpers = require("../../util/type-helpers");
16
17
  var _types = require("../../types");
@@ -62,9 +63,22 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
62
63
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
63
64
  resolvedEmojiProvider = _useState8[0],
64
65
  setResolvedEmojiProvider = _useState8[1];
66
+ var getActiveInterationMetadata = function getActiveInterationMetadata() {
67
+ var activeInteraction = (0, _interactionMetrics.getActiveInteraction)();
68
+ var activeInteractionMetadata = {};
69
+ if (activeInteraction) {
70
+ activeInteractionMetadata = _objectSpread(_objectSpread({}, activeInteraction.metaData['productInteractionName'] ? {
71
+ productInteractionName: activeInteraction.metaData['productInteractionName']
72
+ } : {}), activeInteraction.metaData['productInteractionType'] ? {
73
+ productInteractionType: activeInteraction.metaData['productInteractionType']
74
+ } : {});
75
+ }
76
+ return activeInteractionMetadata;
77
+ };
65
78
  var fetchOrGetEmoji = (0, _react.useCallback)( /*#__PURE__*/function () {
66
79
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_emojiProvider, emojiId) {
67
80
  var optimisticFetch,
81
+ activeInteractionMetadata,
68
82
  foundEmoji,
69
83
  _args = arguments;
70
84
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -72,12 +86,13 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
72
86
  case 0:
73
87
  optimisticFetch = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
74
88
  if (!_emojiProvider.fetchByEmojiId) {
89
+ activeInteractionMetadata = getActiveInterationMetadata();
75
90
  setEmoji(undefined);
76
91
  (0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
77
- metadata: {
92
+ metadata: _objectSpread({
78
93
  reason: 'missing fetchByEmojiId interface',
79
94
  source: 'ResourcedEmojiComponent'
80
- }
95
+ }, activeInteractionMetadata)
81
96
  });
82
97
  }
83
98
  foundEmoji = _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
@@ -88,8 +103,9 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
88
103
  setEmoji(emoji);
89
104
  if (!emoji) {
90
105
  // emoji is undefined
106
+ var _activeInteractionMetadata = getActiveInterationMetadata();
91
107
  (0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
92
- metadata: {
108
+ metadata: _objectSpread({
93
109
  reason: 'failed to find',
94
110
  source: 'ResourcedEmojiComponent',
95
111
  data: {
@@ -98,13 +114,14 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
98
114
  shortName: emojiId.shortName
99
115
  }
100
116
  }
101
- }
117
+ }, _activeInteractionMetadata)
102
118
  });
103
119
  }
104
120
  }).catch(function () {
105
121
  setEmoji(undefined);
122
+ var activeInteractionMetadata = getActiveInterationMetadata();
106
123
  (0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
107
- metadata: {
124
+ metadata: _objectSpread({
108
125
  reason: 'failed to load',
109
126
  source: 'ResourcedEmojiComponent',
110
127
  data: {
@@ -113,7 +130,7 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
113
130
  shortName: emojiId.shortName
114
131
  }
115
132
  }
116
- }
133
+ }, activeInteractionMetadata)
117
134
  });
118
135
  }).finally(function () {
119
136
  setLoaded(true);
@@ -197,13 +214,14 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
197
214
  return emoji;
198
215
  }, [emoji, optimisticImageURL, fallback, fitToHeight, id, shortName]);
199
216
  var handleOnLoadError = (0, _react.useCallback)(function (emojiId) {
217
+ var activeInteractionMetadata = getActiveInterationMetadata();
200
218
  setImageLoadError(true);
201
219
  (0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
202
- metadata: {
220
+ metadata: _objectSpread({
203
221
  reason: 'load error',
204
222
  source: 'ResourcedEmojiComponent',
205
223
  emojiId: emojiId.id
206
- }
224
+ }, activeInteractionMetadata)
207
225
  });
208
226
  }, []);
209
227
  return /*#__PURE__*/_react.default.createElement(_EmojiCommonProvider.EmojiCommonProvider, {
@@ -20,7 +20,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
20
20
  actionSubjectId: actionSubjectId,
21
21
  attributes: _objectSpread({
22
22
  packageName: "@atlaskit/emoji",
23
- packageVersion: "69.0.11"
23
+ packageVersion: "69.0.12"
24
24
  }, attributes)
25
25
  };
26
26
  };
@@ -1,4 +1,5 @@
1
1
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
2
+ import { getActiveInteraction } from '@atlaskit/react-ufo/interaction-metrics';
2
3
  import { defaultEmojiHeight } from '../../util/constants';
3
4
  import { isImageRepresentation, isMediaRepresentation, isPromise } from '../../util/type-helpers';
4
5
  import { UfoEmojiTimings } from '../../types';
@@ -33,13 +34,30 @@ export const ResourcedEmojiComponent = props => {
33
34
  const [loaded, setLoaded] = useState(false);
34
35
  const [imageLoadError, setImageLoadError] = useState(false);
35
36
  const [resolvedEmojiProvider, setResolvedEmojiProvider] = useState();
37
+ const getActiveInterationMetadata = () => {
38
+ const activeInteraction = getActiveInteraction();
39
+ let activeInteractionMetadata = {};
40
+ if (activeInteraction) {
41
+ activeInteractionMetadata = {
42
+ ...(activeInteraction.metaData['productInteractionName'] ? {
43
+ productInteractionName: activeInteraction.metaData['productInteractionName']
44
+ } : {}),
45
+ ...(activeInteraction.metaData['productInteractionType'] ? {
46
+ productInteractionType: activeInteraction.metaData['productInteractionType']
47
+ } : {})
48
+ };
49
+ }
50
+ return activeInteractionMetadata;
51
+ };
36
52
  const fetchOrGetEmoji = useCallback(async (_emojiProvider, emojiId, optimisticFetch = false) => {
37
53
  if (!_emojiProvider.fetchByEmojiId) {
54
+ const activeInteractionMetadata = getActiveInterationMetadata();
38
55
  setEmoji(undefined);
39
56
  sampledUfoRenderedEmoji(emojiId).failure({
40
57
  metadata: {
41
58
  reason: 'missing fetchByEmojiId interface',
42
- source: 'ResourcedEmojiComponent'
59
+ source: 'ResourcedEmojiComponent',
60
+ ...activeInteractionMetadata
43
61
  }
44
62
  });
45
63
  }
@@ -51,6 +69,7 @@ export const ResourcedEmojiComponent = props => {
51
69
  setEmoji(emoji);
52
70
  if (!emoji) {
53
71
  // emoji is undefined
72
+ const activeInteractionMetadata = getActiveInterationMetadata();
54
73
  sampledUfoRenderedEmoji(emojiId).failure({
55
74
  metadata: {
56
75
  reason: 'failed to find',
@@ -60,12 +79,14 @@ export const ResourcedEmojiComponent = props => {
60
79
  id: emojiId.id,
61
80
  shortName: emojiId.shortName
62
81
  }
63
- }
82
+ },
83
+ ...activeInteractionMetadata
64
84
  }
65
85
  });
66
86
  }
67
87
  }).catch(() => {
68
88
  setEmoji(undefined);
89
+ const activeInteractionMetadata = getActiveInterationMetadata();
69
90
  sampledUfoRenderedEmoji(emojiId).failure({
70
91
  metadata: {
71
92
  reason: 'failed to load',
@@ -75,7 +96,8 @@ export const ResourcedEmojiComponent = props => {
75
96
  id: emojiId.id,
76
97
  shortName: emojiId.shortName
77
98
  }
78
- }
99
+ },
100
+ ...activeInteractionMetadata
79
101
  }
80
102
  });
81
103
  }).finally(() => {
@@ -153,12 +175,14 @@ export const ResourcedEmojiComponent = props => {
153
175
  return emoji;
154
176
  }, [emoji, optimisticImageURL, fallback, fitToHeight, id, shortName]);
155
177
  const handleOnLoadError = useCallback(emojiId => {
178
+ const activeInteractionMetadata = getActiveInterationMetadata();
156
179
  setImageLoadError(true);
157
180
  sampledUfoRenderedEmoji(emojiId).failure({
158
181
  metadata: {
159
182
  reason: 'load error',
160
183
  source: 'ResourcedEmojiComponent',
161
- emojiId: emojiId.id
184
+ emojiId: emojiId.id,
185
+ ...activeInteractionMetadata
162
186
  }
163
187
  });
164
188
  }, []);
@@ -8,7 +8,7 @@ const createEvent = (eventType, action, actionSubject, actionSubjectId, attribut
8
8
  actionSubjectId,
9
9
  attributes: {
10
10
  packageName: "@atlaskit/emoji",
11
- packageVersion: "69.0.11",
11
+ packageVersion: "69.0.12",
12
12
  ...attributes
13
13
  }
14
14
  });
@@ -1,10 +1,11 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
5
  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; }
5
6
  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; }
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
7
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
8
+ import { getActiveInteraction } from '@atlaskit/react-ufo/interaction-metrics';
8
9
  import { defaultEmojiHeight } from '../../util/constants';
9
10
  import { isImageRepresentation, isMediaRepresentation, isPromise } from '../../util/type-helpers';
10
11
  import { UfoEmojiTimings } from '../../types';
@@ -52,9 +53,22 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
52
53
  _useState8 = _slicedToArray(_useState7, 2),
53
54
  resolvedEmojiProvider = _useState8[0],
54
55
  setResolvedEmojiProvider = _useState8[1];
56
+ var getActiveInterationMetadata = function getActiveInterationMetadata() {
57
+ var activeInteraction = getActiveInteraction();
58
+ var activeInteractionMetadata = {};
59
+ if (activeInteraction) {
60
+ activeInteractionMetadata = _objectSpread(_objectSpread({}, activeInteraction.metaData['productInteractionName'] ? {
61
+ productInteractionName: activeInteraction.metaData['productInteractionName']
62
+ } : {}), activeInteraction.metaData['productInteractionType'] ? {
63
+ productInteractionType: activeInteraction.metaData['productInteractionType']
64
+ } : {});
65
+ }
66
+ return activeInteractionMetadata;
67
+ };
55
68
  var fetchOrGetEmoji = useCallback( /*#__PURE__*/function () {
56
69
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_emojiProvider, emojiId) {
57
70
  var optimisticFetch,
71
+ activeInteractionMetadata,
58
72
  foundEmoji,
59
73
  _args = arguments;
60
74
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -62,12 +76,13 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
62
76
  case 0:
63
77
  optimisticFetch = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
64
78
  if (!_emojiProvider.fetchByEmojiId) {
79
+ activeInteractionMetadata = getActiveInterationMetadata();
65
80
  setEmoji(undefined);
66
81
  sampledUfoRenderedEmoji(emojiId).failure({
67
- metadata: {
82
+ metadata: _objectSpread({
68
83
  reason: 'missing fetchByEmojiId interface',
69
84
  source: 'ResourcedEmojiComponent'
70
- }
85
+ }, activeInteractionMetadata)
71
86
  });
72
87
  }
73
88
  foundEmoji = _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
@@ -78,8 +93,9 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
78
93
  setEmoji(emoji);
79
94
  if (!emoji) {
80
95
  // emoji is undefined
96
+ var _activeInteractionMetadata = getActiveInterationMetadata();
81
97
  sampledUfoRenderedEmoji(emojiId).failure({
82
- metadata: {
98
+ metadata: _objectSpread({
83
99
  reason: 'failed to find',
84
100
  source: 'ResourcedEmojiComponent',
85
101
  data: {
@@ -88,13 +104,14 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
88
104
  shortName: emojiId.shortName
89
105
  }
90
106
  }
91
- }
107
+ }, _activeInteractionMetadata)
92
108
  });
93
109
  }
94
110
  }).catch(function () {
95
111
  setEmoji(undefined);
112
+ var activeInteractionMetadata = getActiveInterationMetadata();
96
113
  sampledUfoRenderedEmoji(emojiId).failure({
97
- metadata: {
114
+ metadata: _objectSpread({
98
115
  reason: 'failed to load',
99
116
  source: 'ResourcedEmojiComponent',
100
117
  data: {
@@ -103,7 +120,7 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
103
120
  shortName: emojiId.shortName
104
121
  }
105
122
  }
106
- }
123
+ }, activeInteractionMetadata)
107
124
  });
108
125
  }).finally(function () {
109
126
  setLoaded(true);
@@ -187,13 +204,14 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
187
204
  return emoji;
188
205
  }, [emoji, optimisticImageURL, fallback, fitToHeight, id, shortName]);
189
206
  var handleOnLoadError = useCallback(function (emojiId) {
207
+ var activeInteractionMetadata = getActiveInterationMetadata();
190
208
  setImageLoadError(true);
191
209
  sampledUfoRenderedEmoji(emojiId).failure({
192
- metadata: {
210
+ metadata: _objectSpread({
193
211
  reason: 'load error',
194
212
  source: 'ResourcedEmojiComponent',
195
213
  emojiId: emojiId.id
196
- }
214
+ }, activeInteractionMetadata)
197
215
  });
198
216
  }, []);
199
217
  return /*#__PURE__*/React.createElement(EmojiCommonProvider, {
@@ -13,7 +13,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
13
13
  actionSubjectId: actionSubjectId,
14
14
  attributes: _objectSpread({
15
15
  packageName: "@atlaskit/emoji",
16
- packageVersion: "69.0.11"
16
+ packageVersion: "69.0.12"
17
17
  }, attributes)
18
18
  };
19
19
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "69.0.11",
3
+ "version": "69.0.12",
4
4
  "description": "Fabric emoji React components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -38,13 +38,14 @@
38
38
  "@atlaskit/analytics-next": "^11.0.0",
39
39
  "@atlaskit/button": "^23.0.0",
40
40
  "@atlaskit/css": "^0.10.0",
41
- "@atlaskit/heading": "^5.1.0",
41
+ "@atlaskit/heading": "^5.2.0",
42
42
  "@atlaskit/icon": "^25.5.0",
43
43
  "@atlaskit/media-client": "^32.0.0",
44
44
  "@atlaskit/media-client-react": "^4.0.0",
45
45
  "@atlaskit/platform-feature-flags": "^1.1.0",
46
46
  "@atlaskit/platform-feature-flags-react": "^0.1.0",
47
- "@atlaskit/primitives": "^14.3.0",
47
+ "@atlaskit/primitives": "^14.4.0",
48
+ "@atlaskit/react-ufo": "^3.4.0",
48
49
  "@atlaskit/spinner": "^18.0.0",
49
50
  "@atlaskit/textfield": "^8.0.0",
50
51
  "@atlaskit/theme": "^18.0.0",