anyanfei
|
b6121fe1f8
|
- 背景与问题 :以前没有支持官方工具mysqlworkbench的xml导入,现在支持了
- 变更点:新增mysqlworkbench的xml文件导入,并当没有密码时,提示用户,而不是直接使用空密码进行直接连接,更友好
- 影响范围:仅导入受到影响
- 验证方式:点击导入,用mysqlworkbench的xml进行导入即可
|
2026-04-14 18:50:40 +08:00 |
|
jonclex
|
ada9bbf03e
|
fix(mysql): 修复视图编辑时的DDL头部兼容
|
2026-04-13 15:39:08 +08:00 |
|
Jonclex
|
54d46453df
|
Merge branch 'Syngnat:dev' into dev
|
2026-04-13 12:41:53 +08:00 |
|
Syngnat
|
c7cf9526de
|
🐛 fix(security): 修复 macOS 无法打开应用及三平台依赖系统钥匙串的问题
- 密文存储:新增 dailysecret 本地存储引擎,连接/代理/AI 密钥不再依赖系统钥匙串
- 启动迁移:自动将已有钥匙串密文迁移到本地 JSON,用户无感知
- WebKit 迁移:从旧版 Wails WebKit LocalStorage 中恢复连接与代理数据
- DMG 修复:移除 --sandbox-safe 避免扩展属性污染签名,新增 xattr 清理与签名校验
- 安全适配:钥匙串不可用时标记完成而非回滚,消除无钥匙串环境下的阻塞
- 出口脱敏:所有连接/代理 API 返回前统一 sanitize 防止密文泄漏
|
2026-04-13 12:40:25 +08:00 |
|
jonclex
|
d849cd49af
|
fix: Oracle/DM数据库侧边栏不显示'默认模式'节点
|
2026-04-13 12:39:14 +08:00 |
|
jonclex
|
605e266eab
|
fix(sidebar): normalize mysql view names (#365)
|
2026-04-13 10:25:03 +08:00 |
|
辣条
|
2569a3779a
|
✨ feat(connection-package): 支持连接恢复包双模式加密导入导出 (#361)
## 变更说明
- 为连接恢复包新增 v2 双模式加密导入导出
- 默认使用应用内置密钥加密 secrets 字段,无需用户输入文件密码
- 可选增加文件保护密码,形成双层加密
- 保留 v1 导入兼容,并兼容 legacy JSON 明文导入
- 前端新增 v2 格式识别与导出弹窗选项适配
- 合并过程中已处理与最新 dev 的冲突,确保现有安全更新链路不被破坏
## 回归验证
- `go test -count=1 ./...`
- `npm test`
- `npm run build`
- `wails build -platform windows/amd64 -clean -o
GoNavi-windows-amd64-test -ldflags "-s -w -X
GoNavi-Wails/internal/app.AppVersion=dev-d150780-merge-test"`
## 人工验证
- 明文配置导入通过
- v2 无文件密码导出后可直接导入
- v2 带文件密码导出后需密码导入
- 导入旧版恢复包与 legacy JSON 均正常
## 备注
- 本 PR 基于最新 `dev` 进行冲突整合
|
2026-04-12 12:48:47 +08:00 |
|
Syngnat
|
bb6271246b
|
🐛 fix(mac): 禁用正式包默认窗口诊断以规避启动无窗体问题
- 将 macOS 原生窗口诊断改为默认关闭
- 仅在显式设置 GONAVI_ENABLE_MAC_WINDOW_DIAGNOSTICS 时启用后端诊断
- 仅在前端开发环境启用窗口诊断采集
- 避免正式构建在启动阶段附加额外窗口状态探测与日志观察
- 为诊断开关补充前后端最小回归测试
Refs: #360
|
2026-04-12 12:46:15 +08:00 |
|
tianqijiuyun-latiao
|
d150780879
|
Merge branch 'feature/20260408_security-update' into merge/feature-20260408-security-update-onto-dev
# Conflicts:
# frontend/src/App.tsx
# frontend/wailsjs/go/app/App.d.ts
# frontend/wailsjs/go/app/App.js
|
2026-04-12 09:40:28 +08:00 |
|
tianqijiuyun-latiao
|
52d2ee7592
|
✨ feat(connection-package): 支持连接恢复包双模式加密导入导出
- 新增 v2 连接恢复包 appKey 与文件密码双模式加密链路
- 扩展前后端导入导出流程并兼容 v1 与 legacy 格式
- 修复无文件密码恢复包导入误弹密码框导致的流程阻塞
|
2026-04-11 23:51:43 +08:00 |
|
Syngnat
|
2410aad849
|
✨ feat(table): 支持截断表与清空表操作
Fixes #351
|
2026-04-11 22:53:04 +08:00 |
|
Syngnat
|
1a0ba9a499
|
🐛 fix(sidebar): 避免默认显示横向滚动条
Fixes #329
|
2026-04-11 22:27:26 +08:00 |
|
Syngnat
|
7a2563b83b
|
✨ feat(data-grid): 支持拖选单元格直接复制到剪贴板
Fixes #322
|
2026-04-11 22:10:48 +08:00 |
|
Syngnat
|
632e57ea60
|
✨ feat(data-grid): 支持双击列边界自适应宽度
Fixes #330
|
2026-04-11 22:05:53 +08:00 |
|
Syngnat
|
fcade0f860
|
✨ feat(sidebar): 支持窄侧栏横向滚动查看
Fixes #329
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
5038ae5c9b
|
🐛 fix(window): 修复 Windows 恢复焦点后界面缩放异常
Fixes #315
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
808c773134
|
✨ feat(table-overview): 优化库内表概览为逐行展示
Fixes #310
|
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 |
|
tianqijiuyun-latiao
|
1751e14d20
|
🐛 fix(security): 修复安全更新重检卡死与 Redis 密文兼容
|
2026-04-11 20:12:23 +08:00 |
|
tianqijiuyun-latiao
|
82e06bd94d
|
🐛 fix(security): 完善密文升级导入覆盖与安全更新链路
- 完善连接恢复包与 legacy 导入覆盖语义及密文兼容处理
- 修复安全更新详情高亮反馈与相关前后端链路
- 补强 keyring 误判边界与安全更新回归测试
|
2026-04-11 16:53:03 +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 |
|
tianqijiuyun-latiao
|
070ff72ad8
|
✨ feat(security): 完成密文升级与连接恢复包导入导出
|
2026-04-10 21:29:45 +08:00 |
|
DurianPankek
|
803c33b306
|
🐛 fix(window): 修复 mac 原生全屏下输入时窗口丢失
|
2026-04-10 19:43:15 +08:00 |
|
tianqijiuyun-latiao
|
1a042321d2
|
🐛 fix(connection): 修复失败连接高频重试并暂停后台自动元数据拉取 #331
- 后端为失败数据库连接增加冷却窗口,避免短时间内重复真实建连
- 补充失败冷却回归测试,覆盖重复失败、冷却后重试和成功后清理场景
- 前端在后台态暂停查询页、侧边栏和表概览的自动元数据拉取
- 保持手动刷新、手动展开等显式操作行为不变
|
2026-04-08 22:31:50 +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 |
|
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
|
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 |
|
Syngnat
|
f992ad72e6
|
✨ feat(mongodb): 支持无认证模式连接低版本 MongoDB 实例
- 连接表单:验证方式新增"无认证 (None)"选项,MongoDB 用户名改为非必填
- URI 构建:当 MongoAuthMechanism 为 NONE 时跳过 user/password/authSource/authMechanism
- 兼容优化:无用户名时不再默认设置 authSource=admin,避免驱动对无密码实例发起认证
- 双版本同步:mongodb_impl.go 与 mongodb_impl_v1.go 同步修改
- refs #303
|
2026-04-01 16:46:27 +08:00 |
|
Syngnat
|
5c0f6f8ff4
|
🐛 fix(data-grid): 修复数据预览面板日期格式化、JSON切换失效及幽灵变更计数问题
- 日期时间字段预览时通过 normalizeDateTimeString 格式化带时区的 ISO 格式
- 切换单元格时始终更新预览值,用 dataPanelOriginalRef 替代 suppress 机制判断 dirty
- handleCellSave 增加根源级变更检测,与原始 data 逐字段比较后才写入 modifiedRows
- 英文消息 "No changes to commit" 改为中文 "没有可提交的变更"
- refs #301
|
2026-04-01 16:21:57 +08:00 |
|
Syngnat
|
1eb517f083
|
♻️ refactor(table-designer): 按索引类别精确分类索引方法类型选项
- MySQL InnoDB:所有索引类别均为固定方法(BTREE/FULLTEXT/RTREE),移除无意义的"默认"选项
- PostgreSQL:普通索引保留全部方法选项,主键和唯一索引固定为 BTREE
- 新增 getFixedIndexType 辅助函数,切换索引类别时自动设置对应的固定方法类型
- getIndexTypeOptions 接受 kind 参数,按类别动态返回精确的选项列表
- 切换类别时若当前方法不在新选项中,自动重置为合法值
- refs #299
|
2026-04-01 16:04:22 +08:00 |
|
Syngnat
|
02fa0aef46
|
🔥 remove(table-designer): 移除 MySQL 索引类型中不支持的 HASH 和 RTREE 选项
- MySQL InnoDB 引擎不支持手动创建 HASH/RTREE 索引,执行后会静默降级为 BTREE
- 从 MYSQL_INDEX_TYPE_OPTIONS 中移除 HASH 和 RTREE,避免用户误选导致修改"不生效"
- MySQL 下仅保留 DEFAULT/BTREE/FULLTEXT/SPATIAL 四种索引类型
- refs #298
|
2026-04-01 15:54:29 +08:00 |
|
Syngnat
|
f7107a1625
|
🐛 fix(data-grid): 修复单元格编辑值丢失及日期选择器滚动偏移问题
- 移除 Form.Item 的 preserve={false},修复嵌套字段名下编辑后值变为 undefined 的问题
- 将表单值初始化移至 useEffect([editing]),确保每次编辑时从 record 重新读取并覆盖旧值
- 新增 cellRef 绑定单元格 DOM,用于定位滚动容器
- DatePicker/TimePicker 面板打开时在 ant-table-wrapper 上拦截 wheel 事件,阻止表格滚动导致选择器漂移
- 面板关闭时自动移除 wheel 事件监听,恢复正常滚动
- refs #297
|
2026-04-01 15:45:50 +08:00 |
|
Syngnat
|
08ab06c038
|
✨ feat(sidebar/table-overview): 优化侧边栏交互并新增表概览列表视图
- 修复连接刷新后数据库节点无法再次展开的问题,刷新时清除子节点 expandedKeys/loadedKeys/loadingRef
- 表概览由双击改为单击"表(N)"分组节点打开,双击仅触发展开/折叠
- 使用 clickTimerRef 延时防抖区分单击与双击事件,避免双击同时打开表概览
- 表概览新增列表视图模式,展示表名、注释、行数、数据大小、索引大小、引擎等列
- 工具栏新增卡片/列表视图切换按钮,两种视图共享搜索、排序和右键菜单
- refs #296
- refs #324
|
2026-04-01 15:29:42 +08:00 |
|
Syngnat
|
3402b56fdb
|
🎨 style(data-grid): 重构筛选面板为 flex 分区布局
- 外层改为 flex column,拆分为可滚动内容区(maxHeight: 200px)和固定操作栏
- "添加排序"从内容区提升到操作栏,条件渲染依赖 onSort 存在性
- "添加条件"使用 primary ghost 按钮增强辨识度
- refs #295
|
2026-04-01 15:03:02 +08:00 |
|