Syngnat
|
35e1a99d19
|
✨ feat(update): 手动检查更新时发现新版本自动弹出更新日志弹窗 (#832)
resolves #818
## 变更
通过新增 onManualCheckHasUpdateRef
回调桥接,在用户手动点击“检查更新”并发现新版本后自动打开更新日志弹窗,静默检查不受影响。
## 验证
✅ TypeScript 类型检查通过
✅ 27 个测试全部通过(含新增回归测试)
✅ Lint 无新增错误
✅ 功能行为不变:手动检查发现新版本仍自动弹出更新日志弹窗
|
2026-08-04 10:10:57 +08:00 |
|
wait
|
e42f3738e2
|
🐛 fix(update): 修复切换通道时误弹更新日志
- 仅在用户手动点击“检查更新”时打开更新日志弹窗
- 通道切换后的自动复查和静默检查保持原有行为
- 新增通道切换发现更新时不触发弹窗的回归测试
|
2026-08-04 09:48:16 +08:00 |
|
Syngnat
|
f2e773efc5
|
🐛 fix(window): 修复 Windows 启动最大化显示不全
- 校验原生窗口状态与 WebView2 surface 覆盖率
- 在窗口线程刷新 WebView2 bounds,并为异步窗口命令增加状态屏障
- 完善工作区兜底和多显示器坐标转换
- 补充启动最大化、状态轮询及跨平台回归测试
Fixes #824
|
2026-08-03 23:26:15 +08:00 |
|
Syngnat
|
1403393178
|
🐛 fix(query-editor): 修复表名及别名字段补全异常
- 表名候选改为严格前缀匹配,并在截断时触发补全重查
- 识别逗号分隔表、别名及跨库引用,补充词法边界回归测试
Fixes #810
Fixes #827
|
2026-08-03 21:51:41 +08:00 |
|
Syngnat
|
b57561f1b0
|
🐛 fix(redis): 修复 Key 详情导致树列表下移
- 解耦 Redis Key 树与详情面板的纵向布局轨道
- 将加载遮罩限制在详情面板并保留加载防抖行为
- 补充布局与交互回归测试
Fixes #787
|
2026-08-03 20:55:57 +08:00 |
|
Syngnat
|
07835ea125
|
🐛 fix(connection): 修复连接环境标识与生产操作保护 (#830)
## 变更说明
Closes #823
- 删除分组级环境预设,连接分组下新建查询的 Tab、侧边栏和相关视图统一读取连接自身的环境类型与颜色。
- 对未配置任何生产保护的生产连接,所有可能修改数据、结构、配置、服务或消息的入口增加 5 秒风险确认,并要求点击“我已知悉”。
- 写操作成功提示等待实际刷新完成,避免提示早于侧栏、表概览、Redis、Nacos 等界面状态更新。
- 增加环境迁移、生产风险确认、刷新竞态和相关入口测试。
## 验证
- `npx tsc --noEmit` 通过
- `npx vite build` 通过
- 定向 Vitest:8 个测试文件,55 个测试全部通过
- `go test ./shared/i18n` 仍受上游已有的 `ru-RU` 缺少
`table_designer.tdengine.tag.value` 阻断,本次未引入该问题
|
2026-08-03 19:49:10 +08:00 |
|
Syngnat
|
a27222880c
|
fix(query-editor): 查询筛选字段时支持字符串模糊匹配 (#831)
Fixes #822
## 变更说明
修复 SQL 编辑器补全候选只能进行前缀匹配的问题。
- 字段名支持子串匹配,例如输入 `title` 可以匹配 `short_title`。
- 三段式、别名和普通字段补全统一支持模糊匹配。
- 表、视图、物化视图在普通、数据库限定和 Schema 限定场景支持子串匹配。
- 保持精确匹配、前缀匹配优先于普通子串匹配。
- 增加 Monaco `filterText`,避免候选被编辑器二次过滤。
- 增加相关回归测试。
## 验证
- 补全相关测试通过
- TypeScript 类型检查通过
- Wails Windows 完整构建通过
|
2026-08-03 19:48:49 +08:00 |
|
Syngnat
|
2f9dbdb754
|
🐛 fix(query-editor): 修复大字号表候选下划线裁剪 (#829)
## 背景
SQL 查询编辑器的表候选项使用 Monaco 原生双行布局,行高固定为 18px + 18px。
当编辑器字号调整为 18px 或 20px 时,表名中的下划线和字母下行部分可能被候选项行高裁剪。
## 变更内容
- 新增 SQL 候选项布局计算逻辑,根据最终编辑器字号动态计算表名行高和候选项总高度。
- 将 Monaco 的 `suggestLineHeight` 与动态布局保持一致。
- 使用 CSS 变量替代候选项中的固定行高,确保大字号下内容完整显示。
- 保持默认字号下原有 36px 候选项高度不变。
- 增加默认字号、大字号和显式字号配置的单元测试。
## 影响范围
- 仅影响 v2 SQL 查询编辑器的表候选项。
- 旧版编辑器和其他类型的 Monaco 编辑器不受影响。
- 不涉及数据结构、接口、数据库或构建配置变更。
- SQL 字号为 18px 时,候选项高度调整为 43px;20px 时调整为 46px。
## 验证方式
- `sqlEditorTypography.test.ts`:3 个测试通过。
- `MonacoEditor.typography.test.tsx`:6 个测试通过。
- TypeScript 类型检查通过:`npx tsc --noEmit`。
- `git diff --check 630ba7fc^ 630ba7fc` 通过。
|
2026-08-03 19:48:26 +08:00 |
|
Syngnat
|
de306bce77
|
🐛 fix(i18n): 补齐俄语 TDengine 翻译 (#833)
## 变更说明
补齐 `ru-RU` catalog 中缺失的翻译 key:
- `sidebar.action.scroll_to_top`
- `table_designer.tdengine.tag.value`
- `table_designer.tdengine.placeholder.tag_value_input`
- `table_designer.tdengine.message.no_stable_found`
- `table_designer.tdengine.message.loading_tag_defs`
这样俄语 catalog 与英文 catalog 的 key 集合保持一致,避免启动时 i18n catalog 校验失败。
## 验证
- JSON 解析通过
- `ru-RU` 缺失 key 数量:0
- `go test ./shared/i18n` 通过
|
2026-08-03 19:46:55 +08:00 |
|
AutumnNazi
|
455b12f443
|
🐛 fix(i18n): 补齐俄语 TDengine 翻译
- 补充侧栏回到顶部的俄语文案\n- 补充 TDengine TAG 值、超级表提示和 TAG 定义加载文案\n- 保持俄语 catalog 与英文 key 集合一致
|
2026-08-03 17:06:49 +08:00 |
|
kunghim
|
189cd11cb9
|
fix(query-editor): support substring completion matching
|
2026-08-03 16:45:33 +08:00 |
|
AutumnNazi
|
ad7179941f
|
🐛 fix(connection): 修复连接环境标识与生产操作保护
- 分组不再覆盖连接自身环境类型,Tab 和侧栏视图统一使用连接环境颜色\n- 为未配置生产保护的生产连接增加 5 秒风险确认,覆盖 SQL、数据、结构、同步、Redis、Nacos 和消息操作\n- 写操作完成后等待刷新请求结束再提示成功,避免界面状态落后于实际结果\n- 增加连接环境、生产风险确认和刷新竞态测试,关联 Issue #823
|
2026-08-03 16:39:06 +08:00 |
|
wait
|
032c43775c
|
✨ feat(update): 手动检查更新时发现新版本自动弹出更新日志弹窗
通过新增 `onManualCheckHasUpdateRef` 回调桥接,在用户手动点击“检查更新”并发现新版本后自动打开更新日志弹窗,静默检查不受影响。
|
2026-08-03 15:50:28 +08:00 |
|
kunghim
|
630ba7fc3f
|
🐛 fix(query-editor): 修复大字号表候选下划线裁剪
|
2026-08-03 15:34:07 +08:00 |
|
Syngnat
|
67981575a9
|
🐛 fix(nativewindow): 同步独立窗口主题与透明背景
- 同步主窗口解析后的自定义主题上下文,覆盖独立窗口主题变量和 Ant Design 令牌\n- 使用主题背景绘制 detached WebView,避免透明区域回退为白色\n- 按 macOS、Windows 和 Linux 配置原生窗口透明参数\n- 补充主题通信、覆盖层主题和原生窗口视觉选项回归测试
|
2026-08-03 15:27:30 +08:00 |
|
Syngnat
|
d06d9a0f7f
|
🐛 fix(tdengine): 兼容超级表元数据查询结果
- 兼容 stable_name 及不同大小写的超级表字段
- 增加 SHOW STABLES 多种语法回退
- 新增超级表选项解析与去重回归测试
|
2026-08-03 15:05:16 +08:00 |
|
Syngnat
|
75f897c1ab
|
🐛 fix(query-editor): 修复 Cmd 点击失效表链接异常
- 表链接跳转前精确校验对象存在性并清理过期元数据
- 隔离标签、数据库及连接切换后的迟到响应并合并重复点击
- 扩展 Elasticsearch 与可选驱动代理的存在性检查及兼容回退
- 补充前后端回归测试和 Wails 绑定
|
2026-08-03 14:57:06 +08:00 |
|
Syngnat
|
384efc4182
|
feat(sidebar): 左侧树增加回到顶部按钮
在连接操作按钮左侧增加回到顶部按钮,
点击后通过虚拟滚动 scrollTo({ index: 0 }) 快速回到树顶,
避免用户在树较长时手动滚轮。
新增 i18n 中/英/日/德/繁中翻译
|
2026-08-03 12:35:43 +08:00 |
|
Syngnat
|
3652756b2c
|
🐛 fix(data-grid): 兼容 bit 十六进制值大小写
- 让 bit 十六进制字面量匹配不区分大小写
- 避免大写十六进制值回退为带引号字符串
- 增加 0X0F 复制 INSERT 回归验证
|
2026-08-03 10:51:19 +08:00 |
|
Syngnat
|
573df673b1
|
🐛 fix(data-grid): 修复 MySQL bit 字段复制 INSERT 引号错误
- 识别 MySQL 家族 bit 列并生成未加引号的数值字面量
- 兼容布尔、十进制、十六进制和二进制值格式
- 增加复制 INSERT 回归测试并保留普通字段序列化行为
Fixes #786
|
2026-08-03 10:46:27 +08:00 |
|
Syngnat
|
b7774f8d75
|
fix(tdengine): SHOW STABLES 去掉 FROM 子句,依赖 DBQuery 的数据库上下文
SHOW STABLES FROM db 在某些 TDengine 版本/驱动中可能不兼容,
改为直接使用 SHOW STABLES,通过 DBQuery 的 dbName 参数设置数据库上下文。
|
2026-08-03 10:45:20 +08:00 |
|
Syngnat
|
add349af34
|
fix(tdengine): 修复子表超级表下拉框为空和无法自由输入的问题
- SHOW STABLES 查询去掉反引号,处理空数据库名场景
- Select 改为 AutoComplete 以支持自由输入
|
2026-08-03 10:05:15 +08:00 |
|
Syngnat
|
42e26a52cd
|
feat(tdengine): 优化子表 TAG 值填写交互
- 超级表名改为下拉选择,自动从当前库拉取超级表列表
- 选择超级表后自动拉取 TAG 定义,逐行显示名称/类型/输入框
- 根据 TAG 类型自动处理引号拼接 TAGS 值
- 加载失败时降级为文本输入框兜底
- 新增 i18n 中/英/日/德/繁中翻译
|
2026-08-03 09:27:55 +08:00 |
|
Syngnat
|
0e8ec993c4
|
🐛 fix(connection-modal): 修复通配数据库标签截断
- 标签列宽从 40px 调整至 52px,完整显示通配包含与通配排除
- 复选项左侧内边距同步调整,保持表单内容对齐
- 不改变连接配置数据与交互逻辑
|
2026-08-03 08:49:08 +08:00 |
|
Syngnat
|
3a0123e044
|
✨ feat(data-grid): 支持富格式剪贴板粘贴 (#820)
- 粘贴表格单元格时优先解析 HTML/CSV,再回退 TSV
- 保持 text/plain TSV 安全降级,避免单元格内 tab/换行破坏列结构
- 保留富格式中的真实 tab 和换行内容
- 补充多行多列区域复制粘贴与 HTML tab 保留测试
验证:
- npm --prefix frontend test -- dataGridClipboardPaste.test.ts
dataGridClipboardPayload.test.ts dataGridSelectionCopy.test.ts
|
2026-08-02 21:37:32 +08:00 |
|
liuqiufeng
|
dd733816b5
|
✨ feat(data-grid): 支持富格式剪贴板粘贴
- 粘贴表格单元格时优先解析 HTML/CSV,再回退 TSV
- 保持 text/plain TSV 安全降级,避免单元格内 tab/换行破坏列结构
- 保留富格式中的真实 tab 和换行内容
- 补充多行多列区域复制粘贴与 HTML tab 保留测试
验证:
- npm --prefix frontend test -- dataGridClipboardPaste.test.ts dataGridClipboardPayload.test.ts dataGridSelectionCopy.test.ts
|
2026-08-02 21:35:51 +08:00 |
|
Syngnat
|
6ee85861ca
|
✨ feat(data-grid): 支持表格多格式复制 (#819)
- 新增 DataGrid 剪贴板 payload 构建工具,统一生成 plain text、HTML、CSV、Markdown、JSON
等格式
- 将单元格选择复制、行复制、列复制从纯文本复制升级为富格式复制
- Ctrl/Cmd+C 改为通过 copy 事件写入多种 MIME 类型,兼容 Excel 等表格软件粘贴
- 为多格式 payload 构建、事件写入、选区复制补充 Vitest 覆盖
Validation:
- npm --prefix frontend test -- dataGridClipboardPayload.test.ts
dataGridSelectionCopy.test.ts DataGrid.ddl.test.tsx -t "copies row and
column data|copies loaded column
data|dataGridClipboardPayload|dataGridSelectionCopy"
- cd frontend && npx patch-package --verbose
- npm --prefix frontend run build
|
2026-08-02 20:54:06 +08:00 |
|
liuqiufeng
|
fa14dcb7cb
|
✨ feat(data-grid): 支持表格多格式复制
- 新增 DataGrid 剪贴板 payload 构建工具,统一生成 plain text、HTML、CSV、Markdown、JSON 等格式
- 将单元格选择复制、行复制、列复制从纯文本复制升级为富格式复制
- Ctrl/Cmd+C 改为通过 copy 事件写入多种 MIME 类型,兼容 Excel 等表格软件粘贴
- 为多格式 payload 构建、事件写入、选区复制补充 Vitest 覆盖
Validation:
- npm --prefix frontend test -- dataGridClipboardPayload.test.ts dataGridSelectionCopy.test.ts DataGrid.ddl.test.tsx -t "copies row and column data|copies loaded column data|dataGridClipboardPayload|dataGridSelectionCopy"
- cd frontend && npx patch-package --verbose
- npm --prefix frontend run build
|
2026-08-02 20:51:58 +08:00 |
|
Syngnat
|
bd1ae3c24a
|
🐛 fix(connection-package): 修复导出弹窗状态类型导致 tsc 失败
- selectedConnectionIds 在 Snapshot 中改为必填 string[]
- 同步单元测试夹具字段,消除 CI 构建报错
|
2026-08-02 13:10:35 +08:00 |
|
Syngnat
|
0b6c0e8e51
|
✨ feat(about): 应用内查看更新日志并与下载进度同窗
- 关于页提供「查看更新日志」入口,弹窗可滚动阅读 Markdown
- 下载进度与更新日志合并,支持边看日志边下载
- 本地缓存已读版本并展示未读提示
- 修正弹窗层级,避免被设置中心遮挡
- 补充多语言文案与单测
|
2026-08-02 13:07:36 +08:00 |
|
Syngnat
|
3fe41f3700
|
✨ feat(update): 将更新日志写入静态清单并打通 CI 生成
- 扩展 latest.json / UpdateInfo 支持 releaseNotes 字段
- latest 发版将 changelog 同步写入清单与 GitHub Release
- dev 构建按上一版基线自动生成相对更新日志
- 补充清单生成与后端映射测试
|
2026-08-02 13:07:26 +08:00 |
|
Syngnat
|
218e9388d2
|
🎨 style(theme): 对齐表概览主题表面并优化工具栏与时间展示
- 主内容区与侧栏统一 panel-2,消除表概览空白区色差
- 查询工具栏保存按钮改为 default 图标样式,提升暗色可读性
- 表概览时间格式化为 YYYY-MM-DD HH:mm:ss,保留小数秒
- 补充多语言文案与相关测试
|
2026-08-02 12:43:02 +08:00 |
|
Syngnat
|
24873709f5
|
✨ feat(sidebar): 增强标题栏更多菜单与批量导出工作台
- 标题栏「更多」对齐设置分组,并支持导入导出独立入口
- 批量工作台支持导出/删除意图切换与截断表
- 库表右键补充批量操作与表分组刷新入口
- 完善相关组件测试
|
2026-08-02 12:42:53 +08:00 |
|
Syngnat
|
8446c4dfb6
|
✨ feat(connection-package): 支持导出时多选连接
- 后端导出请求增加 connectionIds,仅打包所选连接
- 导出弹窗支持连接多选与未选校验
- 同步 Wails 绑定与传输测试
|
2026-08-02 12:42:05 +08:00 |
|
Syngnat
|
cc9f3091cd
|
🐛 fix(titlebar): 移除窗口控制按钮边框
- 覆盖 V2 全局按钮边框、圆角与阴影
- 保留跨平台自绘控件 hover 与关闭警示反馈
- 增加标题栏样式回归测试
|
2026-08-02 11:28:54 +08:00 |
|
Syngnat
|
63d391e76d
|
🐛 fix(data-grid): 为文本视图所有列显示截断提示 (#817)
## 背景
PR #816 合并后,文本视图字段、类型和注释列虽然会以省略号截断,但悬浮时无法查看完整内容。
## 变更
- 字段、类型、注释和值四列统一使用实际宽度检测。
- 只有检测到内容被截断时才显示完整内容 Tooltip。
- 未截断或空值时不显示 Tooltip,保持原有界面简洁。
## 验证
-
pm --prefix frontend test -- --run
src/components/DataGrid.layout.test.tsx
src/components/DataGridRecordViews.interaction.test.tsx
src/i18n/catalog.test.ts(90/90 通过)
补充已合并的 #816。
|
2026-08-02 01:02:14 +08:00 |
|
Kunghim
|
27e5b4ff13
|
🐛 fix(data-grid): 为文本视图列显示截断提示
|
2026-08-02 00:59:35 +08:00 |
|
Syngnat
|
34ce600738
|
✨ feat(data-grid): 优化行文本查看体验 (#816)
## 背景
字段较多时,查看同一行数据需要横向滚动,影响快速定位和比较。
## 变更
- 支持点击行号整列或双击行号切换到文本视图。
- 文本视图改为字段、类型、注释、值四列;前三列固定宽度,值列使用剩余空间。
- 值列仅在实际截断时显示完整内容 Tooltip,并支持点击或键盘操作复制。
- 保留文本/JSON 编辑后的返回表格入口及多语言文案。
- 增加布局和复制交互回归测试。
## 验证
-
pm --prefix frontend test -- --run
src/components/DataGrid.layout.test.tsx
src/components/DataGridRecordViews.interaction.test.tsx
src/i18n/catalog.test.ts(90/90 通过)
-
pm --prefix frontend run build 通过。
- Wails 生产包已构建并人工测试通过。
## 说明
TypeScript 全量检查仍报告上游 QueryEditor.tsx 中 Monaco hover.enabled 的 2
个既有类型错误,与本 PR 改动无关。
Closes #796
|
2026-08-02 00:50:33 +08:00 |
|
Syngnat
|
d73b22de46
|
🐛 fix(datagrid): 保留多列筛选条件 (#815)
## 背景\nPR #814 合并后发现,先应用字段 A 筛选,再应用字段 B 筛选时,字段 A
的筛选条件会被丢弃,导致结果集与筛选图标状态不一致。\n\n## 变更\n- 在条件规范化过程中保留已有列的筛选条件。\n-
增加多列筛选的回归测试。\n\n## 验证\n-
pm --prefix frontend test --
src/components/useDataGridFilters.test.tsx\n\n本 PR 基于已合并的 #814,仅包含后续修复。
|
2026-08-02 00:49:36 +08:00 |
|
Kunghim
|
c440280118
|
✨ feat(data-grid): 优化文本记录视图
|
2026-08-02 00:42:25 +08:00 |
|
Kunghim
|
f46dc08519
|
fix(data-grid): 修复行号列整格双击切换文本视图
|
2026-08-02 00:42:23 +08:00 |
|
Syngnat
|
b80843483a
|
✨ feat(database): 支持通配符过滤数据库显示范围
- 新增数据库包含与排除通配规则,保持原精确筛选兼容
- 同步侧栏、查询编辑器、数据导入导出及连接配置
- 完善持久化、连接包、Wails 绑定、多语言与回归测试
Fixes #776
|
2026-08-02 00:06:20 +08:00 |
|
Kunghim
|
f374193e29
|
🐛 fix(datagrid): 保留多列筛选条件
|
2026-08-01 22:02:48 +08:00 |
|
Syngnat
|
c72f9a8617
|
✨ feat(datagrid): 支持列值多选筛选 (#814)
Closes #811
## 变更
- 列头当前值列表支持搜索、多选和全选
- SQL 结果支持跨列级联值统计,刷新会清空本地筛选
- 表预览保留多选条件并应用到服务端查询
## 验证
- npm --prefix frontend test --
src/components/DataGridColumnTitle.test.tsx
src/components/useDataGridFilters.test.tsx
src/utils/dataGridClientFilter.test.ts src/utils/sql.test.ts
- npm --prefix frontend run build
|
2026-08-01 21:14:26 +08:00 |
|
Syngnat
|
7dfe159b26
|
✅ test(audit): 修复脱敏断言随机误报
- 将敏感信息检查限定到 SQL 文本和错误字段
- 避免审计 UUID、时间戳及哈希短串碰撞导致误报
|
2026-08-01 19:49:12 +08:00 |
|
Syngnat
|
2f7dad9579
|
Merge remote-tracking branch 'origin/dev' into dev
|
2026-08-01 19:40:18 +08:00 |
|
Syngnat
|
b5af396b4a
|
🐛 fix(oracle): 修复长触发器定义被截断
- 触发器元数据改走无界 CLOB/LONG 读取
- 查看与编辑入口统一使用完整触发器定义接口
- 补充超过 4 KiB 及旧标签页回归测试
|
2026-08-01 19:40:10 +08:00 |
|
Kunghim
|
42f34a36f4
|
✨ feat(datagrid): 支持列值多选筛选
|
2026-08-01 19:32:20 +08:00 |
|
Syngnat
|
5640a36e03
|
🐛 fix(sidebar): 字符集/排序规则类型改为前端本地定义
CI 的 Build frontend 步骤执行 wails generate module 重新生成绑定,
ListDatabaseCharsets/ListDatabaseCollations 返回 QueryResult(Data 为
interface{}),wails 不会为其生成 TS 类,导致 models.ts 中手写类型被
覆盖后 tsc 编译失败。改为前端本地声明 DatabaseCharsetOption/
DatabaseCollationOption,不再依赖 wails 生成类型。
|
2026-08-01 18:45:59 +08:00 |
|
Syngnat
|
aa7d927b67
|
🌐 i18n: 创建数据库字符集/排序规则文案(6 语言)
|
2026-08-01 18:22:21 +08:00 |
|