Syngnat
c45961f027
🐛 fix(db): 保留多写语句结果并修复 MySQL 字符集参数
...
- 多条写语句改为逐条返回 affectedRows,避免只显示最后一条结果
- 为写语句结果补充 statementIndex,保持语句与结果映射
- 保留 MySQL charset fallback 逗号,避免驱动解析成 %2C
2026-06-09 14:13:35 +08:00
Syngnat
6841e69008
✨ feat(ai-tools): 新增日志与快捷键探针并完善 MCP 配置引导
2026-06-09 07:46:38 +08:00
Syngnat
5c867fd121
✨ feat(ai-mcp): 补充外部客户端命令检测状态
2026-06-08 19:33:05 +08:00
Syngnat
8aa2932878
🐛 fix(ci): 修复 DuckDB Windows 可选驱动构建的 CGO 参数污染
2026-06-08 18:53:55 +08:00
Syngnat
7cce1ce30a
🐛 fix(ci): 修正 DuckDB Windows 动态链接参数
...
- 统一 Windows DuckDB 动态库构建使用的 CGO LDFLAGS
- 为 workflow 中的 DuckDB 库目录补充 GCC 友好的路径格式
- 补充 DuckDB Windows 动态链接参数的回归测试
2026-06-08 18:20:54 +08:00
Syngnat
a54a357e4b
🐛 fix(ci): 修复 DuckDB Windows 导入库生成链路
...
- 改为从 duckdb.dll 生成 MinGW 可用的导入库文件
- 同步修复 dev/release workflow 与本机源码构建的 DuckDB Windows 依赖准备逻辑
- 新增导入库生成命令与 buildutil 单测
2026-06-08 17:59:58 +08:00
Syngnat
5b8bbd672e
✨ feat(ai-mcp): 优化外部客户端接入引导与状态识别
...
- 调整 Claude Code 和 Codex 的安装文案与状态标签,明确是把 GoNavi 暴露给外部客户端使用
- 优化 MCP 客户端默认选择逻辑,优先聚焦未接入或需更新的目标并避免刷新后乱跳
- 同步补齐前端 mock、后端状态文案和定向测试,确保安装区交互与状态展示一致
2026-06-08 16:29:53 +08:00
Syngnat
6c53fb14a6
✨ feat(ai-mcp): 补全跨表字段探针并拆分 MCP 设置区块
...
- 新增 get_all_columns 内置工具和 MCP server 只读探针
- MCP 服务表单增加实际启动命令预览并补强参数提示
- 抽离 AISettingsMCPSection 并补齐前后端测试
2026-06-08 07:29:52 +08:00
Syngnat
eff2f7f63a
✨ feat(ai-mcp): 补全结构探针并优化客户端接入体验
...
- 新增 get_indexes、get_foreign_keys、get_triggers 内置工具与 MCP Server 对应实现
- 拆分 AI 设置中的 MCP 接入面板和服务卡片,补充参数提示与客户端状态展示
- 补齐前后端测试与真实页面验证,降低 AI 设置区域的臃肿度
2026-06-07 22:06:24 +08:00
Syngnat
7cdd2bd6c0
🐛 fix(ci): 补齐 MCP SQL 检查实现文件
...
- 将 internal/app/sql_inspect.go 纳入版本控制
- 让 Wails 绑定生成和 mcpserver 依赖的 SQLInspection 类型重新闭合
2026-06-07 20:36:42 +08:00
Syngnat
5b843ee25b
✨ feat(ai-mcp): 完善外部客户端安装链路并收紧 SQL 安全控制
...
- 新增 GoNavi MCP stdio server 与 Claude/Codex 用户级安装入口
- 增加安装状态检测、刷新复制能力和浏览器联调 mock
- 外部 execute_sql 对齐 GoNavi safetyLevel 并补充前端/后端验证
2026-06-07 20:27:50 +08:00
Syngnat
f7d71c6c5c
✨ feat(ai): 增加用户提示词与 MCP/Skills 扩展能力
...
- 支持用户级自定义提示词加载保存与聊天会话注入
- 新增 MCP 服务配置、工具发现与按次调用链路
- 增加 Skills 配置、作用域注入与前后端类型同步
- 补充配置存储与前端行为测试并更新依赖
2026-06-07 17:56:45 +08:00
Syngnat
dda8bbb6e3
🐛 fix(mysql): 修复 GDB 连接参数不兼容导致的握手失败
...
- 优化 MySQL 兼容 DSN 默认参数
- 在连接验证阶段增加 multiStatements 兼容回退
- 补充相关单元测试覆盖
Refs #543
2026-06-07 14:50:42 +08:00
Syngnat
79c5bfb3d4
✨ feat(connection-import): 支持导入 Navicat NCX 连接与密码
...
- 新增 Navicat NCX XML 解析与 v1/v2 密码解密能力
- 接入后端连接导入链路并补充导入失败提示
- 前端补充 NCX 格式识别、缺失密码提示与定向测试
2026-06-07 13:38:53 +08:00
Syngnat
d2189e1442
🐛 fix(duckdb): 修复 DuckDB 查询误用连接超时导致中断
...
- 新增 DuckDB 查询上下文策略,避免将连接超时直接作为查询执行超时
- 调整 DBQueryWithCancel、DBQueryMulti、DBQueryIsolated 统一走查询上下文工厂
- 补充 DuckDB 查询不继承连接超时与网络型数据库保留 deadline 的回归测试
2026-06-05 21:35:03 +08:00
Syngnat
36a80951a0
🐛 fix(ci/driver): 修复驱动发布错配与 dev 驱动下载命中旧资产
...
- 发布链路新增 driver release 资产自检,校验已发布二进制与 manifest revision/sha256 一致
- dev-build 与 release 工作流在复用已发布驱动前先校验实际资产,发现旧二进制混入时强制全量重建
- driver manifest 新增 sha256 字段,避免仅凭 source commit 与 manifest 一致就误判发布有效
- 驱动变更检测与全量重建判定纳入 release asset 校验脚本变更,确保链路修复提交会触发自愈重建
- 驱动下载优先使用 GitHub release asset API 地址,并对资产接口按 octet-stream 下载,降低 dev-latest 同名资产命中旧缓存的风险
- 保持 DuckDB 无主键编辑修复不回退,并通过 internal/db 与前端相关回归测试
2026-06-05 20:00:27 +08:00
Syngnat
2254b76232
🐛 fix(duckdb): 修复无主键结果无法安全编辑
...
- 为 DuckDB 查询结果和表预览补充隐藏 rowid 定位列,允许无主键表安全提交修改
- DataGrid 提交变更时仅将 rowid 用作定位条件,避免把隐藏定位列写回业务字段
- DuckDB ApplyChanges 对 duckdb-rowid 改用未加引号的 rowid 条件,修复更新和删除失效
- 补充前后端回归测试,覆盖 QueryEditor、DataViewer、rowLocator 与 ApplyChanges 链路
2026-06-05 14:05:18 +08:00
Syngnat
53811969c5
🐛 fix(driver-manager): 修复驱动 revision 错配与安装卡住
...
- 修复 revision 生成文件变更未触发 driver-agent 构建的问题
- 检测脚本自身变更时保守触发全量 driver-agent 构建
- 调整 dev 构建驱动安装策略为发布包优先、源码构建兜底
- 为驱动总包下载和源码构建增加超时边界
- 为驱动管理安装流程增加前端看门狗并补充回归测试
2026-06-05 08:34:38 +08:00
Syngnat
2438899ff5
🐛 fix(driver-manager): 修复驱动安装交互与 DuckDB Windows 发布链路
...
- 修复单驱动安装期间右侧目录操作被错误禁用的问题
- 调整 DuckDB Windows 优先下载专属 zip 并兼容带 query 的签名链接
- 补齐本地构建与 CI 发布的 duckdb-driver.zip 产物及回归测试
2026-06-05 07:15:16 +08:00
Syngnat
a718c41d5d
✅ test(app): 补强 DuckDB 定义刷新与主键回归
...
- 补充 DuckDB 对象修改链路的真实 DDL 刷新回归测试
- 为 app 层连接门禁增加可替换测试 seam,避免 fake metadata 测试被驱动校验拦截
- 修正 DuckDB metadata 测试的串行与断言稳定性
2026-06-04 22:25:08 +08:00
Syngnat
274c32ebdd
🐛 fix(frontend): 修复 DuckDB 对象编辑与安全修改回归
...
- 修复 DuckDB qualified table 在查询结果页丢失 schema 导致无法识别主键的问题
- 打开对象修改前强制刷新最新定义,并避免切换对象失败时沿用旧定义
- 为 DuckDB 元数据链路补充前后端回归测试,并给 app 层真实 runtime 测试增加环境门槛
2026-06-04 22:00:55 +08:00
Syngnat
a664f1a869
🐛 fix(driver): 精简驱动安装失败日志
...
驱动代理 revision 校验失败时不再在内外层重复拼接同一下载来源。
统一安装尝试错误格式,并折叠完全相同的失败条目。
补充 URL 前缀去重和安装尝试错误去重回归测试。
2026-06-04 17:02:46 +08:00
Syngnat
455813e53c
🐛 fix(driver): 修复驱动安装进度回退
...
驱动安装进度按单次会话做单调归一,避免旧下载事件覆盖新进度。
有单文件预编译资产时跳过驱动总包兜底,减少进度回退和安装失败面。
补充前端进度状态机与后端总包兜底回归测试。
2026-06-04 16:57:00 +08:00
Syngnat
8f7c790700
🐛 fix(sql-editor): 修复存储过程定义执行截断
2026-06-04 15:46:09 +08:00
Syngnat
5b602bff75
🐛 fix(duckdb): 修复唯一索引元数据安全编辑定位
...
- DuckDB 显式唯一索引表达式返回字符串包裹标识符时,统一归一化为真实列名
- 补充 DuckDB 主键、唯一约束、显式唯一索引的真实驱动回归测试
- 将 duckdb_metadata.go 纳入 DuckDB driver-agent revision 计算,确保重装驱动后加载新元数据逻辑
2026-06-04 13:52:05 +08:00
Syngnat
4ad1d15781
🐛 fix(driver/sidebar): 修复驱动代理 revision 校验与外部SQL目录重复显示
...
- driver:下载或总包中的 driver-agent revision 过旧时跳过该候选并继续 fallback
- driver:新增发布资产 revision 校验脚本并接入 dev/release CI
- sidebar:修复 v2 表/视图等筛选下重复显示外部 SQL 目录
- test:补充 driver-agent fallback 与侧栏筛选回归测试
2026-06-04 13:37:09 +08:00
Syngnat
02faa4586b
🐛 fix(metadata): 修复多数据源主键唯一索引识别
...
- 统一 PG-like 数据源字段和索引元数据查询,支持 search_path 可见表
- 兼容 snake_case、布尔别名和字符串唯一索引标记
- 修复 DuckDB main/memory 路径解析,避免误判外部 catalog
- 补充前后端回归测试,覆盖可编辑结果定位和元数据重试路径
2026-06-04 10:49:16 +08:00
Syngnat
37a094c351
🐛 fix(duckdb): 修复元数据兼容与在线安装回退
2026-06-04 08:27:25 +08:00
Syngnat
f5166ac3fc
🐛 fix(sql-editor): 修复结果消息展示与数据目录迁移稳定性
2026-06-04 07:09:42 +08:00
Syngnat
23ac30086f
🐛 fix(tdengine): 修复低版本驱动连接与表元数据兼容问题
...
- 修复 TDengine 历史驱动源码构建未按所选版本切换依赖的问题
- 为 DESCRIBE 与 SHOW CREATE 增加旧版本语法降级,避免表详情加载报错
- 为表概览补充 TDengine 专用查询分支,避免误查 information_schema
- 补充 TDengine 兼容性与驱动构建回归测试
Refs #531
2026-06-03 21:33:15 +08:00
Syngnat
c6f6f76489
Merge pull request #530 from origin/pr-530
2026-06-03 20:41:49 +08:00
Syngnat
1ae44941dd
🐛 fix(sql-editor): 修复脚本执行拆分与元数据只读提示
...
- Oracle 匿名块:识别 BEGIN/DECLARE...END 块,避免按内部分号错误拆分
- 执行路径:PL/SQL 块跳过批量写入路径,保持单条语句语义
- SQL 文件:同步修复流式 SQL 文件拆分逻辑
- 查询结果:系统元数据表保持只读但不再弹业务表主键提示
- 测试覆盖:补充前后端拆分、执行和 information_schema 回归用例
2026-06-03 17:11:05 +08:00
lixiaodong
cf9b7d9d10
✨ feat(elasticsearch): 生产级 ES 驱动 — 写入支持、分页、多版本兼容
...
- go-elasticsearch/v8 官方 SDK,支持 ES 6.x/7.x/8.x
- SQL → ES DSL 转换、DevTools 查询、JSON DSL
- _bulk API 批量写入(INSERT/UPDATE/DELETE)
- 别名写入、精确分页、COUNT 统计
- API Key / SSH / SSL 连接支持
- 表设计器只读适配、ES 品牌图标
- 30+ 单元测试全部通过
2026-06-03 10:15:38 +08:00
Syngnat
eeaf3c658b
🐛 fix(duckdb): 修复唯一索引识别与多库对象解析
...
- 合并 DuckDB 约束与索引元数据,恢复唯一索引表的可编辑判定
- 修复 attach 多库场景下 catalog/schema/table 定位混乱问题
- 统一前后端 qualified name 解析,支持带点和带引号对象名
- 补充 DuckDB 元数据与编辑链路回归测试
2026-06-02 21:12:59 +08:00
Syngnat
c315ea9c96
✨ feat(elasticsearch): 补齐新建连接入口
...
- 前端连接弹窗新增 Elasticsearch 入口、默认端口、URI 示例和默认索引配置
- 补齐 Elasticsearch 图标、数据源能力、SQL dialect 和只读查询策略
- 后端驱动管理注册 Elasticsearch 版本、模块路径、构建标签和默认安装入口
- 增加连接展示、能力识别和驱动定义测试覆盖
2026-06-02 15:31:00 +08:00
Syngnat
864ad8a371
♻️ refactor(elasticsearch): 改用轻量 REST 客户端
...
- 使用标准库 HTTP 客户端实现 ES ping、索引、mapping 和查询请求
- 保留代理、TLS、超时和 BasicAuth 配置能力
- 移除 go-elasticsearch SDK 及间接依赖,降低 dev 构建下载风险
- 更新 Elasticsearch 后端单测适配 REST 客户端
2026-06-02 15:30:32 +08:00
Syngnat
05d1bc22c6
🐛 fix(driver-agent): 修复 ES 驱动代理 revision 同步
...
- 补齐 Elasticsearch 在 revision 生成、变更检测和发布补齐脚本中的注册
- 生成 Elasticsearch 真实 driver-agent revision,避免 src-local 占位通过
- 本地测试版本改用 dev-latest driver-agent,避免退到旧 latest 包
- 增加 revision 测试覆盖,禁止可选驱动使用本地占位 revision
2026-06-02 15:30:02 +08:00
Syngnat
c72542c92c
✨ feat(ai): upgrade MiniMax default model to M3
2026-06-02 13:42:48 +08:00
Syngnat
7f83954714
✨ feat(elasticsearch): 新增 Elasticsearch 驱动支持
2026-06-02 13:42:22 +08:00
octo-patch
f6877ecfef
✨ feat(ai): upgrade MiniMax default model to M3
...
Add MiniMax-M3 to the MiniMax (Anthropic-compatible) provider model
list and set it as the new default. Retain MiniMax-M2.7 and
MiniMax-M2.7-highspeed for compatibility, and remove the deprecated
M2.5 / M2.5-highspeed / M2.1 / M2.1-highspeed / M2 entries.
Updates the matching backend static-model unit test and the frontend
provider preset (default model + model list).
2026-06-02 12:51:10 +08:00
lixiaodong
17ebc50b83
✨ feat(elasticsearch): 新增 Elasticsearch 驱动支持
...
- 新增 ElasticsearchDB 实现 Database 接口全部 13 个方法
- 支持 HTTP/HTTPS 连接、Basic Auth、SSH 隧道、代理、SSL 回退
- 查询支持 JSON DSL 和 query_string 两种模式
- 元数据浏览:索引列表、mapping 字段、settings、aliases
- 完整单元测试覆盖(httptest mock,33+ 子测试)
- 注册为可选 Go 驱动,遵循现有 driver-agent 架构
Closes #521
2026-06-02 12:35:46 +08:00
Syngnat
e6dd986115
✨ feat(external-sql): 完善外部 SQL 目录文件管理
...
- 新增外部 SQL 文件的新建、重命名、删除和目录管理接口
- 后端限制 SQL 目录只加载 .sql 文件并补充目录操作测试
- 前端补齐 Wails 类型、浏览器 mock 和外部 SQL 树过滤逻辑
- 支持从外部 SQL 文件标签定位到侧栏目录节点
2026-06-02 11:15:30 +08:00
Syngnat
5ffaa4361e
🐛 fix(metadata): 修复 Oracle 字段元数据显示缺失
...
- Oracle 元数据查询为字段名、类型、默认值、注释等列补齐稳定别名
- 新增字段定义归一化工具,兼容 name/Name/COLUMN_NAME 等返回形态
- 修复 DataGrid、DataViewer、QueryEditor、TableDesigner 对字段元数据的读取
- 补充 Oracle 字段注释、表头元数据和主键定位回归测试
2026-06-01 11:59:36 +08:00
Syngnat
63db9fecb3
✨ feat(query-editor): 支持查询重命名导出与保存快捷键
...
- 支持已保存查询重命名并同步当前标签标题
- 新增 SQL 文件导出接口、Wails 绑定和浏览器 mock
- 补充 Ctrl/Cmd+S 保存查询与 Ctrl+, 快捷键入口修复
- 覆盖 SQL 编辑器保存、导出和快捷键回归测试
2026-05-31 22:32:48 +08:00
Syngnat
6f132db328
🐛 fix(iris): 修复 InterSystems IRIS 连接后表元数据为空
...
- 兼容 IRIS INFORMATION_SCHEMA 返回的紧凑列名格式
- 修复表、列、索引元数据读取时字段取值为空的问题
- 保持系统 schema 过滤逻辑,避免误展示内置对象
- 补充 IRIS metadata 回归测试覆盖表列表与列索引解析
- Refs #505
2026-05-31 14:18:40 +08:00
Syngnat
fdcbadf918
🐛 fix(connection-modal): 支持编辑态回填已保存密码并保持默认遮罩
...
- 编辑连接前主动拉取可编辑配置,恢复主密码与 SSH 等已保存密钥
- 支持 AI 供应商编辑态回填 API Key,并保持默认遮罩展示
- 修正 AI 设置长错误提示换行展示,避免测试连接报错被裁切
Refs #489
2026-05-30 17:25:58 +08:00
Syngnat
a7f8ce36df
✨ feat(font): 新增系统字体枚举与全局字体配置能力
...
- 新增 Go 侧已安装字体扫描接口,支持前端读取系统真实字体列表
- 接入 Wails 字体查询导出,补齐 App.d.ts 与 App.js 调用声明
- 新增字体选项构建与匹配工具,区分 UI 字体与等宽字体候选
- 外观设置支持按平台加载字体列表,并支持搜索匹配与默认字体回退
- Store 增加自定义 UI 字体与代码字体配置,持久化全局字体选择
2026-05-29 14:41:56 +08:00
Syngnat
17695c361d
🐛 fix(metadata): 修复列索引读取连接失效重试
...
- 为 DBGetColumns 和 DBGetIndexes 增加缓存连接失效后的重建与重试逻辑
- 补充 metadata 读取失败与重建失败日志,便于定位大表同步和主键识别异常
- 新增 metadata retry 单测覆盖列定义与索引定义两条读取链路
2026-05-27 08:44:33 +08:00
Syngnat
5ab50db51c
⚡ ️ perf(sync): 优化大表同步分页与批量写入
...
- 同步分析和预览改为分页扫描差异,避免一次性加载源表和目标表
- 直接导入与源查询同步支持分页读取和分批提交,降低低内存机器 OOM 风险
- 各数据库 ApplyChanges 统一使用参数化批量 INSERT,减少大表同步 SQL 超时
- MySQL 批量写入按行数和参数数量拆分,兼容超宽表场景
- 补充批量插入、分页差异和源查询同步回归测试
2026-05-26 08:27:15 +08:00
Syngnat
654178c8cd
🐛 fix(ui): 修复新版 UI 布局回归并恢复切换样式
...
- 修复 v2 下 App 外层旧版左侧控件叠加问题,由新版 Sidebar 完整接管左侧布局
- 隔离旧版 AI 悬浮入口和 SQL 日志入口,避免影响新版 UI
- 恢复主题设置中界面版本切换的双卡片样式,移除胶囊分段控件
- 补齐 v2 主题样式、全局字体变量和弹窗按需挂载逻辑
- 增加回归测试锁定新版左侧布局和界面版本切换样式
2026-05-25 10:09:05 +08:00