Syngnat
|
ca76440981
|
🐛 fix(connection): 收紧稳定期数据库连接自动重试
Fixes #331
|
2026-04-11 21:58:16 +08:00 |
|
Syngnat
|
af5e84213f
|
🐛 fix(driver): 扩展 TDengine 历史版本选择范围
Fixes #325
|
2026-04-11 21:53:53 +08:00 |
|
Syngnat
|
fcade0f860
|
✨ feat(sidebar): 支持窄侧栏横向滚动查看
Fixes #329
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
1c2377bc62
|
🐛 fix(driver): 修复达梦驱动安装误走无效直链
Fixes #320
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
426ef3bcf6
|
🐛 fix(update): 修复 Windows 更新脚本安装失败
Fixes #328
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
fb500ee33b
|
🐛 fix(mysql): 回退当前数据库列表查询
Fixes #327
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
89d79ff10c
|
🐛 fix(mysql): 修复 bit 列写入归一化
Fixes #318
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
aa1bb5b886
|
🐛 fix(kingbase): 回退当前数据库元数据查询
Fixes #316
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
5038ae5c9b
|
🐛 fix(window): 修复 Windows 恢复焦点后界面缩放异常
Fixes #315
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
83fe3d4ed9
|
🐛 fix(driver): 提升批量 INSERT 执行效率
Fixes #311
|
2026-04-11 21:53:51 +08:00 |
|
Syngnat
|
808c773134
|
✨ feat(table-overview): 优化库内表概览为逐行展示
Fixes #310
|
2026-04-11 21:53:51 +08:00 |
|
Syngnat
|
5d86ee7c76
|
🐛 fix(clickhouse): 获取数据库列表失败时回退当前库
Fixes #308
|
2026-04-11 21:53:51 +08:00 |
|
Syngnat
|
8297829be6
|
✨ feat(driver): 增加驱动目录直达入口与手动导入提示
Fixes #306
|
2026-04-11 21:53:51 +08:00 |
|
Syngnat
|
f696f52470
|
🐛 fix(table-designer): 修复金仓新增字段保存失败
Fixes #305
|
2026-04-11 21:53:51 +08:00 |
|
Syngnat
|
60b63d7a22
|
✨ feat(icon): 补充 SQL Server 数据库图标
Fixes #287
|
2026-04-11 21:53:50 +08:00 |
|
Syngnat
|
1f617f9d53
|
✨ feat(storage): 支持自定义数据目录与显式迁移
Fixes #242
|
2026-04-11 21:53:50 +08:00 |
|
DurianPankek
|
c810d999bd
|
Merge 803c33b306 into 0009c98c7e
|
2026-04-11 13:23:51 +08:00 |
|
folltoshe
|
0009c98c7e
|
feat(window): 在全屏状态下时隐藏圆角
|
2026-04-11 04:40:35 +08:00 |
|
DurianPankek
|
803c33b306
|
🐛 fix(window): 修复 mac 原生全屏下输入时窗口丢失
|
2026-04-10 19:43:15 +08:00 |
|
Syngnat
|
1d882d089f
|
🐛 fix(driver): 修复可选驱动构建时 Go PATH 检测误判 (#353)
## 背景
在 `dev-ac6ef06` 构建中,安装 SQL Server 等可选驱动时,GoNavi 在部分 macOS 环境会误报“当前环境未安装
Go”。
实际问题并非未安装 Go,而是应用从图形界面启动时没有继承终端中的 PATH,导致 `brew` 安装的 Go(如
`/opt/homebrew/bin/go`)无法被 `exec.LookPath("go")` 发现,进而阻塞可选驱动代理的本地构建流程。
材料参考:
<img width="2142" height="1460" alt="连接失败"
src="https://github.com/user-attachments/assets/0844cf97-5720-4677-a806-65e056fa9766"
/>
<img width="289" height="74" alt="image"
src="https://github.com/user-attachments/assets/3e98e482-f74d-4b68-8605-b712fbdb98c1"
/>
## 关键修改
- 为可选驱动源码构建新增 `go` 可执行文件解析逻辑,避免仅依赖当前进程 PATH
- 增加常见 Go 安装路径兜底:
- `/opt/homebrew/bin/go`
- `/usr/local/go/bin/go`
- `/usr/local/bin/go`
- 在常见路径未命中时,再回退到登录 shell 中执行 `command -v go`
- 解析 shell 输出时逐行筛选真实存在的路径,避免 shell 启动脚本输出额外提示导致误判
- 为 Go 探测逻辑补充单元测试,覆盖:
- shell 列表去重与顺序
- 常见路径回退
- shell 回退
- 噪音输出过滤
## 影响范围
- 仅影响可选驱动代理的源码构建阶段
- 不影响已内置驱动
- 不影响普通数据库连接、前端界面和其他业务逻辑
- 主要改善 macOS 图形界面启动应用时的 Go 环境探测兼容性
## 验证方式
已执行:
```bash
go test ./internal/app
```
## 修复效果
<img width="1114" height="784" alt="已连接1"
src="https://github.com/user-attachments/assets/72f4bb89-6c0b-4632-9098-3ce5b865e288"
/>
<img width="1032" height="791" alt="已连接2"
src="https://github.com/user-attachments/assets/6330cff2-c13b-4a9b-852d-8fc234819f81"
/>
## 验证点:
- 终端内已安装 Go 且可执行时,保持现有行为
- GUI 进程未继承 PATH 时,可通过常见目录或 shell 回退找到 Go
- shell 启动脚本存在额外输出时,仍可解析到真实 Go 路径
## 风险与回滚
### 风险:
- 仅新增本地命令探测与路径兜底逻辑,影响面较小
- 若用户使用非常规 Go 安装方式,仍可能需要后续补充手动指定 Go 路径的正式方案
### 回滚:
- 可直接回退本 PR 中 internal/app/methods_driver.go 与对应测试变更
## 备注
当前使用中还观察到“驱动下载链路域名不可达”在已有网络代理时可能出现误报,但该问题既不影响当前 PATH
修复的有效性,也并不阻塞下载,所以未纳入本次修改范围。
|
2026-04-09 17:17:15 +08:00 |
|
DurianPankek
|
19da7fc66c
|
🐛 fix(driver): improve Go PATH detection for optional driver builds
|
2026-04-09 16:16:22 +08:00 |
|
Syngnat
|
c1877ea013
|
🐛 fix(ci): 修复 dev-latest 历史 release 残留导致的重复发布问题
- 将 dev release 清理逻辑改为枚举所有历史 release
- 删除全部 tag_name=dev-latest 的 draft 与 prerelease 残留
- 避免只删除单个 release 时遗留旧的 Dev Build 页面项
- 保留后续 tag ref 清理与重新发布流程
- 确保 dev 发布前仓库中只保留一个有效的 dev-latest release
|
2026-04-09 13:34:41 +08:00 |
|
Syngnat
|
60dbb8a559
|
🐛 fix(ci): 修复 dev 预发布构建时间格式并收敛并发运行
- 为 dev-build workflow 增加同分支并发互斥配置
- 避免多个 dev 运行同时操作 dev-latest release
- 新增构建时间格式化步骤,将时间统一输出为 yyyy-MM-dd HH:mm:ss
- 将 release 文案中的构建时间改为引用格式化结果
- 保持现有 dev 版本号与 release/tag 清理逻辑不变
|
2026-04-09 13:31:01 +08:00 |
|
Syngnat
|
67fe3e3017
|
🐛 fix(ci): 修复 dev 预发布因重复 tag 导致的发布失败
- 将 dev-latest 预发布前的清理步骤改为 actions/github-script
- 显式按 GitHub API 删除已存在的 release 与 tags/dev-latest 引用
- 移除对未维护 delete-tag-and-release 动作的依赖
- 保持 dev-latest 固定预发布标签语义不变
- 避免 softprops/action-gh-release 在 finalizing release 阶段因 tag_name already_exists 失败
|
2026-04-09 12:30:13 +08:00 |
|
Syngnat
|
35944d58f8
|
合并拉取请求 #344
🐛 fix(connection-modal): 修复连接配置输入框自动首字母大写问题
|
2026-04-08 19:39:07 +08:00 |
|
DurianPankek
|
5c2509c37f
|
🐛 fix(connection-modal): 修复连接配置输入框自动首字母大写问题
|
2026-04-08 19:11:18 +08:00 |
|
Syngnat
|
8e1b01b550
|
Revert "🐛 fix(connection-modal): 修复连接配置输入框自动首字母大写问题 (#344)"
This reverts commit 29fa5eb6df.
|
2026-04-08 10:41:34 +08:00 |
|
Syngnat
|
29fa5eb6df
|
🐛 fix(connection-modal): 修复连接配置输入框自动首字母大写问题 (#344)
合并外部贡献者 DurianPancake 的 PR #344 修改(解决冲突后)。
主要改动:
- 新增 noAutoCapInputProps 常量,统一关闭 autoCapitalize/autoCorrect/spellCheck
- 在所有文本输入组件(Input/Input.Password/Input.TextArea)应用该属性
- 增加弹窗级 MutationObserver 兜底,对动态 DOM 元素补充禁用属性
影响范围: 仅前端连接配置弹窗内的文本输入行为,后端逻辑不变
|
2026-04-08 10:40:16 +08:00 |
|
Syngnat
|
7c6391af3d
|
⚡️ perf(ai-chat): 优化会话持久化序列化方式
- 序列化方式:AISaveSession 从 MarshalIndent 改为 Marshal
- 存储优化:移除不必要的缩进格式化,减少磁盘占用
- 性能提升:紧凑 JSON 序列化速度更快,减少内存分配
|
2026-04-08 10:30:51 +08:00 |
|
Syngnat
|
5746796bc2
|
🐛 fix(export): 修复导出时间时区误偏移 (#345)
## 背景
导出查询结果时,时间字段在部分场景出现错误时区偏移。典型表现为数据库中正确的本地时间在导出后被额外偏移(例如 +8 小时),影响
JSON/文本类导出的可用性与可信度。
## 变更内容
- 修复导出时间解析逻辑,区分“带时区时间字符串”和“无时区时间字符串”的处理方式:
- 带时区值按其时区语义解析;
- 无时区值按本地语义解析,避免误按 UTC 导致二次偏移。
- 统一导出时间格式化行为,避免在导出阶段再次进行不必要的时区换算,确保 `timestamp without time zone`
等场景保持原始钟表时间。
- 补充回归测试,覆盖以下关键路径:
- 无时区时间字符串导出不偏移;
- RFC3339 字符串解析后格式化行为稳定;
- `time.Time` 导出保持预期钟表时间;
- JSON 导出时间字段行为一致。
## 影响范围
- 主要影响导出链路中的时间字段格式化(CSV/JSON/MD/HTML/XLSX 对应后端写出逻辑)。
- 不涉及连接协议、SQL 执行流程和驱动安装机制。
## 验证方式
- 已通过:
- `go test ./internal/app`
- `go test -race ./internal/app`
- `go test ./...`
## 风险与说明
- 已确认并修复本次问题对应的导出时区偏移路径。
- 当前系统仍存在“基于值推断时间语义”的历史设计约束;这里的“元数据驱动”是指基于数据库列定义类型(如 `timestamp
with/without time zone`、`datetimeoffset` 等)来决定是否允许时区换算。
- 上述历史约束并非本次修改引入。后续建议按数据库类型矩阵(DB matrix)逐库适配元数据策略,以降低跨数据库兼容风险与误判风险。
## 相关截图
- 问题对比:问题1、问题2
<img width="419" height="170" alt="问题1"
src="https://github.com/user-attachments/assets/a4d9f949-1f5c-4dcc-b3fa-13082347fec3"
/>
<img width="736" height="130" alt="问题2"
src="https://github.com/user-attachments/assets/b1d5b9e4-7f79-4929-875c-a422d1fbe51b"
/>
---
- 修复后:修复1、修复2
<img width="548" height="130" alt="修复1"
src="https://github.com/user-attachments/assets/1ee0a91d-2dec-4060-9c8e-9817f437dae7"
/>
<img width="486" height="128" alt="修复2"
src="https://github.com/user-attachments/assets/baa8cb25-b08a-4f31-94d8-a4a50753fb97"
/>
|
2026-04-08 10:23:27 +08:00 |
|
DurianPankek
|
3ec7c9be9d
|
🐛 fix(export): 修复导出时间时区误偏移
|
2026-04-07 19:38:16 +08:00 |
|
辣条
|
ac6ef06413
|
feat(app): 合并配置密文存储、数据表增强与驱动相关修复 (#339)
## 背景
本次合并汇总了 5 类功能,并对冲突处理后的代码进行了回归审查,目标是将配置密文存储能力、数据表体验增强及驱动相关修复一并并入。
## 本次变更
1. 修复 Data Viewer 多列排序状态残留,避免排序条件切换后失效。
2. 收紧 MongoDB 可选驱动支持区间,仅支持 1.17.x 与 2.x,并补齐对应版本识别与导入校验。
3. 完成配置密文存储前后端闭环,包括:
- 新增密钥存储基础设施与状态枚举
- 拆分 AI Provider 元数据与密钥存储
- 暴露连接配置、代理配置相关密钥存储 API
- 前端状态迁移为不保存明文密钥
- 通过连接配置 ID 路由 RPC 配置
- 修复密文编辑与状态残留问题
4. 增强 DataGrid 显示能力,补充展示策略并支持行级 SQL 复制。
5. 修复本地驱动导入版本识别与数据库连接校验遗漏,补齐 ClickHouse 等相关校验路径。
## 附带修复
- 修复 Claude CLI 在 Windows 下的测试稳定性问题。
## 验证情况
- `go test ./...`
- `go build ./...`
- `npm test -- src/store.test.ts src/utils/dataGridDisplay.test.ts
src/components/dataGridCopyInsert.test.ts
src/utils/connectionRpcConfig.test.ts
src/utils/connectionSecretDraft.test.ts src/utils/
providerSecretDraft.test.ts src/utils/customConnectionDsn.test.ts
src/utils/aiProviderEditorState.test.ts
src/utils/browserMockConnections.test.ts
src/utils/dataViewerAutoFetch.test.ts`
- `npm run build`
## 说明
- 其他功能主要依据提交差异、代码检查与自动化测试完成回归确认。
- 当前未发现因冲突处理导致的明确编译问题、功能失效或目标偏离
|
2026-04-05 12:42:59 +08:00 |
|
tianqijiuyun-latiao
|
ac0b6c05e8
|
🐛 fix(database): 修复本地驱动导入版本识别与连接校验遗漏
- MongoDB 本地导入按所选版本解析目录与压缩包
- ClickHouse 连接测试补充 query path 校验
- 补充驱动版本与查询路径回归测试
|
2026-04-05 12:09:06 +08:00 |
|
tianqijiuyun-latiao
|
37b3c78049
|
✨ feat(datagrid): 增强数据表显示与行级SQL复制
- 新增 DataGrid 竖向分隔线与列宽模式配置并持久化\n- 支持复制 INSERT/UPDATE/DELETE 并按主键或唯一键生成条件\n- 补充外观配置与 SQL 复制相关测试
|
2026-04-05 12:06:40 +08:00 |
|
tianqijiuyun-latiao
|
255cc14bf6
|
🐛 fix(config-secret-storage): 修复密文编辑与状态残留问题
- 修复自定义连接编辑时已保存 DSN 无法留空沿用的问题
- 重置 AI 供应商编辑态与清空密钥开关,避免关闭后状态残留
- 对齐浏览器 mock 复制连接的 config.id 语义并补充回归测试
|
2026-04-05 11:59:38 +08:00 |
|
tianqijiuyun-latiao
|
4718755208
|
✨ feat(security): 完成配置密文存储前后端闭环
- 补齐连接与代理密文字段的保留替换清空语义
- 接通保存复制删除导入接口并返回 secretless 视图
- 刷新 Wails 绑定并补充实现留痕文档
|
2026-04-05 11:52:59 +08:00 |
|
tianqijiuyun-latiao
|
91b5b85904
|
♻️ refactor(security): 通过连接配置 ID 路由 RPC 配置
|
2026-04-05 11:42:28 +08:00 |
|
tianqijiuyun-latiao
|
c842201bf4
|
✨ feat(security): 前端状态迁移至无明文密钥存储
|
2026-04-05 11:40:20 +08:00 |
|
tianqijiuyun-latiao
|
263db6bf30
|
✨ feat(security): 暴露连接配置与代理的密钥存储 API
|
2026-04-05 11:39:54 +08:00 |
|
tianqijiuyun-latiao
|
b5e8f5c022
|
✨ feat(security): 新增连接配置与代理的密钥仓库
|
2026-04-05 11:39:34 +08:00 |
|
tianqijiuyun-latiao
|
b62d22395b
|
✨ feat(security): 拆分 AI 供应商元数据与密钥存储
|
2026-04-05 11:39:15 +08:00 |
|
tianqijiuyun-latiao
|
f74270d585
|
🐛 fix(security): 新增密钥存储状态枚举
|
2026-04-05 11:38:56 +08:00 |
|
tianqijiuyun-latiao
|
ef64a24e01
|
✨ feat(security): 新增密钥存储基础架构
|
2026-04-05 11:38:41 +08:00 |
|
tianqijiuyun-latiao
|
c1266c225a
|
🐛 fix(ai/provider): 修复 Claude CLI 在 Windows 上的测试稳定性
|
2026-04-05 11:33:39 +08:00 |
|
tianqijiuyun-latiao
|
acee1a06e8
|
fix(driver): 收紧 MongoDB 驱动支持区间
|
2026-04-05 11:32:41 +08:00 |
|
tianqijiuyun-latiao
|
eddb9f38c9
|
🐛 fix(data-viewer): 修复多列排序状态残留导致排序失效
- 将表格排序状态改为按当前 sorter 结果重建\n- 避免取消或切换多列排序后保留失效字段\n- 抽取排序状态归一化工具供数据表复用
|
2026-04-05 11:32:37 +08:00 |
|
Syngnat
|
fbda6917f7
|
🐛 fix(ai-chat): 修复 DeepSeek 回显引导提示词并优化收敛策略
- 删除 ≥5 轮注入 system 提示的逻辑(部分模型会将其当作对话内容输出)
- 改为 ≥10 轮时移除 tools 参数,从物理层面终止工具调用循环
|
2026-04-02 11:04:57 +08:00 |
|
Syngnat
|
b022cd63e5
|
🐛 fix(ai-chat): 修复重新生成时缺少状态过渡动画的问题
- handleRetryMessage 补齐 connecting 过渡消息(波纹动画),与 handleSend 流程一致
- 重试时同步重置工具调用计数器,防止继承旧计数导致过早熔断
|
2026-04-02 10:56:27 +08:00 |
|
Syngnat
|
9eb42565f1
|
🐛 fix(ai-chat): 修复工具调用无限循环与写操作误报执行失败问题
- 循环熔断:新增全局工具调用总轮次上限(15轮),防止 DeepSeek 等模型无限循环
- 软引导:工具调用 ≥5 轮时注入 system 提示引导模型尽快收敛输出
- LIMIT 修复:execute_sql 不再对 UPDATE/DELETE/INSERT 等写操作追加 LIMIT 50
- 语法防御:去除 SQL 末尾分号防止拼接出 "; LIMIT 50" 的无效语法
|
2026-04-02 10:49:11 +08:00 |
|
Syngnat
|
6d533167da
|
✨ feat(sidebar/table-overview): 优化右键菜单交互,增加危险操作二级分类防误触
- 菜单增强:为数据库、表、视图、函数等底层对象节点新增「危险操作」二级子菜单
- 误触防护:将明确破坏性的「删除表」、「删除数据库」等入口移至更深层级进行视觉隔离
- UI 交互:引入 WarningOutlined 图标单独高亮标识风险区域
- 统一作用域:同步变更至侧边栏连接树 (Sidebar) 和表数据概览 (TableOverview) 的上下文菜单
|
2026-04-02 10:11:33 +08:00 |
|