Commit Graph

1068 Commits

Author SHA1 Message Date
Syngnat
caf450d4f0 🐛 fix(import): 修复导入进度与任务停止
- 修正 SQL 文件执行进度提前完成及终态竞态
- 支持停止导入并保留已提交的部分统计
- 完善取消审计、多语言提示与回归测试

Refs #677
Refs #678
2026-07-22 22:36:19 +08:00
Syngnat
e30c2d8c62 🐛 fix(ui): 修复拖拽与缩放残留导致的交互锁死
- 统一管理 pointer capture、全局监听器与选择状态生命周期
- 在失焦、捕获丢失、按键释放和组件卸载时自动清理交互状态
- 覆盖 AI、查询结果、工作台与结果比对浮窗拖拽缩放
- 修复 Redis、表设计、通用弹窗、数据网格和侧栏的残留监听
- 增加异常释放、重复终止和卸载清理等交互回归测试
2026-07-22 18:56:54 +08:00
Syngnat
c19fcdd183 🐛 fix(native-window): 修复 AI 子窗重开、设置遮挡与关闭恢复
- 单次快捷键可重新唤起停驻 AI 子窗,并过滤重复键盘事件
- 打开 AI 设置前原子隐藏子窗,避免设置窗口被遮挡
- 用可见性版本阻止延迟隐藏或设置事件覆盖新焦点
- 拒绝复用终态子进程,并恢复失败的附加与关闭操作
- 串行展示、隐藏和终态退出,消除关闭门闩并发竞态
- 增加原生窗口生命周期、结果回滚和焦点恢复回归测试
2026-07-22 18:45:55 +08:00
Syngnat
75749d2465 feat(table-overview): 新增紧凑表格视图并持久化视图偏好 2026-07-22 17:56:33 +08:00
Syngnat
0ea807c3cb feat(query-editor): 新增自动换行并持久化编辑器设置 2026-07-22 17:53:12 +08:00
Syngnat
0fb9857378 🐛 fix(query-editor): 修复查找框全选被编辑器快捷键拦截
- 在可编辑目标内放行 Ctrl/Cmd+A 原生全选
- 保留文档级快捷键对 Monaco 编辑器的兜底全选
- 补充查找输入框与源码范围回归测试
2026-07-22 17:45:51 +08:00
Syngnat
c067ad8a62 🐛 fix(shortcuts): 迁移侧边栏搜索默认快捷键
- 将旧版 Meta/Ctrl+F 一次性迁移为各平台 Meta/Ctrl+K
- 升级持久化版本并避免启动刷新重新读回旧配置
- 保留禁用状态、自定义组合及版本 18 后的 F 配置
- 补充 macOS、Windows/Linux 与旧结构回归测试
2026-07-22 16:55:44 +08:00
Syngnat
8ca2c23d18 🐛 fix(ci): 补全前端 statSync 类型声明
- 补齐 node:fs 测试 shim 的 statSync 返回类型
- 修复干净 CI 环境下前端 TypeScript 构建失败
2026-07-22 16:53:49 +08:00
Syngnat
bf060f0082 feat(about): 关于页自动检查更新开关 + 自定义检查间隔 2026-07-22 15:40:46 +08:00
Syngnat
93bb164004 🐛 fix(modal): 统一浮层层级并修复设置窗口遮挡
- 统一主窗口、原生分离窗口和静态 API 的 Ant Design 浮层基线
- 提升更新、导出、安全更新与连接代理子弹窗层级
- 将业务 Modal 接入统一封装并修复命令面板 stacking context
- 增加浮层策略、设置流程和 Modal 导入守卫测试
2026-07-22 15:37:20 +08:00
virgosgod-maker
d4d3ac1f34 Merge branch 'Syngnat:dev' into dev 2026-07-22 15:26:24 +08:00
mango
d774aa741e feat(about): 关于页自动检查更新开关 + 自定义检查间隔
- 新增 autoCheckForUpdates 开关(默认开启)
- 新增 autoCheckForUpdatesIntervalMinutes(默认30分钟,可选15/30/60/120/360/720/1440)
- hook timer 按开关和间隔动态注册
- 关于页版本与更新卡片增加 Switch + Select 控件
- 6语种 i18n 文案
- store / hook / settings-center 测试补充
2026-07-22 15:24:55 +08:00
Syngnat
82af1e365e feat(data-grid): 支持只读单元格查看完整内容
- 只读查询结果和不可写字段支持双击打开只读 Monaco 查看器
- 保留 MongoDB 原始值与待提交值,并兼容空别名和空值
- 隔离数据源、权限与虚拟编辑会话,阻止旧回调误保存
- 补齐六种语言文案及 DataGrid 回归测试
2026-07-22 14:42:16 +08:00
Syngnat
ece61d097f feat(data-grid): 支持只读查询结果拖选复制
- 允许聚合与只读结果拖选单元格并复制 TSV
- 增加选区工具栏操作和 Ctrl/Cmd+C 快捷键
- 隔离后台结果页与编辑操作,避免快捷键抢占

Fixes #673
2026-07-22 12:30:30 +08:00
Syngnat
23d95f2771 ️ perf(store): 限制表访问频次状态增长 2026-07-22 09:35:41 +08:00
Syngnat
78880cfce5 test(i18n): 更新性能重构后的源码守卫 2026-07-22 09:06:02 +08:00
Syngnat
5424f22677 ️ perf(native-window): 稳定结果同步回调避免全量序列化 2026-07-22 08:54:24 +08:00
Syngnat
92dd0cc650 ️ perf(startup): 延迟加载结果窗口数据网格 2026-07-22 08:53:56 +08:00
Syngnat
1fe1e51791 ️ perf(redis-monitor): 暂停后台页签轮询 2026-07-22 08:45:11 +08:00
Syngnat
62b7ea9aa9 ️ perf(startup): 延迟加载 AI 重型模块 2026-07-22 07:52:04 +08:00
Syngnat
c6ca44aa44 ️ perf(workbench): 隔离 SQL 输入引发的全局重绘 2026-07-22 07:28:02 +08:00
Syngnat
d864a83527 ️ perf(native-window): 避免热路径序列化 AI 上下文 2026-07-22 01:51:33 +08:00
Syngnat
ea7c05f28f ️ perf(query-completion): 限制大元数据候选构建 2026-07-22 01:47:14 +08:00
Syngnat
f9b685f5e7 ️ perf(build): 启用生产依赖分块配置 2026-07-22 01:41:07 +08:00
Syngnat
2015676ece ️ perf(er-diagram): 限制元数据缓存长期增长 2026-07-22 01:30:27 +08:00
Syngnat
cd55228e1e ️ perf(store): 合并持久化写入并复用状态投影 2026-07-22 01:14:26 +08:00
Syngnat
074f695e15 ️ perf(window): 降低空闲状态原生轮询频率 2026-07-22 01:10:56 +08:00
Syngnat
7c7ed0ca81 ️ perf(ai-chat): 隔离流式消息重绘并复用工具结果索引
将消息行按引用和相关工具结果精确 memo,避免流式输出重绘全部历史消息。

复用单次工具结果索引,并为最新流式消息增加 O(1) 定位热路径与 500 条消息回归测试。
2026-07-22 00:45:27 +08:00
Syngnat
26e980917f ️ perf(workbench): 隔离后台页签日志订阅
仅让活跃查询编辑器订阅 SQL 日志,并在侧栏命令搜索关闭时保持稳定空快照。

补充隐藏页签重绘、激活切换和最近日志顺序回归测试。
2026-07-22 00:34:40 +08:00
Syngnat
76e74a02fd ️ perf(data-grid): 合并当前页查找扫描
将匹配坐标与命中统计合并为单次单元格遍历,避免重复格式化整页数据。

使用延迟值调度大结果集查找,同时保留清空输入时立即移除高亮的行为。
2026-07-22 00:20:17 +08:00
Syngnat
c0b1b0873e ️ perf(query-draft): 将大草稿持久化移出输入热路径
将防抖后的序列化与 localStorage 写入转移到空闲任务,并合并重复调度。

保留 pagehide、beforeunload 与显式同步刷新,补充大草稿和调度边界回归测试。
2026-07-22 00:13:00 +08:00
Syngnat
7916538a19 ️ perf(query-editor): 避免后台查询页重复加载元数据
- 仅允许活动查询页拉取数据库列表和自动补全元数据
- 标签切换后忽略旧数据库列表请求的延迟回包
- 增加多查询页切换回归测试,限制后台 RPC 扇出
2026-07-21 23:54:58 +08:00
Syngnat
fda0733f11 ️ perf(native-window): 优化 AI 独立窗口启动与交互
- 关闭时隐藏保活,重开复用现有进程并通过可见性版本消除竞态
- 拆分 AI 与工作台资源,使用启动状态白名单减少序列化开销
- 修复设置中心层级、Windows 前台切换及独立窗口关闭交互
- 补齐状态同步、断线重放与窗口生命周期回归测试
2026-07-21 23:40:17 +08:00
Syngnat
5c3535c85d feat(native-window): 支持 macOS Dock 管理独立窗口
- 在主程序 Dock 菜单动态列出并聚焦已就绪的独立窗口
- 在 Wails 启动前固定子进程为 Accessory,消除临时 Dock 图标闪现
- 按多显示器可见区域修正越界窗口并回写实际坐标
- 将自定义 AI 面板快捷键同步到独立窗口并转交主窗口处理
- 补齐 Go、Objective-C、前端及 Wails 绑定回归测试
2026-07-21 18:52:54 +08:00
Syngnat
d7b60891c5 feat(mcp): 支持 OpenCode 客户端接入
- 识别用户目录与 XDG 路径下的 OpenCode JSON/JSONC 配置
- 保留注释、自定义字段与符号链接并原子写入 MCP 配置
- 增加 CLI 检测、安装状态、自动接入及旧路径修复
- 在客户端选择、浏览器模拟、AI 检查提示和六语言文案中接入 OpenCode
- 引入 hujson、补充许可声明及前后端回归测试
2026-07-21 18:52:19 +08:00
Syngnat
3c8692b133 🐛 fix(connection/elasticsearch): 修复索引加载超时与测试按钮卡顿
- 使用 CAT Indices 轻量枚举索引并兼容 ES 7.3 参数
- CAT 失败时在统一超时预算内回退 Alias API
- 分离连接测试与保存状态并后台加载数据库列表
- 隔离过期测试请求,避免弹窗重开后状态污染
- 补充索引回退、超时预算与按钮状态回归测试
2026-07-21 18:41:58 +08:00
Syngnat
446707698f feat(table-copy): 新增整表复制与自动副本命名
- 在表概览及新旧侧栏右键菜单接入复制整表入口与确认、进度和刷新反馈
- 按 source_copyN 原子创建目标表并复制列、索引、默认值及全部数据
- 处理 PostgreSQL 生成列、identity/serial 序列校准与失败清理
- 限定安全数据源与连接保护策略,阻止分区表、RLS 及引用型存储引擎
- 加固 MySQL/PostgreSQL 元数据标识符处理并补齐六语种文案
- 增加后端、能力矩阵、菜单接线和国际化回归测试
2026-07-21 13:27:24 +08:00
Syngnat
60d172254d 🐛 fix(update): 安装前确认并安全关闭当前安装的全部实例
- 安装更新前先确认关闭当前安装目录下的 GoNavi 实例,并继续执行未保存 SQL 退出保护
- 按可执行文件路径枚举并复核进程身份,优雅关闭超时后再强制终止,避免 PID 复用误杀
- 通过全局维护事件阻止更新期间启动新实例,并由 PowerShell 更新器完成跨权限无空窗交接
- 同步更新前端交互、多语言提示、Wails 绑定及 Windows 发布资产校验
2026-07-21 10:55:08 +08:00
Syngnat
b75fd37b05 🐛 fix(update): 修复下载进度弹窗层级
- 隐藏下载进度时销毁旧弹窗 Portal,重新查看时恢复到设置中心上层
- 保留后台下载进度与完成状态,支持隐藏后反复查看
- 补充弹窗挂载策略及更新状态回归测试
2026-07-21 09:01:22 +08:00
Syngnat
0f474e4918 🐛 fix(ci): 修复标题栏资源测试的类型错误
- 为 PNG 资源读取显式指定 base64 编码
- 恢复前端及 Docker 镜像构建的 TypeScript 校验
2026-07-20 22:19:57 +08:00
Syngnat
118da179f6 🐛 fix(titlebar): 修复暗色主题标题栏图标白底
- 为默认品牌图标增加透明紧凑标题栏素材
- 增加独立标题栏资源解析并保留其他品牌图标现有展示
- 移除标题栏图标强制白色背景
- 补充默认图标、未知图标回退及透明素材测试
2026-07-20 20:23:18 +08:00
Syngnat
b2819db495 feat(shortcuts): 支持快捷键关闭当前标签页
- 新增可自定义的关闭当前标签页动作,macOS 默认 ⌘W,Windows/Linux 默认 Ctrl+W
- 根据最近交互区域路由工作区或结果标签关闭,并隔离分离窗口
- 关闭日志标签时隐藏整个结果区,避免连续按键误关工作区
- 沿用未保存 SQL 与导入任务等工作区关闭保护
- 隔离 IME、快捷键录制、弹窗、抽屉与上下文菜单
- 补充多语言文案及快捷键路由回归测试
2026-07-20 20:22:35 +08:00
Syngnat
049ec7bdf1 feat(data-workbench): 直达批量操作并新增数据导入工作台
- 批量表和批量库入口无需预选目标即可进入统一工作台
- 将对象选择、导出、清空和删除操作迁入可持续查看的任务界面
- 新增侧栏数据导入入口并复用预览、字段映射和进度流程
- 保护运行中的导入标签并同步复用工作台的连接上下文
- 补齐多语言文案及批量操作、导入链路回归测试
2026-07-20 15:34:20 +08:00
Syngnat
21e0921b3b feat(data-sync/export): 支持同步与备份后台工作台
- 将数据同步及各级 SQL 备份统一迁入稳定工作区
- 全局保留任务状态、进度和结构化日志,关闭后可重新接回
- 支持从当前任务及历史记录打开 SQL 恢复工作台
- 锁定运行中配置并禁止后台任务分离到独立窗口
2026-07-20 13:43:58 +08:00
Syngnat
258f5bdd64 🐛 fix(tab-manager): 修复工作区标签批量关闭菜单失效
- 将右键菜单项和下拉菜单排除在标签拖拽触发区域外
- 避免 dnd-kit 指针捕获吞掉关闭其他页及左右侧关闭操作
- 补充菜单项不触发拖拽的指针回归测试
2026-07-20 13:40:29 +08:00
Syngnat
02eec5aee3 🐛 fix(query-editor): 修复 SQL 执行与结果标签交互
- 空白光标回退执行编辑器内全部有效 SQL
- 修复活动结果标签必须切换日志后才能关闭的问题
- 阻止关闭按钮和菜单指针误触结果标签分离拖拽
- 补充空白行、尾部空白和结果标签关闭回归
2026-07-20 13:40:03 +08:00
Syngnat
63ffa12958 🐛 fix(connection): 修复多数据源连接与浏览异常
- 修复 Milvus 表概览元数据查询与 SELECT 预览路由异常
- ClickHouse 非标端口 Native 握手超时后继续 HTTP 自动探测
- Elasticsearch 连接测试与索引枚举解耦,避免健康服务误判
- 更新可选驱动 revision 并补充回归测试
2026-07-20 10:55:19 +08:00
Syngnat
cb5f6a668f feat(datagrid): 支持按单元格选区删除记录
- 统一单元格选区与复选框行的删除目标和计数,按记录行去重处理
- 保留复选框优先级,新增行直接移除,已有记录进入待提交删除
- 隔离页内查找高亮,并在刷新、数据重载或上下文切换时清理旧选区
- 补充选区删除、刷新保护、查找隔离和新增行回归测试
2026-07-20 10:21:01 +08:00
Syngnat
ae0eb03c21 🐛 fix(datagrid): 修复 macOS 触摸板横向滚动回跳
- 持续横向滚动期间守护最新视觉偏移,避免虚拟列表异步回写旧位置
- 增加可取消的逐帧视觉守卫并完善交互与卸载清理
- 补充守卫时序及 DataGrid 滚动接线回归测试
2026-07-20 09:43:36 +08:00
Syngnat
54c06ed113 feat(context-menu): 增强字段与数据库名称复制交互
数据表列头支持按元数据复制字段注释;数据库节点旧版与 V2 菜单支持复制数据库名;补齐六语言文案与回归测试。

Fixes #547
2026-07-19 18:17:14 +08:00