Commit Graph

124 Commits

Author SHA1 Message Date
AutumnNazi
ee53a56183 feat(cloud-backup): 支持加密云端备份与选择性恢复
- 新增 WebDAV 与 S3 独立配置、凭据和远端状态管理
- 使用 Argon2id 与 AES-256-GCM 加密连接及配置备份
- 支持分类备份、自动同步、远端预览和一次性确认恢复
- 连接与已保存查询按 ID 合并恢复,并保留本地独有数据
- 补充前后端回归测试、六语言文案和恢复失败回滚
2026-07-27 20:20:00 +08:00
Syngnat
1bede52595 🐛 fix(redis): 完善集合值分页与只读查看
- 统一 Hash、List、Set、ZSet 与 Stream 的自适应分页表格
- 使用 Redis 返回长度展示真实总数并保持分页入口可见
- 为 List 元素增加只读查看模式且避免误写 Redis
- 短列表不再预留空滚动槽并补齐多语言文案

Refs #728
Refs #733
2026-07-27 17:35:00 +08:00
Syngnat
fac84c29fb feat(connection-modal): 重构连接弹窗 Studio 交互 (#740)
2026年7月27日 17:05:54 提交
2026-07-27 17:34:34 +08:00
lsx
e79da2e1e6 feat(connection-modal): 重构连接弹窗 Studio 交互 2026-07-27 17:02:55 +08:00
mango
83f54d62af 🐛 fix: 修复 Issue #726 (Closes #726) 2026-07-27 16:54:46 +08:00
Syngnat
2d1034e77e feat(connection-modal): 按 Demo 重做新建连接弹窗信息架构与密排表单
- 选型页:侧栏搜索/最近/分类 + 类型卡片网格(Studio 布局)
- 配置页:顶栏 Tab(基本/网络与安全/外观/高级),去掉左侧分区导航
- 基本区:URI 置顶,名称/主机/认证密排,模式分段,生产保护扁平折叠
- 网络区:列表勾选 + 详情面板;高级区承接 connectionParams
- Step1/Step2 分宽(960/600),补充 dense 文案 i18n 与相关单测
- 附:标题栏主操作抽成 TitleBarPrimaryActions,并附 HTML Demo 参考
2026-07-27 12:20:12 +08:00
Syngnat
d48c7d06d6 🐛 fix(updater): 修复状态竞态与后台进程回收 2026-07-27 00:14:03 +08:00
Syngnat
cc24d8213a feat(connection): 优化数据源选择并支持全局搜索
- 新增全部分类、跨分类名称与类型键搜索及空结果提示
- 将卡片网格重构为响应式平面目录并完善键盘可达性
- 补齐六语言文案及语言切换、状态重置与过滤行为回归
2026-07-26 23:13:51 +08:00
Syngnat
c5e25d2ff5 🐛 fix(sql-error): 锁等待超时不再被误判为查询超时并给出无效建议
MySQL 报 Error 1205 (HY000): Lock wait timeout exceeded 时,界面归类为「查询超时或被取消」,
建议「检查 SQL 执行计划、过滤条件和索引,必要时缩小查询范围或调整超时时间」——
这套建议对行锁等待完全无效:成因是另一个事务持锁,调大超时只会让用户等更久。

根因:timeout_or_canceled 规则里有一条过宽的 /timeout/i,而 findSqlErrorSemantic 取首个
命中的规则,于是把锁等待超时也吞成了查询超时。

- 新增 lock_contention 规则并排在 timeout_or_canceled 之前,覆盖各方言的锁竞争与死锁:
  MySQL 1205/1213、PostgreSQL deadlock detected 与 lock timeout、
  SQL Server 1222/1205、Oracle ORA-00060/00054/30006、SQLite database is locked
- 文案改为指向真正的处置动作:先提交或回滚未完成的事务(含本应用 SQL 编辑器里自己未提交的
  事务)再重试,并明确说明调大查询超时无效
- 6 个语言补齐 label/explanation/suggestion
- 补 4 项测试:1205 不再归类为超时、建议不再提"调整超时"、各方言锁竞争均被识别、
  普通查询超时不被新规则误吞。已确认清空新规则的 patterns 后 3 项必定失败,
  且失败信息正好复现原缺陷
2026-07-26 22:17:04 +08:00
Syngnat
9074cd9707 🔥 remove(frontend-test): 删除源码文本断言型测试并补齐全局 i18n 校验
- 删除 105 个纯静态测试文件(6624 行):仅把源码当字符串断言、不执行被测代码
- 新增 testPolicy 守卫:禁止新增读源码文本的测试,131 个存量文件记入只减不增的基线
- 新增 i18n keyResolution:校验源码 t() 引用的 key 均可经完整解析链得到译文
- 新增 i18n catalogIntegrity:校验占位符跨语言一致、无空译文
- 补齐 6 个语言包缺失的 common.retry,修复审计面板重试按钮显示字面量 key

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 20:39:11 +08:00
AutumnNazi
66531b6abd feat(connection): 支持分组快捷新建与环境预设
- 在新旧侧栏分组右键菜单中增加新建连接,并在保存后自动归入目标分组
- 为连接与分组增加生产、测试、开发和本地环境预设及颜色标识
- 持久化连接环境元数据,兼容旧数据与连接包导入导出
- 补充多语言文案及前后端回归测试
2026-07-24 18:31:40 +08:00
mango
2a7fcb4781 🐛 fix(table-designer): fix table sorting and column options (#705) 2026-07-24 17:55:22 +08:00
AutumnNazi
0d27d2deaa feat(sidebar): 支持删除与清空近期查询
- 为每条近期查询增加删除入口,并在标题区提供清空操作
- 通过持久化可见性标记隐藏近期记录,保留完整 SQL 执行日志
- 补齐六语言文案及交互、订阅和状态持久化测试
2026-07-24 12:35:56 +08:00
Syngnat
d3909c7dff feat(saved-query): 支持独立 SQL 文件与自定义存储目录
- 将已存查询内容从 JSON 拆分为独立 .sql 文件,并采用可读名称和数字后缀处理冲突
- 自动迁移旧版内联 SQL 与摘要文件名,保留外部编辑并在失败时回滚
- 支持选择、迁移、打开及恢复默认存储目录,补充数据根切换串行保护
- 新增已存查询右键在文件夹中打开,并同步处理查询重命名后的文件路径
- 补齐 Wails、浏览器模拟、六语言文案及后端和前端回归测试
2026-07-24 11:29:04 +08:00
Syngnat
bbcafe63f4 🐛 fix(update): 修复 Windows 在线更新多实例确认流程
- 安装前获取维护锁并枚举同目录进程,仅检测到其他实例时触发关闭确认
- 改用 Windows 原生系统模态对话框并先收起下载进度窗口,避免确认提示被遮挡
- 单实例直接进入安装,取消确认或退出检查中止后恢复下载完成状态
- 多语言确认文案展示实际实例数量,补齐前后端与发布工作流回归测试
2026-07-24 10:19:09 +08:00
Syngnat
d618ef381e feat(data-transfer): 完善数据库 SQL 备份与恢复
- 数据导入工作台新增数据库模式,支持 SQL 文件选择、目标库、进度、取消与重试
- 新增受连接保护约束的 ImportDatabaseSQL 接口并复用流式执行链路
- SQL 导出支持切换数据库上下文,兼顾原库备份和跨库导入
- 调整侧栏与表概览入口,备份先进入工作台确认配置再执行
- 同步 Wails 绑定、Web 运行时限制、六语文案和回归测试
2026-07-23 16:40:44 +08:00
Syngnat
1f17b5cfad 🎨 style(settings/ai): 统一设置中心与 AI 配置交互
- 移除设置导航、详情页和 AI 配置列表的冗余分隔线
- 梳理外观字号项顺序并精简日志目录重复标题
- 恢复安全与上下文选项语义色,统一供应商操作按钮
- 强化 MCP 页签、客户端选中态和折叠交互
- 拆分推荐流程与内置工具视图并补齐六语回归测试
2026-07-23 16:36:21 +08:00
Syngnat
57108d5b71 feat(sidebar): 支持左侧树整体折叠与展开
- 新增侧栏整体折叠状态并保留原有展开宽度
- 将 V2 折叠按钮固定到资源树标题栏,折叠后从窗口标题栏展开
- 联动搜索入口、AI 面板和日志调整线布局
- 补充多语言文案、按钮边框样式和回归测试
2026-07-23 12:27:55 +08:00
Syngnat
97cffa7809 feat(settings): 支持自定义并持久化日志目录
- 将日志目录配置整合到数据目录设置,支持选择、打开、恢复默认与保存
- 持久化日志目录并保留环境变量优先级,目录调整后重启生效
- 通过跨进程锁和原子写入保护数据目录与日志目录配置
- 移除重复标题并互斥目录修改操作,补齐六语言文案
- 补充桌面接口、浏览器模拟及并发回归测试
2026-07-23 11:40:17 +08:00
Syngnat
5a5fbf04fe feat(settings): 拆分 SQL 编辑器与查询结果字号
- 新增 SQL 编辑器独立字号与跟随全局配置
- 将查询编辑器和 DDL 预览接入 SQL 专用排版
- 迁移旧版耦合字号设置并保留原有视觉大小
- 更新六语种文案并补充持久化与组件测试
2026-07-23 11:24:44 +08:00
Syngnat
93b2bfef69 🐛 fix(settings): 修正更新通道说明与控件对齐
- 按 latest 和 dev 通道显示对应的稳定版或开发版说明
- 统一更新通道与检查间隔控件宽度及右侧对齐
- 补充六种语言文案和设置中心回归测试
2026-07-23 10:23:14 +08:00
Syngnat
e4ca74d935 🐛 fix(sidebar): 为表库删除增加五秒确认
- 统一侧边栏与表概览的 DROP 表库确认流程
- 倒计时期间禁用危险按钮并阻止提前执行,关闭时清理计时器
- 补齐六语言文案及倒计时边界与入口接线测试
2026-07-23 10:05:08 +08:00
Syngnat
836b8258f7 ♻️ refactor(settings): 重构设置中心布局与交互规范
- 扁平化设置中心与 AI/MCP 信息层级,移除冗余卡片容器
- 统一字体、按钮、控件密度和嵌入式设置样式
- 完善键盘导航、焦点恢复、状态保留和多语言回归测试
2026-07-22 23:32:39 +08:00
Syngnat
caf450d4f0 🐛 fix(import): 修复导入进度与任务停止
- 修正 SQL 文件执行进度提前完成及终态竞态
- 支持停止导入并保留已提交的部分统计
- 完善取消审计、多语言提示与回归测试

Refs #677
Refs #678
2026-07-22 22:36:19 +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
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
d7b60891c5 feat(mcp): 支持 OpenCode 客户端接入
- 识别用户目录与 XDG 路径下的 OpenCode JSON/JSONC 配置
- 保留注释、自定义字段与符号链接并原子写入 MCP 配置
- 增加 CLI 检测、安装状态、自动接入及旧路径修复
- 在客户端选择、浏览器模拟、AI 检查提示和六语言文案中接入 OpenCode
- 引入 hujson、补充许可声明及前后端回归测试
2026-07-21 18:52:19 +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
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
54c06ed113 feat(context-menu): 增强字段与数据库名称复制交互
数据表列头支持按元数据复制字段注释;数据库节点旧版与 V2 菜单支持复制数据库名;补齐六语言文案与回归测试。

Fixes #547
2026-07-19 18:17:14 +08:00
Syngnat
c4f24a6245 🐛 fix(data-export): 自动补齐导出文件格式后缀
- 为 CSV、XLSX、JSON、Markdown、HTML 和 SQL 保存对话框绑定对应过滤器并统一补齐扩展名
- 覆盖单表、查询、批量 SQL、数据库、Schema 与 SQL 审计导出路径
- 防止补后缀后的目标绕过覆盖确认,并补充真实落盘、多语言与安全回归测试
2026-07-19 14:27:00 +08:00
Syngnat
94ad5ae2f6 feat(connection): 支持自定义 SQL 探活
- 新增连接级自定义探活 SQL 配置与多语言表单校验
- 限制单条 SELECT/WITH 并使用可取消的超时查询
- 隔离陈旧探活策略,避免配置错误驱逐健康连接

Fixes #611
2026-07-19 12:29:21 +08:00
Syngnat
3aea725f7b feat(import-export): 支持 SQL 导出前删除同名对象
- 新增默认关闭的 DROP IF EXISTS SQL 导出选项和数据删除提示
- 覆盖数据库、Schema、单表、批量导出及工作台入口
- 按方言生成逆序 DROP 前导段并保持纯数据与旧 API 兼容

Fixes #514
2026-07-18 18:20:30 +08:00
Syngnat
fd093b3325 feat(clickhouse): 支持自定义连接兼容 JDBC DSN
- 解析 ClickHouse 与 JDBC 风格 DSN 并映射协议、TLS、认证及数据库参数
- 统一连接缓存、DDL、数据同步与导出 driver-agent 生命周期
- 保持 DSN 加密存储并补充前后端回归测试和多语言提示

Fixes #383
2026-07-18 17:48:19 +08:00
Syngnat
0136b87311 🐛 fix(proxy): 避免全局代理影响数据库连接
移除数据库和 Redis 连接对全局代理的隐式继承

保留连接自身代理与 HTTP 隧道配置并修正缓存释放链路

同步六种语言的代理作用域说明并增加回归测试

Fixes #347
2026-07-18 16:43:39 +08:00
Syngnat
15fba1d89f feat(import-export): 优化数据表导入导出能力
- 修复表格格式导出时空值显示为 null 的问题
- 支持按列导出并保持字段顺序
- 支持导入列与数据库字段映射及冲突校验
- 隔离并发导入任务进度并完善元数据回退

Fixes #646
2026-07-18 15:17:54 +08:00
Syngnat
6cd2835066 feat(ai): 支持 Codex 与 Claude 订阅登录
- 新增基于本机官方 CLI 登录状态的 Codex 与 Claude 订阅 Provider
- 隔离 API Key、工具与项目配置,完善登录校验和错误处理
- 补充设置界面、国际化及前后端回归测试

Fixes #651
2026-07-18 11:57:25 +08:00
Syngnat
176b100274 🐛 fix(app): 修复品牌图标与 SQLite 查询展示
- 修复 Windows、macOS 与关于页的品牌图标展示及资源裁切问题
- 补齐 SQLite 表记录数与 SELECT 查询结果渲染
- 增加品牌图标和 SQLite 回归测试
2026-07-15 22:53:47 +08:00
Syngnat
d87e314880 🎨 style(brand): 吉祥物品牌图标可选,并同步 macOS Dock
新增 10 款品牌吉祥物资源与设置页选择器;标题栏/关于页/favicon 跟随切换,
macOS 通过原生 API 更新 Dock 图标(满铺浅蓝 Dock 专用图)。
同步默认 appicon 与 README 品牌展示。
2026-07-15 19:55:20 +08:00
tianqijiuyun-latiao
89c25e3019 🐛 fix(updater): 阻止 Windows 多实例并发安装更新 2026-07-15 15:26:53 +08:00
Syngnat
5b8e7b538c 🐛 fix(query-editor): 修复视图与同义词补全
- 跨用户视图补全避免重复 owner 前缀
- 按结果集字段名去重视图列候选
- 加载 Oracle 私有及 PUBLIC 同义词并解析目标字段
- 补充跨用户视图与同义词回归测试
2026-07-15 11:37:36 +08:00
Syngnat
a0bb19b8bb feat(sidebar): 支持自定义对象分类显示
新增侧栏对象分类开关与仅显示表快捷设置
配置持久化并即时应用到所有连接
补充筛选、持久化与国际化回归测试
2026-07-14 21:53:57 +08:00
Syngnat
8a1c1842ee feat(saved-query): 支持多级已存查询分组
- 新增已存 SQL 分组的持久化模型与后端管理接口
- 支持创建、编辑、嵌套、排序、移动和删除分组
- 在侧栏树和菜单中提供分组管理与未分组查询视图
- 同步 Wails 绑定、六种语言文案及前后端回归测试
2026-07-14 17:09:27 +08:00
Syngnat
7886cdc613 🐛 fix(sidebar): 排除已归属连接的分组选项
- 创建分组时仅展示未归属其他分组的连接
- 编辑分组时保留当前分组已有成员
- 无可选连接时显示明确空状态并补充多语言文案
- 增加连接筛选回归测试
2026-07-14 17:06:35 +08:00