Skip to content

Commit fe262a8

Browse files
committed
fix: address PR review — filter Advanced tab, normalize selected tab, harden redis parsing
1 parent 3179167 commit fe262a8

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

TablePro/Views/Connection/ConnectionFormView.swift

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)