t8y2
6c0db6f517
feat: add "Copy as SQL ALTER" to DataGrid column header context menu
...
Right-click a column header in the data grid to copy the ALTER TABLE
statement for that column, making it easy to replicate column definitions
across databases. Supports all major dialects (MySQL, Postgres, SQL Server,
Oracle, ClickHouse, SQLite, DuckDB, H2).
Closes #516
2026-05-29 15:09:10 +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
徐文彬 and Claude Opus 4.7
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
fcdc7cfc07
fix(rust): update mtls tests for timeout params
2026-05-28 20:35:15 +08:00
t8y2
c952c65483
feat: upgrade data compare sync planning
2026-05-28 01:05:15 +08:00
t8y2
0c9ee34a82
feat: add WebDAV cloud sync with encrypted secrets support
...
Add WebDAV-based settings sync for desktop app, including connection
configuration, editor settings, and optional encrypted secrets sync.
Also persist WebDAV remember-password preference across sessions.
2026-05-27 01:17:23 +08:00
t8y2
2038501b53
fix: use system proxy for app updates
2026-05-26 20:12:41 +08:00
t8y2
d326cb0ced
fix: scope query connections by client session
2026-05-25 17:23:36 +08:00
t8y2
ad7797f451
fix: remove macOS tray icon title and add SQL Server TOP test
...
- Remove the "DBX" title text from the macOS menu bar tray icon so it
only displays the icon, matching Windows behavior
- Add test for SQL Server TOP pagination with aggregate queries like
COUNT(*)
2026-05-25 11:42:47 +08:00
t8y2
7a3ff3bff9
refactor(sql): move builders to Rust
2026-05-23 01:28:52 +08:00
t8y2
d7dc4c959a
feat(driver-store): add storage usage breakdown
2026-05-22 18:05:59 +08:00
t8y2
3f14585a2a
feat(diff): move schema and data diff to Rust
2026-05-22 16:20:11 +08:00
t8y2
c91fbc9fd6
feat(export): move text exports to Rust
2026-05-22 15:41:33 +08:00
t8y2
209eff528d
feat(query): move grid save prep to Rust
2026-05-22 15:31:50 +08:00
t8y2
cb3e1d6e9f
feat(query): move SQL editability analysis to Rust
2026-05-22 15:09:31 +08:00
t8y2
c736fe372a
feat(export): move csv and xlsx generation to Rust backend
2026-05-22 14:56:40 +08:00
t8y2
0655d309d8
fix(db2): use schema tree mode for sidebar object loading
2026-05-22 14:52:12 +08:00
t8y2
0e189ba0cc
feat(editor): add SQL semantic diagnostics
2026-05-22 14:22:58 +08:00
t8y2
a29b95b9fa
fix(app): keep tray preference persistence stable
2026-05-22 10:39:47 +08:00
t8y2
bc41936e48
feat(app): configure background tray behavior
2026-05-22 02:24:16 +08:00
t8y2
cf520a7ee1
fix(app): show window after relaunch
2026-05-22 02:06:33 +08:00
t8y2
895c0d58af
feat(settings): support editor system fonts
2026-05-21 12:40:10 +08:00
Abeautifulsnow
222ebefa6a
feat(ai): add model list fetching in settings ( #364 )
...
- Add `ai_list_models` Tauri command and core support for fetching available models from OpenAI-compatible, Claude, and Ollama providers
- Replace manual model ID input with SearchableSelect in EditorSettingsDialog, including refresh button and loading state
- Add i18n translations for model list UI (en, es, zh-CN)
- Add tests for settings dialog layout and web driver management
2026-05-20 16:14:56 +08:00
yavon007
13424588b9
Support DBX connection deep links ( #359 )
...
* fix(mysql): avoid metadata collation conflicts
Split MySQL column and primary key metadata lookups so MariaDB and OceanBase do not join information_schema tables with incompatible collations.
* feat(grid): add invert column visibility action
* feat(grid): improve cell detail editing
* feat(grid): add keyboard cell navigation
* feat(grid): add column name copy in header tooltip
* feat(grid): improve transpose navigation
* feat(connection): support dbx connection deep links
* docs: document connection deep links
* fix(connection): harden deep link boolean handling
2026-05-20 16:10:14 +08:00
t8y2
f3a248073a
fix(windows): show window when desktop icon is double-clicked while app runs in tray
...
Closes #353
2026-05-20 12:13:26 +08:00
t8y2
98e2d03f64
feat(agent): support offline driver import via ZIP bundle and local JAR
...
Add two offline import methods for users behind corporate firewalls:
- ZIP offline bundle: import all drivers + JRE from a single ZIP file
- Single JAR import: import individual driver JARs per database type
2026-05-20 09:44:03 +08:00
t8y2
5df7fbf062
feat(agent): add compatible driver handshake
2026-05-19 15:17:21 +08:00
t8y2
ea5e15612f
feat(redis): search keys by value
2026-05-18 21:27:47 +08:00
t8y2
b2be49367c
feat(app): handle SQL export and tray updates
2026-05-18 18:39:59 +08:00
t8y2
70a8ff2d24
fix(app): restore offscreen windows on startup
2026-05-18 16:47:14 +08:00
t8y2
978c68f98f
fix(app): allow native window maximization
2026-05-18 10:57:08 +08:00
t8y2
556f7a7999
fix(app): clamp restored window size
2026-05-18 02:10:34 +08:00
t8y2
7188465161
feat(app): open sql files in editor
2026-05-17 13:59:42 +08:00
t8y2
7c226ce684
fix(app): support portable data directory
2026-05-17 12:44:34 +08:00
t8y2
f4566221b1
feat(query): add paged result fetching
2026-05-17 00:10:18 +08:00
t8y2
ecb878315c
chore: add startup timing diagnostics for #270
...
Add [STARTUP] timing logs to Rust setup (plugin registration, storage
open, migration) and Vue frontend (onMounted, initFromStorage,
initFromDisk) to help diagnose slow startup reported in #270 .
2026-05-14 19:35:34 +08:00
t8y2
c37caeba78
fix: apply only visible checked values when local filter has active search
...
When a user searches in the column filter dialog, non-visible options
retained their selected state, making it impossible to filter to just
the searched values. Now when a search query is active, only visible
checked items are included in the applied filter.
2026-05-14 19:19:21 +08:00
t8y2
081a356832
feat(plugins): support local JDBC plugin installation
...
Add a "local install" button that lets users install the JDBC plugin
from a local zip file when online download fails (e.g. draft release).
2026-05-14 11:42:21 +08:00
t8y2
abd3450814
feat(connection): make driver manager link clickable in install hint
2026-05-14 11:03:12 +08:00
t8y2
43bd3a9ef8
feat(drivers): add upgrade all drivers button
...
Add a batch upgrade command that sequentially updates all drivers with
available updates, with per-driver progress tracking in the UI.
2026-05-14 10:58:47 +08:00
t8y2
3d7b149e53
feat(agents): support system Java runtime
2026-05-13 23:30:55 +08:00
t8y2
809448a161
feat: multi-JRE support, Oracle 10g driver profile, and JRE uninstall
...
- Support multiple JRE versions per agent driver (jre-8/, jre-17/)
- Auto-migrate legacy jre/ directory to jre-17/
- Detect macOS Adoptium JRE 8 Contents/Home/ layout
- Route Oracle 10g connections to oracle-10g agent via driver_profile
- Add Oracle 10g option in connection dialog
- Add JRE uninstall with dependency check
- Show per-JRE status and controls in driver management UI
2026-05-13 16:08:00 +08:00
t8y2
fa0dfc9383
perf: race GitHub proxies concurrently for driver downloads and registry fetch
...
Replace sequential proxy fallback (up to 30s worst-case) with concurrent
racing via futures::select_ok, returning the first successful response.
Add list_installed_agents_local command for instant UI rendering with
async registry update. Fix missing useToast import in RedisValueViewer.
2026-05-13 14:18:28 +08:00
t8y2
e87876c923
feat(driver-store): badge-style version/size, refresh button, fix dameng icon
...
- Show version and size as rounded badges instead of plain text
- Display remote version with amber badge when update available
- Add refresh button to clear registry cache and reload
- Add invalidate_agent_registry_cache Tauri command
- Fix dameng icon mapping (dameng -> dm)
2026-05-13 12:26:56 +08:00
t8y2
bc687cee7f
feat(agent): add reinstall JRE button in Driver Manager
2026-05-13 05:05:00 +08:00
t8y2
e85f9df1fe
feat(agent): pluggable database drivers via JDBC agent subprocess
...
Migrate domestic database support (DaMeng, KingBase, Vastbase, GoldenDB) from
built-in ODBC/protocol drivers to standalone Java agent processes communicating
via stdin/stdout JSON-RPC 2.0. Agents are distributed as fat JARs with embedded
JDBC drivers, downloaded on-demand from GitHub Releases with proxy fallback.
- Add AgentDriverClient for subprocess lifecycle + JSON-RPC communication
- Add AgentManager for JRE/JAR install state management
- Add Tauri commands for driver install/uninstall/list
- Add DriverManager UI panel in settings dialog
- Extend DatabaseType with Kingbase, Vastbase, Goldendb variants
- Migrate Dameng from ODBC (dm_driver.rs) to JDBC agent
- Delete dm_driver.rs (343 lines)
- Add GitHub proxy fallback for downloads (update.hwdns.net, gh-proxy.org)
Agent code lives at https://github.com/t8y2/dbx-agents
2026-05-13 04:44:52 +08:00
t8y2
83216b2765
feat(docs): 升级首页与更新日志
2026-05-13 01:04:58 +08:00
t8y2
bf58045a28
Revert "feat(cli): add dbx-cli runtime and agent integration ( #229 )"
...
This reverts commit 58c47adef5 , reversing
changes made to 3bcec8ef7f .
2026-05-12 17:31:54 +08:00
Illuminated2020
636f4ee055
fix(agent-runtime): 修正 handoff 风险重算连接来源
2026-05-12 16:52:35 +08:00