fix: resolve MySQL connection state desync after disconnect/reconnect

- Use synchronous pool removal in desktop disconnect_db to prevent
  race condition when user quickly disconnects and reconnects
- Rename recordMetadataLoadError to recordConnectionLostError and
  export it for cross-store reuse
- Sync query execution errors back to connection state via
  recordConnectionLostError in queryStore catch blocks
- Add backend check_connection_health method (dbx-core) with Tauri
  command and web route for proactive pool verification
- Add frontend checkConnectionHealth API (tauri.ts/http.ts/api.ts)
- Enhance ensureConnected to verify backend pool health before
  assuming connection is valid, auto-reconnect if stale
This commit is contained in:
fagao committed 2026-06-22 20:40:40 +08:00
1 parent 4346192713
commit e2f68de455
10 files changed
+92 -24

No files matched your search

+1
View File
@@ -423,6 +423,7 @@ pub fn run() {
commands::connection::disconnect_db,
commands::connection::close_database_connection,
commands::connection::refresh_connections,
commands::connection::check_connection_health,
commands::connection::save_connections,
commands::connection::load_connections,
commands::connection::save_sidebar_layout,