From 816f44db82077a165f87556de9019a61cea8fba0 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Fri, 10 Jul 2026 16:00:40 +0300 Subject: [PATCH] fix(core): log swallowed errors in connection drivers and folders storage (#272) Replace silent catch (_) {} blocks with debugPrint so disconnect failures, stats probe errors, and folder load/migration issues are visible in logs. --- lib/core/database/mysql_connection.dart | 9 +++++++-- lib/core/database/postgres_connection.dart | 18 ++++++++++++++---- lib/core/database/redis_connection.dart | 5 ++++- lib/core/database/sqlite_connection.dart | 6 +++++- lib/core/storage/folders_storage.dart | 8 ++++++-- 5 files changed, 36 insertions(+), 10 deletions(-) diff --git a/lib/core/database/mysql_connection.dart b/lib/core/database/mysql_connection.dart index 5c4c4c6f..80cd70b9 100644 --- a/lib/core/database/mysql_connection.dart +++ b/lib/core/database/mysql_connection.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:flutter/foundation.dart'; import 'package:mysql_client/mysql_client.dart'; import 'package:querya_desktop/core/storage/local_db.dart'; @@ -192,7 +193,9 @@ class MysqlConnection { if (c != null && c.connected) { await c.close(); } - } catch (_) {} + } catch (e) { + debugPrint('MysqlConnection.disconnect: $e'); + } } /// Best-effort close. The `mysql_client` driver may not allow graceful [close] @@ -206,7 +209,9 @@ class MysqlConnection { if (c.connected) { await c.close(); } - } catch (_) {} + } catch (e) { + debugPrint('MysqlConnection.forceClose: $e'); + } } /// Session hint for read-only browsing (MySQL 8+ / MariaDB — semantics differ from PostgreSQL). diff --git a/lib/core/database/postgres_connection.dart b/lib/core/database/postgres_connection.dart index ac28c97f..d92ae8a5 100644 --- a/lib/core/database/postgres_connection.dart +++ b/lib/core/database/postgres_connection.dart @@ -1,4 +1,6 @@ import 'dart:io' show SecurityContext; + +import 'package:flutter/foundation.dart'; import 'package:postgres/postgres.dart'; import 'package:querya_desktop/core/storage/local_db.dart'; @@ -197,7 +199,9 @@ class PostgresConnection { _conn = null; try { await c?.close(); - } catch (_) {} + } catch (e) { + debugPrint('PostgresConnection.disconnect: $e'); + } } /// Drops the TCP session immediately (kills pending client I/O). Used when @@ -208,7 +212,9 @@ class PostgresConnection { _conn = null; try { await c?.close(force: true); - } catch (_) {} + } catch (e) { + debugPrint('PostgresConnection.forceClose: $e'); + } } /// Session-level default for transactions (browse vs SQL editor). @@ -419,14 +425,18 @@ class PostgresConnection { "SELECT extract(epoch from (now() - pg_postmaster_start_time()))::bigint", ); stats['uptime_seconds'] = uptime.first[0]; - } catch (_) {} + } catch (e) { + debugPrint('PostgresConnection.getServerStats uptime: $e'); + } try { final dbSize = await _conn!.execute( "SELECT pg_database_size(current_database())", ); stats['current_db_size'] = dbSize.first[0]; - } catch (_) {} + } catch (e) { + debugPrint('PostgresConnection.getServerStats database size: $e'); + } return stats; } diff --git a/lib/core/database/redis_connection.dart b/lib/core/database/redis_connection.dart index 9a65026b..451e1bba 100644 --- a/lib/core/database/redis_connection.dart +++ b/lib/core/database/redis_connection.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import 'package:redis/redis.dart' as redis; /// Redis connection using the Dart redis package (no Java/JRE). @@ -333,7 +334,9 @@ class RedisConnectionTestFake extends RedisConnection { _command = null; try { await c?.close(); - } catch (_) {} + } catch (e) { + debugPrint('RedisConnection.disconnect: $e'); + } } @override diff --git a/lib/core/database/sqlite_connection.dart b/lib/core/database/sqlite_connection.dart index f61e7b76..6a90e44a 100644 --- a/lib/core/database/sqlite_connection.dart +++ b/lib/core/database/sqlite_connection.dart @@ -1,4 +1,6 @@ import 'dart:async'; + +import 'package:flutter/foundation.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:querya_desktop/core/storage/local_db.dart'; @@ -62,7 +64,9 @@ class SqliteConnection { _db = null; try { await d?.close(); - } catch (_) {} + } catch (e) { + debugPrint('SqliteConnection.disconnect: $e'); + } } Future forceClose() => disconnect(); diff --git a/lib/core/storage/folders_storage.dart b/lib/core/storage/folders_storage.dart index f89696fe..cc064309 100644 --- a/lib/core/storage/folders_storage.dart +++ b/lib/core/storage/folders_storage.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:io'; +import 'package:flutter/foundation.dart'; import 'package:path_provider/path_provider.dart'; import 'local_db.dart'; @@ -25,7 +26,8 @@ class FoldersStorage { try { await _migrateFromLegacyIfNeeded(); _folders = await LocalDb.instance.getFolders(); - } catch (_) { + } catch (e) { + debugPrint('FoldersStorage.load: $e'); _folders = []; } _loaded = true; @@ -56,7 +58,9 @@ class FoldersStorage { } } await file.delete(); - } catch (_) {} + } catch (e) { + debugPrint('FoldersStorage._migrateFromLegacyIfNeeded: $e'); + } } Future save(List folders) async {