Skip to content

[#1718] Redesign server selection: Automatic/Manual connection mode#1750

Closed
czarcas7ic wants to merge 26 commits into
mainfrom
adam/auto-manual-mode
Closed

[#1718] Redesign server selection: Automatic/Manual connection mode#1750
czarcas7ic wants to merge 26 commits into
mainfrom
adam/auto-manual-mode

Conversation

@czarcas7ic

@czarcas7ic czarcas7ic commented May 12, 2026

Copy link
Copy Markdown
Collaborator

Closes: #1718
Resolves MOB-1039 and MOB-1098.

Summary

  • Redesigned Server Setup around Automatic and Manual connection modes.
  • Automatic mode benchmarks known endpoints and keeps using the best active sync endpoint.
  • Manual mode pins a single endpoint. Switching from Automatic to Manual preselects the current active endpoint so Save pins it without requiring another tap.
  • Migration preserves custom, unknown, and non-default known endpoints in Manual mode. Missing or default endpoints start in Automatic.
  • Applies the shared streaming timeout to known endpoints.

Test plan

  • Added reducer and migration coverage for Automatic to Manual preselection, Save without a row tap, custom and unknown active endpoint handling, and no-active-endpoint selection requirements.
  • Added migration coverage for default, non-default known, custom, unknown, already migrated, and new-user cases.
  • Manual UI testing covered the default Automatic path and custom Manual preservation.

@linear

linear Bot commented May 12, 2026

Copy link
Copy Markdown

MOB-1039

MOB-1098

# Conflicts:
#	CHANGELOG.md
#	modules/Package.swift
#	modules/Sources/Dependencies/UserPreferencesStorage/UserPreferencesStorageInterface.swift
#	secant.xcodeproj/project.pbxproj
#	secant/Sources/Dependencies/UserPreferencesStorage/UserPreferencesStorageLive.swift
#	secant/Sources/Dependencies/ZcashSDKEnvironment/ZcashSDKEnvironmentInterface.swift
#	secant/Sources/Dependencies/ZcashSDKEnvironment/ZcashSDKEnvironmentLiveKey.swift
#	secant/Sources/Features/Root/RootStore.swift
#	secant/Sources/Features/ServerSetup/ServerSetupStore.swift
#	secant/Sources/Features/ServerSetup/ServerSetupView.swift
Comment thread secant/Sources/Dependencies/SDKSynchronizer/SDKSynchronizerInterface.swift Outdated
Comment thread secant/Sources/Features/ServerSetup/ServerSetupStore.swift Outdated
Comment thread secant/Sources/Dependencies/ZcashSDKEnvironment/ZcashSDKEnvironmentLiveKey.swift Outdated
Comment thread secant/Sources/Dependencies/ZcashSDKEnvironment/ZcashSDKEnvironmentLiveKey.swift Outdated
Comment thread secant/Sources/Features/Root/RootStore.swift
Comment thread secant/Sources/Features/ServerSetup/ServerSetupStore.swift
Comment thread secant/Sources/Features/ServerSetup/ServerSetupView.swift
@Chlup

Chlup commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Finale code for this feature is in #1804

@Chlup Chlup closed this Jun 4, 2026
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.

Redesign server selection: Automatic/Manual connection mode

2 participants