Commit Graph
1023 Commits
Author SHA1 Message Date
t8y2 64d7892d58 feat(release): bump app to 0.5.45 2026-07-04 04:28:02 +08:00
miracle 30b9460442 fix(dbx-core): improve duckdb query cancellation 2026-07-04 02:31:32 +08:00
Fody Jute 2225343e8a fix(dbx-core): preserve mysql cross-database targets 2026-07-04 00:58:52 +08:00
t8y2 69f880fdf1 fix(transfer): preserve target table name case 2026-07-04 00:12:42 +08:00
t8y2 b80f3e8088 feat(connection): add HTTP tunnel 2026-07-03 22:11:03 +08:00
onenewcode 91c77e53c4 feat(mongodb): support collection stats shell commands
Add db.coll.stats() / dataSize() / storageSize(scale) / totalIndexSize()
so these MongoDB shell commands return a result grid instead of the
"Use MongoDB shell-style commands" error (issue #2529).

- backend: collStats via mongo_driver.collection_stats, wired through
  mongo_ops, the dbx-web /mongo/collection-stats route, the tauri
  mongo_collection_stats command, and the MCP data bridge
- node-core: parseMongoCollectionStatsCommand + result formatter and
  executeQuery dispatch (web build + MCP path)
- desktop: mirror the parser/executor/autocomplete in mongoShellCommand.ts,
  queryStore.ts, api/tauri/http facade, and mongoCompletion.ts
- tests for the parser, result formatter, and completion entries

Close #2529
2026-07-03 21:32:29 +08:00
t8y2 06e653b0bb fix(export): stream postgres query result exports 2026-07-03 20:02:19 +08:00
c8efe06ddc fix(core): Oracle 复制 INSERT 按行生成语句
* fix(core): emit oracle copy inserts per row

* refactor(core): extract single-row insert dialect check into sql_dialect

---------

Co-authored-by: zero <zero@zeroMacmini.local>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-03 19:33:18 +08:00
gggdsg b60f8b2039 feat(mongodb): add TLS connection options in connection tab (#2515)
Add MongoDB TLS options (`tlsAllowInvalidCertificates`, `retryWrites`, `tlsCAFile`) to the connection form with backend URL normalization and DocumentDB/SSH tunnel guidance, while preserving legacy `tlsCAFile` in `url_params` for existing DocumentDB users, hardening auth failure hint matching, and clarifying TLS bypass security labels.
2026-07-03 19:25:01 +08:00
f826cb5d38 feat(mongo): add GridFS manager for MongoDB
* feat(mongo): browse GridFS buckets and files

Refs #2342

* feat(mongo): add GridFS manager for MongoDB

* chore(i18n): autofill new translations

---------

Co-authored-by: dbx-i18n-bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-03 18:34:00 +08:00
t8y2 a8abb1c478 fix(import): use single-row inserts for Oracle 2026-07-03 18:04:23 +08:00
t8y2 54dc3c1c18 fix(sqlserver): use alter for routine source 2026-07-03 17:21:49 +08:00
t8y2 d65b0e5548 feat(mysql): append semicolon to table DDL 2026-07-03 16:46:03 +08:00
t8y2 0894334764 fix(firebird): use rows syntax for pagination 2026-07-03 16:22:31 +08:00
t8y2 d205f47a8f fix(grid): preserve high-precision numeric edits 2026-07-03 16:08:20 +08:00
LRcoding 21cec24e75 fix(mysql): support cleartext password auth option (#2499) 2026-07-03 13:47:47 +08:00
t8y2 3d3b0a688f fix(mysql): preserve copied BLOB hex literals 2026-07-03 12:24:21 +08:00
t8y2 b6274858fe fix(agent): preserve JDBC decimal precision 2026-07-03 11:41:36 +08:00
t8y2 9676ed764e fix(agent): validate selected driver artifact 2026-07-03 10:31:52 +08:00
t8y2 b51d6f02df chore: bump module versions 2026-07-03 01:06:54 +08:00
LRcoding f16454a403 fix(app): preserve object source formatting 2026-07-02 20:21:22 +08:00
Abeautifulsnow e7dffeca37 fix(ai): tool call status cards, table overflow, streaming TextDelta
* fix(ai): merge tool call status cards

* fix(ai): constrain markdown table overflow

* fix(ai): restore streaming of answer text via TextDelta events

The on_chunk closure was missing live AgentEvent::TextDelta emission for text content, causing the AI answer text to appear all at once after the turn completed. Reasoning deltas were unaffected.

Root cause: commit c30033628 rewrote the on_chunk closure and accidentally dropped the TextDelta emit line while keeping ReasoningDelta intact.

Fix: restore TextDelta emit in on_chunk for incremental streaming, and remove the post-turn full-TextDelta workaround which would duplicate content.

* test(ai): extract chunk_to_events and add streaming event tests

Extract the event-generation logic from the on_chunk closure into a pure function chunk_to_events() to make it testable, and add 6 unit tests covering all chunk content combinations: text-only, reasoning-only, mixed, empty, and edge cases.

This ensures a regression like the one fixed in the previous commit (where TextDelta emission was dropped while ReasoningDelta was kept) would be caught by tests.
2026-07-02 18:49:50 +08:00
t8y2 d35c966390 fix(redis): batch sparse key searches 2026-07-02 18:41:25 +08:00
t8y2 44c91ae47d fix(connection): default Vastbase agent database 2026-07-02 18:40:12 +08:00
t8y2 3e01840825 fix(ai): remove temperature from AI requests 2026-07-02 17:58:35 +08:00
Tony Tang 23b9228f82 feat(connection): add StarRocks TLS support 2026-07-02 16:37:20 +08:00
ptma 424a7a1b42 feat(influxdb): improve InfluxDB error message extraction 2026-07-02 14:46:33 +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
clj1566317 486b9ee8ed fix redis sentinel tunnel route 2026-07-02 14:21:52 +08:00
lexmin0412 3888be8e5e feat(vector): add vector search for Qdrant, Milvus, Weaviate and ChromaDB (#2408) 2026-07-02 13:58:03 +08:00
LRcodingandzero 4fdfbf61c5 fix(app): 支持 GoldenDB 和 Vastbase 新建数据库入口 (#2361)
Co-authored-by: zero <zero@zeroMacmini.local>
2026-07-02 13:44:42 +08:00
t8y2 643b397f06 fix(sql-file): retry mysql statement once on transient connection error 2026-07-02 13:23:12 +08:00
onenewcode 71e618dd46 fix: support mysql install scripts without selected database (#2356) 2026-07-02 13:18:49 +08:00
miracle 72a7207283 fix(kafka): improve mq admin compatibility 2026-07-02 12:58:33 +08:00
zipgandstaff d9f50644eb fix(oracle): 修复时间字段编辑和表结构修改报错
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-02 12:09:05 +08:00
lexmin0412 24d952dc12 feat(vector): add Qdrant/Milvus collection dimension display (#2396) 2026-07-02 12:08:30 +08:00
t8y2 2c9f07755f chore(release): bump app version to 0.5.43 2026-07-02 02:55:25 +08:00
Abeautifulsnow d55a708d6a feat(query): add manual transaction controls 2026-07-02 01:30:31 +08:00
二丫讲梵 f871e00330 feat(ai): support OpenAI max completion tokens 2026-07-02 01:15:49 +08:00
t8y2 a435c76250 fix(transfer): skip create DDL for existing targets 2026-07-02 00:49:32 +08:00
t8y2 bd659c322c fix(mongodb): treat SRV URLs as seed lists 2026-07-02 00:49:05 +08:00
t8y2 0c4ae7caf6 fix(mongodb): support shell delete commands 2026-07-01 20:23:51 +08:00
zipgandstaff 30f1c58e9d Fix:修复SQL INSERT导出时间格式
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-01 19:42:42 +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
onenewcode e09ec3cd7a fix(mongo): preserve BSON types in MongoDB-to-MongoDB transfer 2026-07-01 16:31:39 +08:00
zipgandstaff 4da237d955 fix(app): 修复 Oracle 表结构已有字段识别
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-01 16:05:01 +08:00
ptma 889d0af92c perf(structure): minimize column reorder SQL generation 2026-07-01 14:38:34 +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
zipgandstaff 5d2ce9f189 fix(sqlserver): restrict identity to compatible column types
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-01 12:48:37 +08:00