Commit Graph
626 Commits
Author SHA1 Message Date
Illuminated2020 9b6d058cd5 feat(dbx-cli): 实现 headless 连接读取
- 从 DBX Storage 读取 context、conn list 和 conn show 的连接配置

- 输出脱敏连接 DTO 与风险元数据,避免泄露密码和 SSH secret

- 覆盖连接不存在、名称歧义和 fixture 存储读取测试
2026-05-12 16:47:40 +08:00
Illuminated2020 dc13dd3376 fix(cli): 修复命令参数解析
- 允许自由文本选项值以双短横开头

- 支持全局 --format json 出现在命令前、中、后

- 拒绝各命令多余位置参数并补充回归测试
2026-05-12 16:47:40 +08:00
Illuminated2020 37eeb8999c fix(dbx-cli): 加固运行时命令参数校验
- 严格校验未知 flag、缺失 option 值和 result current limit 范围

- 支持 handoff 的 SQL 来源校验及 headless 队列落盘

- 校验 runtime discovery 文件的 symlink、owner 和权限
2026-05-12 16:47:40 +08:00
Illuminated2020 f48868006c feat(dbx-cli): 增加 runtime discovery 与命令分发
- 增加 dbx-cli 参数解析与 8 个命令入口

- 实现 runtime discovery client 与 headless fallback

- 更新 CLI 依赖和锁文件

- 纳入 cli/storage 的格式化 diff
2026-05-12 16:47:40 +08:00
Illuminated2020 93f99039f1 fix(schema_snapshot): 修复快照表视图归一与错误传播
- 移除独立 views 字段,统一通过 tables 返回表和视图

- 为逐表元数据采集增加受限并发 helper

- 传播 schema core 错误并补充上下文信息

- 对缺少必需 database 的连接返回明确错误

- 补充 SQLite 视图、错误传播和无 database 场景单测
2026-05-12 16:47:40 +08:00
Illuminated2020 78be118c58 feat(schema): 添加 schema snapshot 编排
- 新增 schema snapshot DTO,标准化连接、数据库、driver 和采集时间信息

- 复用现有 schema core 函数采集表、视图、列、索引、外键和触发器

- 添加 SQLite 集成测试覆盖表/视图与元数据快照输出
2026-05-12 16:47:40 +08:00
Illuminated2020 037e082104 feat(handoff): 增加连接 ID 和稳定排序
- 为 HandoffItem 增加 connection_id,并保留 connection_name 用于展示

- 为 handoffs 增加自增 seq 并迁移旧表结构

- load_pending_handoffs 按 created_at 与 seq 稳定 FIFO 排序

- 补充同 created_at FIFO、seq 结构与 connectionId 序列化测试
2026-05-12 16:47:40 +08:00
Illuminated2020 72690f6ebf feat(core): 增加 handoff 队列存储模型
- 新增 handoff 状态与队列项 DTO

- 为 Storage 增加 handoffs 表和 pending 读写方法

- 补充 handoff 队列保存、排序和状态过滤单测
2026-05-12 16:46:53 +08:00
Illuminated2020 81a6dce5ac fix(sql_safety): 修复 CTE 兄弟片段边界误判
- CTE 内 DELETE/UPDATE 离开当前片段后停止查找 WHERE/LIMIT

- 补充 sibling CTE WHERE/LIMIT 不应降低风险等级的回归测试
2026-05-12 16:45:31 +08:00
Illuminated2020 99e7997620 fix(sql_safety): 修正子查询边界误判 2026-05-12 16:45:30 +08:00
Illuminated2020 1909856467 fix(sql-safety): 修复 SQL 风险复审问题
- 调整环境标签优先级,并阻止显式非生产标签回退

- 将无 WHERE/LIMIT 的 DELETE/UPDATE 标记为 critical

- 跳过 PostgreSQL dollar quote,扫描 MySQL executable comment

- 补充 sql_safety 覆盖测试
2026-05-12 16:45:30 +08:00
Illuminated2020 99e5e6317d fix(sql-safety): 修正危险 SQL 分类与风险上下文
- 扫描可执行 SQL token,避免 WITH、EXPLAIN ANALYZE 和多语句中的写入/DDL 被判为 Read
- 引入 RiskContext 支持 environment_label,并保留 risk_for_connection 便捷调用
- 补充 SQL 安全分类与生产环境风险识别测试

BREAKING CHANGE: risk_for 现在接收 RiskContext;三参数便捷调用迁移为 risk_for_connection
2026-05-12 16:45:30 +08:00
Illuminated2020 bc6898cd22 feat(dbx-core): 新增 SQL 安全风险分类
- 添加 sql_safety 模块,区分 READ、WRITE、DDL 和 Unknown

- 增加生产连接信号识别和风险元数据输出

- 导出模块并补充分类器单元测试
2026-05-12 16:45:30 +08:00
Illuminated2020 7f83739040 fix(cli): 校验 CLI envelope 反序列化
- 为 CliEnvelope 增加 ok/data/error 一致性校验和回归测试

- 让 dbx-cli commands 复用 dbx-core 的 CLI DTO 与 helper
2026-05-12 16:45:30 +08:00
Illuminated2020 10373bdf36 feat(dbx-core): 新增 CLI envelope DTO
- 添加 CLI source、error code、error 和 envelope 类型

- 导出 dbx-core::cli 模块并补充序列化单元测试

- 补齐既有测试 fixture 的 JDBC 默认字段以恢复目标测试编译
2026-05-12 16:45:30 +08:00
Illuminated2020 dd113ed714 build(dbx-cli): 将 CLI 二进制改名为 dbx-cli
- 更新 dbx-cli crate 的 bin 目标名,避免与桌面 dbx 目标冲突

- 同步计划文档中的 cargo run 命令引用

- 保留 runtime_client.rs 现有格式化改动
2026-05-12 16:43:46 +08:00
Illuminated2020 01110945a1 fix(dbx-cli): 补齐最小 runtime client 模块以恢复编译
- 新增 commands 和 runtime_client 最小实现,补足 main.rs 所需模块

- 允许 context 读取 GUI runtime,GUI 专属命令在 headless 下返回结构化错误

- 更新 Cargo.lock 并确认 cargo check -p dbx-cli --locked 通过
2026-05-12 16:43:46 +08:00
Illuminated2020 5720f05dd0 feat(cli): 添加 CLI crate 骨架 2026-05-12 16:43:46 +08:00
Illuminated2020 4991acf79a docs: add dbx cli runtime implementation plan 2026-05-12 16:43:46 +08:00
Illuminated2020 b0d4575455 chore: ignore worktree directory 2026-05-12 16:43:46 +08:00
t8y2 99439c143b feat(grid): add Clone Row to row context menu (closes #227)
Copy the selected row as a new row with primary key columns set to
null so auto-increment values are generated on save.
2026-05-12 16:36:05 +08:00
t8y2 24ab55ed17 fix(sqlserver): preserve batch semantics for CTE and DECLARE statements
SQL Server treats `;` as a statement terminator, not a batch separator.
The previous logic split multi-statement SQL by `;` and executed each
independently, breaking variable/CTE scope across statements.

Send the entire SQL as a single batch via `simple_query` so DECLARE,
SET, and CTE definitions remain visible to subsequent statements.
Split only on the `GO` client directive when present.
2026-05-12 16:22:22 +08:00
t8y2 01c4b744ef fix(updater): show real app version and release notes 2026-05-12 15:15:46 +08:00
t8y2 724813c72a chore: bump version to 0.5.4 v0.5.4 2026-05-12 14:56:10 +08:00
t8y2 45e67fae6e feat(jdbc): support SSH tunnel and proxy for JDBC connections
Parse host:port from JDBC URLs and rewrite them when an SSH or proxy
tunnel is active, so the Java plugin connects through the local
forwarded port. Enable the SSH/Proxy tabs in the connection dialog
for JDBC.
2026-05-12 14:53:45 +08:00
t8y2 c8d4a04a31 test(sidebar): align flat tree buffer expectation 2026-05-12 14:53:22 +08:00
t8y2 53a45330a6 feat(sidebar): group objects by type and add Object Browser context menus (#222)
Sidebar tree now groups database objects into Tables, Views, Procedures,
and Functions folders instead of a flat list. Empty groups are hidden
and each group shows its item count.

Object Browser rows now have right-click context menus with actions
like View Data, New Query, View Source, and Drop.
2026-05-12 14:33:52 +08:00
t8y2 76ff987d00 fix(sidebar): clear children cache before refreshing expanded nodes
When refreshAllTree skipped collapsed child nodes, their IDs remained
in loadedTreeNodeChildrenIds. After the parent was rebuilt with fresh
children, expanding a previously-collapsed node hit useCachedChildren
and returned immediately with empty children.
2026-05-12 14:06:10 +08:00
t8y2 03cc4ba80a fix(grid): refine data grid toolbar layout 2026-05-12 14:05:03 +08:00
t8y2 9463ff07a7 fix(grid): preserve page size when reloading data after save
The reload event did not carry limit/offset, so buildTableSelectSql
always fell back to its default LIMIT 100, resetting 1000-row pages
back to 100 after every commit.
2026-05-12 13:55:15 +08:00
t8y2 78184544cf perf(grid): optimize virtual scroll to reduce white flash during fast scrolling
Add buffer, skip-hover, will-change, and CSS contain properties to all
RecycleScroller instances (DataGrid, ConnectionTree, ObjectBrowser,
RedisKeyBrowser). Disable pointer-events during scroll in DataGrid to
reduce repaint overhead.
2026-05-12 13:50:03 +08:00
t8y2 368fa5a102 feat(redis): add bulk operations and command runner 2026-05-12 13:38:43 +08:00
t8y2 f2e8b49df7 feat(settings): improve settings dialog links 2026-05-12 13:02:36 +08:00
skyler 30f9b4ab8c Merge pull request #224 from Abeautifulsnow/fix/db-placement-copy
feat(connection): 为不同数据库类型展示各自对应的 connection URL placeholder
2026-05-12 10:58:26 +08:00
runstone 3652db8fa3 feat(connection): 为不同数据库类型展示各自对应的 connection URL placeholder
## 修改内容
- 新增 connectionUrlPlaceholder 纯函数于 connectionPresentation.ts,根据 db_type 返回对应 URL 格式
- ConnectionDialog.vue 中引用该函数替换原有统一的 i18n placeholder
- 新增 20 个单元测试覆盖所有数据库类型及边界场景
2026-05-12 10:21:19 +08:00
skyler 57874ce33c Merge pull request #221 from rarnu/feat/ai-thinking-option
feat: 为AI设置增加了thinking的开关
2026-05-12 09:43:06 +08:00
rarnu 4f0a13f24f add: 为AI设置增加了thinking的开关 2026-05-12 01:16:40 +08:00
t8y2 8cf0f612d4 fix(tree): Modify the shouldVirtualizeFlatTree function to support virtualization for non-empty trees. 2026-05-12 01:12:18 +08:00
skyler ab1b4ae227 Merge pull request #220 from rarnu/feat/editor-settings
Opt: 优化设置页面
2026-05-12 00:08:26 +08:00
rarnu c18593d003 add: 修改布局方案中选中项的样式为浅蓝色(与AI内API选项的样式一致) 2026-05-11 23:33:27 +08:00
rarnu e8ab15140a add: 将AI大模型的设置移至设置页 2026-05-11 23:25:27 +08:00
skyler 4af72bf2a6 Merge pull request #219 from xKrah/main
Add support new types for postgresql
2026-05-11 22:10:01 +08:00
Alexandr ad5e6fcce4 Merge branch 't8y2:main' into main 2026-05-11 17:11:12 +04:00
KraH 23bbfcb157 Added support for integer arrays
Added support for float4
2026-05-11 17:06:43 +04:00
Abeautifulsnow dddb813fc6 refactor(grid): 提取 cellValue 格式化到共享模块并增加测试 (#218)
将 CellValue 类型和 displayCellValue(原 formatCell)提取到
src/lib/cellValue.ts,DataGrid.vue 和 useDataGridExport.ts 统一引用,
移除 composable 中冗余的 formatCell 参数传递。
2026-05-11 18:56:08 +08:00
t8y2 e4c1d6639b fix(sidebar): 保持表列表滚动显示 2026-05-11 17:15:36 +08:00
t8y2 cab0e79dad fix(oracle): 修复表数据加载与编辑 2026-05-11 16:35:59 +08:00
t8y2 79277c660f feat(proxy): 增加数据库和 AI 代理支持 2026-05-11 15:05:25 +08:00
Alexandr 1d5a2b2220 Fixed single quotes causing build failures (#214)
* i18n for redis key browser;

* Fixed single quotes causing build failures
2026-05-11 13:49:10 +08:00
t8y2 02b2c31b7c fix(oracle): support RAC/SCAN connection redirect (closes #209)
Update rust-oracle to include Oracle connection redirect support.
Previously connections through RAC/SCAN listeners failed with
"redirect not implemented" error.
2026-05-11 13:46:28 +08:00