@savers_app/react-native-sandbox-sdk 1.4.0 → 1.5.0

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.
@@ -56,6 +56,7 @@ export const DualWebViewBridgeController = ({
56
56
  }) => {
57
57
  const saversRef = useRef(null);
58
58
  const travelRef = useRef(null);
59
+ const pendingNavigateHubAfterSaversReloadRef = useRef(false);
59
60
  const [surface, setSurface] = useState(initialSurface);
60
61
  const [saversKey, setSaversKey] = useState(0);
61
62
  const [travelKey, setTravelKey] = useState(0);
@@ -71,9 +72,26 @@ export const DualWebViewBridgeController = ({
71
72
  setTravelKey(k => k + 1);
72
73
  }, []);
73
74
  const backToSavers = useCallback(() => {
75
+ pendingNavigateHubAfterSaversReloadRef.current = true;
74
76
  setSurface('savers');
75
77
  setSaversKey(k => k + 1);
76
78
  }, []);
79
+ const onLoadEndSaversWithSync = useCallback(() => {
80
+ // If we just returned from Travel, we intentionally reload Savers and then force it to show Hub.
81
+ if (pendingNavigateHubAfterSaversReloadRef.current) {
82
+ pendingNavigateHubAfterSaversReloadRef.current = false;
83
+ saversRef.current?.injectJavaScript(buildInjectNativeBridgeScript({
84
+ bridge: 'dual-webview',
85
+ from: 'native',
86
+ action: 'relay',
87
+ payload: {
88
+ type: 'NAVIGATE',
89
+ route: 'Hub'
90
+ }
91
+ }));
92
+ }
93
+ onLoadEndSavers?.();
94
+ }, [onLoadEndSavers]);
77
95
  const relayTo = useCallback((target, payload, from) => {
78
96
  const detail = {
79
97
  bridge: 'dual-webview',
@@ -180,7 +198,7 @@ export const DualWebViewBridgeController = ({
180
198
  applicationNameForUserAgent: WEBVIEW_UA_MARKER,
181
199
  onMessage: onMessageSavers,
182
200
  onShouldStartLoadWithRequest: onShouldStartLoadSavers,
183
- onLoadEnd: onLoadEndSavers,
201
+ onLoadEnd: onLoadEndSaversWithSync,
184
202
  style: styles.webview,
185
203
  sharedCookiesEnabled: true,
186
204
  incognito: false,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","StyleSheet","View","WebView","TravelPortalHeader","parseDualWebViewEnvelope","jsx","_jsx","jsxs","_jsxs","DEFAULT_TRAVEL_PORTAL_URL","WEBVIEW_UA_MARKER","TRAVEL_DEEP_LINK","LEGACY_OPEN_TRAVEL_ACTIONS","resolveTravelPortalUrlFromPayload","payload","trim","url","undefined","resolveTravelPortalUrlFromLegacyMessage","data","topLevel","buildInjectNativeBridgeScript","detail","JSON","stringify","DualWebViewBridgeController","saversAppUrl","travelPortalUrl","partnerLogo","travelBackIconColor","travelHeaderTopInset","renderTravelBackIcon","initialSurface","onSaversSdkMessage","onLoadEndSavers","onLoadEndTravel","saversRef","travelRef","surface","setSurface","saversKey","setSaversKey","travelKey","setTravelKey","activeTravelPortalUrl","setActiveTravelPortalUrl","openTravel","k","backToSavers","relayTo","target","from","bridge","action","ref","current","injectJavaScript","handleBridgeEnvelope","env","to","tryLegacyOpenTravel","raw","parse","type","some","s","includes","onMessageSavers","e","nativeEvent","postBack","onMessageTravel","onShouldStartLoadSavers","request","startsWith","travelSource","uri","saversSource","style","styles","root","children","source","originWhitelist","applicationNameForUserAgent","onMessage","onShouldStartLoadWithRequest","onLoadEnd","webview","sharedCookiesEnabled","incognito","webviewDebuggingEnabled","__DEV__","travelColumn","onBack","backIconColor","topInset","renderBackIcon","create","flex"],"sourceRoot":"../../../../src","sources":["services/webview/DualWebViewBridgeController.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","StyleSheet","View","WebView","TravelPortalHeader","parseDualWebViewEnvelope","jsx","_jsx","jsxs","_jsxs","DEFAULT_TRAVEL_PORTAL_URL","WEBVIEW_UA_MARKER","TRAVEL_DEEP_LINK","LEGACY_OPEN_TRAVEL_ACTIONS","resolveTravelPortalUrlFromPayload","payload","trim","url","undefined","resolveTravelPortalUrlFromLegacyMessage","data","topLevel","buildInjectNativeBridgeScript","detail","JSON","stringify","DualWebViewBridgeController","saversAppUrl","travelPortalUrl","partnerLogo","travelBackIconColor","travelHeaderTopInset","renderTravelBackIcon","initialSurface","onSaversSdkMessage","onLoadEndSavers","onLoadEndTravel","saversRef","travelRef","pendingNavigateHubAfterSaversReloadRef","surface","setSurface","saversKey","setSaversKey","travelKey","setTravelKey","activeTravelPortalUrl","setActiveTravelPortalUrl","openTravel","k","backToSavers","current","onLoadEndSaversWithSync","injectJavaScript","bridge","from","action","type","route","relayTo","target","ref","handleBridgeEnvelope","env","to","tryLegacyOpenTravel","raw","parse","some","s","includes","onMessageSavers","e","nativeEvent","postBack","onMessageTravel","onShouldStartLoadSavers","request","startsWith","travelSource","uri","saversSource","style","styles","root","children","source","originWhitelist","applicationNameForUserAgent","onMessage","onShouldStartLoadWithRequest","onLoadEnd","webview","sharedCookiesEnabled","incognito","webviewDebuggingEnabled","__DEV__","travelColumn","onBack","backIconColor","topInset","renderBackIcon","create","flex"],"sourceRoot":"../../../../src","sources":["services/webview/DualWebViewBridgeController.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DualWebViewBridgeController.d.ts","sourceRoot":"","sources":["../../../../../src/services/webview/DualWebViewBridgeController.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AA2Cf,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1C,MAAM,MAAM,gCAAgC,GAAG;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC9E,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAcF,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAChD,gCAAgC,CAwNjC,CAAC;AAQF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"DualWebViewBridgeController.d.ts","sourceRoot":"","sources":["../../../../../src/services/webview/DualWebViewBridgeController.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AA2Cf,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1C,MAAM,MAAM,gCAAgC,GAAG;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC9E,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAcF,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAChD,gCAAgC,CA0OjC,CAAC;AAQF,eAAe,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savers_app/react-native-sandbox-sdk",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Cross-platform React Native SDK exposing native features (maps, dial pad, browser), device ID/location and session utilities, a URL generator, and a WebView message bridge to trigger actions from web content.",
5
5
  "main": "./lib/module/index.js",
6
6
  "react-native": "./src/index.tsx",
@@ -92,6 +92,7 @@ export const DualWebViewBridgeController: React.FC<
92
92
  }) => {
93
93
  const saversRef = useRef<WebView>(null);
94
94
  const travelRef = useRef<WebView>(null);
95
+ const pendingNavigateHubAfterSaversReloadRef = useRef(false);
95
96
 
96
97
  const [surface, setSurface] = useState<Surface>(initialSurface);
97
98
  const [saversKey, setSaversKey] = useState(0);
@@ -112,10 +113,27 @@ export const DualWebViewBridgeController: React.FC<
112
113
  }, []);
113
114
 
114
115
  const backToSavers = useCallback(() => {
116
+ pendingNavigateHubAfterSaversReloadRef.current = true;
115
117
  setSurface('savers');
116
118
  setSaversKey((k) => k + 1);
117
119
  }, []);
118
120
 
121
+ const onLoadEndSaversWithSync = useCallback(() => {
122
+ // If we just returned from Travel, we intentionally reload Savers and then force it to show Hub.
123
+ if (pendingNavigateHubAfterSaversReloadRef.current) {
124
+ pendingNavigateHubAfterSaversReloadRef.current = false;
125
+ saversRef.current?.injectJavaScript(
126
+ buildInjectNativeBridgeScript({
127
+ bridge: 'dual-webview',
128
+ from: 'native',
129
+ action: 'relay',
130
+ payload: { type: 'NAVIGATE', route: 'Hub' },
131
+ })
132
+ );
133
+ }
134
+ onLoadEndSavers?.();
135
+ }, [onLoadEndSavers]);
136
+
119
137
  const relayTo = useCallback(
120
138
  (
121
139
  target: 'savers' | 'travel',
@@ -259,7 +277,7 @@ export const DualWebViewBridgeController: React.FC<
259
277
  applicationNameForUserAgent={WEBVIEW_UA_MARKER}
260
278
  onMessage={onMessageSavers}
261
279
  onShouldStartLoadWithRequest={onShouldStartLoadSavers}
262
- onLoadEnd={onLoadEndSavers}
280
+ onLoadEnd={onLoadEndSaversWithSync}
263
281
  style={styles.webview}
264
282
  sharedCookiesEnabled
265
283
  incognito={false}