[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] branch master updated: wallet-core: fix cancellation
From: |
gnunet |
Subject: |
[taler-wallet-core] branch master updated: wallet-core: fix cancellation |
Date: |
Mon, 08 Apr 2024 22:52:55 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-core.
The following commit(s) were added to refs/heads/master by this push:
new ca60e9775 wallet-core: fix cancellation
ca60e9775 is described below
commit ca60e97755d91d73b4f5fc3992ddb2db524cd5f2
Author: Florian Dold <florian@dold.me>
AuthorDate: Mon Apr 8 22:52:53 2024 +0200
wallet-core: fix cancellation
---
packages/bank-ui/src/pages/BankFrame.tsx | 7 ++++---
packages/taler-util/src/notifications.ts | 5 +++++
packages/taler-wallet-core/src/withdraw.ts | 16 +++++++++++++++-
.../src/components/WalletActivity.tsx | 4 ++++
4 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/packages/bank-ui/src/pages/BankFrame.tsx
b/packages/bank-ui/src/pages/BankFrame.tsx
index 30f143828..db757ee07 100644
--- a/packages/bank-ui/src/pages/BankFrame.tsx
+++ b/packages/bank-ui/src/pages/BankFrame.tsx
@@ -26,14 +26,16 @@ import {
Footer,
Header,
Loading,
+ RouteDefinition,
ToastBanner,
notifyError,
notifyException,
+ useBankCoreApiContext,
useTranslationContext,
} from "@gnu-taler/web-util/browser";
import { ComponentChildren, Fragment, VNode, h } from "preact";
import { useEffect, useErrorBoundary, useState } from "preact/hooks";
-import { useBankCoreApiContext } from "@gnu-taler/web-util/browser";
+import { privatePages } from "../Routing.js";
import { useSettingsContext } from "../context/settings.js";
import { useAccountDetails } from "../hooks/account.js";
import { useBankState } from "../hooks/bank-state.js";
@@ -43,9 +45,7 @@ import {
usePreferences,
} from "../hooks/preferences.js";
import { useSessionState } from "../hooks/session.js";
-import { RouteDefinition } from "@gnu-taler/web-util/browser";
import { RenderAmount } from "./PaytoWireTransferForm.js";
-import { privatePages } from "../Routing.js";
const GIT_HASH = typeof __GIT_HASH__ !== "undefined" ? __GIT_HASH__ :
undefined;
const VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : undefined;
@@ -273,6 +273,7 @@ function AppActivity(): VNode {
case ObservabilityEventType.CryptoStart:
case ObservabilityEventType.CryptoFinishSuccess:
case ObservabilityEventType.CryptoFinishError:
+ case ObservabilityEventType.Message:
return;
default: {
assertUnreachable(ev);
diff --git a/packages/taler-util/src/notifications.ts
b/packages/taler-util/src/notifications.ts
index 7ef474754..1c6ca4b85 100644
--- a/packages/taler-util/src/notifications.ts
+++ b/packages/taler-util/src/notifications.ts
@@ -129,6 +129,7 @@ export enum ObservabilityEventType {
CryptoStart = "crypto-start",
CryptoFinishSuccess = "crypto-finish-success",
CryptoFinishError = "crypto-finish-error",
+ Message = "message",
}
export type ObservabilityEvent =
@@ -208,6 +209,10 @@ export type ObservabilityEvent =
| {
type: ObservabilityEventType.ShepherdTaskResult;
resultType: string;
+ }
+ | {
+ type: ObservabilityEventType.Message;
+ contents: string;
};
export interface BackupOperationErrorNotification {
diff --git a/packages/taler-wallet-core/src/withdraw.ts
b/packages/taler-wallet-core/src/withdraw.ts
index 68ff9d494..7ec62a46b 100644
--- a/packages/taler-wallet-core/src/withdraw.ts
+++ b/packages/taler-wallet-core/src/withdraw.ts
@@ -54,6 +54,7 @@ import {
LibtoolVersion,
Logger,
NotificationType,
+ ObservabilityEventType,
TalerBankIntegrationHttpClient,
TalerError,
TalerErrorCode,
@@ -3167,12 +3168,25 @@ export async function getWithdrawalDetailsForAmount(
if (clientCancelKey) {
const prevCts = wex.ws.clientCancellationMap.get(clientCancelKey);
if (prevCts) {
+ wex.oc.observe({
+ type: ObservabilityEventType.Message,
+ contents: `Cancelling previous key ${clientCancelKey}`,
+ });
prevCts.cancel();
+ } else {
+ wex.oc.observe({
+ type: ObservabilityEventType.Message,
+ contents: `No previous key ${clientCancelKey}`,
+ });
}
+ wex.oc.observe({
+ type: ObservabilityEventType.Message,
+ contents: `Setting clientCancelKey ${clientCancelKey} to ${cts}`,
+ });
wex.ws.clientCancellationMap.set(clientCancelKey, cts);
}
try {
- return internalGetWithdrawalDetailsForAmount(wex, req);
+ return await internalGetWithdrawalDetailsForAmount(wex, req);
} finally {
if (clientCancelKey && !cts.token.isCancelled) {
wex.ws.clientCancellationMap.delete(clientCancelKey);
diff --git
a/packages/taler-wallet-webextension/src/components/WalletActivity.tsx
b/packages/taler-wallet-webextension/src/components/WalletActivity.tsx
index 60839e1f0..1c566c3e4 100644
--- a/packages/taler-wallet-webextension/src/components/WalletActivity.tsx
+++ b/packages/taler-wallet-webextension/src/components/WalletActivity.tsx
@@ -262,6 +262,7 @@ function ShowObservabilityEvent({ events, onClick }:
MoreInfoPRops): VNode {
case ObservabilityEventType.TaskReset: return "Task reset"
case ObservabilityEventType.ShepherdTaskResult: return "Schedule"
case ObservabilityEventType.DeclareTaskDependency: return "Task
dependency"
+ case ObservabilityEventType.Message: return "Message"
}
})();
@@ -491,6 +492,9 @@ function ShowObervavilityDetails({ title, notif, onClick,
prev }: { title: strin
</td>
</tr>
}
+ case ObservabilityEventType.Message:
+ // FIXME
+ return <></>;
}
}
--
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: wallet-core: fix cancellation,
gnunet <=