commit 2ecc82979732caa11ef23919950f02cfb620820c
parent ae5403856c1316c91b9581ebd8cbca66cbfa2159
Author: Sebastian <sebasjm@taler-systems.com>
Date: Mon, 13 Jul 2026 12:23:49 -0300
fix #11626
Diffstat:
3 files changed, 14 insertions(+), 52 deletions(-)
diff --git a/packages/taler-util/src/taleruri.ts b/packages/taler-util/src/taleruri.ts
@@ -180,6 +180,7 @@ export namespace TalerUris {
function getTalerParamList(p: URI): [string, string][] {
const result: [string, string][] = [];
+
switch (p.type) {
case TalerUriAction.Withdraw: {
if (p.externalConfirmation) {
@@ -236,11 +237,16 @@ export namespace TalerUris {
}
return result;
}
+ case TalerUriAction.DevExperiment: {
+ Object.entries(p.query ?? {}).forEach(([key,value])=> {
+ result.push([key,value])
+ })
+ return result;
+ }
case TalerUriAction.Refund:
case TalerUriAction.PayPush:
case TalerUriAction.PayPull:
case TalerUriAction.Restore:
- case TalerUriAction.DevExperiment:
case TalerUriAction.AddExchange: {
return result;
}
diff --git a/packages/taler-wallet-webextension/src/cta/DevExperiment/state.ts b/packages/taler-wallet-webextension/src/cta/DevExperiment/state.ts
@@ -20,6 +20,7 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { useAlertContext } from "../../context/alert.js";
import { useBackendContext } from "../../context/backend.js";
import { Props, State } from "./index.js";
+import { useEffect } from "preact/hooks";
export function useComponentState({
talerExperimentUri,
@@ -35,10 +36,6 @@ export function useComponentState({
await api.wallet.call(WalletApiOperation.ApplyDevExperiment, {
devExperimentUri: talerExperimentUri,
});
- // const resp = await api.wallet.call(WalletApiOperation.CreateDepositGroup, {
- // amount: Amounts.stringify(amount),
- // depositPaytoUri: uri,
- // });
onSuccess();
}
const uri =
@@ -51,6 +48,11 @@ export function useComponentState({
),
);
+ useEffect(() => {
+ if (uri !== undefined) {
+ doApply();
+ }
+ }, [uri]);
if (!uri) {
return {
status: "error",
@@ -63,29 +65,8 @@ export function useComponentState({
},
};
}
- if (uri.devExperimentId === "insert-denom-loss") {
- return {
- status: "insertLost",
- error: undefined,
- confirm: {
- onClick: pushAlertOnError(doApply),
- },
- cancel: onCancel,
- };
- }
- if (uri.devExperimentId === "insert-pending-refresh") {
- return {
- status: "pendingRefresh",
- error: undefined,
- confirm: {
- onClick: pushAlertOnError(doApply),
- },
- cancel: onCancel,
- };
- }
return {
- status: "unknown",
+ status: "loading",
error: undefined,
- experimentId: uri.devExperimentId,
};
}
diff --git a/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx b/packages/taler-wallet-webextension/src/wallet/DeveloperPage.tsx
@@ -536,31 +536,6 @@ export function DeveloperPage(): VNode {
</Button>
</Paper>
- <Paper style={{ padding: 10, margin: 10 }}>
- <h3>Dev Experiment</h3>
- <div>
- <TextField
- label="Experiment name"
- placeholder="taler://dev-experiment"
- variant="filled"
- // error={subject.error}
- required
- value={experiment}
- onChange={setExperiment}
- />
- </div>
- <Button
- variant="contained"
- onClick={async () => {
- await api.wallet.call(WalletApiOperation.ApplyDevExperiment, {
- devExperimentUri: `taler://dev-experiment/${experiment}`,
- });
- }}
- >
- Apply
- </Button>
- </Paper>
-
<br />
<p>
<i18n.Translate>Coins</i18n.Translate>: