From 4aa7d395cb93d205b36992af3bc039d6fc77445f Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Thu, 14 May 2026 23:04:04 +0700 Subject: [PATCH] fix(connection-form): show Username field for MongoDB and other optional-auth databases --- CHANGELOG.md | 1 + TablePro/Views/ConnectionForm/Panes/GeneralPaneView.swift | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18d9f6bcd..f64d14945 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- MongoDB: the connection form now shows a Username field. It was hidden for databases where authentication is optional, so connections to auth-enabled servers saved with no credentials and every query failed with "requires authentication" even though the connection looked healthy. - SQL import dropped statements when the database executed them slower than the file was parsed, so a re-imported export could fail with errors like "relation does not exist". The parser now waits for each statement to be consumed before reading more. (#1264) - SQL import ignored the database dialect, so PostgreSQL dumps with dollar-quoted function bodies were split at semicolons inside the body. (#1264) - SQL export emitted `DROP TABLE` for views, materialized views, and foreign tables, so re-importing failed with "is not a table". It now emits `DROP VIEW`, `DROP MATERIALIZED VIEW`, or `DROP FOREIGN TABLE` to match the object. (#1264) diff --git a/TablePro/Views/ConnectionForm/Panes/GeneralPaneView.swift b/TablePro/Views/ConnectionForm/Panes/GeneralPaneView.swift index bbeb0feb9..a0b36ac4a 100644 --- a/TablePro/Views/ConnectionForm/Panes/GeneralPaneView.swift +++ b/TablePro/Views/ConnectionForm/Panes/GeneralPaneView.swift @@ -152,8 +152,7 @@ struct GeneralPaneView: View { private var authenticationSection: some View { if connectionMode != .fileBased { Section(String(localized: "Authentication")) { - if PluginManager.shared.requiresAuthentication(for: type) - && connectionMode != .apiOnly { + if connectionMode == .network { TextField( String(localized: "Username"), text: $coordinator.auth.username,