Commit Graph

1411 Commits

Author SHA1 Message Date
Syngnat
bd5fde990d 🐛 fix(data-import): 统一外部 SQL 导入并处理 GTID 冲突
- 将数据库右键入口统一到导入工作台,保留失败后继续选项并规避 macOS 闪退
- 导入前检测 GTID_PURGED 与目标 GTID_EXECUTED,冲突时默认零写入阻断
- 支持跳过 GTID 语句或按 MySQL 版本重置 GTID 历史
- 补齐 Wails 绑定、六种语言文案和前后端回归测试
2026-08-11 15:42:18 +08:00
Syngnat
baccc6b85d 🔧 chore(wails): 同步 MCP 与数据同步接口绑定
- 补齐 AuthorizeMCPConnectionSQL 的 TypeScript 声明与 JavaScript 调用包装
- 同步 MigrationCapability 的 supportsMutations 字段及构造赋值
- 更新 frontend/package.json 对应的 MD5 校验值
2026-08-11 13:35:57 +08:00
Syngnat
4682474008 Merge remote-tracking branch 'origin/dev' into dev 2026-08-11 13:27:43 +08:00
Syngnat
b7d2908a1b 🐛 fix(update): 更新与驱动检测优先使用镜像
- 契约变更:更新检查在镜像清单有效时立即返回,仅镜像失败后顺序回退 GitHub
- 驱动网络检测优先探测镜像,失败后再检查实际 GitHub 与 Go 模块回退端点
- 区分镜像不可用但回退可用和全部下载链路不可用,并同步六种语言文案
- 补充镜像短路、条件回退和驱动网络状态回归测试
2026-08-11 13:25:51 +08:00
kunghim
d54e0bdd03 🐛 fix(data-grid): 支持只读结果单击选中 2026-08-11 13:18:21 +08:00
Syngnat
cb4a4fefd3 Merge remote-tracking branch 'origin/dev' into dev 2026-08-11 11:39:27 +08:00
Syngnat
d690b83d55 🐛 fix(window): 修复窗口尺寸与最大化状态未记忆
- 启动时恢复上次普通窗口尺寸与最大化状态
- 在标题栏最大化和退出前采样最新原生窗口状态
- 最大化前保留普通窗口恢复边界
- 补充启动恢复与退出持久化回归测试
2026-08-11 11:33:33 +08:00
Syngnat
cafabd124a 🐛 fix(titlebar): 移除下拉菜单重复标题
- 为通用 V2 菜单增加可选标题头开关,默认行为不变
- 隐藏标题栏主菜单和更多菜单的重复标题
- 添加回归测试覆盖两类标题栏下拉菜单
2026-08-11 10:39:37 +08:00
binyangzhu000-sudo
c8e67348a9 feat(ai): add Atlas Cloud provider preset
Signed-off-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>
2026-08-11 10:12:35 +08:00
kunghim
a84a44d2ac feat(ui): 优化 Schema 标签与表概览显示 2026-08-10 17:38:18 +08:00
mango
3243082c8e 🐛 fix(sidebar): 修复外部 SQL 缺失目录恢复 (#896)
Fixes #896
2026-08-10 17:23:10 +08:00
Syngnat
6f9e956137 🐛 fix(sidebar): 延长连接树滚动条显示时间 (#906)
## Summary

- 延长左侧 V2 连接树滚动条的显示时间,滚动停止 2 秒后再隐藏
- 增加回归断言,锁定滚动条空闲延迟配置

## Testing

- `npm --prefix frontend test -- Sidebar.locate-toolbar.test.tsx`(93/93
通过)
- `npm --prefix frontend run build`
- `npm --prefix frontend test`
- 浏览器桌面与窄窗口滚动条时序验证
- 用户手动自测通过
2026-08-10 16:13:50 +08:00
AutumnNazi
f66c7d00b8 🐛 fix(sidebar): 延长连接树滚动条显示时间 2026-08-10 14:46:50 +08:00
AutumnNazi
58f1029966 🐛 fix(datagrid): 修复固定选择列透明问题 (#901)
Fixes #901
2026-08-10 12:30:31 +08:00
Kunghim
2330a5a52d Merge upstream/dev into fix/884-composite-primary-key 2026-08-09 21:02:30 +08:00
Kunghim
52cd1936f7 fix(sync): support composite primary keys 2026-08-09 19:53:24 +08:00
mango
02da747e28 🐛 fix(test): 同步工作台菜单测试夹具 2026-08-09 16:13:55 +08:00
Syngnat
56b46d95a8 fix(sync): constrain TDengine and IoTDB targets to append writes (#891)
## Summary

- expose append-only capability for TDengine and IoTDB targets
- constrain the delivery UI to INSERT/append and remove delete
propagation
- block mutation and delete configurations during backend preflight
- add Go and frontend regression coverage

## Verification

- Go sync capability and preflight regression tests passed
- frontend delivery and Wails DTO regression tests passed
- frontend production build passed
- Wails desktop build passed

Closes #883
2026-08-09 15:56:59 +08:00
mango
bb882faac7 🐛 fix(sync): 明确未迁移索引并提供补救 DDL (#885)
Fixes #885
2026-08-09 15:49:18 +08:00
Syngnat
bf5a1b7681 🎨 style(context-menu): 统一工作台右键菜单视觉规范
- 复用表对象菜单的上下文标题、功能分组与快捷键布局
- 统一查询标签、结果标签、工具栏、顶栏、Redis 与 Monaco 菜单
- 补充菜单结构、交互和视觉规范回归测试

Refs #879
2026-08-09 14:11:23 +08:00
Syngnat
0a238c551c feat(connection): 支持新建连接数据源置顶
- 新增数据源类型置顶与取消置顶交互
- 按个人置顶顺序优先展示并持久化偏好
- 完善主题样式、无障碍标签与六语言文案
- 补充排序、持久化及图钉视觉回归测试

Refs #876
2026-08-09 14:11:23 +08:00
Kunghim
2b90a62159 fix(sync): constrain time-series targets to append writes 2026-08-09 14:11:19 +08:00
Syngnat
16a601e6a4 feat(data-import): 完善导入工作台与任务交互
- 表导入与数据库导入统一提供遇错停止和继续策略,并跟随主题变量

- 增加能力校验、高级解析选项、字节进度、停止状态与持久任务历史

- 防止重复启动和运行中面板卸载,完善六语言语句统计及回归测试
2026-08-08 20:51:59 +08:00
Syngnat
20d5255eb4 🔧 chore(wails): 同步导入与数据同步接口绑定
- 更新导入能力、文件选项、任务历史与错误行导出绑定

- 保留数据同步任务、审批与检查点接口的生成模型

- 同步前端依赖校验值并校验 JS/TypeScript 契约
2026-08-08 20:51:37 +08:00
Syngnat
4df879ccde feat(sync): 按数据源组合约束迁移能力
- 展示源端到目标端的完整、部分、规划中和不支持状态
- 按能力控制自动建表、补列、索引及继续执行入口
- 支持数据库列表为空时手工输入并补齐六语言提示
2026-08-08 19:34:36 +08:00
Syngnat
f15b630e70 test(i18n): 支持数据同步局部词典解析校验
- 为功能局部词典注册明确的源码作用域
- 局部调用仅允许命中自身词典并保留拼写错误检测
- 避免将 DataSync 文案误判为全局六语言缺失
2026-08-08 19:29:53 +08:00
Syngnat
4c04609df2 feat(data-sync): 新增多对象迁移与同步任务工作台
- 以五步流程组织端点、对象、写入、运行方式和预检
- 支持批量选表、同名目标匹配、字段映射与主键识别
- 完善生命周期、运行记录、CDC、错误行和响应式交互
2026-08-08 19:29:29 +08:00
Syngnat
53dde950fd feat(data-sync): 建立同步任务模型与运行网关
- 定义任务、映射、调度、预检和运行记录前端模型
- 接入 Wails 元数据、审批、生命周期、检查点与错误行 API
- 严格解码后端协议并补齐模型和网关回归测试
2026-08-08 19:26:57 +08:00
Syngnat
a9595f6fb0 🐛 fix(sidebar): 优化 Host 拖入分组的命中与反馈
- 扩大分组中心放入热区并保留边缘排序
- 增加整行目标高亮、紧凑预览与悬停展开
- 覆盖拖拽意图、DOM 命中和移动目标回归

Refs #877
2026-08-08 12:31:21 +08:00
AutumnNazi
9e661958fe 🐛 fix(sync): 禁止仅同步数据时修改表结构 (#878)
Fixes #878
2026-08-08 07:22:42 +08:00
Syngnat
14f24925ab 🐛 fix(query-editor): 支持 PostgreSQL 查询选择 Schema
- 在查询工具栏加载并持久化 PostgreSQL Schema
- 将选择的 Schema 安全注入 search_path,并保留显式连接配置
- 绑定事务、结果与元数据执行上下文,避免跨 Schema 误查询或写入
- 补充查询、DataGrid、独立窗口及差异比较回归测试

Refs #864
2026-08-07 23:25:25 +08:00
mango
4acf16893f fix(query): preserve selected new query context 2026-08-07 21:58:53 +08:00
mango
0e2a28039e Merge origin/dev into pull request 874 2026-08-07 21:50:01 +08:00
virgosgod-maker
0810fed618 🐛 fix(query-editor): 修复右键菜单无法粘贴内容 (#875)
## 背景

Issue #873 中,Windows 安装包内的 SQL 编辑器通过右键菜单执行“粘贴”时,浏览器剪贴板 API 会受到 WebView
权限限制,导致 Monaco 无法取得剪贴板内容。

## 变更点

- 在 Wails 运行环境中覆盖 Monaco 的粘贴命令,优先读取 Wails 原生剪贴板
- 将原生剪贴板文本交回 Monaco 的 paste handler,保留选区、多光标和撤销行为
- 使用引用计数管理全局命令生命周期,并保留浏览器剪贴板回退
- 增加原生读取、浏览器回退、多编辑器卸载及只读编辑器回归测试

## 影响范围

- 仅影响 Wails 环境下 SQL 编辑器的右键粘贴
- 普通浏览器环境继续使用 Monaco 默认粘贴逻辑
- 不涉及后端接口、配置、依赖或生成文件变更

## 验证

- 定向单元测试:14/14 通过
- TypeScript 类型检查通过
- 前端生产构建通过(7981 modules transformed)
- Wails runtime 实际验证右键粘贴可插入剪贴板文本
- 前端全量测试中 3 个测试文件因并发资源争用超时,隔离重跑 131/131 通过

Closes #873
2026-08-07 21:45:05 +08:00
virgosgod-maker
b085d01ba9 feat(query): 支持拖拽结果字段插入 SQL (#870)
## 变更说明

- 支持将查询结果集字段拖入 SQL 编辑器,并按光标位置、选区和字段上下文生成插入文本
- 复用同一次表头拖拽完成结果集内部列排序,不影响字段拖入查询区
- 使用结果集作用域隔离列排序,避免跨结果集误重排
- 鼠标使用原生 HTML 拖放,触摸和触控笔保留 dnd-kit PointerSensor 排序能力

## 测试

- `npm test -- sqlFieldDrop.test.ts dataGridColumnOrder.test.ts`(19
个测试通过)
- `npm run build`
- Windows Wails 桌面端手动验证:结果集列排序、字段拖入查询区

Closes #848
2026-08-07 21:45:02 +08:00
virgosgod-maker
8af55f35cd 🐛 fix(query-editor): 修复新建查询数据库上下文错误 (#872)
## 背景与问题

选中数据库 A 新建查询后,再从侧边栏选中数据库 B 创建查询,旧查询 Tab 的数据库 A 会错误覆盖当前侧边栏选择。

## 变更点

- 新建查询优先使用侧边栏当前选中的连接和数据库
- 仅选择连接时保持数据库为空,不再在数据库列表加载后自动选库
- 手动切换数据库后同步查询 Tab 上下文并刷新 SQL 补全元数据
- 增加新建查询上下文及多 Tab 补全回归测试

## 影响范围

仅影响 SQL 查询 Tab 的新建上下文、数据库选择和补全元数据切换,不改变查询执行与数据源连接逻辑。

## 验证方式

- 相关测试:325 项通过
- 生产构建:通过

Fixes #865
2026-08-07 21:35:00 +08:00
mango
fc038b73a5 fix(query-editor): scope native clipboard paste 2026-08-07 21:16:00 +08:00
mango
6de2304531 fix(data-grid): handle update clause boundaries 2026-08-07 21:15:59 +08:00
mango
5a0d167a21 fix(query): sync toolbar connection context 2026-08-07 21:15:59 +08:00
mango
6115bae2c3 🐛 fix(data-grid): 点击行号选中并取消行悬浮加深 (#871)
Fixes #871
2026-08-07 20:00:53 +08:00
Syngnat
d7f1297a48 🌐 i18n: 统一显示隐藏字段列文案(6 语言)
- 将字段显示入口明确为显示/隐藏字段列
- 同步简中、繁中、英语、日语、德语和俄语文案
- 更新 DataGrid 布局与图标按钮断言
2026-08-07 17:59:42 +08:00
AutumnNazi
ebd08de6cf 🐛 fix(query-editor): 修复右键菜单无法粘贴内容
- 在 Wails 环境使用原生剪贴板读取 Monaco 粘贴内容
- 复用 Monaco 粘贴处理器保留选区、多光标和撤销行为
- 增加原生回退、引用计数及只读编辑器回归测试
2026-08-07 17:14:31 +08:00
kunghim
e1bc2839c5 feat(query): 新建查询继承当前表上下文 2026-08-07 16:45:31 +08:00
AutumnNazi
b765b22fce 🐛 fix(query-editor): 修复新建查询数据库上下文错误 2026-08-07 15:47:14 +08:00
kunghim
7cb276cc9f 🐛 fix(data-grid): 兼容表头排序与字段拖入查询区 2026-08-07 15:25:46 +08:00
kunghim
f0ffef2080 feat(query): 支持拖拽结果字段插入 SQL (#848) 2026-08-07 15:25:26 +08:00
Syngnat
fdb73e1f83 🐛 fix(workbench): 最近连接返回资源树
- 点击最近连接改为定位并选中侧栏连接或数据库
- 等待连接数据库加载完成后再恢复目标数据库选择
- 保留 Redis、Nacos 等非查询数据源的最近连接入口
- 外部 SQL 目录仍按原行为创建查询标签页
- 增加最近连接与侧栏定位事件回归测试
2026-08-07 15:22:32 +08:00
mango
c3d3f89561 🐛 fix(oracle): 支持 FOR UPDATE 结果直接编辑 (#857)
Fixes #857
2026-08-07 13:43:59 +08:00
mango
94e972f993 🐛 fix(redis): 支持配置 ACL 用户名 (#859)
Fixes #859
2026-08-07 12:17:49 +08:00
Syngnat
f02df7c87d 🔧 chore(frontend): 同步前端安装校验元数据
- 标记 package-lock 中已有的安装脚本\n- 更新 package.json 的 MD5 校验值\n- 不调整依赖版本或依赖树
2026-08-07 11:44:07 +08:00