Syngnat
|
e2615d9cb8
|
✨ feat(data-grid): 增加结果视图字段搜索定位 (#854)
## 关联 Issue
Closes #845
## 改动说明
- 在文本结果视图增加字段搜索,支持字段名和字段注释的前缀、包含匹配
- 文本视图选中唯一字段后自动滚动定位并高亮,不显示无意义的上下项导航
- 在 JSON 结果视图增加字段搜索,只定位每条记录的顶层真实字段键,避免命中字段值或嵌套 JSON 同名键
- JSON 视图支持上一项、下一项循环定位,并显示“当前 / 总数”
- 匹配顺序为字段完全匹配、字段前缀、字段包含、注释前缀、注释包含,忽略大小写并保留真实字段名
- 补充 Enter、Shift+Enter、Escape 键盘操作以及六种语言文案
- 统一搜索框与导航按钮为 24px 高度,移除叠加焦点光晕,并将输入及占位文字调整为 12px
## 验证
- `npm test -- --run src/utils/dataGridRecordFieldSearch.test.ts
src/components/DataGridRecordViews.interaction.test.tsx
src/components/DataGrid.layout.test.tsx`(46 tests passed)
- `npm run build`
- `go test ./shared/i18n`
|
2026-08-06 12:11:54 +08:00 |
|
kunghim
|
cf8397d310
|
✨ feat(data-grid): 增加结果视图字段搜索定位
|
2026-08-06 11:33:06 +08:00 |
|
mango
|
90020799ad
|
🐛 fix(tab): 修复 Schema 副行显示 (#851)
|
2026-08-06 11:18:09 +08:00 |
|
Syngnat
|
450b70178c
|
🐛 fix(oceanbase/dameng): 修复元数据连接与带点对象名解析
- OceanBase Oracle 元数据请求复用基础连接,避免 CURRENT_SCHEMA 初始化触发 EOF
- 达梦结果编辑保留带点 owner 边界,统一 SQL 预览与实际执行目标
- 完善限定名解析、补全导航与数据库回归测试
Refs #836
|
2026-08-05 16:24:02 +08:00 |
|
Syngnat
|
e42f2ba7b2
|
✨ feat(tab): 增加查询标签右键重命名 (#844)
## 变更说明
- 在查询 Tab 的右键菜单中增加“重命名查询”入口。
- 复用 QueryEditor 现有的重命名流程,保持保存记录、Tab 标题和未保存查询引导行为一致。
- 右键非当前查询 Tab 时先激活目标 Tab,再打开对应的重命名窗口。
- SQL 文件 Tab 保留现有不可重命名限制,表数据等非查询 Tab 不显示该菜单项。
- 通过带 tabId 的事件只通知目标 QueryEditor,避免误操作其他查询 Tab。
## 测试
- 定向测试:325 passed
- npm run build:TypeScript 和 Vite 构建通过
- Wails Windows 测试包:GoNavi-issue-835-query-tab-rename.exe
- 已完成人工测试验证
Fixes #835
|
2026-08-05 14:35:49 +08:00 |
|
kunghim
|
209b6638bd
|
✨ feat(tab): 增加查询标签右键重命名
|
2026-08-05 14:04:24 +08:00 |
|
mango
|
a0f84fd6e3
|
🐛 fix(about): 移除重复更新日志入口 (#834)
|
2026-08-05 11:29:59 +08:00 |
|
Syngnat
|
ad16c1b872
|
🐛 fix(query-editor): 修复达梦 JOIN 查询自动限行歧义
达梦改用原生 LIMIT/OFFSET,避免 ROWNUM 派生表包装使 JOIN 同名列触发列名歧义。
补充自动限行、AI 只读预览和分页 SQL 的回归覆盖。
|
2026-08-04 15:13:57 +08:00 |
|
Syngnat
|
f2e773efc5
|
🐛 fix(window): 修复 Windows 启动最大化显示不全
- 校验原生窗口状态与 WebView2 surface 覆盖率
- 在窗口线程刷新 WebView2 bounds,并为异步窗口命令增加状态屏障
- 完善工作区兜底和多显示器坐标转换
- 补充启动最大化、状态轮询及跨平台回归测试
Fixes #824
|
2026-08-03 23:26:15 +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
|
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 |
|
AutumnNazi
|
ad7179941f
|
🐛 fix(connection): 修复连接环境标识与生产操作保护
- 分组不再覆盖连接自身环境类型,Tab 和侧栏视图统一使用连接环境颜色\n- 为未配置生产保护的生产连接增加 5 秒风险确认,覆盖 SQL、数据、结构、同步、Redis、Nacos 和消息操作\n- 写操作完成后等待刷新请求结束再提示成功,避免界面状态落后于实际结果\n- 增加连接环境、生产风险确认和刷新竞态测试,关联 Issue #823
|
2026-08-03 16:39:06 +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
|
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
|
218e9388d2
|
🎨 style(theme): 对齐表概览主题表面并优化工具栏与时间展示
- 主内容区与侧栏统一 panel-2,消除表概览空白区色差
- 查询工具栏保存按钮改为 default 图标样式,提升暗色可读性
- 表概览时间格式化为 YYYY-MM-DD HH:mm:ss,保留小数秒
- 补充多语言文案与相关测试
|
2026-08-02 12:43:02 +08:00 |
|
Syngnat
|
8446c4dfb6
|
✨ feat(connection-package): 支持导出时多选连接
- 后端导出请求增加 connectionIds,仅打包所选连接
- 导出弹窗支持连接多选与未选校验
- 同步 Wails 绑定与传输测试
|
2026-08-02 12:42:05 +08:00 |
|
Syngnat
|
b80843483a
|
✨ feat(database): 支持通配符过滤数据库显示范围
- 新增数据库包含与排除通配规则,保持原精确筛选兼容
- 同步侧栏、查询编辑器、数据导入导出及连接配置
- 完善持久化、连接包、Wails 绑定、多语言与回归测试
Fixes #776
|
2026-08-02 00:06:20 +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
|
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
|
c57a613f47
|
✨ feat(sidebar): 创建数据库弹窗支持选择字符集与排序规则
MySQL 系连接创建数据库时,弹窗新增字符集与排序规则下拉,选项由
后端实时拉取;选择字符集后排序规则联动过滤。新增
supportsCreateDatabaseCharset 能力标记并同步 Wails 绑定。
|
2026-08-01 18:22:21 +08:00 |
|
Syngnat
|
4c52a825c7
|
Merge remote-tracking branch 'origin/dev' into dev
|
2026-08-01 15:00:30 +08:00 |
|
Syngnat
|
88434e77a9
|
✨ feat(elasticsearch): 新增 REST 控制台并完善安全执行链
- 复用查询页提供 ES 控制台、模板、AI 辅助及原始与表格结果
- 新增统一解析分类、危险确认、连接保护和受控 REST 执行
- 扩展 driver agent、版本适配、Wails 绑定、多语言与文档
- 修复完整回归中发现的跨平台和前端基线用例问题
Refs #782
|
2026-08-01 14:58:12 +08:00 |
|
Syngnat
|
849dad6ea8
|
⚡️ perf(sidebar): 优化拖拽与折叠展开流畅度
- 拖拽时实时同步侧栏全部宽度约束并移除内容区锁定
- 折叠与展开期间合并尺寸观察回调,结束后统一刷新
- 为依赖观察器增加安装补丁及生命周期回归测试
|
2026-08-01 14:51:56 +08:00 |
|
Syngnat
|
2ecccae148
|
⚡️ perf(driver-manager): 优化驱动状态缓存与加载协调
- 抽离驱动状态快照注册、恢复和请求收尾逻辑
- 避免过期请求覆盖最新目录状态或持续占用加载态
- 补充缓存恢复与请求竞态回归测试
|
2026-08-01 14:50:09 +08:00 |
|
octo-patch
|
4f12dd8436
|
feat(ai): add MiniMax regional endpoint options
|
2026-08-01 13:25:16 +08:00 |
|
Syngnat
|
30809a2160
|
✨ feat(query-editor): 新增可配置快捷键接受 SQL AI 自动补全 (#808)
## 功能说明
查询编辑器出现 AI 灰色幽灵补全时,按下**接受快捷键**即可将补全内容写入编辑器。接受快捷键可在「快捷键管理」中自由修改(默认
**Tab**,支持改绑 Shift+Tab / Right / 任意组合键)。
原实现为硬编码 RightArrow(`editor.addCommand` + Monaco fallback 补丁),现改为:
- 新增 `acceptSqlAiCompletion` 快捷键动作,注册进现有快捷键系统(快捷键管理 UI、录制、冲突检测自动生效)
- 接受逻辑改用 `editor.onKeyDown` 单机制:仅当 `acceptAiInlineGhost()`
成功时才拦截按键,幽灵不存在/过期时按键走默认行为(不再需要 fallback 补丁,已删除)
- 监听注册在 `handleEditorDidMount`(编辑器生命周期内),编辑器重建(关闭重开查询区)自动重注册;绑定与激活态经 ref
读取,改绑后立即生效
- 移除了 `disallowShift` 限制,支持 Shift+Tab 等含 Shift 的组合
## 涉及文件
| 文件 | 改动 |
|---|---|
| `frontend/src/utils/shortcuts.ts` | 注册 `acceptSqlAiCompletion` 动作(默认
Tab) |
| `frontend/src/components/QueryEditor.tsx` | onKeyDown 接受机制,移除硬编码
addCommand |
| `frontend/src/components/MonacoEditor.tsx` | 删除 RightArrow fallback
补丁(死代码) |
| `shared/i18n/*.json`(6 语言) | 快捷键 label/description 文案 |
## 测试
- `shortcuts.test.ts`:默认值、Tab 裸键可录制、Shift+Tab 允许
- `QueryEditor.external-sql-save.test.tsx`:默认 Tab 接受并拦截按键 / 无幽灵不拦截 /
幽灵过期不拦截 / 改绑 Right、Shift+Tab 接受
- 相关测试全过(366 条),`tsc --noEmit` 通过
- 已本地 `wails build` 打包人工验证:默认 Tab 接受补全,无补全时 Tab 不吞键,改绑 Shift+Tab
生效,关闭重开查询区后仍生效
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
2026-08-01 10:59:56 +08:00 |
|
Kunghim
|
6b095e6d9b
|
✨ feat(shortcuts): 接受 SQL AI 自动补全默认键改为 Tab
测试同步:默认 Tab 接受/不拦截 Tab 场景,改绑 Right/Shift+Tab 保留可配置覆盖。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-01 02:12:06 +08:00 |
|
Kunghim
|
f38fdf5732
|
✨ fix(query-editor): 接受快捷键监听移入 editor 生命周期并允许 Shift+Tab
- 移除 disallowShift:Shift+Tab 可录制/保存/生效
- keydown 监听从独立 effect 移入 handleEditorDidMount,绑定与激活态
经 ref 读取,editor 重建(关闭重开查询区)自动重注册,改绑立即生效
- 新增 Shift+Tab 接受场景测试
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-01 01:36:47 +08:00 |
|
Syngnat
|
68df0b440d
|
⚡️ perf(workbench): 优化表格列宽与侧栏拖拽性能
- 列宽拖动实时同步表头、表体与滚动区域,移除辅助线
- 合并侧栏拖动期间的尺寸观察与布局刷新
- 补充拖拽生命周期和边界回归测试
|
2026-08-01 00:59:28 +08:00 |
|
Kunghim
|
18fd60dc69
|
✨ feat(shortcuts): 新增接受 SQL AI 自动补全快捷键(默认 Right)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-08-01 00:44:32 +08:00 |
|
Syngnat
|
84dd276466
|
🐛 fix(driver-manager): 优化首次加载并修正版本与卡片展示
- 将驱动包元数据预热移至后台,避免状态首屏等待网络
- 复用状态快照并合并并发请求,防止重复刷新与过期响应覆盖
- 修正版本重复及历史版本选择,保证展示与安装目标一致
- 重排版本、进度和操作区域,并提升深色主操作对比度
- 补充首屏、并发、布局与性能边界回归测试
|
2026-07-31 23:48:27 +08:00 |
|
Syngnat
|
e942f7dc5a
|
🐛 fix(ddl): 保留 Oracle 视图 DDL 原始排版
- Oracle 视图与物化视图跳过展示格式化
- 补充预览及对象编辑原始排版回归测试
|
2026-07-31 20:06:25 +08:00 |
|
Syngnat
|
eb0f075bce
|
🔧 fix(message):修复打开表数据时,提示 data_viewer.edit_hint.all_columns_locator … (#798)
问题:当表没有主键是提示为应为字符没有翻译成友好提示
<img width="1226" height="157" alt="image"
src="https://github.com/user-attachments/assets/5650fe6c-fc67-4281-a361-b967f89f21b6"
/>
增加i18n转换
修复后如下
<img width="1318" height="112" alt="image"
src="https://github.com/user-attachments/assets/213cf541-4ed8-4e89-b652-a01194673d8b"
/>
|
2026-07-31 16:30:43 +08:00 |
|
Syngnat
|
736c20640e
|
🐛 fix(ai-window): 同步独立 AI 窗口主题与显示设置
- 使用宿主解析后的主题状态渲染浮动 AI 窗口
- 在原生独立窗口注入自定义主题样式与 Ant Design 令牌
- 同步主题、字号、缩放和界面版本到子窗口
- 增加主题切换与独立窗口状态同步回归测试
|
2026-07-31 16:22:27 +08:00 |
|
廖鹏
|
af80e07e4a
|
🔧 fix(message):修复打开表数据时,提示 data_viewer.edit_hint.all_columns_locator 消息,但是在其他语言模式下没有转换成友好提示词。
|
2026-07-31 11:02:14 +08:00 |
|
home
|
4e96660eab
|
🐛 fix(datagrid): 修复最小列宽下筛选与排序控件隐藏
|
2026-07-30 23:44:13 +08:00 |
|
Syngnat
|
457a77d13a
|
🐛 fix(oracle): 修复视图 DDL 截断与 ROWID 注入问题
- 完整读取 Oracle DDL CLOB,避免元数据预览截断
- 统一对象设计器视图 DDL 获取和格式化
- 仅对物理表注入 ROWID,避免 ORA-01445
|
2026-07-30 23:20:03 +08:00 |
|
Syngnat
|
ffd1be8ad6
|
🐛 fix(query-editor): 统一主题背景与结果区布局
让 Monaco、SQL 工具栏、数据网格和嵌入日志统一使用当前主题的工作台表面色,并兼容自定义主题覆盖。
统一结果 Tab 的高度、圆角与间距,移除嵌入日志重复标题,将清空日志和隐藏结果区操作并排放到 Tab 栏右侧。
补充主题、工具栏、结果 Tab 和日志面板回归测试。
|
2026-07-30 17:49:58 +08:00 |
|
Syngnat
|
09a1bceabf
|
⚡️ perf(kingbase): 优化数据表首屏加载性能
- 连接池保留 Kingbase 空闲连接,减少重复建连开销
- 首屏数据查询完成后再加载编辑定位元数据
- 合并列、索引和外键元数据请求并保留强制刷新
- 新增连接复用、加载时序和请求缓存回归测试
|
2026-07-30 11:26:50 +08:00 |
|
Syngnat
|
12e410aead
|
🐛 fix(nacos-connection): 支持受限命名空间与权限保护
- 在连接表单中独立维护 Namespace ID 与 contextPath
- 为无命名空间列表权限的账号回退到已配置作用域
- 细分数据编辑、结构管理与导入保护并阻止陈旧操作
- 补齐侧边栏请求代际和连接 URI 回归测试
|
2026-07-28 23:51:36 +08:00 |
|
Syngnat
|
347063f136
|
Merge pull request #768 from virgosgod-maker/fix/issue-763
|
2026-07-28 19:31:01 +08:00 |
|
mango
|
3e933358e6
|
🐛 fix: 修复 Issue #763 (Closes #763)
|
2026-07-28 18:30:23 +08:00 |
|
mango
|
a37dc1c469
|
🐛 fix(test): 修复前端基线测试断言
|
2026-07-28 17:48:31 +08:00 |
|
Syngnat
|
d3fabe29d4
|
🐛 fix(theme): 统一 Monaco 与通用弹窗主题细节
- 统一 Monaco 编辑器背景变量并避免全局主题相互污染
- 为自定义主题补充编辑器表面变量及兼容处理
- 区分 DataGrid 数据编辑器与 SQL 定义编辑器字号
- 修复 V2 输入框重复边框和弹窗关闭按钮错位
- 支持可缩放弹窗内容及 Monaco 编辑器自适应填充
|
2026-07-28 16:00:24 +08:00 |
|