Colton Idle
02/01/2024, 7:28 PMColton Idle
02/01/2024, 7:28 PMColton Idle
02/01/2024, 7:29 PMColton Idle
02/01/2024, 7:29 PMjw
02/01/2024, 7:29 PMColton Idle
02/01/2024, 7:30 PMColton Idle
02/01/2024, 7:33 PMjw
02/01/2024, 7:37 PMjw
02/01/2024, 7:38 PMjw
02/01/2024, 7:38 PMColton Idle
02/01/2024, 7:40 PMColton Idle
02/01/2024, 7:45 PMHTTP/1.1 200 OK
Date: Thu, 01 Feb 2024 19:41:30 GMT
Server: Apache/2.4.41 (Ubuntu)
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Last-Modified: 2024-01-25T14:55:47.485Z
Content-Type: application/json; charset=utf-8
Content-Length: 464
ETag: W/"1d0-Zvvdd0uIGAOxUBBQXVtRrGwrlp"
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
{"status":"success","data":[{"ABL":1,"AsdasdLevel":1,"a":1,"b":1,"c":4,"a":4,"r":4,"e":0,"g":0,"f":0,"i":0,"h":0,"ee":0,"ListType":1,"j":null,"k":[1234,4321],"l":3,"m":1,"n":false,"o":{"p":"2024-01-25T14:55:47.485Z","rules":[]}}]}
I obfuscated the return body.Colton Idle
02/01/2024, 7:46 PMHTTP/1.1 304 Not Modified
Date: Thu, 01 Feb 2024 19:45:43 GMT
Server: Apache/2.4.41 (Ubuntu)
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
ETag: W/"1d0-Zvvdd0uIGAOxUBBQXVtRrGwrlp"
Colton Idle
02/01/2024, 7:49 PMColton Idle
02/01/2024, 7:49 PMColton Idle
02/01/2024, 8:01 PMColton Idle
02/01/2024, 8:02 PMColton Idle
02/01/2024, 8:16 PM\n
?jw
02/01/2024, 8:17 PMjw
02/01/2024, 8:18 PMjw
02/01/2024, 8:18 PMColton Idle
02/01/2024, 8:25 PMColton Idle
02/01/2024, 8:25 PMColton Idle
02/01/2024, 8:26 PMColton Idle
02/01/2024, 8:28 PMColton Idle
02/01/2024, 8:28 PMColton Idle
02/01/2024, 8:28 PMColton Idle
02/01/2024, 8:28 PMjw
02/01/2024, 8:30 PMjw
02/01/2024, 8:30 PMjw
02/01/2024, 8:31 PMColton Idle
03/21/2024, 9:36 PMHTTP/1.1 404 Not Found
Date: Thu, 21 Mar 2024 21:28:13 GMT
Server: Apache/2.4.41 (Ubuntu)
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Type: application/json; charset=utf-8
Content-Length: 28
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
{"Error":"404 Not Found..."}
and then I make the same request (with caching enabled on my okhttp client) and I get an exception of
java.io.EOFException: \n not found: limit=0 content=…
It doesn't even look like my second request makes it over the network. Looks like it short-circuits internally. Stacktrace says readResponseHeaders... but it didn't go out to the network... so it's using a cached response? Going to try to remove some headers... and sentry is somehow in there. maybe that's the culprit.Colton Idle
03/21/2024, 9:49 PMColton Idle
03/21/2024, 9:57 PMColton Idle
03/21/2024, 10:23 PMColton Idle
03/21/2024, 10:45 PMColton Idle
03/21/2024, 10:46 PMColton Idle
03/21/2024, 10:48 PMHTTP/1.1 404 Not Found
Date: Thu, 21 Mar 2024 22:47:06 GMT
Server: Apache/2.4.41 (Ubuntu)
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Content-Type: application/json; charset=utf-8
ETag: W/"FOO"
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Length: 28
{"Error":"404 Not Found..."}
jessewilson
03/21/2024, 11:18 PMjessewilson
03/21/2024, 11:18 PMjessewilson
03/21/2024, 11:21 PMretryOnConnectionFailure
on your client?jessewilson
03/21/2024, 11:22 PMjessewilson
03/21/2024, 11:22 PMretryOnConnectionFailure
OkHttp will automatically recover from this error for youColton Idle
03/21/2024, 11:25 PMColton Idle
03/21/2024, 11:25 PMColton Idle
03/21/2024, 11:26 PMColton Idle
03/21/2024, 11:32 PMColton Idle
03/21/2024, 11:33 PMColton Idle
03/21/2024, 11:34 PMColton Idle
03/21/2024, 11:34 PMColton Idle
03/21/2024, 11:34 PMColton Idle
03/21/2024, 11:34 PMColton Idle
03/21/2024, 11:48 PMColton Idle
03/21/2024, 11:54 PMColton Idle
03/21/2024, 11:54 PMColton Idle
03/21/2024, 11:58 PMColton Idle
03/22/2024, 12:01 AMval client =
OkHttpClient.Builder()
.connectTimeout(20, java.util.concurrent.TimeUnit.SECONDS)
.readTimeout(20, java.util.concurrent.TimeUnit.SECONDS)
.writeTimeout(20, java.util.concurrent.TimeUnit.SECONDS)
.retryOnConnectionFailure(true)
.build()
Colton Idle
03/22/2024, 12:02 AMjessewilson
03/22/2024, 12:34 AMjessewilson
03/22/2024, 12:34 AMColton Idle
03/22/2024, 12:39 AMColton Idle
03/22/2024, 12:39 AMColton Idle
03/22/2024, 12:41 AMColton Idle
03/22/2024, 12:42 AMColton Idle
03/22/2024, 12:43 AMColton Idle
03/22/2024, 12:43 AMColton Idle
03/22/2024, 12:47 AMjessewilson
03/22/2024, 12:49 AMColton Idle
03/22/2024, 12:51 AMColton Idle
03/22/2024, 12:54 AMColton Idle
03/22/2024, 12:59 AMColton Idle
03/22/2024, 1:01 AMColton Idle
03/22/2024, 1:01 AMjessewilson
03/22/2024, 1:14 AMCache-Control: only-if-cached
Colton Idle
03/22/2024, 1:15 AMColton Idle
03/22/2024, 1:15 AM@Composable
fun LifecycleEvents(viewModel: MyViewModel) {
val lifecycleOwner = LocalLifecycleOwner.current
DisposableEffect(lifecycleOwner) {
val observer = LifecycleEventObserver { _, event ->
if (event == Lifecycle.Event.ON_RESUME) {
viewModel.syncWithBackend()
}
}
lifecycleOwner.lifecycle.addObserver(observer)
onDispose { lifecycleOwner.lifecycle.removeObserver(observer) }
}
}
I bet this composable is the culprit. because it only seems to happen when i jump back into the appColton Idle
03/22/2024, 1:16 AMColton Idle
03/22/2024, 1:17 AMColton Idle
03/22/2024, 1:19 AMColton Idle
03/22/2024, 1:24 AMfun syncWithBackend() {
viewModelScope.launch {
syncUseCase.sync()
}
}
Colton Idle
03/22/2024, 1:25 AMColton Idle
03/22/2024, 1:26 AMColton Idle
03/22/2024, 1:26 AMColton Idle
03/22/2024, 1:29 AMColton Idle
03/22/2024, 1:35 AMColton Idle
03/22/2024, 1:43 AMjessewilson
03/22/2024, 1:45 AMColton Idle
03/22/2024, 1:45 AMjessewilson
03/22/2024, 1:46 AMColton Idle
03/22/2024, 1:46 AMjessewilson
03/22/2024, 1:46 AMjessewilson
03/22/2024, 1:46 AMjessewilson
03/22/2024, 1:46 AMColton Idle
03/22/2024, 1:46 AMColton Idle
03/22/2024, 1:46 AMColton Idle
03/22/2024, 1:46 AMjessewilson
03/22/2024, 1:46 AMColton Idle
03/22/2024, 1:46 AMjessewilson
03/22/2024, 1:47 AMColton Idle
03/22/2024, 1:47 AMjessewilson
03/22/2024, 1:47 AMColton Idle
03/22/2024, 1:47 AMjessewilson
03/22/2024, 1:47 AMjessewilson
03/22/2024, 1:48 AMColton Idle
03/22/2024, 1:49 AMColton Idle
03/22/2024, 1:50 AMColton Idle
03/22/2024, 1:50 AMColton Idle
03/22/2024, 1:50 AMjessewilson
03/22/2024, 1:53 AMColton Idle
03/22/2024, 1:53 AMColton Idle
03/22/2024, 1:53 AMjessewilson
03/22/2024, 1:54 AMColton Idle
03/22/2024, 1:54 AMColton Idle
03/22/2024, 1:54 AMColton Idle
03/22/2024, 1:56 AMColton Idle
03/22/2024, 1:56 AMColton Idle
03/22/2024, 1:58 AMjessewilson
03/22/2024, 1:58 AMColton Idle
03/22/2024, 2:01 AMColton Idle
03/22/2024, 2:01 AMColton Idle
03/22/2024, 2:03 AMColton Idle
03/22/2024, 2:56 AMjessewilson
03/22/2024, 3:21 AMjessewilson
03/22/2024, 3:21 AMjessewilson
03/22/2024, 3:21 AMjessewilson
03/22/2024, 3:21 AMColton Idle
03/22/2024, 4:21 AM