Skip to content

Commit a820cdd

Browse files
committed
fix: disable retry for server changes
1 parent 35f12d4 commit a820cdd

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

app/src/main/java/to/bitkit/repositories/LightningRepo.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ class LightningRepo @Inject constructor(
175175
suspend fun start(
176176
walletIndex: Int = 0,
177177
timeout: Duration? = null,
178+
shouldRetry: Boolean = true,
178179
eventHandler: NodeEventHandler? = null,
179180
customServer: ElectrumServer? = null,
180181
customRgsServerUrl: String? = null,
@@ -199,7 +200,7 @@ class LightningRepo @Inject constructor(
199200
}
200201

201202
// Handle setup failures with retry logic
202-
if (retryAttempt < MAX_RETRY_ATTEMPTS && isRetryableError(setupError)) {
203+
if (shouldRetry && retryAttempt < MAX_RETRY_ATTEMPTS && isRetryableError(setupError)) {
203204
Logger.warn(
204205
"Setup failed (attempt ${retryAttempt + 1}/$MAX_RETRY_ATTEMPTS), retrying...",
205206
setupError,
@@ -212,6 +213,7 @@ class LightningRepo @Inject constructor(
212213
return@withContext start(
213214
walletIndex = walletIndex,
214215
timeout = timeout,
216+
shouldRetry = shouldRetry,
215217
eventHandler = eventHandler,
216218
customServer = customServer,
217219
customRgsServerUrl = customRgsServerUrl,
@@ -263,7 +265,7 @@ class LightningRepo @Inject constructor(
263265
it.copy(nodeLifecycleState = NodeLifecycleState.ErrorStarting(e))
264266
}
265267

266-
if (retryAttempt < MAX_RETRY_ATTEMPTS && isRetryableError(e)) {
268+
if (shouldRetry && retryAttempt < MAX_RETRY_ATTEMPTS && isRetryableError(e)) {
267269
Logger.warn(
268270
"Start failed (attempt ${retryAttempt + 1}/$MAX_RETRY_ATTEMPTS), retrying...",
269271
e,
@@ -427,6 +429,7 @@ class LightningRepo @Inject constructor(
427429
start(
428430
eventHandler = cachedEventHandler,
429431
customServer = newServer,
432+
shouldRetry = false, // Disable retry for server changes
430433
).onFailure { startError ->
431434
Logger.warn("Failed ldk-node config change, attempting recovery…")
432435
restartWithPreviousConfig()
@@ -452,6 +455,7 @@ class LightningRepo @Inject constructor(
452455

453456
start(
454457
eventHandler = cachedEventHandler,
458+
shouldRetry = false, // Disable retry for server changes
455459
customRgsServerUrl = newRgsUrl,
456460
).onFailure { startError ->
457461
Logger.warn("Failed ldk-node config change, attempting recovery…")

0 commit comments

Comments
 (0)