@atlaskit/media-file-preview 0.3.1 → 0.4.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 +16 -0
- package/dist/cjs/analytics.js +10 -1
- package/dist/cjs/errors.js +5 -0
- package/dist/cjs/getPreview/getPreview.js +5 -1
- package/dist/cjs/getPreview/index.js +6 -0
- package/dist/cjs/useFilePreview.js +33 -38
- package/dist/es2019/analytics.js +6 -2
- package/dist/es2019/errors.js +5 -0
- package/dist/es2019/getPreview/getPreview.js +4 -0
- package/dist/es2019/getPreview/index.js +1 -1
- package/dist/es2019/useFilePreview.js +35 -41
- package/dist/esm/analytics.js +9 -1
- package/dist/esm/errors.js +5 -0
- package/dist/esm/getPreview/getPreview.js +4 -0
- package/dist/esm/getPreview/index.js +1 -1
- package/dist/esm/useFilePreview.js +35 -40
- package/dist/types/analytics.d.ts +2 -0
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/getPreview/getPreview.d.ts +1 -0
- package/dist/types/getPreview/index.d.ts +1 -1
- package/dist/types/useFilePreview.d.ts +2 -2
- package/dist/types-ts4.5/analytics.d.ts +2 -0
- package/dist/types-ts4.5/errors.d.ts +1 -1
- package/dist/types-ts4.5/getPreview/getPreview.d.ts +1 -0
- package/dist/types-ts4.5/getPreview/index.d.ts +1 -1
- package/dist/types-ts4.5/useFilePreview.d.ts +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/media-file-preview
|
|
2
2
|
|
|
3
|
+
## 0.4.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#71409](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/71409) [`5c76dfba92dd`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/5c76dfba92dd) - Pass trace context to global scope error
|
|
8
|
+
|
|
9
|
+
## 0.4.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#70446](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/70446) [`48eae199c6fa`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/48eae199c6fa) - Breaking: return ref object ssrReliabilityRef is replaced by object ssrReliability
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#70446](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/70446) [`0ff07ca94009`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/0ff07ca94009) - Better support for onImageError callback
|
|
18
|
+
|
|
3
19
|
## 0.3.1
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/cjs/analytics.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.getRenderErrorFailReason = exports.getRenderErrorErrorReason = exports.getRenderErrorErrorDetail = exports.getErrorTraceContext = exports.extractErrorInfo = void 0;
|
|
7
|
+
exports.getRenderErrorFailReason = exports.getRenderErrorErrorReason = exports.getRenderErrorErrorDetail = exports.getErrorTraceContext = exports.extractErrorInfo = exports.createFailedSSRObject = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
9
|
var _mediaClient = require("@atlaskit/media-client");
|
|
8
10
|
var _errors = require("./errors");
|
|
11
|
+
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; }
|
|
12
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
9
13
|
var getErrorTraceContext = exports.getErrorTraceContext = function getErrorTraceContext(error) {
|
|
10
14
|
if ((0, _errors.isMediaFilePreviewError)(error) && !!error.secondaryError) {
|
|
11
15
|
if ((0, _mediaClient.isRequestError)(error.secondaryError)) {
|
|
@@ -47,4 +51,9 @@ var extractErrorInfo = exports.extractErrorInfo = function extractErrorInfo(erro
|
|
|
47
51
|
errorDetail: getRenderErrorErrorDetail(error),
|
|
48
52
|
metadataTraceContext: metadataTraceContext !== null && metadataTraceContext !== void 0 ? metadataTraceContext : getErrorTraceContext(error)
|
|
49
53
|
};
|
|
54
|
+
};
|
|
55
|
+
var createFailedSSRObject = exports.createFailedSSRObject = function createFailedSSRObject(preview, metadataTraceContext) {
|
|
56
|
+
return _objectSpread({
|
|
57
|
+
status: 'fail'
|
|
58
|
+
}, extractErrorInfo(new _errors.ImageLoadError(preview.source), metadataTraceContext));
|
|
50
59
|
};
|
package/dist/cjs/errors.js
CHANGED
|
@@ -95,6 +95,11 @@ var getImageLoadPrimaryReason = function getImageLoadPrimaryReason(source) {
|
|
|
95
95
|
return 'local-uri';
|
|
96
96
|
case 'remote':
|
|
97
97
|
return 'remote-uri';
|
|
98
|
+
case 'ssr-client':
|
|
99
|
+
return 'ssr-client-uri';
|
|
100
|
+
case 'ssr-server':
|
|
101
|
+
case 'ssr-data':
|
|
102
|
+
return 'ssr-server-uri';
|
|
98
103
|
// This fail reason will come from a bug, most likely.
|
|
99
104
|
default:
|
|
100
105
|
return "unknown-uri";
|
|
@@ -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.isSSRPreview = exports.isSSRDataPreview = exports.isSSRClientPreview = exports.isLocalPreview = exports.getSSRPreview = exports.getAndCacheRemotePreview = exports.getAndCacheLocalPreview = void 0;
|
|
7
|
+
exports.isSSRPreview = exports.isSSRDataPreview = exports.isSSRClientPreview = exports.isRemotePreview = exports.isLocalPreview = exports.getSSRPreview = exports.getAndCacheRemotePreview = exports.getAndCacheLocalPreview = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -58,6 +58,10 @@ var isLocalPreview = exports.isLocalPreview = function isLocalPreview(preview) {
|
|
|
58
58
|
var localSources = ['local', 'cache-local'];
|
|
59
59
|
return localSources.includes(preview.source);
|
|
60
60
|
};
|
|
61
|
+
var isRemotePreview = exports.isRemotePreview = function isRemotePreview(preview) {
|
|
62
|
+
var remoteSources = ['remote', 'cache-remote'];
|
|
63
|
+
return remoteSources.includes(preview.source);
|
|
64
|
+
};
|
|
61
65
|
var isSSRClientPreview = exports.isSSRClientPreview = function isSSRClientPreview(preview) {
|
|
62
66
|
return preview.source === 'ssr-client';
|
|
63
67
|
};
|
|
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "isLocalPreview", {
|
|
|
27
27
|
return _getPreview.isLocalPreview;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "isRemotePreview", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _getPreview.isRemotePreview;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
30
36
|
Object.defineProperty(exports, "isSSRClientPreview", {
|
|
31
37
|
enumerable: true,
|
|
32
38
|
get: function get() {
|
|
@@ -49,7 +49,14 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
49
49
|
isBannedLocalPreview = _useState8[0],
|
|
50
50
|
setIsBannedLocalPreview = _useState8[1];
|
|
51
51
|
var wasResolvedUpfrontPreviewRef = (0, _react.useRef)(false);
|
|
52
|
-
var ssrReliabilityRef = (0, _react.useRef)(
|
|
52
|
+
var ssrReliabilityRef = (0, _react.useRef)({
|
|
53
|
+
server: {
|
|
54
|
+
status: 'unknown'
|
|
55
|
+
},
|
|
56
|
+
client: {
|
|
57
|
+
status: 'unknown'
|
|
58
|
+
}
|
|
59
|
+
});
|
|
53
60
|
var requestDimensions = (0, _react.useMemo)(function () {
|
|
54
61
|
return dimensions ? (0, _helpers.createRequestDimensions)(dimensions) : undefined;
|
|
55
62
|
}, [dimensions]);
|
|
@@ -80,7 +87,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
80
87
|
} catch (e) {
|
|
81
88
|
ssrReliabilityRef.current[ssr] = _objectSpread({
|
|
82
89
|
status: 'fail'
|
|
83
|
-
}, (0, _analytics.extractErrorInfo)(e));
|
|
90
|
+
}, (0, _analytics.extractErrorInfo)(e, traceContext));
|
|
84
91
|
}
|
|
85
92
|
} else {
|
|
86
93
|
var _dimensions = ssrData.dimensions,
|
|
@@ -200,44 +207,40 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
200
207
|
// RETURN
|
|
201
208
|
//----------------------------------------------------------------
|
|
202
209
|
|
|
203
|
-
var onImageError = (0, _react.useCallback)(function (
|
|
204
|
-
if (
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/*
|
|
213
|
-
If the preview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
|
|
214
|
-
*/
|
|
210
|
+
var onImageError = (0, _react.useCallback)(function (failedPreview) {
|
|
211
|
+
if (!failedPreview) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if ((0, _getPreview.isSSRClientPreview)(failedPreview)) {
|
|
215
|
+
ssrReliabilityRef.current.client = (0, _analytics.createFailedSSRObject)(failedPreview, traceContext);
|
|
216
|
+
}
|
|
215
217
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
218
|
+
// If the preview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
|
|
219
|
+
if ((0, _getPreview.isSSRDataPreview)(failedPreview)) {
|
|
220
|
+
ssrReliabilityRef.current.server = (0, _analytics.createFailedSSRObject)(failedPreview, traceContext);
|
|
221
|
+
ssrReliabilityRef.current.client = (0, _analytics.createFailedSSRObject)(failedPreview, traceContext);
|
|
220
222
|
}
|
|
221
223
|
|
|
222
224
|
// If the dataURI has been replaced, we can dismiss this error
|
|
223
|
-
if (
|
|
225
|
+
if (failedPreview.dataURI !== (preview === null || preview === void 0 ? void 0 : preview.dataURI)) {
|
|
224
226
|
return;
|
|
225
227
|
}
|
|
226
|
-
var
|
|
227
|
-
var
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
var isLocal = (0, _getPreview.isLocalPreview)(failedPreview);
|
|
229
|
+
var isRemote = (0, _getPreview.isRemotePreview)(failedPreview);
|
|
230
|
+
if (isLocal || isRemote) {
|
|
231
|
+
var _error = new _errors.ImageLoadError(failedPreview === null || failedPreview === void 0 ? void 0 : failedPreview.source);
|
|
232
|
+
_getPreview.mediaFilePreviewCache.remove(identifier.id, resizeMode);
|
|
230
233
|
if (isLocal) {
|
|
231
234
|
setIsBannedLocalPreview(true);
|
|
232
|
-
setNonCriticalError(error);
|
|
233
235
|
}
|
|
234
|
-
|
|
236
|
+
if (isRemote) {
|
|
237
|
+
setStatus('error');
|
|
238
|
+
setError(_error);
|
|
239
|
+
}
|
|
240
|
+
// Should be set after the status
|
|
235
241
|
setPreview(undefined);
|
|
236
|
-
} else {
|
|
237
|
-
setStatus('error');
|
|
238
|
-
setError(error);
|
|
239
242
|
}
|
|
240
|
-
}, [identifier.id, preview === null || preview === void 0 ? void 0 : preview.dataURI, resizeMode]);
|
|
243
|
+
}, [identifier.id, preview === null || preview === void 0 ? void 0 : preview.dataURI, resizeMode, traceContext]);
|
|
241
244
|
var onImageLoad = (0, _react.useCallback)(function (newPreview) {
|
|
242
245
|
if (newPreview) {
|
|
243
246
|
if ((0, _getPreview.isSSRClientPreview)(newPreview) && ssrReliabilityRef.current.client.status === 'unknown') {
|
|
@@ -279,17 +282,9 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
279
282
|
status: status,
|
|
280
283
|
error: error,
|
|
281
284
|
nonCriticalError: nonCriticalError,
|
|
282
|
-
|
|
285
|
+
ssrReliability: ssrReliabilityRef.current,
|
|
283
286
|
onImageError: onImageError,
|
|
284
287
|
onImageLoad: onImageLoad,
|
|
285
288
|
getSsrScriptProps: getSsrScriptProps
|
|
286
289
|
};
|
|
287
|
-
};
|
|
288
|
-
var initialSsrReliability = {
|
|
289
|
-
server: {
|
|
290
|
-
status: 'unknown'
|
|
291
|
-
},
|
|
292
|
-
client: {
|
|
293
|
-
status: 'unknown'
|
|
294
|
-
}
|
|
295
290
|
};
|
package/dist/es2019/analytics.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getMediaClientErrorReason, isRequestError } from '@atlaskit/media-client';
|
|
2
|
-
import { getFileStateErrorReason, isMediaFilePreviewError, isMediaFileStateError } from './errors';
|
|
2
|
+
import { getFileStateErrorReason, ImageLoadError, isMediaFilePreviewError, isMediaFileStateError } from './errors';
|
|
3
3
|
export const getErrorTraceContext = error => {
|
|
4
4
|
if (isMediaFilePreviewError(error) && !!error.secondaryError) {
|
|
5
5
|
if (isRequestError(error.secondaryError)) {
|
|
@@ -41,4 +41,8 @@ export const extractErrorInfo = (error, metadataTraceContext) => {
|
|
|
41
41
|
errorDetail: getRenderErrorErrorDetail(error),
|
|
42
42
|
metadataTraceContext: metadataTraceContext !== null && metadataTraceContext !== void 0 ? metadataTraceContext : getErrorTraceContext(error)
|
|
43
43
|
};
|
|
44
|
-
};
|
|
44
|
+
};
|
|
45
|
+
export const createFailedSSRObject = (preview, metadataTraceContext) => ({
|
|
46
|
+
status: 'fail',
|
|
47
|
+
...extractErrorInfo(new ImageLoadError(preview.source), metadataTraceContext)
|
|
48
|
+
});
|
package/dist/es2019/errors.js
CHANGED
|
@@ -52,6 +52,11 @@ const getImageLoadPrimaryReason = source => {
|
|
|
52
52
|
return 'local-uri';
|
|
53
53
|
case 'remote':
|
|
54
54
|
return 'remote-uri';
|
|
55
|
+
case 'ssr-client':
|
|
56
|
+
return 'ssr-client-uri';
|
|
57
|
+
case 'ssr-server':
|
|
58
|
+
case 'ssr-data':
|
|
59
|
+
return 'ssr-server-uri';
|
|
55
60
|
// This fail reason will come from a bug, most likely.
|
|
56
61
|
default:
|
|
57
62
|
return `unknown-uri`;
|
|
@@ -48,6 +48,10 @@ export const isLocalPreview = preview => {
|
|
|
48
48
|
const localSources = ['local', 'cache-local'];
|
|
49
49
|
return localSources.includes(preview.source);
|
|
50
50
|
};
|
|
51
|
+
export const isRemotePreview = preview => {
|
|
52
|
+
const remoteSources = ['remote', 'cache-remote'];
|
|
53
|
+
return remoteSources.includes(preview.source);
|
|
54
|
+
};
|
|
51
55
|
export const isSSRClientPreview = preview => preview.source === 'ssr-client';
|
|
52
56
|
export const isSSRDataPreview = preview => preview.source === 'ssr-data';
|
|
53
57
|
export const isSSRPreview = preview => {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { mediaFilePreviewCache } from './cache';
|
|
2
|
-
export { getSSRPreview, isLocalPreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview } from './getPreview';
|
|
2
|
+
export { getSSRPreview, isLocalPreview, isRemotePreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview } from './getPreview';
|
|
3
3
|
export { isSupportedLocalPreview } from './helpers';
|
|
@@ -2,9 +2,9 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
2
2
|
import { isImageRepresentationReady } from '@atlaskit/media-client';
|
|
3
3
|
import { useFileState, useMediaClient } from '@atlaskit/media-client-react';
|
|
4
4
|
import { isMimeTypeSupportedByBrowser } from '@atlaskit/media-common';
|
|
5
|
-
import { extractErrorInfo } from './analytics';
|
|
5
|
+
import { createFailedSSRObject, extractErrorInfo } from './analytics';
|
|
6
6
|
import { ensureMediaFilePreviewError, ImageLoadError, MediaFilePreviewError } from './errors';
|
|
7
|
-
import { getAndCacheLocalPreview, getAndCacheRemotePreview, getSSRPreview, isLocalPreview, isSSRClientPreview, isSSRDataPreview, isSSRPreview, isSupportedLocalPreview, mediaFilePreviewCache } from './getPreview';
|
|
7
|
+
import { getAndCacheLocalPreview, getAndCacheRemotePreview, getSSRPreview, isLocalPreview, isRemotePreview, isSSRClientPreview, isSSRDataPreview, isSSRPreview, isSupportedLocalPreview, mediaFilePreviewCache } from './getPreview';
|
|
8
8
|
import { generateScriptProps, getSSRData } from './globalScope';
|
|
9
9
|
import { createRequestDimensions, isBigger, useCurrentValueRef } from './helpers';
|
|
10
10
|
export const useFilePreview = ({
|
|
@@ -26,7 +26,14 @@ export const useFilePreview = ({
|
|
|
26
26
|
const [nonCriticalError, setNonCriticalError] = useState();
|
|
27
27
|
const [isBannedLocalPreview, setIsBannedLocalPreview] = useState(false);
|
|
28
28
|
const wasResolvedUpfrontPreviewRef = useRef(false);
|
|
29
|
-
const ssrReliabilityRef = useRef(
|
|
29
|
+
const ssrReliabilityRef = useRef({
|
|
30
|
+
server: {
|
|
31
|
+
status: 'unknown'
|
|
32
|
+
},
|
|
33
|
+
client: {
|
|
34
|
+
status: 'unknown'
|
|
35
|
+
}
|
|
36
|
+
});
|
|
30
37
|
const requestDimensions = useMemo(() => dimensions ? createRequestDimensions(dimensions) : undefined, [dimensions]);
|
|
31
38
|
const requestDimensionsRef = useCurrentValueRef(requestDimensions);
|
|
32
39
|
const imageURLParams = {
|
|
@@ -56,7 +63,7 @@ export const useFilePreview = ({
|
|
|
56
63
|
} catch (e) {
|
|
57
64
|
ssrReliabilityRef.current[ssr] = {
|
|
58
65
|
status: 'fail',
|
|
59
|
-
...extractErrorInfo(e)
|
|
66
|
+
...extractErrorInfo(e, traceContext)
|
|
60
67
|
};
|
|
61
68
|
}
|
|
62
69
|
} else {
|
|
@@ -179,45 +186,40 @@ export const useFilePreview = ({
|
|
|
179
186
|
// RETURN
|
|
180
187
|
//----------------------------------------------------------------
|
|
181
188
|
|
|
182
|
-
const onImageError = useCallback(
|
|
183
|
-
if (
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
ssrReliabilityRef.current.client = failedSSRObject;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
/*
|
|
193
|
-
If the preview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
|
|
194
|
-
*/
|
|
189
|
+
const onImageError = useCallback(failedPreview => {
|
|
190
|
+
if (!failedPreview) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if (isSSRClientPreview(failedPreview)) {
|
|
194
|
+
ssrReliabilityRef.current.client = createFailedSSRObject(failedPreview, traceContext);
|
|
195
|
+
}
|
|
195
196
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
197
|
+
// If the preview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
|
|
198
|
+
if (isSSRDataPreview(failedPreview)) {
|
|
199
|
+
ssrReliabilityRef.current.server = createFailedSSRObject(failedPreview, traceContext);
|
|
200
|
+
ssrReliabilityRef.current.client = createFailedSSRObject(failedPreview, traceContext);
|
|
200
201
|
}
|
|
201
202
|
|
|
202
203
|
// If the dataURI has been replaced, we can dismiss this error
|
|
203
|
-
if (
|
|
204
|
+
if (failedPreview.dataURI !== (preview === null || preview === void 0 ? void 0 : preview.dataURI)) {
|
|
204
205
|
return;
|
|
205
206
|
}
|
|
206
|
-
const
|
|
207
|
-
const
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
const isLocal = isLocalPreview(failedPreview);
|
|
208
|
+
const isRemote = isRemotePreview(failedPreview);
|
|
209
|
+
if (isLocal || isRemote) {
|
|
210
|
+
const error = new ImageLoadError(failedPreview === null || failedPreview === void 0 ? void 0 : failedPreview.source);
|
|
211
|
+
mediaFilePreviewCache.remove(identifier.id, resizeMode);
|
|
210
212
|
if (isLocal) {
|
|
211
213
|
setIsBannedLocalPreview(true);
|
|
212
|
-
setNonCriticalError(error);
|
|
213
214
|
}
|
|
214
|
-
|
|
215
|
+
if (isRemote) {
|
|
216
|
+
setStatus('error');
|
|
217
|
+
setError(error);
|
|
218
|
+
}
|
|
219
|
+
// Should be set after the status
|
|
215
220
|
setPreview(undefined);
|
|
216
|
-
} else {
|
|
217
|
-
setStatus('error');
|
|
218
|
-
setError(error);
|
|
219
221
|
}
|
|
220
|
-
}, [identifier.id, preview === null || preview === void 0 ? void 0 : preview.dataURI, resizeMode]);
|
|
222
|
+
}, [identifier.id, preview === null || preview === void 0 ? void 0 : preview.dataURI, resizeMode, traceContext]);
|
|
221
223
|
const onImageLoad = useCallback(newPreview => {
|
|
222
224
|
if (newPreview) {
|
|
223
225
|
if (isSSRClientPreview(newPreview) && ssrReliabilityRef.current.client.status === 'unknown') {
|
|
@@ -259,17 +261,9 @@ export const useFilePreview = ({
|
|
|
259
261
|
status,
|
|
260
262
|
error,
|
|
261
263
|
nonCriticalError,
|
|
262
|
-
ssrReliabilityRef,
|
|
264
|
+
ssrReliability: ssrReliabilityRef.current,
|
|
263
265
|
onImageError,
|
|
264
266
|
onImageLoad,
|
|
265
267
|
getSsrScriptProps
|
|
266
268
|
};
|
|
267
|
-
};
|
|
268
|
-
const initialSsrReliability = {
|
|
269
|
-
server: {
|
|
270
|
-
status: 'unknown'
|
|
271
|
-
},
|
|
272
|
-
client: {
|
|
273
|
-
status: 'unknown'
|
|
274
|
-
}
|
|
275
269
|
};
|
package/dist/esm/analytics.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
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; }
|
|
3
|
+
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; }
|
|
1
4
|
import { getMediaClientErrorReason, isRequestError } from '@atlaskit/media-client';
|
|
2
|
-
import { getFileStateErrorReason, isMediaFilePreviewError, isMediaFileStateError } from './errors';
|
|
5
|
+
import { getFileStateErrorReason, ImageLoadError, isMediaFilePreviewError, isMediaFileStateError } from './errors';
|
|
3
6
|
export var getErrorTraceContext = function getErrorTraceContext(error) {
|
|
4
7
|
if (isMediaFilePreviewError(error) && !!error.secondaryError) {
|
|
5
8
|
if (isRequestError(error.secondaryError)) {
|
|
@@ -41,4 +44,9 @@ export var extractErrorInfo = function extractErrorInfo(error, metadataTraceCont
|
|
|
41
44
|
errorDetail: getRenderErrorErrorDetail(error),
|
|
42
45
|
metadataTraceContext: metadataTraceContext !== null && metadataTraceContext !== void 0 ? metadataTraceContext : getErrorTraceContext(error)
|
|
43
46
|
};
|
|
47
|
+
};
|
|
48
|
+
export var createFailedSSRObject = function createFailedSSRObject(preview, metadataTraceContext) {
|
|
49
|
+
return _objectSpread({
|
|
50
|
+
status: 'fail'
|
|
51
|
+
}, extractErrorInfo(new ImageLoadError(preview.source), metadataTraceContext));
|
|
44
52
|
};
|
package/dist/esm/errors.js
CHANGED
|
@@ -85,6 +85,11 @@ var getImageLoadPrimaryReason = function getImageLoadPrimaryReason(source) {
|
|
|
85
85
|
return 'local-uri';
|
|
86
86
|
case 'remote':
|
|
87
87
|
return 'remote-uri';
|
|
88
|
+
case 'ssr-client':
|
|
89
|
+
return 'ssr-client-uri';
|
|
90
|
+
case 'ssr-server':
|
|
91
|
+
case 'ssr-data':
|
|
92
|
+
return 'ssr-server-uri';
|
|
88
93
|
// This fail reason will come from a bug, most likely.
|
|
89
94
|
default:
|
|
90
95
|
return "unknown-uri";
|
|
@@ -51,6 +51,10 @@ export var isLocalPreview = function isLocalPreview(preview) {
|
|
|
51
51
|
var localSources = ['local', 'cache-local'];
|
|
52
52
|
return localSources.includes(preview.source);
|
|
53
53
|
};
|
|
54
|
+
export var isRemotePreview = function isRemotePreview(preview) {
|
|
55
|
+
var remoteSources = ['remote', 'cache-remote'];
|
|
56
|
+
return remoteSources.includes(preview.source);
|
|
57
|
+
};
|
|
54
58
|
export var isSSRClientPreview = function isSSRClientPreview(preview) {
|
|
55
59
|
return preview.source === 'ssr-client';
|
|
56
60
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { mediaFilePreviewCache } from './cache';
|
|
2
|
-
export { getSSRPreview, isLocalPreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview } from './getPreview';
|
|
2
|
+
export { getSSRPreview, isLocalPreview, isRemotePreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview } from './getPreview';
|
|
3
3
|
export { isSupportedLocalPreview } from './helpers';
|
|
@@ -6,9 +6,9 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
6
6
|
import { isImageRepresentationReady } from '@atlaskit/media-client';
|
|
7
7
|
import { useFileState, useMediaClient } from '@atlaskit/media-client-react';
|
|
8
8
|
import { isMimeTypeSupportedByBrowser } from '@atlaskit/media-common';
|
|
9
|
-
import { extractErrorInfo } from './analytics';
|
|
9
|
+
import { createFailedSSRObject, extractErrorInfo } from './analytics';
|
|
10
10
|
import { ensureMediaFilePreviewError, ImageLoadError, MediaFilePreviewError } from './errors';
|
|
11
|
-
import { getAndCacheLocalPreview, getAndCacheRemotePreview, getSSRPreview, isLocalPreview, isSSRClientPreview, isSSRDataPreview, isSSRPreview, isSupportedLocalPreview, mediaFilePreviewCache } from './getPreview';
|
|
11
|
+
import { getAndCacheLocalPreview, getAndCacheRemotePreview, getSSRPreview, isLocalPreview, isRemotePreview, isSSRClientPreview, isSSRDataPreview, isSSRPreview, isSupportedLocalPreview, mediaFilePreviewCache } from './getPreview';
|
|
12
12
|
import { generateScriptProps, getSSRData } from './globalScope';
|
|
13
13
|
import { createRequestDimensions, isBigger, useCurrentValueRef } from './helpers';
|
|
14
14
|
export var useFilePreview = function useFilePreview(_ref) {
|
|
@@ -42,7 +42,14 @@ export var useFilePreview = function useFilePreview(_ref) {
|
|
|
42
42
|
isBannedLocalPreview = _useState8[0],
|
|
43
43
|
setIsBannedLocalPreview = _useState8[1];
|
|
44
44
|
var wasResolvedUpfrontPreviewRef = useRef(false);
|
|
45
|
-
var ssrReliabilityRef = useRef(
|
|
45
|
+
var ssrReliabilityRef = useRef({
|
|
46
|
+
server: {
|
|
47
|
+
status: 'unknown'
|
|
48
|
+
},
|
|
49
|
+
client: {
|
|
50
|
+
status: 'unknown'
|
|
51
|
+
}
|
|
52
|
+
});
|
|
46
53
|
var requestDimensions = useMemo(function () {
|
|
47
54
|
return dimensions ? createRequestDimensions(dimensions) : undefined;
|
|
48
55
|
}, [dimensions]);
|
|
@@ -73,7 +80,7 @@ export var useFilePreview = function useFilePreview(_ref) {
|
|
|
73
80
|
} catch (e) {
|
|
74
81
|
ssrReliabilityRef.current[ssr] = _objectSpread({
|
|
75
82
|
status: 'fail'
|
|
76
|
-
}, extractErrorInfo(e));
|
|
83
|
+
}, extractErrorInfo(e, traceContext));
|
|
77
84
|
}
|
|
78
85
|
} else {
|
|
79
86
|
var _dimensions = ssrData.dimensions,
|
|
@@ -193,44 +200,40 @@ export var useFilePreview = function useFilePreview(_ref) {
|
|
|
193
200
|
// RETURN
|
|
194
201
|
//----------------------------------------------------------------
|
|
195
202
|
|
|
196
|
-
var onImageError = useCallback(function (
|
|
197
|
-
if (
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/*
|
|
206
|
-
If the preview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
|
|
207
|
-
*/
|
|
203
|
+
var onImageError = useCallback(function (failedPreview) {
|
|
204
|
+
if (!failedPreview) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
if (isSSRClientPreview(failedPreview)) {
|
|
208
|
+
ssrReliabilityRef.current.client = createFailedSSRObject(failedPreview, traceContext);
|
|
209
|
+
}
|
|
208
210
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
211
|
+
// If the preview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
|
|
212
|
+
if (isSSRDataPreview(failedPreview)) {
|
|
213
|
+
ssrReliabilityRef.current.server = createFailedSSRObject(failedPreview, traceContext);
|
|
214
|
+
ssrReliabilityRef.current.client = createFailedSSRObject(failedPreview, traceContext);
|
|
213
215
|
}
|
|
214
216
|
|
|
215
217
|
// If the dataURI has been replaced, we can dismiss this error
|
|
216
|
-
if (
|
|
218
|
+
if (failedPreview.dataURI !== (preview === null || preview === void 0 ? void 0 : preview.dataURI)) {
|
|
217
219
|
return;
|
|
218
220
|
}
|
|
219
|
-
var
|
|
220
|
-
var
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
var isLocal = isLocalPreview(failedPreview);
|
|
222
|
+
var isRemote = isRemotePreview(failedPreview);
|
|
223
|
+
if (isLocal || isRemote) {
|
|
224
|
+
var _error = new ImageLoadError(failedPreview === null || failedPreview === void 0 ? void 0 : failedPreview.source);
|
|
225
|
+
mediaFilePreviewCache.remove(identifier.id, resizeMode);
|
|
223
226
|
if (isLocal) {
|
|
224
227
|
setIsBannedLocalPreview(true);
|
|
225
|
-
setNonCriticalError(error);
|
|
226
228
|
}
|
|
227
|
-
|
|
229
|
+
if (isRemote) {
|
|
230
|
+
setStatus('error');
|
|
231
|
+
setError(_error);
|
|
232
|
+
}
|
|
233
|
+
// Should be set after the status
|
|
228
234
|
setPreview(undefined);
|
|
229
|
-
} else {
|
|
230
|
-
setStatus('error');
|
|
231
|
-
setError(error);
|
|
232
235
|
}
|
|
233
|
-
}, [identifier.id, preview === null || preview === void 0 ? void 0 : preview.dataURI, resizeMode]);
|
|
236
|
+
}, [identifier.id, preview === null || preview === void 0 ? void 0 : preview.dataURI, resizeMode, traceContext]);
|
|
234
237
|
var onImageLoad = useCallback(function (newPreview) {
|
|
235
238
|
if (newPreview) {
|
|
236
239
|
if (isSSRClientPreview(newPreview) && ssrReliabilityRef.current.client.status === 'unknown') {
|
|
@@ -272,17 +275,9 @@ export var useFilePreview = function useFilePreview(_ref) {
|
|
|
272
275
|
status: status,
|
|
273
276
|
error: error,
|
|
274
277
|
nonCriticalError: nonCriticalError,
|
|
275
|
-
|
|
278
|
+
ssrReliability: ssrReliabilityRef.current,
|
|
276
279
|
onImageError: onImageError,
|
|
277
280
|
onImageLoad: onImageLoad,
|
|
278
281
|
getSsrScriptProps: getSsrScriptProps
|
|
279
282
|
};
|
|
280
|
-
};
|
|
281
|
-
var initialSsrReliability = {
|
|
282
|
-
server: {
|
|
283
|
-
status: 'unknown'
|
|
284
|
-
},
|
|
285
|
-
client: {
|
|
286
|
-
status: 'unknown'
|
|
287
|
-
}
|
|
288
283
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MediaClientErrorReason } from '@atlaskit/media-client';
|
|
2
2
|
import { MediaTraceContext, SuccessAttributes } from '@atlaskit/media-common';
|
|
3
3
|
import { MediaFilePreviewError, MediaFilePreviewErrorPrimaryReason } from './errors';
|
|
4
|
+
import { MediaFilePreview } from './types';
|
|
4
5
|
export type FailedErrorFailReason = MediaFilePreviewErrorPrimaryReason | 'nativeError';
|
|
5
6
|
export type MediaFilePreviewErrorInfo = {
|
|
6
7
|
failReason: FailedErrorFailReason;
|
|
@@ -25,4 +26,5 @@ export declare const getRenderErrorFailReason: (error: MediaFilePreviewError) =>
|
|
|
25
26
|
export declare const getRenderErrorErrorReason: (error: MediaFilePreviewError) => MediaClientErrorReason | 'nativeError';
|
|
26
27
|
export declare const getRenderErrorErrorDetail: (error: MediaFilePreviewError) => string;
|
|
27
28
|
export declare const extractErrorInfo: (error: MediaFilePreviewError, metadataTraceContext?: MediaTraceContext) => MediaFilePreviewErrorInfo;
|
|
29
|
+
export declare const createFailedSSRObject: (preview: MediaFilePreview, metadataTraceContext?: MediaTraceContext) => SSRStatusFail;
|
|
28
30
|
export {};
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { MediaFilePreview } from './types';
|
|
|
6
6
|
* Make sure all the values are whitelisted in Measure -> Event Regitry -> "mediaCardRender failed" event
|
|
7
7
|
*/
|
|
8
8
|
export type MediaFilePreviewErrorPrimaryReason = 'upload' | 'metadata-fetch' | 'error-file-state' | 'failed-processing' | RemotePreviewPrimaryReason | LocalPreviewPrimaryReason | ImageLoadPrimaryReason | SsrPreviewPrimaryReason | 'missing-error-data' | 'preview-fetch';
|
|
9
|
-
export type ImageLoadPrimaryReason = 'cache-remote-uri' | 'cache-local-uri' | 'local-uri' | 'remote-uri' | 'external-uri' | 'unknown-uri';
|
|
9
|
+
export type ImageLoadPrimaryReason = 'cache-remote-uri' | 'cache-local-uri' | 'local-uri' | 'remote-uri' | 'external-uri' | 'ssr-client-uri' | 'ssr-server-uri' | 'unknown-uri';
|
|
10
10
|
export type RemotePreviewPrimaryReason = 'remote-preview-fetch' | 'remote-preview-not-ready' | 'remote-preview-fetch-ssr';
|
|
11
11
|
export type LocalPreviewPrimaryReason = 'local-preview-get' | 'local-preview-unsupported' | 'local-preview-rejected' | 'local-preview-image' | 'local-preview-video';
|
|
12
12
|
export type SsrPreviewPrimaryReason = 'ssr-client-uri' | 'ssr-client-load' | 'ssr-server-uri' | 'ssr-server-load';
|
|
@@ -3,6 +3,7 @@ import { MediaTraceContext, SSR } from '@atlaskit/media-common';
|
|
|
3
3
|
import { MediaFilePreview, MediaFilePreviewDimensions } from '../types';
|
|
4
4
|
export declare const getSSRPreview: (ssr: SSR, mediaClient: MediaClient, id: string, params: MediaStoreGetFileImageParams, mediaBlobUrlAttrs?: MediaBlobUrlAttrs) => MediaFilePreview;
|
|
5
5
|
export declare const isLocalPreview: (preview: MediaFilePreview) => boolean;
|
|
6
|
+
export declare const isRemotePreview: (preview: MediaFilePreview) => boolean;
|
|
6
7
|
export declare const isSSRClientPreview: (preview: MediaFilePreview) => boolean;
|
|
7
8
|
export declare const isSSRDataPreview: (preview: MediaFilePreview) => boolean;
|
|
8
9
|
export declare const isSSRPreview: (preview: MediaFilePreview) => boolean;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { mediaFilePreviewCache } from './cache';
|
|
2
|
-
export { getSSRPreview, isLocalPreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview, } from './getPreview';
|
|
2
|
+
export { getSSRPreview, isLocalPreview, isRemotePreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview, } from './getPreview';
|
|
3
3
|
export { isSupportedLocalPreview } from './helpers';
|
|
@@ -32,8 +32,8 @@ export declare const useFilePreview: ({ resizeMode, identifier, ssr, dimensions,
|
|
|
32
32
|
status: MediaFilePreviewStatus;
|
|
33
33
|
error: MediaFilePreviewError | undefined;
|
|
34
34
|
nonCriticalError: MediaFilePreviewError | undefined;
|
|
35
|
-
|
|
36
|
-
onImageError: (
|
|
35
|
+
ssrReliability: SSRStatus;
|
|
36
|
+
onImageError: (failedPreview?: MediaFilePreview) => void;
|
|
37
37
|
onImageLoad: (newPreview?: MediaFilePreview) => void;
|
|
38
38
|
getSsrScriptProps: (() => import("react").ScriptHTMLAttributes<HTMLScriptElement>) | undefined;
|
|
39
39
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MediaClientErrorReason } from '@atlaskit/media-client';
|
|
2
2
|
import { MediaTraceContext, SuccessAttributes } from '@atlaskit/media-common';
|
|
3
3
|
import { MediaFilePreviewError, MediaFilePreviewErrorPrimaryReason } from './errors';
|
|
4
|
+
import { MediaFilePreview } from './types';
|
|
4
5
|
export type FailedErrorFailReason = MediaFilePreviewErrorPrimaryReason | 'nativeError';
|
|
5
6
|
export type MediaFilePreviewErrorInfo = {
|
|
6
7
|
failReason: FailedErrorFailReason;
|
|
@@ -25,4 +26,5 @@ export declare const getRenderErrorFailReason: (error: MediaFilePreviewError) =>
|
|
|
25
26
|
export declare const getRenderErrorErrorReason: (error: MediaFilePreviewError) => MediaClientErrorReason | 'nativeError';
|
|
26
27
|
export declare const getRenderErrorErrorDetail: (error: MediaFilePreviewError) => string;
|
|
27
28
|
export declare const extractErrorInfo: (error: MediaFilePreviewError, metadataTraceContext?: MediaTraceContext) => MediaFilePreviewErrorInfo;
|
|
29
|
+
export declare const createFailedSSRObject: (preview: MediaFilePreview, metadataTraceContext?: MediaTraceContext) => SSRStatusFail;
|
|
28
30
|
export {};
|
|
@@ -6,7 +6,7 @@ import { MediaFilePreview } from './types';
|
|
|
6
6
|
* Make sure all the values are whitelisted in Measure -> Event Regitry -> "mediaCardRender failed" event
|
|
7
7
|
*/
|
|
8
8
|
export type MediaFilePreviewErrorPrimaryReason = 'upload' | 'metadata-fetch' | 'error-file-state' | 'failed-processing' | RemotePreviewPrimaryReason | LocalPreviewPrimaryReason | ImageLoadPrimaryReason | SsrPreviewPrimaryReason | 'missing-error-data' | 'preview-fetch';
|
|
9
|
-
export type ImageLoadPrimaryReason = 'cache-remote-uri' | 'cache-local-uri' | 'local-uri' | 'remote-uri' | 'external-uri' | 'unknown-uri';
|
|
9
|
+
export type ImageLoadPrimaryReason = 'cache-remote-uri' | 'cache-local-uri' | 'local-uri' | 'remote-uri' | 'external-uri' | 'ssr-client-uri' | 'ssr-server-uri' | 'unknown-uri';
|
|
10
10
|
export type RemotePreviewPrimaryReason = 'remote-preview-fetch' | 'remote-preview-not-ready' | 'remote-preview-fetch-ssr';
|
|
11
11
|
export type LocalPreviewPrimaryReason = 'local-preview-get' | 'local-preview-unsupported' | 'local-preview-rejected' | 'local-preview-image' | 'local-preview-video';
|
|
12
12
|
export type SsrPreviewPrimaryReason = 'ssr-client-uri' | 'ssr-client-load' | 'ssr-server-uri' | 'ssr-server-load';
|
|
@@ -3,6 +3,7 @@ import { MediaTraceContext, SSR } from '@atlaskit/media-common';
|
|
|
3
3
|
import { MediaFilePreview, MediaFilePreviewDimensions } from '../types';
|
|
4
4
|
export declare const getSSRPreview: (ssr: SSR, mediaClient: MediaClient, id: string, params: MediaStoreGetFileImageParams, mediaBlobUrlAttrs?: MediaBlobUrlAttrs) => MediaFilePreview;
|
|
5
5
|
export declare const isLocalPreview: (preview: MediaFilePreview) => boolean;
|
|
6
|
+
export declare const isRemotePreview: (preview: MediaFilePreview) => boolean;
|
|
6
7
|
export declare const isSSRClientPreview: (preview: MediaFilePreview) => boolean;
|
|
7
8
|
export declare const isSSRDataPreview: (preview: MediaFilePreview) => boolean;
|
|
8
9
|
export declare const isSSRPreview: (preview: MediaFilePreview) => boolean;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { mediaFilePreviewCache } from './cache';
|
|
2
|
-
export { getSSRPreview, isLocalPreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview, } from './getPreview';
|
|
2
|
+
export { getSSRPreview, isLocalPreview, isRemotePreview, isSSRPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview, } from './getPreview';
|
|
3
3
|
export { isSupportedLocalPreview } from './helpers';
|
|
@@ -32,8 +32,8 @@ export declare const useFilePreview: ({ resizeMode, identifier, ssr, dimensions,
|
|
|
32
32
|
status: MediaFilePreviewStatus;
|
|
33
33
|
error: MediaFilePreviewError | undefined;
|
|
34
34
|
nonCriticalError: MediaFilePreviewError | undefined;
|
|
35
|
-
|
|
36
|
-
onImageError: (
|
|
35
|
+
ssrReliability: SSRStatus;
|
|
36
|
+
onImageError: (failedPreview?: MediaFilePreview) => void;
|
|
37
37
|
onImageLoad: (newPreview?: MediaFilePreview) => void;
|
|
38
38
|
getSsrScriptProps: (() => import("react").ScriptHTMLAttributes<HTMLScriptElement>) | undefined;
|
|
39
39
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-file-preview",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "A React Hook to fetch and render file previews. It's overloaded with fancy features like SSR, lazy loading, memory cache and local preview.",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|