@@ -162,8 +162,7 @@ struct ConnectionFormView: View {
162162 if hasLoadedData {
163163 port = String ( newType. defaultPort)
164164 }
165- let isFileBased = PluginManager . shared. connectionMode ( for: newType) == . fileBased
166- if isFileBased && ( selectedTab == . ssh || selectedTab == . ssl) {
165+ if !visibleTabs. contains ( selectedTab) {
167166 selectedTab = . general
168167 }
169168 additionalFieldValues = [ : ]
@@ -651,9 +650,10 @@ struct ConnectionFormView: View {
651650
652651 private var advancedForm : some View {
653652 Form {
654- if !additionalConnectionFields. isEmpty {
653+ let advancedFields = additionalConnectionFields. filter { $0. section == . advanced }
654+ if !advancedFields. isEmpty {
655655 Section ( type. displayName) {
656- ForEach ( additionalConnectionFields , id: \. id) { field in
656+ ForEach ( advancedFields , id: \. id) { field in
657657 ConnectionFieldRow (
658658 field: field,
659659 value: Binding (
@@ -849,7 +849,6 @@ struct ConnectionFormView: View {
849849 // Load additional fields from connection
850850 additionalFieldValues = existing. additionalFields
851851
852- // Migrate legacy Redis database index before default seeding
853852 // Migrate legacy redisDatabase to additionalFields
854853 if additionalFieldValues [ " redisDatabase " ] == nil ,
855854 let rdb = existing. redisDatabase {
@@ -932,7 +931,7 @@ struct ConnectionFormView: View {
932931 groupId: selectedGroupId,
933932 safeModeLevel: safeModeLevel,
934933 aiPolicy: aiPolicy,
935- redisDatabase: Int ( additionalFieldValues [ " redisDatabase " ] ?? " 0 " ) ,
934+ redisDatabase: Int ( additionalFieldValues [ " redisDatabase " ] ?? " " ) ?? 0 ,
936935 startupCommands: startupCommands. trimmingCharacters ( in: . whitespacesAndNewlines) . isEmpty
937936 ? nil : startupCommands,
938937 additionalFields: finalAdditionalFields. isEmpty ? nil : finalAdditionalFields
@@ -1081,7 +1080,7 @@ struct ConnectionFormView: View {
10811080 color: connectionColor,
10821081 tagId: selectedTagId,
10831082 groupId: selectedGroupId,
1084- redisDatabase: Int ( additionalFieldValues [ " redisDatabase " ] ?? " 0 " ) ,
1083+ redisDatabase: Int ( additionalFieldValues [ " redisDatabase " ] ?? " " ) ?? 0 ,
10851084 startupCommands: startupCommands. trimmingCharacters ( in: . whitespacesAndNewlines) . isEmpty
10861085 ? nil : startupCommands,
10871086 additionalFields: finalAdditionalFields. isEmpty ? nil : finalAdditionalFields
0 commit comments