@dynamic-labs/react-native-extension 4.18.8 → 4.19.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/index.cjs +15 -2
- package/index.js +15 -2
- package/package.json +5 -5
package/index.cjs
CHANGED
|
@@ -14,7 +14,7 @@ var expoLinking = require('expo-linking');
|
|
|
14
14
|
var expoWebBrowser = require('expo-web-browser');
|
|
15
15
|
var expoSecureStore = require('expo-secure-store');
|
|
16
16
|
|
|
17
|
-
var version = "4.
|
|
17
|
+
var version = "4.19.1";
|
|
18
18
|
|
|
19
19
|
function _extends() {
|
|
20
20
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -46,7 +46,12 @@ const useMessageTransportWebViewBridge = (core, webViewRef) => {
|
|
|
46
46
|
if (!canBroadcastMessages()) return;
|
|
47
47
|
let parsedData = null;
|
|
48
48
|
try {
|
|
49
|
-
parsedData = JSON.parse(event.nativeEvent.data)
|
|
49
|
+
parsedData = JSON.parse(event.nativeEvent.data, (_, value) => {
|
|
50
|
+
if (value && typeof value === 'object' && value.__type === 'bigint') {
|
|
51
|
+
return BigInt(value.value);
|
|
52
|
+
}
|
|
53
|
+
return value;
|
|
54
|
+
});
|
|
50
55
|
} catch (err) {
|
|
51
56
|
logger.debug('error parsing data', err);
|
|
52
57
|
return;
|
|
@@ -147,6 +152,13 @@ const WebView = ({
|
|
|
147
152
|
[]);
|
|
148
153
|
const blockAndReloadWebView = react.useCallback(() => {
|
|
149
154
|
var _a;
|
|
155
|
+
/**
|
|
156
|
+
* Should not reload the webview if it is already blocked
|
|
157
|
+
* and loading a new page
|
|
158
|
+
*/
|
|
159
|
+
if (core.messageTransport.isBlocked()) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
150
162
|
/**
|
|
151
163
|
* iOS and Android both may trigger this event when the webview
|
|
152
164
|
* is removed due to memory pressure.
|
|
@@ -158,6 +170,7 @@ const WebView = ({
|
|
|
158
170
|
core.messageTransport.block();
|
|
159
171
|
(_a = webViewRef.current) === null || _a === void 0 ? void 0 : _a.reload();
|
|
160
172
|
}, [core, webViewRef]);
|
|
173
|
+
react.useEffect(() => core.messageTransport.recoveryManager.onRecoveryRequested(blockAndReloadWebView), [core, blockAndReloadWebView]);
|
|
161
174
|
return /*#__PURE__*/jsxRuntime.jsx(reactNativeWebview.WebView, {
|
|
162
175
|
ref: webViewRef,
|
|
163
176
|
source: {
|
package/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import { createURL, openURL } from 'expo-linking';
|
|
|
10
10
|
import { openAuthSessionAsync } from 'expo-web-browser';
|
|
11
11
|
import { getItemAsync, deleteItemAsync, setItemAsync } from 'expo-secure-store';
|
|
12
12
|
|
|
13
|
-
var version = "4.
|
|
13
|
+
var version = "4.19.1";
|
|
14
14
|
|
|
15
15
|
function _extends() {
|
|
16
16
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -42,7 +42,12 @@ const useMessageTransportWebViewBridge = (core, webViewRef) => {
|
|
|
42
42
|
if (!canBroadcastMessages()) return;
|
|
43
43
|
let parsedData = null;
|
|
44
44
|
try {
|
|
45
|
-
parsedData = JSON.parse(event.nativeEvent.data)
|
|
45
|
+
parsedData = JSON.parse(event.nativeEvent.data, (_, value) => {
|
|
46
|
+
if (value && typeof value === 'object' && value.__type === 'bigint') {
|
|
47
|
+
return BigInt(value.value);
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
});
|
|
46
51
|
} catch (err) {
|
|
47
52
|
logger.debug('error parsing data', err);
|
|
48
53
|
return;
|
|
@@ -143,6 +148,13 @@ const WebView = ({
|
|
|
143
148
|
[]);
|
|
144
149
|
const blockAndReloadWebView = useCallback(() => {
|
|
145
150
|
var _a;
|
|
151
|
+
/**
|
|
152
|
+
* Should not reload the webview if it is already blocked
|
|
153
|
+
* and loading a new page
|
|
154
|
+
*/
|
|
155
|
+
if (core.messageTransport.isBlocked()) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
146
158
|
/**
|
|
147
159
|
* iOS and Android both may trigger this event when the webview
|
|
148
160
|
* is removed due to memory pressure.
|
|
@@ -154,6 +166,7 @@ const WebView = ({
|
|
|
154
166
|
core.messageTransport.block();
|
|
155
167
|
(_a = webViewRef.current) === null || _a === void 0 ? void 0 : _a.reload();
|
|
156
168
|
}, [core, webViewRef]);
|
|
169
|
+
useEffect(() => core.messageTransport.recoveryManager.onRecoveryRequested(blockAndReloadWebView), [core, blockAndReloadWebView]);
|
|
157
170
|
return /*#__PURE__*/jsx(WebView$1, {
|
|
158
171
|
ref: webViewRef,
|
|
159
172
|
source: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/react-native-extension",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.19.1",
|
|
4
4
|
"main": "./index.cjs",
|
|
5
5
|
"module": "./index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@turnkey/react-native-passkey-stamper": "0.2.15",
|
|
18
|
-
"@dynamic-labs/assert-package-version": "4.
|
|
19
|
-
"@dynamic-labs/client": "4.
|
|
20
|
-
"@dynamic-labs/logger": "4.
|
|
21
|
-
"@dynamic-labs/message-transport": "4.
|
|
18
|
+
"@dynamic-labs/assert-package-version": "4.19.1",
|
|
19
|
+
"@dynamic-labs/client": "4.19.1",
|
|
20
|
+
"@dynamic-labs/logger": "4.19.1",
|
|
21
|
+
"@dynamic-labs/message-transport": "4.19.1"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=18.0.0 <20.0.0",
|