- Add 150ms debounce on async completion path to reduce redundant Tauri IPC calls during rapid typing
- Parallelize schema table fetching with max concurrency of 5
- Separate schema list cache from table completion cache for longer-lived reuse
- Return keyword completions synchronously when no backend data is needed
- Lower snippet base boost for label-only matches so keywords rank above snippets when user types past snippet prefix
Execute COUNT query asynchronously after main query to show total
matching rows. Strip user-supplied LIMIT/OFFSET from count SQL so
the total reflects all rows, not just the limited page.
After DDL/DML execution via the danger confirmation dialog, the editor
scrolls to the top, making it hard to locate the executed statement.
Fix by scrolling the cursor back into view after execution completes,
using nextTick + requestAnimationFrame to wait for Splitpanes layout
stabilization.
When changing a column's data type in the table structure editor, the
length parameter now updates to a sensible default for the new type
(e.g. int→11, tinyint→4) instead of preserving the old value.
Add a `connect_timeout_secs` field to ConnectionConfig that allows users
to configure the database connection timeout per connection (1-300s,
default 5s). Previously all connections used a hardcoded 5-second timeout.
- Add connect_timeout_secs field with serde default and clamp logic
- Add parse_connect_timeout_with_fallback to honor URL params over config
- Pass user-configured timeout to all drivers (MySQL, Postgres, Redis,
MongoDB, ClickHouse, SQL Server, Elasticsearch) and TCP probe
- Add UI input in connection dialog SSH tab
- Add i18n keys for en/zh-CN/es
Replace reka-ui ContextMenu usage in QueryHistory, DataGrid,
AppTabBar, ObjectBrowser, and TreeItem with the lightweight
CustomContextMenu component. This removes the last reka-ui
context menu dependencies and eliminates the performance
overhead of multiple cached ContextMenu instances.
Add children support for nested menu items with hover-triggered
submenus, auto-flip positioning near viewport edges, and smart
close timing to prevent flicker.
The reka-ui ContextMenu component caused significant performance
degradation when multiple editor tabs were cached via KeepAlive,
due to its heavy state machine, provide/inject chain, and document-level
event listeners accumulating across cached instances.
Replaced with a minimal CustomContextMenu that renders via Teleport
without any DOM wrapping or reka-ui dependency, eliminating the lag
while preserving the same visual appearance and functionality.
Previously when compactColumnHeaderActions was enabled, the sort button was
hidden inside a dropdown menu, requiring two clicks to sort. Now the sort
button is always visible, while formatter and local filter remain in the
dropdown when compact mode is on.
- Enable renameColumn, alterExistingColumn, alterType, alterNullability,
alterDefault, comment, and indexComment capabilities for SQL Server
- Implement build_sqlserver_existing_column_sql() with sp_rename for column
rename, ALTER TABLE ALTER COLUMN for type/nullability changes, and dynamic
SQL for default constraint management
- Add sp_addextendedproperty/sp_dropextendedproperty DDL generation for table,
column, and index comments
- Fetch table and column comments from sys.extended_properties via OUTER APPLY
in list_tables, list_objects, and get_columns SQL queries
- Fix table comment placeholder text (was showing column comment placeholder)
Add a small red dot badge on the "内置驱动" and "JDBC 驱动" tabs when
they have available updates, so users can immediately see which tab
needs attention without opening the dialog first.
Previously the transfer dialog auto-detected schema (always picking "public"
or the first one), which prevented users from selecting tables in other
schemas. Now schema-aware databases show a schema dropdown for both source
and target.
Closes#485
- Fix value editor not scrollable when content exceeds container
(overflow-hidden -> overflow-auto)
- Extract vscodeSelectionLayer from QueryEditor into shared module
and apply to value editor for consistent selection highlighting
- frontend: use e.message instead of String(e) in toErrorResult to avoid
"Error: " prefix for HTTP-mode errors, matching connectionErrorMessage
- frontend: apply same fix to MongoDocBrowser error display
- backend(postgres): use pg_error_to_string across all query execution
paths (execute, execute_batch, copy_out, copy_in) to extract DbError
details instead of generic transport-layer errors
Other databases (MySQL, SQL Server, SQLite, DuckDB) already include
server-level error details in their native Error::to_string().
- Hide default cm-selectionBackground in favor of custom
cm-vscodeSelection rendering layer
- Adjust cursor height and vertical alignment
- Style custom VSCode selection overlay with opacity and color
- Move executeSql and saveSql keybindings to Prec.high to override
defaultKeymap's Mod-Enter (insertBlankLine) and ensure Cmd+Enter
executes the current query on macOS
- Override Enter key with insertNewlineKeepIndent instead of
insertNewlineAndIndent to prevent unwanted continuedIndent from
SQL language mode when breaking lines
Add find and replace shortcut definitions to the shortcut registry with
Mod+F and Mod+R defaults. Route Mod-R through App → ContentArea to
dispatch to either the query editor replace panel or data grid refresh
based on focus context. Add isModRShortcut helper and tests.