@@ -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