Skip to content

fix: preserve SSH profile on sync round-trip and save fallback config#490

Merged
datlechin merged 1 commit intomainfrom
fix/ssh-profile-persistence
Mar 28, 2026
Merged

fix: preserve SSH profile on sync round-trip and save fallback config#490
datlechin merged 1 commit intomainfrom
fix/ssh-profile-persistence

Conversation

@datlechin
Copy link
Copy Markdown
Collaborator

Summary

  • SyncRecordMapper was missing sshProfileId in both toCKRecord and toConnection — on iCloud sync round-trip, the profile UUID was dropped and the connection reverted to inline SSH config showing "SSH : @"
  • ConnectionFormView.saveConnection() stored empty inline sshConfig (host="", username="") when an SSH profile was selected, because the inline fields were never filled. Now copies profile data into the fallback config
  • reloadProfiles() could clear sshProfileId when SSHProfileStorage.loadProfiles() returned empty due to a decode failure. Now checks lastLoadFailed before clearing

Test plan

  • Create SSH profile, assign to connection, save
  • Quit app → relaunch → verify profile still selected, subtitle shows correct SSH info
  • Connect → disconnect → back to welcome → verify profile preserved
  • Edit connection → verify profile picker shows correct selection
  • Delete SSH profile → verify connection falls back to inline config with correct data (not empty)
  • With iCloud Sync enabled: verify profile survives sync cycle

@datlechin datlechin force-pushed the fix/ssh-profile-persistence branch from b930827 to 8d03d38 Compare March 28, 2026 12:29
@datlechin datlechin merged commit 18b60ec into main Mar 28, 2026
2 checks passed
@datlechin datlechin deleted the fix/ssh-profile-persistence branch March 28, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant