From a5b48e9e51fea825f3883bbcff6637d96a4cfd22 Mon Sep 17 00:00:00 2001 From: derpyspike <67692052+derpyspike@users.noreply.github.com> Date: Wed, 28 Jan 2026 18:00:29 +0100 Subject: [PATCH 1/4] Modify RNodeConfigValidator and Test to allow SF5 and SF6 --- .../java/com/lxmf/messenger/viewmodel/RNodeConfigValidator.kt | 2 +- .../com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/lxmf/messenger/viewmodel/RNodeConfigValidator.kt b/app/src/main/java/com/lxmf/messenger/viewmodel/RNodeConfigValidator.kt index 2e9158cf2..a6e68707c 100644 --- a/app/src/main/java/com/lxmf/messenger/viewmodel/RNodeConfigValidator.kt +++ b/app/src/main/java/com/lxmf/messenger/viewmodel/RNodeConfigValidator.kt @@ -49,7 +49,7 @@ object RNodeConfigValidator { // Hardware limits private const val MIN_BANDWIDTH = 7800 private const val MAX_BANDWIDTH = 1625000 - private const val MIN_SF = 7 + private const val MIN_SF = 5 private const val MAX_SF = 12 private const val MIN_CR = 5 private const val MAX_CR = 8 diff --git a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt index fc913bdd1..0c07614d8 100644 --- a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt +++ b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt @@ -177,7 +177,7 @@ class RNodeConfigValidatorTest { @Test fun `validateSpreadingFactor below minimum`() { - val result = RNodeConfigValidator.validateSpreadingFactor("6") + val result = RNodeConfigValidator.validateSpreadingFactor("4") assertFalse(result.isValid) assertTrue(result.errorMessage!!.contains("7")) } From cd9324638d8b2acbd5599d735d402497c8e2ffa2 Mon Sep 17 00:00:00 2001 From: Jennifer Sanchez <67692052+derpyspike@users.noreply.github.com> Date: Wed, 28 Jan 2026 21:19:48 +0100 Subject: [PATCH 2/4] Update app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt with suggestion from greptile-apps bot Fix the error message in the RNodeConfigValidatorTest to SF5 instead of SF7 (Suggestion from greptile-apps) Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- .../com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt index 0c07614d8..b8e6d7563 100644 --- a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt +++ b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt @@ -179,7 +179,7 @@ class RNodeConfigValidatorTest { fun `validateSpreadingFactor below minimum`() { val result = RNodeConfigValidator.validateSpreadingFactor("4") assertFalse(result.isValid) - assertTrue(result.errorMessage!!.contains("7")) + assertTrue(result.errorMessage!!.contains("5")) } @Test From afb966bba70c5cfcdf0b2bf15cac8e494430b2e4 Mon Sep 17 00:00:00 2001 From: derpyspike <67692052+derpyspike@users.noreply.github.com> Date: Wed, 28 Jan 2026 22:15:22 +0100 Subject: [PATCH 3/4] fix: Implemented second suggestion from greptile-apps fixing the boundary check for Spreading Factors --- .../com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt index b8e6d7563..5b2ad1fc9 100644 --- a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt +++ b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeConfigValidatorTest.kt @@ -191,7 +191,7 @@ class RNodeConfigValidatorTest { @Test fun `validateSpreadingFactor at boundaries`() { - assertTrue(RNodeConfigValidator.validateSpreadingFactor("7").isValid) + assertTrue(RNodeConfigValidator.validateSpreadingFactor("5").isValid) assertTrue(RNodeConfigValidator.validateSpreadingFactor("12").isValid) } From f14f2a4052a0501613df9b4a23a329137f26050d Mon Sep 17 00:00:00 2001 From: Jennifer Sanchez <67692052+derpyspike@users.noreply.github.com> Date: Thu, 29 Jan 2026 00:26:19 +0100 Subject: [PATCH 4/4] Fix the RNodeWizardViewModelTest.kt low spreading factor check --- .../com/lxmf/messenger/viewmodel/RNodeWizardViewModelTest.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeWizardViewModelTest.kt b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeWizardViewModelTest.kt index f9553a7f7..a17910535 100644 --- a/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeWizardViewModelTest.kt +++ b/app/src/test/java/com/lxmf/messenger/viewmodel/RNodeWizardViewModelTest.kt @@ -691,14 +691,14 @@ class RNodeWizardViewModelTest { } @Test - fun `updateSpreadingFactor sets error for SF below 7`() = + fun `updateSpreadingFactor sets error for SF below 5`() = runViewModelTest { advanceUntilIdle() viewModel.state.test { awaitItem() // Initial - viewModel.updateSpreadingFactor("6") + viewModel.updateSpreadingFactor("4") advanceUntilIdle() val state = awaitItem()