@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.
Files changed (3) hide show
  1. package/index.cjs +15 -2
  2. package/index.js +15 -2
  3. 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.18.8";
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.18.8";
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.18.8",
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.18.8",
19
- "@dynamic-labs/client": "4.18.8",
20
- "@dynamic-labs/logger": "4.18.8",
21
- "@dynamic-labs/message-transport": "4.18.8"
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",