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
t8y2
0354fe7050
fix: keep existing SQL Server TOP clauses
2026-05-25 16:51:18 +08:00
t8y2
c9f584d350
feat(grid): add compact filter builder
2026-05-25 11:57:36 +08:00
t8y2
e5e86eda30
fix: avoid derived table wrapping for SQL Server TOP pagination
...
Replace derived table wrapping with direct TOP injection for SQL Server
to prevent error 8155 when inner SELECT produces unnamed columns (e.g.
SELECT @@version). Also preserves ORDER BY that was incorrectly stripped
by the previous approach.
2026-05-25 11:28:02 +08:00
t8y2
dbd2b2bab5
fix: update tests for table structure editor tab conversion and type/length split
...
- Remove deleted Dialog.vue references from dialogOpenWatcher and structure tests
- Update presentation test assertions for tab layout and SearchableSelect
- Add schema to newQueryContext expected results (schema propagation)
- Make queryStore i18n resilient to missing Vue app context (tests)
- Fix regex patterns for oxfmt-formatted code
2026-05-24 22:52:58 +08:00
t8y2
872569265d
fix(sql): add databaseType parameter to findStatementAtCursor function
2026-05-24 10:30:58 +08:00