Commit Graph
1234 Commits
Author SHA1 Message Date
Abeautifulsnow fe4908321e feat(ai): support editing sent user messages
* feat(ai): support editing sent user messages

Adds inline edit support for user messages in the AI chat panel.
Hover over a user message to reveal the edit button; confirming the
edit truncates all subsequent history and re-sends with the new content.

* fix(ai): fix IME composition and ref-focus regression in message edit

- Handle IME composition events in onEditKeydown to prevent accidental
  submission on Enter during CJK candidate selection
- Replace per-render :ref focus callback with nextTick + data attribute
  to avoid cursor jumping on every keystroke
- Extract visibleToActualIndex into aiMessageEdit.ts for testability
- Add 8 unit tests covering index mapping with contextSummary messages

* fix(ai): prevent data loss and mention pollution in message edit

- Guard connection/config before truncating messages to prevent silent data
  loss when send() bails early
- Clear selectedMentions before resend to prevent stale chips from polluting
  edited message content
2026-07-03 15:18:56 +08:00
二丫讲梵 f1f4518b67 feat(ai-table-mentions): 增加AI表格提及候选项的过滤和格式化功能 (#2502)
- 引入AI表格提及候选项的限制常量
- 实现过滤候选项的函数,支持根据表名过滤
- 添加单元测试以验证提及解析和候选项过滤的功能
2026-07-03 14:17:43 +08:00
t8y2 1ff3676531 fix(data): use saved row limit for table opens 2026-07-03 14:00:39 +08:00
LRcoding 21cec24e75 fix(mysql): support cleartext password auth option (#2499) 2026-07-03 13:47:47 +08:00
t8y2 cabe89a19b fix(mongodb): support legacy count helpers 2026-07-03 13:25:36 +08:00
t8y2 c702149931 fix(ui): unify sidebar tooltips 2026-07-03 12:41:25 +08:00
Abeautifulsnow d6ef9f140a fix(ai): bound schema context and result preview to prevent oversized AI payloads (#2496)
* fix(ai): limit indexes and foreign keys per table in schema context

Prevent AI input token spikes caused by tables with large numbers of
indexes or foreign keys being fully serialized into the system prompt.

Apply a default cap of 10 indexes and 10 FKs per table in all three
schema-loading paths: focused_table mode, database mode, and
loadMentionedTableContext for @-mentioned tables.

Both limits are configurable via buildAiContext options
(maxIndexesPerTable, maxFksPerTable).

* fix(ai): truncate large column values in result preview

Prevent input token explosion when the active tab contains large text
or JSON fields (e.g. request_body, response_body in audit log tables).

formatResultPreview previously serialized each value without any length
limit, so 5 rows from a wide table with multi-KB text columns could
produce 100K+ tokens in the system prompt.

Cap each serialized value at 200 characters with an ellipsis suffix.
2026-07-03 12:04:00 +08:00
二丫讲梵 710eb3d008 fix(sidebar): correct import/export button icons (#2492) 2026-07-03 11:30:20 +08:00
一颗红心 69bfd59c3c fix(sql-library): restore Ctrl+click multi-select on Windows (#2470) 2026-07-03 11:12:49 +08:00
t8y2 6f2e4774f4 feat(updates): add AtomGit update download source 2026-07-03 11:01:27 +08:00
Spencer.Chang cb42a4184a fix(editor): avoid run gutter for MySQL REPLACE function 2026-07-03 10:36:03 +08:00
t8y2 60abe59a80 fix(redis): copy displayed key name 2026-07-03 00:14:11 +08:00
t8y2 46c0309c39 fix(grid): cover horizontal wheel pagination 2026-07-03 00:02:11 +08:00
t8y2 ff73a1df42 fix(editor): keep semicolon cursor on statement 2026-07-03 00:00:44 +08:00
t8y2 8be2136658 feat(redis): add copy key name action 2026-07-02 23:59:24 +08:00
一颗红心andCursor 97f107caac fix(app): unify import/export icons and clarify result archive tooltip
* fix(app): unify import and export icons across sidebar surfaces

Use Upload for import actions and Download for export actions in the
connection sidebar, object browser, connection tree menus, and table
toolbox so icon semantics match the rest of the app.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(i18n): rename import result archive tooltip label

Clarify the editor toolbar action as importing a saved result archive so
it pairs clearly with the save result archive action.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 23:45:02 +08:00
大峰 9083dc0e53 fix(editor): support qualified table navigation 2026-07-02 22:00:51 +08:00
CSXFanMeng 82e9df1853 feat(export): add all-database export 2026-07-02 21:16:56 +08:00
LRcoding f16454a403 fix(app): preserve object source formatting 2026-07-02 20:21:22 +08:00
zipgandstaff 4c96aa6e40 Feature: SQL 编辑器右键支持编辑表结构 (#2456)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-02 20:20:32 +08:00
t8y2 d249bd5ac8 feat(settings): add interface font selection 2026-07-02 19:55:43 +08:00
Guoyu Su 074715b002 fix(redis): connect pubsub to desktop websocket server 2026-07-02 19:47:41 +08:00
二丫讲梵 af9ad39ffb feat(sidebar): 添加一键折叠所有节点功能
- 在侧边栏中添加了“折叠所有”按钮,用户可以一键折叠所有展开的节点。
- 更新了相关的国际化文本,支持多语言。
- 增加了 collapseAllGroups 和 collapseExpandedTreeNodes 函数以支持新功能。
2026-07-02 18:50:01 +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 3e01840825 fix(ai): remove temperature from AI requests 2026-07-02 17:58:35 +08:00
Guoyu Su 5cd87e862d fix(desktop): remove duplicate popover import 2026-07-02 17:56:19 +08:00
Spencer.Chang b249768322 fix(grid): improve condition history dropdown behavior 2026-07-02 16:46:46 +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
Tony Tang 23b9228f82 feat(connection): add StarRocks TLS support 2026-07-02 16:37:20 +08:00
zipgandstaff eaa0d7e735 feat: 增强标签溢出列表操作 (#2399)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-02 16:12:34 +08:00
zipgandstaff 022df3665f feat: 优化编辑表结构页面体验 (#2406)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-02 16:09:53 +08:00
onenewcode 1ef757e88f feat: fix Redis key search visibility 2026-07-02 15:13:11 +08:00
t8y2 3694781508 fix(i18n): complete missing locale keys and remove dead keys 2026-07-02 15:03:17 +08:00
ptma 424a7a1b42 feat(influxdb): improve InfluxDB error message extraction 2026-07-02 14:46:33 +08:00
zipgandstaff a6df5c1f35 feat(grid): compact JSON action in cell detail editor
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-07-02 14:32:23 +08:00
t8y2 937131a426 feat(i18n): add auto-refresh translations for zh-TW, ja, es, it, pt-BR 2026-07-02 14:30:43 +08:00
xiaoliangLand李晓亮 e9fa72285c feat(grid): add auto refresh for data grid results
Co-authored-by: 李晓亮 <lixiaoliang@midu.com>
2026-07-02 14:28:58 +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
dalew fd99fc8448 fix(redis): resolve protected mode UI issues (#2362) 2026-07-02 14:03:19 +08:00
lexmin0412 3888be8e5e feat(vector): add vector search for Qdrant, Milvus, Weaviate and ChromaDB (#2408) 2026-07-02 13:58:03 +08:00
onenewcode 71e618dd46 fix: support mysql install scripts without selected database (#2356) 2026-07-02 13:18:49 +08:00
lexmin0412 730f839e74 feat(vector): use collection dimension for upsert sample vectors (#2401) 2026-07-02 13:00:29 +08:00
miracle 72a7207283 fix(kafka): improve mq admin compatibility 2026-07-02 12:58:33 +08:00
t8y2 e4e4fa8482 fix(sidebar): apply comment font only on Windows 2026-07-02 12:35:51 +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
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 18710ce2ab fix(saved-sql): preserve folder on metadata save 2026-07-02 11:55:26 +08:00