fix: migrate pre-wizard gateway profiles

This commit is contained in:
Hermes Agent
2026-07-24 20:30:13 +00:00
parent 06b211a7f7
commit b2642df2ca
4 changed files with 27 additions and 3 deletions
@@ -257,10 +257,10 @@ object SetupWizardReducer {
hasLegacyConfiguration: Boolean
): SetupGateResolution {
val entry = entry(config)
val existing = entry is SetupEntry.ExistingConfiguration
val existing = entry as? SetupEntry.ExistingConfiguration
val migrateExistingUser = setupVersion < CURRENT_SETUP_VERSION &&
hasLegacyConfiguration &&
existing
existing != null &&
(hasLegacyConfiguration || existing.configuration.isPreWizardCurrentConfiguration())
return SetupGateResolution(
entry = if (setupVersion >= CURRENT_SETUP_VERSION || migrateExistingUser) {
entry
@@ -513,6 +513,9 @@ private fun StoredGatewayConfiguration.isValid(): Boolean {
}
}
private fun StoredGatewayConfiguration.isPreWizardCurrentConfiguration(): Boolean =
authChoice == SetupAuthChoice.Bearer && hasBearerCredential
private fun ConnectionConfig.toStoredGatewayConfiguration(): StoredGatewayConfiguration =
StoredGatewayConfiguration(
localUrl = localUrl,
@@ -198,6 +198,23 @@ class SetupWizardReducerTest {
assertTrue(editState.canExit)
}
@Test
fun validPreWizardCurrentKeyConfigSkipsSetupAndRequestsVersionMigration() {
val resolution = SetupWizardReducer.resolveEntry(
config = ConnectionConfig(
localUrl = LOCAL,
remoteUrl = REMOTE,
authMode = ConnectionAuthMode.BearerToken,
hasBearerToken = true
),
setupVersion = 0,
hasLegacyConfiguration = false
)
assertTrue(resolution.entry is SetupEntry.ExistingConfiguration)
assertTrue(resolution.migrateExistingUser)
}
@Test
fun migrationNeverTurnsInvalidLegacyConfigIntoCompletedSetup() {
val resolution = SetupWizardReducer.resolveEntry(