View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008911 | Taler | wallet (Android App) | public | 2024-06-07 19:49 | 2024-07-26 00:12 |
Reporter | Florian Dold | Assigned To | avalos | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Target Version | 0.12 | Fixed in Version | 0.12 | ||
Summary | 0008911: transaction details page sometimes does not automatically update | ||||
Description | ... particularly with withdrawal transactions. The transaction transitions to done (or at least pending(exchange-wait-reserve), but the details page doesn't update automatically. | ||||
Tags | No tags attached. | ||||
|
It appears that now the cause is the socket timing out in some occasions: Exception handling HTTP response io.ktor.client.network.sockets.SocketTimeoutException: Socket timeout has expired [url=https://bank.taler.ar/taler-integration/withdrawal-operation/2b7be193-4536-4a65-9555-1f29beb0cdc3?long_poll_ms=30000&old_state=selected, socket_timeout=unknown] ms at io.ktor.client.plugins.HttpTimeoutKt.SocketTimeoutException(HttpTimeout.kt:239) at io.ktor.client.engine.okhttp.OkUtilsKt.mapOkHttpException(OkUtils.kt:80) at io.ktor.client.engine.okhttp.OkUtilsKt.access$mapOkHttpException(OkUtils.kt:1) at io.ktor.client.engine.okhttp.OkHttpCallback.onFailure(OkUtils.kt:39) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:525) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920) In Ktor (the HTTP client we're using), there are three different types of timeouts: - request timeout — a time period required to process an HTTP call: from sending a request to receiving a response. - connection timeout — a time period in which a client should establish a connection with a server. - socket timeout — a maximum time of inactivity between two data packets when exchanging data with a server. https://ktor.io/docs/client-timeout.html However, wallet-core only sends a single generic timeout. Should I set all the timeouts above to the value that wallet-core passes along with the request? |
|
That would be requestTimeoutMillis, i.e. the timeout for the entire HTTP request. |
|
What should I set the other two? 2 minutes? Infinity? |
|
Infinity, we don't care about the other timeouts, only the end-to-end timeout. |
|
https://git.taler.net/taler-android.git/commit/?id=3087f4bf6bf2260e443ea28fd44308b99736d369 That should fix the issue, but still more testing is required. I will close this ticket, however, in case this issue persists, please feel free to re-open it. |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-06-07 19:49 | Florian Dold | New Issue | |
2024-06-07 19:49 | Florian Dold | Status | new => assigned |
2024-06-07 19:49 | Florian Dold | Assigned To | => avalos |
2024-06-19 19:56 | avalos | Assigned To | avalos => Florian Dold |
2024-06-19 19:56 | avalos | Status | assigned => feedback |
2024-06-19 19:56 | avalos | Note Added: 0022675 | |
2024-06-19 20:58 | Florian Dold | Note Added: 0022677 | |
2024-06-19 20:58 | Florian Dold | Assigned To | Florian Dold => avalos |
2024-06-19 20:58 | Florian Dold | Status | feedback => assigned |
2024-06-19 21:32 | avalos | Note Added: 0022680 | |
2024-06-19 21:33 | avalos | Assigned To | avalos => Florian Dold |
2024-06-19 21:33 | avalos | Status | assigned => feedback |
2024-06-20 11:31 | Florian Dold | Note Added: 0022683 | |
2024-06-20 11:31 | Florian Dold | Assigned To | Florian Dold => avalos |
2024-06-20 11:31 | Florian Dold | Status | feedback => assigned |
2024-06-20 18:27 | avalos | Note Added: 0022691 | |
2024-06-20 18:27 | avalos | Status | assigned => resolved |
2024-06-20 18:27 | avalos | Resolution | open => fixed |
2024-07-26 00:11 | Christian Grothoff | Fixed in Version | => 0.12 |
2024-07-26 00:12 | Christian Grothoff | Status | resolved => closed |