t8y2
cb9863b6bb
feat(drivers): prompt for agent driver updates
2026-05-17 17:06:59 +08:00
t8y2
7188465161
feat(app): open sql files in editor
2026-05-17 13:59:42 +08:00
t8y2
f031fe85ae
feat(history): add AI analysis action
2026-05-15 19:53:32 +08:00
t8y2
6db2430994
feat(settings): add custom shortcut settings
2026-05-15 17:53:51 +08:00
t8y2
f91ccf89c4
fix(editor): save object source tabs contextually
2026-05-15 13:28:41 +08:00
t8y2
72dd4d728b
fix(editor): route save shortcut by context
2026-05-15 13:10:43 +08:00
t8y2
164fd7fb82
feat: auto-open Driver Manager when driver is not installed
...
When a connection fails because the agent driver or JRE is not
installed, automatically open the Driver Manager page so users
can install it without navigating manually.
2026-05-14 22:40:31 +08:00
t8y2
ecb878315c
chore: add startup timing diagnostics for #270
...
Add [STARTUP] timing logs to Rust setup (plugin registration, storage
open, migration) and Vue frontend (onMounted, initFromStorage,
initFromDisk) to help diagnose slow startup reported in #270 .
2026-05-14 19:35:34 +08:00
t8y2
7e4274094d
fix(updates): delay first update check by 10s after startup
...
Prevents the update checker from blocking UI rendering on startup,
especially for users with slow GitHub connectivity.
2026-05-14 12:02:20 +08:00
t8y2
abd3450814
feat(connection): make driver manager link clickable in install hint
2026-05-14 11:03:12 +08:00
t8y2
e61efdea12
fix(i18n): translate backend error messages in connection failure toasts
2026-05-14 11:00:52 +08:00
t8y2
ce69af1de0
feat(updates): add hourly update badge
2026-05-13 23:47:20 +08:00
t8y2
5832e1b194
refactor(frontend): centralize database feature capabilities
2026-05-13 22:14:33 +08:00
t8y2
e9158390c1
feat(shortcuts): add search focus shortcut
2026-05-13 17:51:20 +08:00
t8y2
e513c260b5
feat: driver store UX improvements and multi-row range copy
...
- ESC key closes driver store before closing tabs
- Auto-scroll to driver store tab when opened
- Deactivate query tab highlight when driver store is open
- Support copying range-selected rows as JSON
- Add multiRowCount/isMultiRow computed properties for DataGrid
2026-05-13 16:34:56 +08:00
t8y2
5e30e97be4
fix: driver store scroll and replace installed text with check icon
2026-05-13 16:25:17 +08:00
t8y2
4d4c8f4224
feat: extract driver management into standalone tab page with registry cache
...
Move driver management (Agent + JDBC) out of the settings dialog into a
dedicated tab page accessible from the top toolbar. Agent drivers are shown
as a compact horizontal list; JDBC plugin/driver management is on a second
tab. Add 5-minute in-memory cache for the agent registry to avoid repeated
GitHub requests on install/uninstall/refresh operations.
2026-05-13 11:05:21 +08:00
t8y2
b0a808bc14
feat: add system theme mode
2026-05-13 10:48:34 +08:00
t8y2
1380cfe04e
feat(toolbar): add Compare Databases and Compare Data buttons
...
Expose Schema Diff and Data Compare dialogs from the top toolbar
so they can be opened without pre-selecting a connection in the
sidebar. Connections are chosen inside the dialog.
2026-05-12 17:38:13 +08:00
t8y2
bf58045a28
Revert "feat(cli): add dbx-cli runtime and agent integration ( #229 )"
...
This reverts commit 58c47adef5 , reversing
changes made to 3bcec8ef7f .
2026-05-12 17:31:54 +08:00
Illuminated2020
6518061008
fix(agent-runtime): 启动恢复后同步运行时快照
2026-05-12 16:52:34 +08:00
Illuminated2020
c144330d79
feat(runtime): 同步前端状态到 agent runtime
...
- 新增 snapshot 构造 helper 和 agent runtime store
- 同步 active tab、连接、库、schema、SQL、选中 SQL、表格选择和结果采样
- 补充 snapshot payload 组装测试
2026-05-12 16:51:34 +08:00
t8y2
01c4b744ef
fix(updater): show real app version and release notes
2026-05-12 15:15:46 +08:00
t8y2
9463ff07a7
fix(grid): preserve page size when reloading data after save
...
The reload event did not carry limit/offset, so buildTableSelectSql
always fell back to its default LIMIT 100, resetting 1000-row pages
back to 100 after every commit.
2026-05-12 13:55:15 +08:00
t8y2
1b0c17315b
feat(i18n): replace locale toggle with dropdown menu and country flags
...
Replace the single-click locale cycle button with a dropdown menu
showing all available languages with their country flag emoji.
Locale switching logic moved from App.vue into AppToolbar.vue.
2026-05-11 12:30:04 +08:00
t8y2
cb70625bd8
fix(objects): save SQL Server object source definitions
2026-05-11 12:17:18 +08:00
Marcos Leandro Bonilla Borges and Copilot Autofix powered by AI
3c0dbb3e30
feat(i18n): add Spanish localization and improve locale switching ( #212 )
...
* feat(i18n): add Spanish localization and improve locale switching
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-11 12:09:13 +08:00
t8y2
03bea705e7
feat(objects): edit database object source
2026-05-11 11:48:46 +08:00
t8y2
e03ce491af
feat(ai): add guarded SQL auto execution
2026-05-11 02:27:56 +08:00
t8y2
f456ddd979
perf: full-stack performance and security hardening
...
Frontend performance:
- Debounce DataGrid search (150ms) and replace O(n) row wrapping with index array
- Replace QueryStore deep watcher with targeted field-level persistence snapshot
- Extract shared nodeConfig computed in TreeItem (eliminates 15x redundant getConfig calls)
- Clear tab result data on close to free memory
- Add LRU eviction for completion caches (50 entry cap)
- Replace savedSql version string join with numeric counter
Memory leak fixes:
- Store Tauri event unlisten handles and clean up on unmount
- Clean up DataGrid search timer on unmount
Backend security & resource management:
- Add 50MB request body size limit
- Reject file uploads >100MB and SQL files >200MB
- Clean up SSE channels after transfer/import completes
- Recover from poisoned mutex instead of panicking
- Delete temporary upload files after preview
- Validate SQL file paths to prevent directory traversal
2026-05-11 00:18:09 +08:00
t8y2
0e0195f734
feat(objects): add virtual object browser
2026-05-10 18:32:24 +08:00
t8y2
f5b36a0f60
feat(history): track database activity
2026-05-10 14:18:20 +08:00
t8y2
5a15d7a424
fix(ui): refine layout polish
2026-05-10 10:17:18 +08:00
t8y2
ebc905a478
feat(ui): add layout preference
2026-05-10 10:11:55 +08:00
t8y2
28f8c88ea9
feat(ui): refine panel and tab chrome
2026-05-10 09:54:21 +08:00
t8y2
cb7428b5a3
feat(ui): refine app chrome layout
2026-05-10 09:37:02 +08:00
t8y2
b013a2ac29
feat(sql): persist SQL library in app database
2026-05-10 00:41:17 +08:00
t8y2
cac383e6bf
feat(sql): add saved SQL library
2026-05-10 00:33:25 +08:00
rarnu
9261cb71a2
1. src/components/grid/DataGrid.vue
...
- 左侧搜索框:移除了 WHERE 支持(isWhereSearch 永远返回 false),现在是纯客户端文本过滤。保留了列名代码提示功能(Tab 补全、箭头导航)。
- WHERE 框:新增列名代码提示(独立的下拉建议面板),支持单双引号和小括号自动配对,Enter 直接应用过滤。
- ORDER BY 框:新增列名代码提示(同样的建议面板),Enter 直接应用排序。
- 刷新/回滚/提交:reload emit 现在传递 4 个参数 (sql, searchText, whereInput, orderBy),确保刷新后所有条件不丢失。
- 分页/排序:统一使用新的 currentWhereInput() 函数,替代已废弃的 activeWhereInput。
- 删除了 applyWhereSearch() 和 onSearchEnter()(左侧搜索不再需要执行 WHERE 查询)。
2. src/composables/useDataGridActions.ts
- onReloadData() 签名改为接受 4 个参数 (sql, searchText, whereInput, orderBy)。
- table-data 模式刷新时,用 buildTableSql(tab, { whereInput, orderBy }) 重建 SQL,保留 WHERE 和 ORDER BY 条件。
3. src/components/layout/ContentArea.vue
- reload emit 签名同步更新为 4 个参数。
- results 模式和 table-data 模式两个 DataGrid 的 @reload 处理器都转发全部 4 个参数。
4. src/App.vue
- ContentArea 的 @reload 处理器转发 4 个参数给 onReloadData()。
2026-05-09 15:04:06 +08:00
t8y2
4c5de25f95
fix: enable tab context menu (close all/close others/close right)
2026-05-09 11:56:09 +08:00
t8y2
acfe9d1b23
fix: disable native context menu and add sidebar refresh button ( #159 )
...
Prevent browser native "Reload" from resetting app state in Tauri,
and add a refresh button to the sidebar header for convenience.
2026-05-08 19:05:21 +08:00
t8y2
92fe47b913
fix: pass SQL directly in AI execute to avoid stale state ( #153 )
...
When executing SQL from the AI panel, pass the SQL string directly to
tryExecute() instead of relying on the executableSql computed property,
which could use stale selectedSql or cursorPos values.
2026-05-08 16:45:01 +08:00
rarnu
47ad960bbb
Fix: DataGrid数据集和工具栏的修复及加强 ( #157 )
...
* fix: 修复结果集内的数据过滤功能
* add: 将原先误删的WHERE查询加回
* add: 合并事务栏和搜索栏,并且在结果集中不启用搜索功能
* add: 修复在表数据和结果集模式下,DataGrid刷新时未保留查询条件的问题,将表数据和结果集的处理逻辑进行拆分
* add: 与主分支合并,解决冲突
* add: 恢复i18n
* add: 恢复useDataGridActions.ts
* add: 恢复ContentArea.vue
* add: 恢复DataGrid.vue
* fix: 修复括号自动配对的bug
* add: 将DDL按钮移到表数据编辑的第一行尾,并且不在DataGrid中显示
2026-05-08 16:04:21 +08:00
t8y2
52add6a503
fix: raise toast z-index above dialog overlay
2026-05-07 23:30:34 +08:00
Bacon2994
f9d6edb136
feat(connection): 支持设置默认数据库
...
统一新建查询的默认数据库选择逻辑,减少重复手动选择。
2026-05-07 16:49:56 +08:00
t8y2
629bd02b0f
refactor: centralize database type groups into databaseCapabilities.ts
...
Extract all inline database type checks (schema-aware, pagination style,
feature support sets, etc.) into a single source of truth. Adding a new
database type now requires updating only one file instead of 15+.
2026-05-07 02:36:50 +08:00
rarnu
969f441753
add: 对SQL编辑器增加Ctrl(Mac下是Cmd)+左键点击的功能,点击表名可以查看建表DDL,点击列名可以查看列信息 ( #122 )
...
* add: 对SQL编辑器增加Ctrl(Mac下是Cmd)+左键点击的功能,点击表名可以查看建表DDL,点击列名可以查看列信息
* add: 修复联表情况下获取列信息的问题
* fix: 修复联表场景下的SQL语句提示
* remove: 移除不需要的调试打印
* add: 补充'列详情'多语言字段
* remove: 移除不必要的函数
* remove: 移除不必要的导入
* add: 目前会分析SQL语句内引用的表,并且只加载对应的表内的列信息,不再对全表做列信息拉取
2026-05-07 01:04:52 +08:00
t8y2
b6a39c1fa0
feat(query): set schema context (search_path) before query execution ( #113 )
...
Add schema selector to the editor toolbar for schema-aware databases
(PostgreSQL, SQL Server, Oracle). When a schema is selected, the backend
sets the appropriate search_path before executing queries so users no
longer need to write schema-qualified table names.
2026-05-06 18:22:41 +08:00
t8y2
0f40488bf1
feat(web): add password setup page, change password, and settings tabs
...
- First-time visitors see a password setup page instead of open access
- Password persisted to SQLite (env var DBX_PASSWORD takes priority)
- Add change password in settings dialog (Security tab, web only)
- Split settings dialog into Editor and Security tabs
- Argon2 hashing for all password storage
2026-05-05 22:22:04 +08:00
skyler
6918903cad
Merge pull request #95 from wu-clan/optimize-conn-error
...
feat: optimize connection error alerts
2026-05-05 17:35:03 +08:00