Commit Graph
697 Commits
Author SHA1 Message Date
CSXFanMeng 82e9df1853 feat(export): add all-database export 2026-07-02 21:16:56 +08:00
t8y2 d249bd5ac8 feat(settings): add interface font selection 2026-07-02 19:55:43 +08:00
二丫讲梵 af9ad39ffb feat(sidebar): 添加一键折叠所有节点功能
- 在侧边栏中添加了“折叠所有”按钮,用户可以一键折叠所有展开的节点。
- 更新了相关的国际化文本,支持多语言。
- 增加了 collapseAllGroups 和 collapseExpandedTreeNodes 函数以支持新功能。
2026-07-02 18:50:01 +08:00
zipgandstaff 4efff9a190 fix(editor): prompt before closing unsaved SQL tabs
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-02 16:43:55 +08:00
Abeautifulsnow a0754206d3 feat(ai-config): persist AI settings per provider (#2412)
## 背景说明
AI 设置原本只有一个配置槽,切换模型厂商时会覆盖之前填写的 endpoint、API Key、model 等信息。本次改动让每个模型厂商各自保存一份配置,并在设置页和对话窗口提供已配置状态与快速切换能力。

## 修改内容
- 新增 ai_provider_configs 存储表,用于按 provider 保存独立 AI 配置
- 新增 Tauri/Web API:保存和加载 provider 级 AI 配置
- 设置页 provider 下拉展示“当前/已配置”状态
- 设置页切换 provider 前会先保存当前表单编辑内容,避免未保存输入丢失
- 对话窗口模型选择器支持查看并切换已配置过的其他 provider
- provider 配置保存时强制 config.provider 与 provider key 一致,避免错位配置污染
- 所有语言补齐新增 i18n 文案

## 修复的问题
- 切换模型厂商时原厂商配置会丢失
- 设置页切换 provider 时本地表单编辑态可能未保存
- provider key 与 config.provider 不一致时可能激活错误厂商
- 对话窗口模型选择器只能看到当前 provider 的模型,不能看到其他已配置厂商

## 测试
- npx tsc --noEmit
- cargo check -p dbx-core
- cargo check -p dbx-web
- cargo check --manifest-path src-tauri/Cargo.toml
2026-07-02 14:24:57 +08:00
47dc35ccb2 feat(settings): 启动时标签页恢复策略三选项 (all/pinned/none) (#2395)
* feat(settings): 添加启动标签页恢复策略

* i18n: 补齐启动标签页恢复策略 5 个 locale 译文

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-02 12:23:24 +08:00
8747df53ef fix(mongodb): support multi-command execution
* fix mongodb multi-command execution

* fix(connection): 复制连接时保持在同一组内

- 修改 `addConnection` 方法以支持指定目标组 ID
- 更新 `duplicateConnection` 函数以传递目标组 ID
- 添加测试用例以验证复制连接的功能

* fix: add MongoDB data transfer entry

* feat(editor): SQL 编辑器选区大小写转换

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>

* fix(editor): 修复SQL快捷执行导致执行全量SQL的问题 (#2384)

- 将执行SQL语句的逻辑从直接请求改为通过事件发射
- 增强了代码的可扩展性和可维护性

* fix(sidebar): cache tooltip overflow measurement

* fix(dialog): allow dragging window from modal overlay

* fix(oracle): reuse shared pool for data tabs

* fix(sidebar): reduce comment text repaint cost

* fix(saved-sql): preserve folder on metadata save

* fix(agent): execute transaction control SQL as statements

* feat(vector): add Qdrant/Milvus collection dimension display (#2396)

* fix(oracle): 修复时间字段编辑和表结构修改报错

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>

* fix(agents): limit common version bumps

---------

Co-authored-by: 二丫讲梵 <eryajf@163.com>
Co-authored-by: zipg <geeky@foxmail.com>
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
Co-authored-by: t8y2 <1156263951@qq.com>
Co-authored-by: lexmin0412 <zhangle_dev@outlook.com>
2026-07-02 12:19:38 +08:00
t8y2 18710ce2ab fix(saved-sql): preserve folder on metadata save 2026-07-02 11:55:26 +08:00
t8y2 d1684bc4d4 fix(oracle): reuse shared pool for data tabs 2026-07-02 11:48:02 +08:00
二丫讲梵 c2cc9f22cf fix(connection): 复制连接时保持在同一组内
- 修改 `addConnection` 方法以支持指定目标组 ID
- 更新 `duplicateConnection` 函数以传递目标组 ID
- 添加测试用例以验证复制连接的功能
2026-07-02 10:34:48 +08:00
Abeautifulsnow d55a708d6a feat(query): add manual transaction controls 2026-07-02 01:30:31 +08:00
t8y2 58e2d983c2 fix(tabs): restore previous tab after data tab close 2026-07-02 00:48:30 +08:00
ff1a0f5eda fix: 隔离 MySQL 大库场景前台查询与后台元数据加载 (#2354)
* fix: isolate data tab mysql queries from metadata loads

* refactor(completion): drop unused limiter snapshot and share concurrency constant

---------

Co-authored-by: zero <zero@zeroMacmini.local>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-01 20:03:09 +08:00
luoianun 95e3cb6571 fix(presto): optimize metadata completion 2026-07-01 19:05:45 +08:00
onenewcode 93eeeaa9c6 feat(mongo): add dropIndex and dropIndexes support across full stack 2026-07-01 17:53:09 +08:00
t8y2 d6a0da7169 fix(tabs): prompt before closing dirty tabs 2026-07-01 15:50:08 +08:00
t8y2 74165cc045 fix(data): decouple table open limit from result page size 2026-07-01 15:14:32 +08:00
zipgandstaff 8129ecda88 fix(editor): keep edit-structure entry across table property tabs
* fix: 保留表属性编辑结构入口

* fix: 加深表属性页签选中态

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-01 12:51:44 +08:00
miracle 0c91fecf5d feat(editor): add table copy/paste keyboard shortcuts
* feat: add table copy/paste with configurable structure and data options

- Implement Navicat-style table copy/paste functionality
- Support multi-table selection and batch operations
- Configurable paste modes: structure+data (default), structure only, data only
- Backend: add build_copy_table_data_sql API (INSERT INTO ... SELECT)
- TreeItem.vue: copy/paste context menus, paste dialog with mode selection
- ObjectBrowser.vue: batch toolbar buttons, context menu, paste dialog
- Refactor TreeClipboard type to support multi-table entries
- Add i18n keys for all 7 locale files (en, zh-CN, zh-TW, ja, es, it, pt-BR)

* Fix table paste shortcuts

* Fix Kafka MQ sidebar detection

* Restrict table paste scope

* Support data copy for primary SQL databases
2026-07-01 12:49:37 +08:00
二丫讲梵 2e8d399dab feat(queryStore): 添加数据库打开状态跟踪功能 (#2251)
- 新增 isDatabaseOpen 方法,用于检查特定连接的数据库是否处于打开状态
- 在 TreeItem 组件中显示数据库打开指示器
- 添加 queryStore.database-open.spec.ts 测试文件,验证数据库打开状态的逻辑
2026-06-30 22:43:38 +08:00
zipgandstaff c4de3738fc Improve: 记住单元格详情 JSON 格式化状态 (#2252)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-30 22:38:45 +08:00
onenewcode b90e4fd64e feat(mongodb): support createIndex shell command (#2187) 2026-06-30 21:34:58 +08:00
zipgandstaff c38bc05417 Fix:修复 SQL 子查询语义诊断误报 (#2184)
* Fix:修复 SQL 子查询语义诊断误报

* Improve:添加 SQL 语义诊断开关

* Improve:优化 SQL 语义诊断开关说明

* Fix:收紧 SQL 语义诊断飘红范围

* Improve:调整 SQL 语义诊断默认策略

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-30 20:15:59 +08:00
t8y2 25dcbeb7e4 feat(oscar): add OSCAR database support 2026-06-30 20:07:55 +08:00
B022MC cb8989153a fix: 修复连接树偶发只剩用户与权限 2026-06-30 17:34:13 +08:00
zipg 95be4fb195 fix: 修复 SQL Server 列注释显示 2026-06-30 17:31:57 +08:00
miracle 7cec4892bf feat(kafka): support Kafka MQ admin client 2026-06-30 17:01:24 +08:00
funnytime 3e7cf30ce5 feat(grid): add data grid quick entry 2026-06-30 09:14:44 +08:00
zipg a458ebd08f feat(table): add table font size control (#2095) 2026-06-30 01:57:14 +08:00
lexmin0412 c04203ca90 fix(vector): use specified database for Milvus collection listing (#2087) 2026-06-30 01:53:48 +08:00
zipg dab1d145bc fix(connection): show built-in driver update hint on connection failure (#2111) 2026-06-30 01:52:37 +08:00
zipg 267768ecbd Fix: keep simple sidebar table pagination bounded (#2092) 2026-06-30 00:08:41 +08:00
zipg a65a5881d5 Fix:保留表结构编辑未保存草稿 2026-06-29 12:11:59 +08:00
Guoyu Su 7a5984a1fd fix(mongodb): support shell projection and db.version 2026-06-29 00:27:27 +08:00
zipg 33422ec921 feat(mongodb): support editing find query results 2026-06-28 18:59:27 +08:00
zipg 56fb49058f fix(sidebar): preserve comment-matched tables during remote table list refresh 2026-06-28 18:52:40 +08:00
二丫讲梵 433907e96e feat(grid): support result source labels 2026-06-28 13:58:23 +08:00
t8y2 8a5e45150a fix(ci): format saved SQL store 2026-06-27 16:10:10 +08:00
zipgandstaff b85b14bfde Fix: 优化 SQL 库启动加载
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-27 15:07:26 +08:00
t8y2 73120883b6 fix(dameng): separate materialized view metadata 2026-06-27 14:29:44 +08:00
huangyemin 4ad6723512 feat(ai): support custom Anthropic messages API 2026-06-27 10:02:13 +08:00
eryajf 76e2d33cd3 feat(update): add configurable update download source 2026-06-26 22:25:42 +08:00
miracleandonceMisery d128604743 fix(connection): 修复数据库连接超时后无法可靠恢复的问题
* feat(core): implement PIP-0001 database connection timeout recovery

- Add DbOperationBudget struct for unified execution budget model
- Add deadpool create/recycle timeout for PostgreSQL pools
- Add checkout_postgres_client helper replacing 14 bare pool.get() calls
  with timeout + cancel token support
- Fix PostgreSQL TLS cancel: rebuild TLS connector from stored context,
  fallback to NoTls on failure
- Add timeout to MySQL kill_query and kill_query_with_opts (5s)
- Extend is_connection_error to match deadpool pool timeout messages
- Unify keepalive default to 30s (was 60s Rust / 0s frontend mismatch)
- Inject PostgreSQL TCP keepalive params (idle=30s, interval=10s, retries=3)
- Inject MySQL tcp_keepalive=30s in OptsBuilder
- Make MySQL inactive_connection_ttl configurable from idle_timeout_secs
- Add stage-based structured logging for pool.checkout/health.check/cancel
- Store PostgresCancelContext in AppState for TLS cancel reconstruction
- Clean up cancel contexts on pool removal/drain
- Add unit tests for DbOperationBudget and pool timeout error detection

* fix(core): align timeout recovery with PIP-0001

* fix(core): handle timeout recovery review issues

* fix(core): complete connection timeout recovery

* fix(core): fall back postgres cancel connector build

* refactor: revert comment translations to English in connection.rs and query.rs

- Revert DbOperationBudget doc comments to English (query.rs)
- Revert PostgresCancelContext and TLS cancel comments to English (connection.rs)
- Keep Chinese error-matching strings in is_connection_error unchanged

---------

Co-authored-by: onceMisery <onceMisery@users.noreply.github.com>
2026-06-26 21:41:56 +08:00
zipgandstaff dbfe284ca9 fix: 修复侧边栏定位表节点异常及连接配置测试字段缺失
* Fix: 修复侧边栏定位表节点异常

* Fix: 修复连接配置测试字段缺失

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-26 13:59:29 +08:00
zipgandstaff d6052cff8b fix: 避免过期连接尝试残留错误提示
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-26 12:32:02 +08:00
dalew d815a16b86 feat(redis): move scan page size to connections 2026-06-26 11:13:34 +08:00
二丫讲梵 ad6e13dba8 feat(sidebar): 添加展开全部功能并支持多语言
- 新增 loadAllObjectGroupChildren 函数以加载所有对象组子项
- 在侧边栏菜单中添加“展开全部”选项
- 更新多语言文件以支持“展开全部”文本
2026-06-26 09:54:20 +08:00
t8y2 dff94d60f5 fix(oceanbase): show oracle mode schemas in sidebar 2026-06-26 02:03:00 +08:00
lexmin0412 c2376494d3 feat(vector): add ChromaDB support 2026-06-26 01:41:36 +08:00
zipg 0f312084ff fix(sidebar): paginate table list by page size 2026-06-25 23:54:09 +08:00