diff options
Diffstat (limited to 'src/webex/wxBackend.ts')
-rw-r--r-- | src/webex/wxBackend.ts | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/webex/wxBackend.ts b/src/webex/wxBackend.ts index 974bcb3c2..2f249af44 100644 --- a/src/webex/wxBackend.ts +++ b/src/webex/wxBackend.ts @@ -303,6 +303,26 @@ function handleMessage(sender: MessageSender, } return resp; } + case "log-and-display-error": + logging.storeReport(detail).then((reportUid) => { + const url = chrome.extension.getURL(`/src/webex/pages/error.html?reportUid=${reportUid}`); + if (detail.sameTab && sender && sender.tab && sender.tab.id) { + chrome.tabs.update(detail.tabId, { url }); + } else { + chrome.tabs.create({ url }); + } + }); + return; + case "get-report": + return logging.getReport(detail.reportUid); + case "accept-refund": + return needsWallet().acceptRefund(detail.refund_permissions); + case "get-purchase": + const contractTermsHash = detail.contractTermsHash; + if (!contractTermsHash) { + throw Error("contractTermsHash missing"); + } + return needsWallet().getPurchase(contractTermsHash); default: // Exhaustiveness check. // See https://www.typescriptlang.org/docs/handbook/advanced-types.html @@ -332,7 +352,7 @@ async function dispatch(req: any, sender: any, sendResponse: any): Promise<void> try { sendResponse({ error: "exception", - hint: e.message, + message: e.message, stack, }); } catch (e) { @@ -371,6 +391,9 @@ class ChromeNotifier implements Notifier { /** * Mapping from tab ID to payment information (if any). + * + * Used to pass information from an intercepted HTTP header to the content + * script on the page. */ const paymentRequestCookies: { [n: number]: any } = {}; @@ -392,6 +415,7 @@ function handleHttpPayment(headerList: chrome.webRequest.HttpHeader[], url: stri const fields = { contract_url: headers["x-taler-contract-url"], offer_url: headers["x-taler-offer-url"], + refund_url: headers["x-taler-refund-url"], }; const talerHeaderFound = Object.keys(fields).filter((x: any) => (fields as any)[x]).length !== 0; @@ -406,6 +430,7 @@ function handleHttpPayment(headerList: chrome.webRequest.HttpHeader[], url: stri const payDetail = { contract_url: fields.contract_url, offer_url: fields.offer_url, + refund_url: fields.refund_url, }; console.log("got pay detail", payDetail); |