Problem
Once a connection is saved, the sidebar context menu only offers Refresh (databases / tree) and Remove connection. There is no Edit / Properties path to change host, port, user, password, database, SSL, display name, or URL-derived fields.
Workaround today: delete the connection and create it again — loses tree expand state, recent usage, and is error-prone for password/SSL tweaks.
Current state
- Create flows exist: New Connection dialog, URL dialog, SQLite form (
connection_creation_flow.dart, new_connection_*.dart, sqlite_connection_form.dart).
- Storage already supports updates:
LocalDb.updateConnection (+ secure-store secret sync, covered by tests).
- UI never calls
updateConnection for an existing row — connection tiles only wire onRemove / refresh.
Proposal
- Add Edit connection… to the connection context menu (all drivers + extension tiles + plain
_ConnectionTile).
- Open a pre-filled edit dialog (reuse create forms where practical; keep type read-only or disallow driver change in v1).
- On save:
LocalDb.updateConnection, refresh sidebar label/metadata, reconnect or invalidate the live pool if the connection is active.
- Optional later: “Duplicate connection…”, edit-from-URL paste.
Files (starting points)
lib/features/connections/connections_panel_*.dart (context menus)
lib/features/connections/connection_creation_flow.dart / form dialogs
lib/core/storage/local_db.dart (updateConnection — already present)
lib/core/storage/connection_secrets_store.dart
Acceptance
Out of scope (v1)
- Changing connection type/driver in place
- Bulk edit
Problem
Once a connection is saved, the sidebar context menu only offers Refresh (databases / tree) and Remove connection. There is no Edit / Properties path to change host, port, user, password, database, SSL, display name, or URL-derived fields.
Workaround today: delete the connection and create it again — loses tree expand state, recent usage, and is error-prone for password/SSL tweaks.
Current state
connection_creation_flow.dart,new_connection_*.dart,sqlite_connection_form.dart).LocalDb.updateConnection(+ secure-store secret sync, covered by tests).updateConnectionfor an existing row — connection tiles only wireonRemove/ refresh.Proposal
_ConnectionTile).LocalDb.updateConnection, refresh sidebar label/metadata, reconnect or invalidate the live pool if the connection is active.Files (starting points)
lib/features/connections/connections_panel_*.dart(context menus)lib/features/connections/connection_creation_flow.dart/ form dialogslib/core/storage/local_db.dart(updateConnection— already present)lib/core/storage/connection_secrets_store.dartAcceptance
updateConnectionand updates the sidebar without requiring delete+recreateOut of scope (v1)