[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] branch master updated: catch when wallet is not avai
From: |
gnunet |
Subject: |
[taler-wallet-core] branch master updated: catch when wallet is not available |
Date: |
Sat, 11 Nov 2023 22:24:15 +0100 |
This is an automated email from the git hooks/post-receive script.
sebasjm pushed a commit to branch master
in repository wallet-core.
The following commit(s) were added to refs/heads/master by this push:
new e065472c9 catch when wallet is not available
e065472c9 is described below
commit e065472c97723c1c07e87a7371fb2e91470e53d9
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Sat Nov 11 18:24:08 2023 -0300
catch when wallet is not available
---
.../src/taler-wallet-interaction-loader.ts | 56 +++++++++++++++-------
1 file changed, 39 insertions(+), 17 deletions(-)
diff --git
a/packages/taler-wallet-webextension/src/taler-wallet-interaction-loader.ts
b/packages/taler-wallet-webextension/src/taler-wallet-interaction-loader.ts
index 10b1f521b..0d3d239e5 100644
--- a/packages/taler-wallet-webextension/src/taler-wallet-interaction-loader.ts
+++ b/packages/taler-wallet-webextension/src/taler-wallet-interaction-loader.ts
@@ -54,22 +54,30 @@ const rootElementIsHTML =
*/
function listenToHeaderMutation() {
new MutationObserver(async function (mutations) {
- const autoOpen = await callBackground("isAutoOpenEnabled", undefined)
- mutations.forEach((mut) => {
- if (mut.type === "childList") {
- mut.addedNodes.forEach((added) => {
- if (added instanceof HTMLHeadElement) {
- injectTalerSupportScript(added)
- } else if (added instanceof HTMLMetaElement) {
- const name = added.getAttribute("name")
- if (!name) return;
- if (autoOpen && name === "taler-uri") {
- redirectToTalerActionHandler(added)
+ try {
+ const autoOpen = await callBackground("isAutoOpenEnabled", undefined)
+ mutations.forEach((mut) => {
+ if (mut.type === "childList") {
+ mut.addedNodes.forEach((added) => {
+ if (added instanceof HTMLHeadElement) {
+ injectTalerSupportScript(added)
+ } else if (added instanceof HTMLMetaElement) {
+ const name = added.getAttribute("name")
+ if (!name) return;
+ if (autoOpen && name === "taler-uri") {
+ redirectToTalerActionHandler(added)
+ }
}
- }
- });
+ });
+ }
+ });
+ } catch (e) {
+ //disconnected
+ if (e instanceof TalerError) {
+ logger.debug(e)
}
- });
+ }
+
}).observe(document, {
childList: true,
subtree: true,
@@ -105,7 +113,7 @@ const logger = {
console.error(`${new Date().toISOString()} TALER`, ...msg),
};
-// logger.debug = logger.info
+logger.debug = logger.info
/**
*/
@@ -161,7 +169,7 @@ function createBridgeWithExtension() {
window.addEventListener(
"message",
(event) => {
- logger.debug("message received", event);
+ // logger.debug("message received", event.data);
if (event.source !== window) {
return;
}
@@ -176,6 +184,10 @@ function createBridgeWithExtension() {
},
false,
);
+ port.onDisconnect.addListener(function () {
+ // clean up when content script gets disconnected
+ })
+
}
export interface ExtensionOperations {
@@ -213,14 +225,24 @@ async function callBackground<Op extends keyof
ExtensionOperations>(
}
return response.result as any;
}
+
+
let nextMessageIndex = 0;
+/**
+ *
+ * @param message
+ * @returns
+ */
async function sendMessageToBackground<Op extends keyof ExtensionOperations>(
message: MessageFromExtension<Op>,
): Promise<MessageResponse> {
const messageWithId = { ...message, id: `id_${nextMessageIndex++ % 1000}` };
+ if (!chrome.runtime.id) {
+ return
Promise.reject(TalerError.fromDetail(TalerErrorCode.WALLET_CORE_NOT_AVAILABLE,
{}))
+ }
return new Promise<any>((resolve, reject) => {
- // logger.trace("send operation to the wallet background", message);
+ logger.debug("send operation to the wallet background", message,
chrome.runtime.id);
let timedout = false;
const timerId = setTimeout(() => {
timedout = true;
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-wallet-core] branch master updated: catch when wallet is not available,
gnunet <=