summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-12-19 10:14:36 -0300
committerSebastian <sebasjm@gmail.com>2023-12-19 10:14:47 -0300
commitf7dbd4459a177e9614dbfbad4d1e18e028c8ef08 (patch)
treed40a60af3c3f56332b67f63748a3a5c7999c18a6
parent181b200d8595f0040b4e142c44110dd03523808f (diff)
downloadwallet-core-f7dbd4459a177e9614dbfbad4d1e18e028c8ef08.tar.gz
wallet-core-f7dbd4459a177e9614dbfbad4d1e18e028c8ef08.tar.bz2
wallet-core-f7dbd4459a177e9614dbfbad4d1e18e028c8ef08.zip
fix :long polling request parameter
-rw-r--r--packages/merchant-backend-ui/src/declaration.d.ts4
-rw-r--r--packages/merchant-backend-ui/src/pages/OfferRefund.tsx4
-rw-r--r--packages/merchant-backend-ui/src/pages/OfferTip.tsx4
-rw-r--r--packages/merchant-backend-ui/src/pages/RequestPayment.tsx9
-rw-r--r--packages/merchant-backend-ui/src/pages/ShowOrderDetails.examples.ts16
5 files changed, 22 insertions, 15 deletions
diff --git a/packages/merchant-backend-ui/src/declaration.d.ts b/packages/merchant-backend-ui/src/declaration.d.ts
index 0e7a18eb5..bb71f61cd 100644
--- a/packages/merchant-backend-ui/src/declaration.d.ts
+++ b/packages/merchant-backend-ui/src/declaration.d.ts
@@ -50,7 +50,9 @@ interface WithId {
type Amount = string;
type UUID = string;
type Integer = number;
-
+type TalerProtocolTimestamp = {
+ t_s: number | "never"
+}
export namespace ExchangeBackend {
interface WireResponse {
diff --git a/packages/merchant-backend-ui/src/pages/OfferRefund.tsx b/packages/merchant-backend-ui/src/pages/OfferRefund.tsx
index 5fdc51c61..ffd657e7e 100644
--- a/packages/merchant-backend-ui/src/pages/OfferRefund.tsx
+++ b/packages/merchant-backend-ui/src/pages/OfferRefund.tsx
@@ -61,6 +61,8 @@ function Head({ order_summary }: { order_summary?: string }): VNode {
export function OfferRefund({ refundURI, qr_code, order_status_url }: Props): VNode {
useEffect(() => {
+ const longpollDelayMs = 60 * 1000;
+ const delayMs = 500;
let checkUrl: URL;
try {
checkUrl = new URL(order_status_url ? order_status_url : "{{& order_status_url }}");
@@ -68,7 +70,7 @@ export function OfferRefund({ refundURI, qr_code, order_status_url }: Props): VN
return;
}
checkUrl.searchParams.set("await_refund_obtained", "yes");
- const delayMs = 500;
+ checkUrl.searchParams.set("timeout_ms", longpollDelayMs.toString());
function check() {
let retried = false;
function retryOnce() {
diff --git a/packages/merchant-backend-ui/src/pages/OfferTip.tsx b/packages/merchant-backend-ui/src/pages/OfferTip.tsx
index d32072282..cb3ce33fd 100644
--- a/packages/merchant-backend-ui/src/pages/OfferTip.tsx
+++ b/packages/merchant-backend-ui/src/pages/OfferTip.tsx
@@ -62,14 +62,16 @@ export function Head(): VNode {
export function OfferTip({ tipURI, qr_code, tip_status_url }: Props): VNode {
useEffect(() => {
+ const longpollDelayMs = 60 * 1000;
+ const delayMs = 500;
let checkUrl: URL;
try {
checkUrl = new URL(tip_status_url ? tip_status_url : "{{& tip_status_url }}");
} catch (e) {
return;
}
+ checkUrl.searchParams.set("timeout_ms", longpollDelayMs.toString());
- const delayMs = 500;
function check() {
let retried = false;
function retryOnce() {
diff --git a/packages/merchant-backend-ui/src/pages/RequestPayment.tsx b/packages/merchant-backend-ui/src/pages/RequestPayment.tsx
index d0ac3d604..86c7e6f60 100644
--- a/packages/merchant-backend-ui/src/pages/RequestPayment.tsx
+++ b/packages/merchant-backend-ui/src/pages/RequestPayment.tsx
@@ -82,6 +82,7 @@ export function RequestPayment({
return;
}
checkUrl.searchParams.set("timeout_s", longpollDelayMs.toString());
+ const delayMs = 500;
function check() {
let retried = false;
function retryOnce() {
@@ -123,20 +124,20 @@ export function RequestPayment({
console.error("could not parse response:", e);
}
}
- setTimeout(retryOnce, 500);
+ setTimeout(retryOnce, delayMs);
}
};
req.onerror = function () {
- setTimeout(retryOnce, 500);
+ setTimeout(retryOnce, delayMs);
};
req.ontimeout = function () {
- setTimeout(retryOnce, 500);
+ setTimeout(retryOnce, delayMs);
};
req.timeout = longpollDelayMs;
req.open("GET", checkUrl.href);
req.send();
}
- setTimeout(check, 500);
+ setTimeout(check, delayMs);
});
return (
<Page>
diff --git a/packages/merchant-backend-ui/src/pages/ShowOrderDetails.examples.ts b/packages/merchant-backend-ui/src/pages/ShowOrderDetails.examples.ts
index 22cfd1e17..d80401129 100644
--- a/packages/merchant-backend-ui/src/pages/ShowOrderDetails.examples.ts
+++ b/packages/merchant-backend-ui/src/pages/ShowOrderDetails.examples.ts
@@ -28,7 +28,7 @@ const defaultContractTerms: MerchantBackend.ContractTerms = {
amount: 'USD:10',
summary: 'this is a short summary',
pay_deadline: {
- t_s: new Date().getTime() + 6 * 24 * 60 * 60 * 1000
+ t_s: Math.round(new Date().getTime() / 1000) + 6 * 24 * 60 * 60
},
merchant: {
name: 'the merchant (inc)',
@@ -48,7 +48,7 @@ const defaultContractTerms: MerchantBackend.ContractTerms = {
wire_fee_amortization: 1,
products: [],
timestamp: {
- t_s: new Date().getTime()
+ t_s: Math.round(new Date().getTime() / 1000)
},
auditors: [],
exchanges: [],
@@ -57,18 +57,18 @@ const defaultContractTerms: MerchantBackend.ContractTerms = {
merchant_pub: 'QWEASDQWEASD',
nonce: 'NONCE',
refund_deadline: {
- t_s: new Date().getTime() + 6 * 24 * 60 * 60 * 1000
+ t_s: Math.round(new Date().getTime() / 1000) + 6 * 24 * 60 * 60
},
wire_method: 'x-taler-bank',
wire_transfer_deadline: {
- t_s: new Date().getTime() + 3 * 24 * 60 * 60 * 1000
+ t_s: Math.round(new Date().getTime() / 1000) + 3 * 24 * 60 * 60
},
};
-const inSixDays = new Date().getTime() + 6 * 24 * 60 * 60 * 1000
-const in10Minutes = new Date().getTime() + 10 * 60 * 1000
-const in15Minutes = new Date().getTime() + 15 * 60 * 1000
-const in20Minutes = new Date().getTime() + 20 * 60 * 1000
+const inSixDays = Math.round(new Date().getTime() / 1000) + 6 * 24 * 60 * 60
+const in10Minutes = Math.round(new Date().getTime() / 1000) + 10 * 60
+const in15Minutes = Math.round(new Date().getTime() / 1000) + 15 * 60
+const in20Minutes = Math.round(new Date().getTime() / 1000) + 20 * 60
export const exampleData: { [name: string]: Props } = {
Simplest: {