diff options
author | Florian Dold <florian@dold.me> | 2023-06-30 16:14:58 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-06-30 16:14:58 +0200 |
commit | d4ee96138774e8bc469f172bbb6276af89d6f240 (patch) | |
tree | eda5bc6833306727f711cc5aedd5f307fa8b1f67 /packages/taler-wallet-embedded | |
parent | 7523ffa9105f71a6a4c201d3ee46dbfccc929cea (diff) |
wallet-core: rename OperationAttempt->TaskRun, do not allow task result values anymore
Diffstat (limited to 'packages/taler-wallet-embedded')
-rw-r--r-- | packages/taler-wallet-embedded/src/wallet-qjs.ts | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/packages/taler-wallet-embedded/src/wallet-qjs.ts b/packages/taler-wallet-embedded/src/wallet-qjs.ts index 57452301f..7e2ee1b2d 100644 --- a/packages/taler-wallet-embedded/src/wallet-qjs.ts +++ b/packages/taler-wallet-embedded/src/wallet-qjs.ts @@ -54,6 +54,11 @@ setPRNG(function (x: Uint8Array, n: number) { const logger = new Logger("taler-wallet-embedded/index.ts"); +/** + * Sends JSON to the host application, i.e. the process that + * runs the JavaScript interpreter (quickjs / qtart) to run + * the embedded wallet. + */ function sendNativeMessage(ev: CoreApiMessageEnvelope): void { const m = JSON.stringify(ev); qjsOs.postMessageToHost(m); @@ -183,21 +188,25 @@ export function installNativeWalletListener(): void { const id = msg.id; logger.info(`native listener: got request for ${operation} (${id})`); - let respMsg: CoreApiResponse; - try { - respMsg = await handler.handleMessage(operation, id, msg.args ?? {}); - } catch (e) { - respMsg = { - type: "error", - id, - operation, - error: getErrorDetailFromException(e), - }; + if (operation === "anastasisReduce") { + sendNativeMessage(respMsg); + } else { + let respMsg: CoreApiResponse; + try { + respMsg = await handler.handleMessage(operation, id, msg.args ?? {}); + } catch (e) { + respMsg = { + type: "error", + id, + operation, + error: getErrorDetailFromException(e), + }; + } + logger.info( + `native listener: sending back ${respMsg.type} message for operation ${operation} (${id})`, + ); + sendNativeMessage(respMsg); } - logger.info( - `native listener: sending back ${respMsg.type} message for operation ${operation} (${id})`, - ); - sendNativeMessage(respMsg); }; qjsOs.setMessageFromHostHandler((m) => onMessage(m)); |