commit e84cb958878582638681897ccb5745508e825005
parent c0be242292a770c4dbe6d5ed86343014d14e9a33
Author: Sebastian <sebasjm@gmail.com>
Date: Tue, 15 Mar 2022 17:46:09 -0300
chrome.tabs.update does not work on async request interception, so using a delay
Diffstat:
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts
@@ -226,20 +226,18 @@ function makeSyncWalletRedirect(
.join("&");
innerUrl.hash = innerUrl.hash + "?" + hParams;
}
- // if (isFirefox()) {
- // // Some platforms don't support the sync redirect (yet), so fall back to
- // // async redirect after a timeout.
- // const doit = async (): Promise<void> => {
- // await waitMs(150);
- // const tab = await getTab(tabId);
- // if (tab.url === oldUrl) {
- // chrome.tabs.update(tabId, { url: innerUrl.href });
- // }
- // };
- // doit();
- // }
- console.log("redirecting to", innerUrl.href);
- chrome.tabs.update(tabId, { url: innerUrl.href });
+ // Some platforms don't support the sync redirect (yet), so fall back to
+ // async redirect after a timeout.
+ const doit = async (): Promise<void> => {
+ await waitMs(150);
+ const tab = await getTab(tabId);
+ if (tab.url === oldUrl) {
+ console.log("redirecting to", innerUrl.href);
+ chrome.tabs.update(tabId, { url: innerUrl.href });
+ }
+ };
+ doit();
+
return { redirectUrl: innerUrl.href };
}