Skip to content

Commit 871a3ac

Browse files
committed
fix(UpdateWorker): wait for GetterService before calling managerRenewAll
UpdateWorker can be scheduled before the Rust GetterService WebSocket connection is established, causing IllegalStateException from getService(). Call getterPort.waitService() (polls until ::service.isInitialized) before invoking any RPC to guarantee the service is ready.
1 parent 7d0f4ed commit 871a3ac

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

app/src/main/java/net/xzos/upgradeall/server/update/UpdateWorker.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ class UpdateWorker(context: Context, workerParameters: WorkerParameters) :
5353
}
5454

5555
suspend fun doUpdateWork(updateNotification: UpdateNotification) {
56+
// Wait for GetterService to be ready before calling RPC.
57+
// getterPort.waitService() polls until the WebSocket connection is established.
58+
getterPort.waitService()
5659
AppManager.setRenewProgressFun(updateNotification.renewStatusFun)
5760
getterPort.getService().managerRenewAll()
5861
AppManager.setRenewProgressFun(null)

0 commit comments

Comments
 (0)