View Issue Details

IDProjectCategoryView StatusLast Update
0009770Talermerchant backendpublic2025-10-28 13:21
Reportersebasjm Assigned Tosebasjm  
PriorityhighSeverityminorReproducibilityalways
Status feedbackResolutionopen 
Product Versiongit (master) 
Target Versionpost-1.0 
Summary0009770: merchant backend kyc state doesn't wait for longpolling
Descriptionmerchant spa will wait 5 seconds before doing a request again


https://docs.taler.net/core/api-merchant.html#get--instances-$INSTANCE-private-kyc


$ time curl 'http://merchant.taler.test:1180/private/kyc?timeout_ms=15000&lpt=3' -H 'Authorization: Bearer secret-token:WY4FBT6NK2KC5F4CPZGQ1J230V9BJX7Q41DRAZETX9P7K820RWRG'
{
...
}
real 0m0.020s
user 0m0.008s
sys 0m0.009s
Tagsux

Activities

Christian Grothoff

2025-10-28 13:21

manager   ~0026263

Looking at the code, it does seem to implement long-polling correctly. In which state is the account here (as in: what response do you see?). IMO there is one case that is not long-pollable by-design right now, which is IF we are in state "KYC OK", we always return immediately. So the SPA basically cannot wait for KYC to transition from "OK" to "needs-work". At the exchange, that's intended (hence the "lpt" values only go up to 3 there) because we won't want merchants to long-poll on the KYC state if everything is already fine (would create too many open connections, plus we can signal that something goes wrong with the specific transaction).
For the merchant SPA talking to the merchant backend, we could conceivably have long-polling also for a transition from "OK" to "not OK", but for that we'd need to add an lpt=4 case.

Is that the issue here, or is the long-polling broken on some other case and I just don't see it? Please clarify!

Issue History

Date Modified Username Field Change
2025-04-22 16:13 sebasjm New Issue
2025-04-22 16:13 sebasjm Status new => assigned
2025-04-22 16:13 sebasjm Assigned To => Christian Grothoff
2025-04-22 19:27 sebasjm Assigned To Christian Grothoff =>
2025-04-22 19:27 sebasjm Status assigned => confirmed
2025-04-25 07:15 Christian Grothoff Assigned To => Christian Grothoff
2025-04-25 07:15 Christian Grothoff Status confirmed => assigned
2025-04-27 13:01 Christian Grothoff Assigned To Christian Grothoff =>
2025-04-27 13:01 Christian Grothoff Status assigned => confirmed
2025-04-27 13:01 Christian Grothoff Target Version 1.0 stretch goals => post-1.0
2025-06-08 20:25 Christian Grothoff Tag Attached: ux
2025-10-23 12:52 Christian Grothoff Assigned To => Christian Grothoff
2025-10-23 12:52 Christian Grothoff Status confirmed => assigned
2025-10-23 12:52 Christian Grothoff Status assigned => confirmed
2025-10-23 17:54 Christian Grothoff Priority normal => high
2025-10-26 13:54 Christian Grothoff Status confirmed => assigned
2025-10-28 13:21 Christian Grothoff Note Added: 0026263
2025-10-28 13:21 Christian Grothoff Assigned To Christian Grothoff => sebasjm
2025-10-28 13:21 Christian Grothoff Status assigned => feedback