aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wxBackend.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/wxBackend.ts')
-rw-r--r--packages/taler-wallet-webextension/src/wxBackend.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts
index 2ac8f6343..f5483e807 100644
--- a/packages/taler-wallet-webextension/src/wxBackend.ts
+++ b/packages/taler-wallet-webextension/src/wxBackend.ts
@@ -33,6 +33,8 @@ import {
import {
DbAccess,
deleteTalerDatabase,
+ exportDb,
+ importDb,
makeErrorDetail,
OpenedPromise,
openPromise,
@@ -129,6 +131,18 @@ async function dispatch(
r = wrapResponse(await reinitWallet());
break;
}
+ case "run-gc": {
+ logger.info("gc")
+ const dump = await exportDb(currentDatabase!.idbHandle());
+ await deleteTalerDatabase(indexedDB as any);
+ logger.info("cleaned")
+ await reinitWallet();
+ logger.info("init")
+ await importDb(currentDatabase!.idbHandle(), dump)
+ logger.info("imported")
+ r = wrapResponse({ result: true });
+ break;
+ }
case "containsHeaderListener": {
const res = await platform.containsTalerHeaderListener();
r = wrapResponse({ newValue: res });