t8y2
eb9030b9ef
fix(editor): allow dropped table references
2026-05-30 09:37:13 +08:00
t8y2
e324f35f28
feat(editor): support dragging tables into queries
2026-05-30 09:31:07 +08:00
t8y2
81e50cadb5
feat: add XuguDB agent support
2026-05-30 09:12:34 +08:00
t8y2
ba9dad7f7b
chore: remove brittle source-code regex-matching tests
...
These 81 test files used readFileSync to check source code for regex
patterns. They broke on any formatting change or minor refactor and
provided no behavioral coverage. 641 real unit tests remain.
2026-05-29 18:05:12 +08:00
Abeautifulsnow
310cc22b37
Fix/disable table comment for unsupported db ( #518 )
...
* fix(structure-editor): disable table comment input for databases that don't support comments (e.g. SQLite)
## 背景说明
SQLite 不支持表注释(COMMENT),但表注释输入框始终可编辑。用户修改注释后,SQL 预览显示暂无变更且应用变更按钮不可用,造成困惑的 UX。
## 修改内容
- 新增 isTableCommentDisabled 计算属性,基于 structureCapabilities.comment 控制禁用状态
- 表注释 Input 添加 :disabled 绑定,禁用时输入框变灰不可编辑
- 禁用时在输入框右侧显示 Info 图标,hover 显示 Tooltip 说明
- 三语言(zh-CN / en / es)新增 tableCommentUnsupported 翻译
## 影响范围
- SQLite、DuckDB 及未知数据库类型:输入框被禁用 + Tooltip 提示
- MySQL、PostgreSQL、ClickHouse 等支持注释的数据库:完全不受影响
- 后端 generate_comment_ddl 已有对等过滤(仅 Postgres/Oracle/ClickHouse 生成 COMMENT SQL)
## 测试
- 建议补充:dbType 为 sqlite 时 isTableCommentDisabled 为 true 的单元测试
* test(structure-editor): add tests for table comment disabled state and unsupported DB capabilities
2026-05-29 12:29:50 +08:00
t8y2
660ba07264
feat(sidebar): add compact object display mode
2026-05-29 01:17:46 +08:00
t8y2
c7b7bed140
feat(editor): add extended column properties support for MySQL, PostgreSQL, and SQL Server
...
MySQL: AUTO_INCREMENT, ON UPDATE CURRENT_TIMESTAMP
PostgreSQL: GENERATED AS IDENTITY (BY DEFAULT / ALWAYS)
SQL Server: IDENTITY(seed, increment)
2026-05-29 00:41:51 +08:00
t8y2
e15e99aeb5
fix(ci): make Emitter import unconditional and update defineExpose test regex
...
- Move Emitter import out of macos-only cfg so emit() works on Linux
- Update test regex to include scrollCursorIntoView in defineExpose
2026-05-28 22:09:54 +08:00
徐文彬
5ea146e08e
fix(mongodb): guard aggregate execution paths
2026-05-28 21:29:08 +08:00
徐文彬
c56bcb8e2d
feat(mongodb): 支持聚合查询、批量写入和 MCP 集成
...
- 桌面端:解析 db.<集合>.aggregate([...]) shell 语法,新增 mongoAggregateDocuments
接口(Tauri + HTTP);mongo 入口统一补 ensureConnected;ObjectId(...) 自动
转换为 {"\$oid":"..."} 扩展 JSON 表示。
- dbx-core:新增 aggregate_documents、insert/update/delete_documents bulk
操作;扩展 JSON 解析识别 \$oid;schema list_tables_core 补 MongoDB/Elasticsearch
分支返回 COLLECTION/INDEX。
- dbx-web / Tauri 命令 / MCP bridge:注册 4 个新 mongo 路由
(aggregate/insert/update/delete documents);MCP bridge 新增 mongo HTTP 入口
和 lazy 连接复用。
- node-core (MCP 后端):mongodb 走专属 executeQuery / listTables /
describeTable;read-only 默认 + DBX_MCP_ALLOW_WRITES /
DBX_MCP_ALLOW_DANGEROUS_SQL 两级开关;aggregate 含 \$out/\$merge 走同样开关;
describeTable 抽样 20 条文档推断字段类型,_id 自动标记主键。
- mcp-server:mongodb 跳过 SQL safety evaluator(mongo shell 与 SQL 语法
不兼容),改由 backend 做命令级 gating;附注释。
- AiAssistant 同时 emit replaceSql + executeSql 让编辑器和结果保持一致;
App.vue ensureQueryTab 在无上下文时回退到连接默认库;aiMessageRender
识别 mongodb / mongo 代码块。
- Review 修复:合并两份重复的 evaluateMongo*Safety 实现(同时修复 web-backend
用字符串比较导致空 filter 检查可被空格绕过的 bug);ObjectId 正则兼容
单/双引号;mongo_ops 错误文案 "MCP" 改为 "bulk";补 aggregate 解析测试用例。
测试:pnpm test 911 通过;vue-tsc 通过;cargo check -p dbx-core 通过。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 21:25:43 +08:00
t8y2
f45ee8f272
feat(settings): keep dialog open after apply
2026-05-28 20:36:56 +08:00
t8y2
f41601e4dc
fix(grid): improve column selection and transpose highlights
2026-05-28 20:09:35 +08:00
t8y2
c124ce3b69
fix(desktop): persist tray icon preference
2026-05-28 19:21:43 +08:00
t8y2
3f64e830f8
fix(grid): show cell highlight for row multi-select
2026-05-28 19:03:21 +08:00
t8y2
30a48a878c
fix(query): reload connection config before execute
2026-05-28 18:54:51 +08:00
t8y2
a036ea1e8d
fix(grid): sync value editor with selected cell
2026-05-28 18:31:57 +08:00
t8y2
486d9bb3a6
fix(connection): move query timeout into per-connection settings
2026-05-28 18:18:45 +08:00
t8y2
4de788ada2
fix(ci): align desktop tests with zoom changes
2026-05-28 17:51:36 +08:00
t8y2
f7f5758c85
feat(desktop): add global UI zoom settings and shortcuts
2026-05-28 17:43:06 +08:00
t8y2
d35aeaa08c
fix: continue transfer after table failure
2026-05-28 16:11:29 +08:00
t8y2
c952c65483
feat: upgrade data compare sync planning
2026-05-28 01:05:15 +08:00
t8y2
bd78436ab1
feat: add query editor context menu
2026-05-28 00:29:02 +08:00
t8y2
797c0d8d21
Add Redis cluster support and improve key loading
2026-05-28 00:08:59 +08:00
t8y2
ac4313afee
fix(sqlserver): avoid false unknown column diagnostics
2026-05-27 23:07:47 +08:00
t8y2
6d35dcfda8
fix: fix cargo fmt and update tests for completion/snippet changes
...
- Run cargo fmt on duckdb_driver.rs
- Update test expectations for snippet→function type changes
- Fix snippet icon color test (emerald→violet)
- Fix error result message format test
- Fix keyword suggestion test to handle snippet boost priority
2026-05-27 18:26:22 +08:00
t8y2
915728ebec
fix(editor): refresh SQL snippet completion after settings changes
2026-05-27 17:46:16 +08:00
t8y2
e9a2c08a46
feat(db): support TLS client certificates
2026-05-27 13:54:32 +08:00
t8y2
12abe9d0e0
feat: add configurable find/replace shortcuts with Mod-R routing
...
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.
2026-05-27 12:20:20 +08:00
t8y2
20fcea82b4
feat: extract EditorSearchPanel into reusable component
...
Move search/replace panel from QueryEditor into EditorSearchPanel.vue,
and use it in both QueryEditor and cell detail editor via programmatic
mounting. Removes dependency on CodeMirror's built-in search panel in
the cell detail editor, giving it the same custom search UI.
2026-05-27 12:14:38 +08:00
t8y2
22e8fece1c
feat: add query editor replace shortcut
2026-05-27 10:50:54 +08:00
t8y2
455f04a874
fix: support DuckDB extensions in macOS builds
2026-05-27 10:43:20 +08:00
t8y2
e6e5309807
fix: flatten duckdb primary schemas in sidebar
2026-05-27 02:33:21 +08:00
vvrf
3a595c8efb
fix: render binary values as hex ( #465 )
2026-05-26 22:46:00 +08:00
t8y2
2038501b53
fix: use system proxy for app updates
2026-05-26 20:12:41 +08:00
t8y2
32273b4d6e
feat: support Redis Sentinel connections
2026-05-26 19:44:23 +08:00
t8y2
a68af9c740
fix: honor editor font in redis views
2026-05-26 18:44:00 +08:00
t8y2
0e67f19117
feat: improve data grid selection and copy
2026-05-26 18:26:31 +08:00
t8y2
f9b58993b4
fix: add TLS connection settings
2026-05-26 17:32:05 +08:00
t8y2
32a4a5b1ec
fix: normalize temporal column precision
2026-05-26 14:38:53 +08:00
t8y2
ce22d6a046
fix: focus new structure column input
2026-05-26 12:30:12 +08:00
t8y2
309c2d1555
fix: restore structure editor vertical scrolling
2026-05-26 12:26:21 +08:00
t8y2
76a0b9f76d
fix: let users opt into system databases
2026-05-26 12:06:48 +08:00
t8y2
7bdacc52ba
fix: align sidebar search matching
2026-05-26 11:57:12 +08:00
t8y2
8baa752721
feat: add compact data grid header controls
2026-05-25 21:29:37 +08:00
t8y2
718f0c1679
fix: prevent browser reload shortcuts in desktop app
2026-05-25 21:09:02 +08:00
t8y2
fe2ecd60d2
feat: add ClickHouse TLS connection support
2026-05-25 21:07:22 +08:00
t8y2
eb1a04b005
fix: move gaussdb and opengauss to direct query types in diagnostics
2026-05-25 19:30:19 +08:00
t8y2
25bf3c035e
test: fix pagination page size test after executionOptions refactor
...
The query timeout feature moved clientSessionId to the outer executionOptions
object, which broke the single-line regex assertion. Split into individual
assertions that track each field independently.
2026-05-25 19:25:38 +08:00
t8y2
d326cb0ced
fix: scope query connections by client session
2026-05-25 17:23:36 +08:00
t8y2
ac65508ddb
fix: preserve Windows data during upgrades
2026-05-25 16:52:43 +08:00