Syngnat
08fff6aa36
🎨 style(theme): 提升主操作按钮醒目度、修复默认主题标签对比度并降级保存按钮
...
- 新增 --gn-accent-strong 系列(提饱和 1.55×)供主按钮填充:内置主题的强调色刻意低饱和
(Comfort Dark 仅 20%、Deep Ocean 28%),淡到接近灰蓝,填在按钮上读起来"没有颜色"。
只改按钮填充,侧边栏高亮与文字仍用原 accent,保持主题整体淡雅。
实测深色主题饱和度提升到 31%–72%,对工具栏对比度仍 ≥6.0、标签 ≥6.1
- 提饱和只对深色主题生效:浅色主题的强调色本身已约 46% 饱和,提了反而把白色标签从 4.5+
压到 4.14 跌破 AA(该情况由新增测试抓出)
- 默认 v2 主题补上此前从未定义的 --gn-on-accent:所有 var(--gn-on-accent, #fff) 都在回退
白字,深色下压 #22c55e 仅 2.28、浅色下压 #16a34a 仅 3.30,均不满足 WCAG AA。
改为 #0a2417 / #052e16,得 7.21 / 4.52
- 「保存」按钮降为描边次级样式:它与「执行」原本都是实心按钮,而两者填充色(accent 与 info)
在内置主题下区分度仅 1.05–1.25,相邻两个同色方块分不出谁是谁。
由于 Midnight Navy / Nord Slate 的 accent 本身即蓝青系,靠拉开色相无法解决,
改用层级区分:工具栏里只有「执行」是实心主按钮,主操作因此真正突出
- 补 2 项不变式测试:accent-strong 饱和度提升且标签 ≥4.5、其三态同样逐级加深
说明:原计划的「拉开执行与保存色相」经测量不可行(accent 自身即蓝青系,warn 已被手动事务
占用),故改为层级区分,与之前沟通的方案不同。
2026-07-26 21:59:17 +08:00
Syngnat
57d6e50884
🎨 style(transaction): 手动事务提交按钮改用 warn 独立配色并修复待提交条数看不见
...
- 手动事务的「提交」按钮不再跟随主题强调色:它是需要用户显式决断的状态,与普通主操作同色时
无法区分。改用 warn 实心填充,与已是 danger 的「回滚」形成语义配对。
原先是 accent-soft 底 + accent-2 文字,同色系淡色叠淡色,文字本身对比就很低
- 修复待提交条数徽标的数字看不见:底色原为硬编码 rgba(22,163,74,.18)、文字为 --gn-accent-2,
而按钮底是 --gn-accent —— 三者几乎同色,实测对比度仅 1.10–1.17,
静止状态数字完全不可见,只有 hover 把按钮压暗后才显现(DataGrid 与 SQL 编辑器两处同病)
- 新增 --gn-on-warn / --gn-warn-hover / --gn-warn-active / --gn-warn-badge-bg /
--gn-accent-badge-bg。前景色按亮度择优,因为 warn 跨度很大(#9f5f1d ~ #ebcb8b);
徽标底色的叠加方向也随前景色反向偏移,写死半透明白会让浅色主题的白字只剩 2.65
- 补 3 项不变式测试:warn 标签与徽标数字对比度均 ≥4.5、warn 三态逐级加深且互不相同。
该用例已实测抓住浅色主题 warm-paper 的徽标对比不足
实测:徽标数字对比度由 1.10–1.17 提升到 ≥4.5;warn 标签 7.59–11.80。
2026-07-26 21:51:08 +08:00
Syngnat
5e1afad49f
🐛 fix(frontend-test): 移除钉死主题变量的 DataGrid 提交按钮样式断言
...
- 该断言要求 hover 态 CSS 精确包含 background: var(--gn-accent-2) !important
- 主题修复将 hover 与 active 拆分为 --gn-accent-hover 与 --gn-accent-active 派生色后,断言随即失效
- 断言仅比对样式表文本、不验证渲染结果,同 it 用例中的 16 项渲染断言保持不变
2026-07-26 21:50:10 +08:00
Syngnat
de43b1fb4d
🐛 fix(tabs): 恢复活动标签顶部强调条 ( #725 )
...
- 合并 PR #725,为 V2 工作区活动标签补回顶部强调条
- 冲突文件 TabManager.adaptive-width.test.ts 取本地版本:PR 更新的是读取 v2-theme.css 文本做正则匹配的断言,该类断言已在测试套件治理中整体移除,保留会与测试策略守卫冲突
- 强调条样式变更由 v2-theme.css 承载,测试文件仅保留自适应宽度的行为用例
2026-07-26 21:41:48 +08:00
Syngnat
75660ef3db
🎨 style(theme): 修复主要操作按钮交互态在各主题下几乎不可辨
...
根因在 token 层:--gn-ant-primary-hover 与 --gn-ant-primary-active 都直接取 palette.accent2,
两者取值完全相同,hover 与按下态在视觉上无任何区别;而 accent2 又是 accent 的近邻色
(内置主题的强调色刻意低饱和),实测 base→hover 对比度仅 1.05–1.29,
其中 Deep Ocean 的 accent2 甚至比 accent 更亮(调色板方向反了)。
- 新增 mixHex 与 --gn-accent-hover / --gn-accent-active,按 82% / 60% 派生逐级加深的三态,
并让 --gn-ant-primary-hover/active 指向它。该链路经 customTheme.ts:read →
App.tsx colorPrimaryHover/Active 传给 antd,全站主要操作按钮一并受益
- 混合锚点按模式区分:深色主题向面板底色混合;浅色主题的面板比强调色更亮,
向面板混合会把按钮冲淡成禁用观感,改为向纯黑混合(用 fg1 只能到 1.19–1.22 不达阈值)
- 提交事务按钮(DataGrid 与 SQL 编辑器两处)拆分 :hover 与 :active,
此前两者共用同一条规则、点击无反馈;回退值保留 accent-2 兼容旧自定义主题
- 补 4 项不变式测试:三态互不相同、两段对比度均达 1.25、亮度单调递减不反向。
该用例已实测抓住浅色主题的方向反转与阈值不足
实测:深色主题 base→hover 1.31–1.39、hover→active 1.43–1.55;浅色 1.35 / 1.45。
未处理:默认 v2 深色主题未定义 --gn-on-accent 而回退 #fff,白字压在 #22c55e 上仅 2.28、
禁用态文字 2.05,均不满足 WCAG AA;按本次确认范围未纳入。
2026-07-26 21:39:26 +08:00
Syngnat
b8af7bede8
🐛 fix(frontend-test): 移除因标记失效而长期失败的 DataGrid 静态断言
...
- 删除 localizes editor and JSON feedback through DataGrid i18n keys 用例
- 该用例以含换行符的代码片段为起止标记切取源码,Windows 检出为 CRLF 时 indexOf 返回 -1,切出空串后报出无法定位的断言错误
- 用例全部断言均作用于源码切片,不执行被测代码,删除后该文件 33 项测试全部通过
2026-07-26 21:37:56 +08:00
Syngnat
57a0bb4f69
🐛 fix(about): 修正更新通道选中态被 v2 通用 Segmented 样式覆盖
...
- 上一提交的选择器特异性只有 (0,3,1),与 v2-theme.css:601 的
`body[data-ui-version="v2"] .ant-segmented .ant-segmented-item-selected` 同分,
而 v2-theme.css 在 App.css 之后导入,同分时后加载者胜出,
选中态仍被 --gn-bg-panel 覆盖回灰底,主题色胶囊实际未生效
- 选择器补上 .ant-segmented(.gonavi-about-update-channel.ant-segmented)把特异性提到 (0,4,1)
- 选中项的 color 一并显式设为白色,避免 v2 通用规则的 --gn-fg-1 在强调色底上对比不足
2026-07-26 21:21:51 +08:00
Syngnat
bb3a6ee577
🎨 style(about): 修正开关与更新通道选择器的主题色一致性
...
- 修复 v2 深色下「自动检查更新」开关显示为琥珀色:旧版 UI 的
body[data-theme='dark'] .ant-switch.ant-switch-checked 用了两个类,特异性高于
v2-theme.css 的 .ant-switch-checked,即便 v2 样式后加载也会被压过。
给旧版规则加 :not([data-ui-version='v2']) 限定,让 v2 的 --gn-accent 生效
- 同一根因的 .ant-radio:hover 琥珀描边一并限定(v2 未覆盖该选择器,同样会泄漏)
- 更新通道选择器改为主题色实心胶囊:原深色下选中态 rgba(30,41,59,.98) 与容器底
rgba(15,23,42,.55) 对比极低,选中状态几乎不可辨且未体现主题色。
选中项与切换滑块统一用 var(--gn-accent) + 白字,未选项透明底、hover 微亮,
并补充跟随主题色的键盘焦点环
- --gn-accent 仅在 v2 下定义,故新规则限定 v2 作用域,旧版 UI 保留原中性配色
未加测试:两处均为纯 CSS 视觉改动,jsdom 不加载外部样式表、无法断言计算样式;
且项目已立规约禁止新增读取源码文本的断言型测试(src/testPolicy.test.ts)。
已通过 tsc --noEmit 与 useAppUpdateManager/customThemeStore/v2ThemeModalConfirm/testPolicy 共 34 项测试。
2026-07-26 21:18:27 +08:00
Syngnat
8e3a183abb
♻️ refactor(frontend-test): 剥离混合型测试中的寄生源码文本断言
...
- 基于 TypeScript AST 精确识别 readFileSync 派生变量及其断言,仅删除不改写保留代码
- 断言全为源码文本的 it() 块整块移除,混合块中只剔除单条源码断言
- 清理随之失效的变量声明、空 it()/describe() 与无用 import,6 个文件因无用例残留而删除
- 累计移除 1283 处代码区间、8270 行,守卫基线由 130 条收敛至 12 条
- 全量测试失败集合无新增,TabManager 悬浮信息用例的 CRLF 误报一并消除
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 20:52:35 +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
b2f2dff6fd
🐛 fix(tabs): 恢复活动标签顶部强调条
...
- 恢复 V2 工作区活动标签顶部绿色强调条
- 保留标签四角圆角与顶部伪元素屏蔽逻辑
- 更新活动标签视觉回归断言
2026-07-26 20:35:29 +08:00
Syngnat
fb0b2fe7c7
修复前端主线测试基线与连接保护兼容 ( #724 )
...
## 变更内容
- 保留旧连接配置 `readOnly: true` 的四项保护兼容语义,并确保 Redis 等不支持保护模式的数据源忽略旧标记
- 修复 QueryEditor 内联、原生分离和浮动结果窗口传递的实际表身份,避免元数据表名覆盖 schema-qualified 结果表名
- 修复 QueryEditor renderer/result-session 测试隔离,同步托管事务、all-columns 定位和 SQL
Logs 等当前行为
- 更新 Sidebar/DataGrid 拆分后的 i18n source guards,以及
DataGrid、TabManager、ConnectionModal、JVM 等现有组件契约
## 验证
- `npm --prefix frontend test`:509 个文件、3946 项测试全部通过
- `npm --prefix frontend run build`:通过(仅保留既有 chunk size warning)
- `git diff --check upstream/dev...HEAD`:通过
## 风险
- 生产改动仅涉及连接 RPC 保护配置归一化和查询结果 DataGrid 的表身份传递
- 其余改动均为测试隔离、源码 owner 迁移和当前行为契约同步
- 未包含 Issue #719 的 `v2-theme.css` 或 `DataGrid.layout.test.tsx` 变更
## 回滚
可按提交逆序回滚;生产行为提交与测试提交已分离,连接保护与查询结果身份修复可独立撤销。
2026-07-26 18:52:31 +08:00
Syngnat
9ff05df9ae
🐛 fix: 修复 Issue #719 ( #723 )
...
## 关联 Issue
Closes #719
## 变更内容
V2 数据表工具栏的“提交事务”按钮被专属样式覆盖为浅色背景,即使存在待提交变更也不够醒目,且启用态与禁用态区分不足。
- 将可提交状态改为实心主题强调色,并补充 hover、focus、active 交互反馈
- 将无待提交变更时的禁用状态恢复为中性灰色
- 补充启用、交互和禁用状态的 CSS 回归断言
- 修改仅影响 V2 DataGrid 的提交事务按钮,不涉及 SQL 编辑器事务按钮或提交逻辑
## 测试结果
- `npm --prefix frontend test -- --run
src/components/DataGrid.layout.test.tsx`:通过,55 项测试全部通过
- `npm --prefix frontend run build`:通过
- `git diff --check`:通过
- `npm --prefix frontend test`:与 `upstream/dev` 基线一致,均为 509 个测试文件中 39
个失败、3943 项测试中 70 项失败;失败集中在既有 i18n、Sidebar、QueryEditor 和 DataGrid DDL
测试,本次修改未新增失败
## 风险说明
- 不涉及数据结构、数据迁移或后端行为变化
- 不涉及 API 或兼容性变化
- 样式使用现有主题变量,可适配内置和自定义主题
- 如需回滚,可直接还原本 PR 的 CSS 与测试提交
2026-07-26 18:51:43 +08:00
mango
aec7e596d6
✅ test(frontend): 同步现有组件行为契约
2026-07-26 00:25:10 +08:00
mango
23cb8097c0
✅ test(i18n): 更新组件拆分后的源码守卫
2026-07-26 00:24:59 +08:00
mango
54f973479c
🐛 fix(connection): 修复 RPC 保护配置构建类型
2026-07-26 00:24:42 +08:00
mango
2d9e92fbf9
✅ test(query-editor): 修复结果测试隔离与过期断言
2026-07-25 23:49:15 +08:00
mango
cf553fda48
🐛 fix(query-editor): 修复查询结果实际表身份
2026-07-25 23:33:00 +08:00
mango
9ad5cb4888
🐛 fix(connection): 保留旧连接保护配置兼容性
2026-07-25 23:24:45 +08:00
mango
fe69404431
🐛 fix: 修复 Issue #719 ( Closes #719 )
2026-07-25 22:42:42 +08:00
mango
7f4feef3d6
🐛 fix(table-designer): 修复外部 SQL 恢复并支持字段复制粘贴 ( #717 )
2026-07-25 21:02:25 +08:00
mango
eddbe563e2
✨ feat(datagrid): 支持选区单元格复制粘贴 ( #718 )
...
实现从选中单元格起按二维剪贴板矩阵粘贴,支持多行多列、NULL 空值和现有草稿更新。\n\nFixes #718
2026-07-25 17:15:00 +08:00
Syngnat
fdfdebf24e
✨ feat(sidebar): 表新建查询展开全部字段而非 select *
...
- 新建查询时通过 DBGetColumns 拉取字段并生成 SELECT 列表
- 元数据不可用时回退 SELECT *,消息队列仍保持 LIMIT 预览
- 覆盖 V2/旧版右键菜单与表总览入口,补充模板单测
Refs #710
2026-07-25 09:25:04 +08:00
Syngnat
365c72ad22
🐛 fix(tabs/theme): 修复标签顶条与标题栏主题不一致 ( #715 )
...
## 背景
V2 工作区的活动 Tab
顶部仍显示一条绿色强调线,与当前圆角标签样式不协调。同时,自定义标题栏使用独立的固定背景,切换内置或自定义主题后无法与侧栏表面颜色保持一致。
## 变更点
- 移除 V2 主工作区活动 Tab 顶部的 inset 强调条
- 保留活动 Tab 的选中背景、8px 圆角及原有交互状态
- V2 自定义标题栏改为复用侧栏的 `--gn-bg-panel-2` 主题表面
- 补充活动 Tab 和标题栏主题来源的回归断言
## 影响范围
- 仅影响 V2 主工作区 Tab 和应用自定义标题栏的视觉表现
- legacy 标题栏继续使用原有 `bgMain`,透明度与模糊逻辑不变
- Modal、Drawer 等其他 Ant Tabs 的强调条不受影响
- 不修改标签尺寸、拖拽、关闭、窗口控制或主题配置逻辑
- 无后端、数据库、依赖或配置变更
## 验证
- `npm test -- --run src/components/TabManager.adaptive-width.test.ts
src/App.sidebar-collapse.test.ts`:12/12 通过
- `npx tsc --noEmit --pretty false`:通过
- Playwright 运行时验证:标题栏与侧栏背景一致,主题 token 更新后同步变化
- Playwright 活动 Tab 样式验证:`box-shadow: none`、顶部伪元素隐藏、圆角保持 8px
- `git diff --check origin/dev...HEAD`:通过
2026-07-24 22:44:44 +08:00
Syngnat
4c0f0a8fdd
🔧 fix(ui): 清理控制台 Form 与 Modal 弃用警告
...
- 关闭消息发送弹窗时不再对已卸载 Form 调用 resetFields
- 缩放修复路径中 ResetWebViewZoom 不可用时最多告警一次
- 将 Drawer/Modal 的 destroyOnClose 统一迁移为 destroyOnHidden
2026-07-24 22:31:33 +08:00
AutumnNazi
a2dc8db513
🐛 fix(tabs/theme): 修复标签顶条与标题栏主题不一致
...
- 移除 V2 工作区活动标签顶部强调条,保留圆角与选中背景
- 让 V2 自定义标题栏跟随侧栏主题表面,同时保持 legacy 背景逻辑
- 补充标签与标题栏主题回归断言
2026-07-24 21:49:19 +08:00
Syngnat
4400fd67c0
🔧 fix(sidebar): 修复 resize 测试类型断言导致镜像构建失败
...
- 将 FakeHTMLElement 断言改为 unknown 中转,消除 tsc TS2352
- 恢复 image CI 中 npm run build 可通过
2026-07-24 21:42:14 +08:00
Syngnat
2a7ef109fd
🐛 fix(ssh): 修复非 id_rsa 私钥无法浏览选择与读取
...
- 修正 OpenFileDialog 默认目录,支持无扩展名密钥路径
- macOS 下取消错误文件名过滤,显示隐藏项以选择 ~/.ssh 密钥
- 私钥读/解析失败返回明确错误,示例改为 id_ed25519
- 补充选钥目录解析与私钥读取失败回归测试
Refs #711
2026-07-24 21:31:21 +08:00
Syngnat
e6f39d34d3
Merge remote-tracking branch 'origin/dev' into dev
2026-07-24 21:30:30 +08:00
Syngnat
ce9fdbebc7
🐛 fix(about): 移除关于页非必要滚动条 ( #714 )
...
## 背景
Issue #702 中,安装版在“已是最新版本”且页面内容可以完整展示时,关于页右侧仍会出现滚动条。原因是内容根节点额外的 18px
底部留白造成了临界溢出。
## 变更点
- 移除关于页内容根节点冗余的底部留白
- 保留详情容器原有的 `overflowY: auto`,仅在内容真实溢出时显示滚动条
- 补充设置中心布局回归断言,防止非必要底部留白再次引入
## 影响范围
- 仅影响设置中心“关于 GoNavi”页面的垂直布局
- 已是最新版本且内容可完整展示时不再出现滚动条
- 有可用更新并显示“本次更新包”等额外信息时,内容溢出仍可正常滚动
- 不修改更新检查、下载、安装或自动检查间隔逻辑
- 无后端、数据库、依赖或配置变更
## 验证
- `npm test -- --run App.settings-center.test.ts`:22/22 通过
- `npx tsc --noEmit --pretty false`:通过
- Playwright 运行时验证:最新安装版内容 591px / 容器 599px,无溢出;有更新时内容 624px / 容器
599px,保留 25px 可滚动区域
- `git diff --check origin/dev...HEAD`:通过
Closes #702
2026-07-24 21:29:46 +08:00
Syngnat
2f427d3baf
🐛 fix(tabs/query-editor): 优化标签圆角并修复搜索提示遮挡 ( #713 )
...
## 背景
Issue #695 希望统一右侧工作区标签的圆角样式。同时,查询页打开 Monaco
搜索后,顶部按钮的悬浮提示会被编辑器区域裁剪,影响操作提示阅读。
## 变更点
- 将 V2 工作区标签四角统一为 8px 圆角
- 使用尊重圆角边界的 inset 激活色,避免顶部绿色条遮住圆角或形成悬浮短条
- Monaco 查找组件可见时放开编辑器区域的浮层裁剪,保持搜索按钮及查找框位置不变
- 补充标签圆角和搜索提示显示的回归测试
## 影响范围
- 仅影响 V2 主工作区标签样式及查询编辑器查找浮层
- 不改变标签尺寸、间距、拖拽和关闭逻辑
- 不改变 Monaco 查找框位置,也不恢复顶部额外留白
- 无后端、数据库、依赖或配置变更
## 验证
- `npx vitest run src/components/TabManager.adaptive-width.test.ts`(7/7
通过)
- `npx vitest run src/components/QueryEditor.external-sql-save.test.tsx
-t "shows Monaco find button hovers without moving the find widget"`(1/1
通过)
- `npx tsc --noEmit`
- `npm run build`
- Playwright 实际页面验证标签圆角、激活色和 Monaco 搜索按钮 Tooltip
Closes #695
2026-07-24 21:29:42 +08:00
AutumnNazi
a6c83d9164
🐛 fix(about): 移除关于页非必要滚动条
...
- 移除关于页冗余底部留白,内容完整时不再触发滚动
- 保留内容溢出时的滚动能力并补充布局回归断言
2026-07-24 20:53:19 +08:00
AutumnNazi
82a0a02c56
🐛 fix(tabs/query-editor): 优化标签圆角并修复搜索提示遮挡
...
- 将 V2 工作区标签统一为四角圆角,并让激活色沿圆角自然显示
- 放开 Monaco 查找组件可见时的浮层裁剪,不改变按钮位置和顶部间距
- 补充标签圆角与查找提示显示的回归测试
2026-07-24 20:23:46 +08:00
Syngnat
cbca312a50
🐛 fix(sidebar): 将表置顶星标改为只读状态指示
...
- 仅为已置顶表展示非交互实心星标
- 保留右键菜单中的置顶与取消置顶入口
- 补充侧边栏置顶指示器回归测试
2026-07-24 20:20:23 +08:00
Syngnat
0c9e807674
⚡ ️ perf(sidebar): 消除左侧树拖拽改宽时的卡顿
...
- 拖拽与松手提交期间标记 data-sidebar-resizing,关闭 Sider 默认 transition
- 避免 Ant Design transition:all 带动工作台/DataGrid 连续 reflow
- 补充 resize 标记生命周期与 CSS 约束回归测试
2026-07-24 19:50:58 +08:00
AutumnNazi
66531b6abd
✨ feat(connection): 支持分组快捷新建与环境预设
...
- 在新旧侧栏分组右键菜单中增加新建连接,并在保存后自动归入目标分组
- 为连接与分组增加生产、测试、开发和本地环境预设及颜色标识
- 持久化连接环境元数据,兼容旧数据与连接包导入导出
- 补充多语言文案及前后端回归测试
2026-07-24 18:31:40 +08:00
Syngnat
b7636f5fdd
Merge remote-tracking branch 'origin/dev' into dev
2026-07-24 18:13:22 +08:00
Syngnat
10db415d7a
🐛 fix(datagrid): 修复筛选字段选择失效
...
- 将 Select 下拉选项识别为交互目标
- 避免页内查找焦点逻辑中断字段选择
- 补充下拉选项交互目标回归测试
2026-07-24 18:12:47 +08:00
Syngnat
55b24b2d02
🐛 fix(table-designer): fix table sorting and column options ( #705 ) ( #709 )
...
## Summary
- sort table names in natural numeric order in both the table overview
and sidebar
- preserve MySQL column default values, including explicit empty-string
defaults and supported expressions
- add per-column default, character set, collation, and comment editing
- generate complete MySQL column definitions while filtering
`DEFAULT_GENERATED`
- keep column-level character set behavior scoped to MySQL
## Testing
- `npm --prefix frontend test --
src/components/TableDesignerSqlPreview.test.tsx
src/utils/tableOverviewFilter.test.ts src/utils/columnDefinition.test.ts
src/components/tableDesignerSchemaSql.test.ts` (58 passed)
- sidebar natural-sort focused test (passed)
- `npm --prefix frontend run build` (passed; existing chunk-size warning
only)
- `go test ./internal/db ./internal/connection` (passed)
- i18n JSON validation, Go formatting check, and `git show --check`
(passed)
## Validation notes
- The full sidebar test file still has 5 unrelated source/CSS sentinel
failures. The same 5 failures reproduce against the pre-sidebar-change
baseline.
- Repository-wide frontend and Go suites contain existing
environment/baseline failures unrelated to this change.
- Docker was unavailable, so a disposable MySQL round-trip test could
not be run.
- The development page was reachable, but Playwright is not installed in
the repository, so automated UI interaction screenshots were not
produced.
## Known limitation
MySQL `SHOW FULL COLUMNS` cannot reliably distinguish no `DEFAULT`
clause from an explicit `DEFAULT NULL`. This change preserves non-null
defaults and explicit empty-string defaults without introducing a full
`SHOW CREATE TABLE` parser.
Closes #705
2026-07-24 18:03:33 +08:00
mango
2a7fcb4781
🐛 fix(table-designer): fix table sorting and column options ( #705 )
2026-07-24 17:55:22 +08:00
Syngnat
7398873435
Merge pull request #708 from virgosgod-maker/fix/data-viewer-refresh-total
2026-07-24 17:36:57 +08:00
Syngnat
ef625ec911
🐛 fix(datagrid): 修复空结果横向滚动条位置异常
...
- 实测表格 DOM 溢出与轨道宽度,轻微溢出时仍将滚动条固定到底部
- 空结果时关闭数据预览面板并清理聚焦状态,避免残留布局占位
- 扩展性能复现页支持零行数据并补充布局与预览面板回归测试
2026-07-24 17:13:39 +08:00
mango
43c6f5e391
🐛 fix(data-viewer): 刷新表数据时重新统计总数
...
Fixes Syngnat/GoNavi#707
2026-07-24 16:19:15 +08:00
virgosgod-maker
2b2cc231af
Merge branch 'Syngnat:dev' into dev
2026-07-24 15:50:08 +08:00
Syngnat
72432b639e
Merge pull request #704 from virgosgod-maker/dev
...
✨ feat(query-editor): 美化 SQL 支持仅格式化选中内容
2026-07-24 15:22:10 +08:00
Syngnat
d520c9b806
⚡ ️ perf(sidebar): 优化大型资源树折叠动画
...
- 延迟隐藏资源树内容,使侧栏宽度收起动画保持连续
- 稳定 Sidebar 属性并保留已加载节点,避免大量对象触发重复渲染
- 覆盖 V2、旧版与减少动态效果场景,补充折叠回归测试
- 关联问题:#697
2026-07-24 15:16:15 +08:00
mango
2307a539a8
✨ feat(query-editor): 美化 SQL 支持仅格式化选中内容
...
有非空选区时只美化选中 SQL,无选区时仍美化全文。
2026-07-24 14:56:31 +08:00
Syngnat
1e4ece74a7
✨ feat(sidebar): 优化窄宽度连接头部展示
...
- 移除连接头部状态徽章,释放连接名与库名显示空间
- 窄宽度时收起新建查询文字并保持操作按钮可用
- 连接名或库名截断时悬浮同时展示完整信息
- 补充响应式布局、主题对比度与悬浮提示回归测试
2026-07-24 14:46:24 +08:00
Syngnat
c76daa0727
🐛 fix(update): 修复更新完成提示被弹窗遮挡
...
- 新增静态反馈专用层级,确保消息提示高于嵌套弹窗和退出确认框
- 调整 Ant Design 静态反馈的全局层级配置,保持普通弹出层顺序不变
- 补充反馈层级顺序与全局配置回归测试
2026-07-24 14:15:29 +08:00
Syngnat
e8eb6366c3
✨ feat(tabs): 默认启用双行标签展示
...
- 主行默认仅展示对象名,副行依次展示对象类型、连接名和数据库
- 调整设置项顺序并默认关闭 Schema 与 Host/IP
- 升级持久化版本并仅迁移未自定义的旧默认配置
- 补充默认快照、标签文案和配置迁移回归测试
2026-07-24 14:00:49 +08:00