summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wxBackend.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-10-30 18:42:39 -0300
committerSebastian <sebasjm@gmail.com>2023-10-30 18:44:41 -0300
commitf1967ab0baf825cdfa767d36bb7cce78521e4e4b (patch)
tree43650091b8542dfa750a69524efa3e5ff16b7201 /packages/taler-wallet-webextension/src/wxBackend.ts
parentfb4c172bb430936268bcebe34142d4206a0d422e (diff)
downloadwallet-core-f1967ab0baf825cdfa767d36bb7cce78521e4e4b.tar.gz
wallet-core-f1967ab0baf825cdfa767d36bb7cce78521e4e4b.tar.bz2
wallet-core-f1967ab0baf825cdfa767d36bb7cce78521e4e4b.zip
testing auto open feature
Diffstat (limited to 'packages/taler-wallet-webextension/src/wxBackend.ts')
-rw-r--r--packages/taler-wallet-webextension/src/wxBackend.ts114
1 files changed, 60 insertions, 54 deletions
diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts
index 60b071716..f3d2375c5 100644
--- a/packages/taler-wallet-webextension/src/wxBackend.ts
+++ b/packages/taler-wallet-webextension/src/wxBackend.ts
@@ -27,18 +27,12 @@ import {
LogLevel,
Logger,
TalerErrorCode,
- WalletDiagnostics,
- WalletNotification,
getErrorDetailFromException,
makeErrorDetail,
- parseTalerUri,
setGlobalLogLevelFromString,
- setLogLevelFromString,
+ setLogLevelFromString
} from "@gnu-taler/taler-util";
-import {
- ServiceWorkerHttpLib,
- BrowserHttpLib,
-} from "@gnu-taler/web-util/browser";
+import { HttpRequestLibrary } from "@gnu-taler/taler-util/http";
import {
DbAccess,
OpenedPromise,
@@ -52,11 +46,14 @@ import {
importDb,
openPromise,
} from "@gnu-taler/taler-wallet-core";
+import {
+ BrowserHttpLib,
+ ServiceWorkerHttpLib,
+} from "@gnu-taler/web-util/browser";
import { MessageFromFrontend, MessageResponse } from "./platform/api.js";
import { platform } from "./platform/background.js";
import { ExtensionOperations } from "./taler-wallet-interaction-loader.js";
-import { BackgroundOperations, ExtendedPermissionsResponse } from "./wxApi.js";
-import { HttpRequestLibrary } from "@gnu-taler/taler-util/http";
+import { BackgroundOperations } from "./wxApi.js";
/**
* Currently active wallet instance. Might be unloaded and
@@ -126,6 +123,7 @@ async function sum(ns: Array<number>): Promise<number> {
const extensionHandlers: ExtensionHandlerType = {
isInjectionEnabled,
+ isAutoOpenEnabled,
};
async function isInjectionEnabled(): Promise<boolean> {
@@ -133,9 +131,9 @@ async function isInjectionEnabled(): Promise<boolean> {
return settings.injectTalerSupport === true;
}
-async function isHeaderListenerEnabled(): Promise<boolean> {
+async function isAutoOpenEnabled(): Promise<boolean> {
const settings = await platform.getSettingsFromStorage();
- return settings.autoOpenByHeader === true;
+ return settings.autoOpen === true;
}
const backendHandlers: BackendHandlerType = {
@@ -144,14 +142,12 @@ const backendHandlers: BackendHandlerType = {
resetDb,
runGarbageCollector,
setLoggingLevel,
- containsHeaderListener,
- toggleHeaderListener,
};
-async function containsHeaderListener(): Promise<ExtendedPermissionsResponse> {
- const result = await platform.containsTalerHeaderListener();
- return { newValue: result };
-}
+// async function containsHeaderListener(): Promise<ExtendedPermissionsResponse> {
+// const result = await platform.containsTalerHeaderListener();
+// return { newValue: result };
+// }
async function setLoggingLevel({
tag,
@@ -353,45 +349,55 @@ export async function wxMain(): Promise<void> {
} catch (e) {
console.error(e);
}
- // On platforms that support it, also listen to external
- // modification of permissions.
- platform.getPermissionsApi().addPermissionsListener((perm, lastError) => {
- logger.info(`permission added: ${perm}`, )
- if (lastError) {
- logger.error(
- `there was a problem trying to get permission ${perm}`,
- lastError,
- );
- return;
- }
- platform.registerTalerHeaderListener();
- });
- if (await isHeaderListenerEnabled()) {
- if (await platform.getPermissionsApi().containsHostPermissions()) {
- try {
- platform.registerTalerHeaderListener();
- } catch (e) {
- logger.error("could not register header listener", e);
- }
- } else {
- await platform.getPermissionsApi().requestHostPermissions()
- }
- }
+ // platform.registerDeclarativeRedirect();
+ // if (false) {
+ /**
+ * this is not working reliable on chrome, just
+ * intercepts queries after the user clicks the popups
+ * which doesn't make sense, keeping it to make more tests
+ */
+
+ // if (await isHeaderListenerEnabled()) {
+ // if (await platform.getPermissionsApi().containsHostPermissions()) {
+ // try {
+ // platform.registerTalerHeaderListener();
+ // } catch (e) {
+ // logger.error("could not register header listener", e);
+ // }
+ // } else {
+ // await platform.getPermissionsApi().requestHostPermissions()
+ // }
+ // }
+ // On platforms that support it, also listen to external
+ // modification of permissions.
+ // platform.getPermissionsApi().addPermissionsListener((perm, lastError) => {
+ // logger.info(`permission added: ${perm}`,)
+ // if (lastError) {
+ // logger.error(
+ // `there was a problem trying to get permission ${perm}`,
+ // lastError,
+ // );
+ // return;
+ // }
+ // platform.registerTalerHeaderListener();
+ // });
+
+ // }
}
-async function toggleHeaderListener(
- newVal: boolean,
-): Promise<ExtendedPermissionsResponse> {
- logger.trace("new extended permissions value", newVal);
- if (newVal) {
- platform.registerTalerHeaderListener();
- return { newValue: true };
- }
+// async function toggleHeaderListener(
+// newVal: boolean,
+// ): Promise<ExtendedPermissionsResponse> {
+// logger.trace("new extended permissions value", newVal);
+// if (newVal) {
+// platform.registerTalerHeaderListener();
+// return { newValue: true };
+// }
- const rem = await platform.getPermissionsApi().removeHostPermissions();
- logger.trace("permissions removed:", rem);
- return { newValue: false };
-}
+// const rem = await platform.getPermissionsApi().removeHostPermissions();
+// logger.trace("permissions removed:", rem);
+// return { newValue: false };
+// }