胡飞
|
dbe840e0c9
|
fix(extension-runtime): 支持扩展资源相对路径及配置灵活的GitHub备用清单URL
- 允许 manifest 中的 asset_url 和 fallback_asset_url 使用相对路径,客户端根据清单 URL 目录解析
- 取消依赖 ONETCLI_PUBLIC_BASE_URL,改为构建相对路径形式的资源 URL
- 在构建脚本中传递 ONETCLI_EXTENSION_MANIFEST_URL 和 ONETCLI_EXTENSION_GITHUB_MANIFEST_URL 两个环境变量
- 在 extension_runtime 中优先使用运行时注入的 GitHub fallback URL,支持从环境变量覆盖内置 URL
- 更新生成市场清单的脚本及测试,验证相对路径资源 URL 正确生成和下载
- 修改 GitHub Actions 配置,取消 ONETCLI_PUBLIC_BASE_URL 变量,传递新的 GitHub fallback URL 变量
- 新增后向兼容的网络测试,覆盖相对路径资源解析和注入的 GitHub 备用清单 URL 行为
|
2026-06-14 19:20:04 +08:00 |
|
胡飞
|
4a147e1e1a
|
feat(extension): 将扩展包构建和发布拆分到独立仓库
- 创建新的 onetcli-extensions 仓库,承载扩展包代码和构建流程
- 保持 onetcli 负责主应用、更新客户端及扩展运行时
- 构建多扩展独立发布及 CI 检测仅变更扩展以优化构建效率
- 新增扩展包打包、校验、变更检测及市场清单生成脚本
- 配置 onetcli-extensions 的 CI、发布及 Cloudflare R2 上传工作流
- 完成首个 DuckDB 扩展包的发布和在线清单验证
- 明确扩展协议和驱动相关 SDK 保持在主仓库依赖特定版本标签
|
2026-06-14 17:43:23 +08:00 |
|
胡飞
|
a621e7f3e3
|
feat(extension): 将扩展包构建和发布拆分到独立仓库
- 创建新的 onetcli-extensions 仓库,承载扩展包代码和构建流程
- 保持 onetcli 负责主应用、更新客户端及扩展运行时
- 构建多扩展独立发布及 CI 检测仅变更扩展以优化构建效率
- 新增扩展包打包、校验、变更检测及市场清单生成脚本
- 配置 onetcli-extensions 的 CI、发布及 Cloudflare R2 上传工作流
- 完成首个 DuckDB 扩展包的发布和在线清单验证
- 明确扩展协议和驱动相关 SDK 保持在主仓库依赖特定版本标签
|
2026-06-14 17:42:20 +08:00 |
|
胡飞
|
672ee64b2f
|
feat(db): 为 ClickHouse、DuckDB 和 MSSQL 添加完整的 UI manifest 支持
- 为 ClickHouse 插件实现 UI manifest,包括连接表单、数据库表单和操作清单
- 为 DuckDB 插件实现 UI manifest,支持默认数据库路径和全面的操作定义
- 为 MSSQL 插件实现 UI manifest,增加连接、数据库、模式表单和丰富的数据库操作
- 使用 LazyLock 延迟初始化 UI manifest,提升访问性能
- 添加相关测试覆盖,验证各数据库插件 UI manifest 的正确性
- 引入 manifest_helpers 辅助宏和类型,规范表单字段及操作配置
- 点击引擎类型列表和数据库表单支持多种属性及条件可视化配置
- 各数据库插件新增 ui_manifest() 和 engines() 方法接口实现
|
2026-04-22 13:34:18 +08:00 |
|
胡飞
|
03306f4985
|
feat(update): 实现归档安装支持及多平台更新流程
- 新增归档解压功能,支持 tar.gz、tgz 和 Windows 平台的 zip 格式
- 改造更新安装流程,先解压归档至 staging 目录,再执行平台特定安装逻辑
- macOS 支持完整 .app bundle 替换及回滚,安装后自动重启应用
- Linux 支持替换二进制文件,优先搜索 usr/bin/onetcli,确保权限可写并重启
- Windows 支持提取后的 onetcli.exe 启动辅助更新进程,确保替换正确执行
- 清理更新过程中产生的旧备份文件,保证启动时的清理
- 移除下载过程中的 chmod 操作,避免归档文件错误赋权
- 维护更新命令接口稳定,非辅助进程启动不受影响
- 添加解压、安装及路径解析相关单元测试保障功能正确性
- 更新依赖配置,新增 flate2、tar 和 Windows 下的 zip 依赖支持
|
2026-04-22 10:14:30 +08:00 |
|
胡飞
|
08f72792fa
|
refactor(db_view): 将大文本编辑器迁移至页面局部预览托管组件
- 新增 CellPreviewHost 组件,实现 DataGrid 与 CellPreviewPanel 的局部组合与状态管理
- 修改 SQL 结果和表数据标签页渲染逻辑,使用 CellPreviewHost 替代直接渲染 DataGrid
- 调整 DataGrid 触发大文本编辑器的事件,从全局通知改为局部事件
- 移除数据库侧边栏中的 cell_preview_panel 及相关事件通知器,实现功能拆分
- 优化多文本编辑器,实现 JSON 格式内容等价比较,防止额外变更写回
- 补充大文本编辑器弹出模式路由及相关单元测试,确保预览模式和对话框模式正确路由
- 清理废弃代码,删除 sidebar/cell_editor_notifier 模块及其引用
- 格式化代码,提高代码可维护性和一致性
|
2026-04-20 16:32:13 +08:00 |
|
胡飞
|
6f977fa347
|
feat(remote_file_editor): 添加远程文件编辑器模块及集成
- 新增 remote_file_editor crate,支持远程文件编辑和编辑窗口UI
- 实现远程文件大小限制和编辑模式的文件策略判断
- 新增文件语言识别功能,支持多种扩展名语言高亮
- 在 sftp crate 中增加远程文件读取接口,限制最大读取字节数
- 实现读取文件时的大小校验,防止超限读取
- 修改 sftp_view,支持通过右键菜单打开远程文件编辑器
- 双击远程文件非目录项时,打开远程文件编辑窗口
- terminal_view 侧边栏文件管理面板新增打开远程文件编辑功能
- 远程编辑窗口支持文件加载、保存、软换行、搜索、关闭拦截等交互
- 统一管理关闭窗口时是否提示保存未保存更改的逻辑
- 新增状态栏显示文件名、大小和加载/保存状态提示信息
- 新增关闭时弹窗提示,支持保存、放弃修改或取消关闭操作
|
2026-04-18 08:21:19 +08:00 |
|
胡飞
|
5bd7ddb20f
|
refactor(ssh): 引入 SshSessionManager 实现会话复用管理
- 新增 SshSessionManager 及其内部 SessionPool,实现共享 SSH 连接的创建、复用与失效
- RusshClient 实现 SharedSessionClient,支持检查连接状态与断开连接
- 修改 RusshSftpClient 支持基于共享 RusshClient 创建连接,改用 SessionOwner 枚举管理所有权
- 终端组件中使用 SshSessionManager 替代直接连接 RusshClient,实现连接复用
- 文件管理器面板改用共享的 SshSessionManager,简化连接创建逻辑
- 服务器监控面板改用 SshSessionManager 管理 SSH 连接,优化重连与状态刷新流程
- ssh 库导出并使用 SshSessionManager,封装连接逻辑,提升整体资源利用效率
- 细节调整:代码格式规范与注释优化,保证所有异步调用均正确异步执行
|
2026-04-17 12:41:18 +08:00 |
|
胡飞
|
9d93f20bb5
|
feat(terminal_view): 添加 SSH 终端 cd 目录补全功能
- 新增 cd_completion 模块,解析 cd 命令输入并构建目录补全建议
- 解析空路径、相对路径和绝对路径,准确识别父目录和输入前缀
- 补全建议支持路径转义和末尾添加斜杠格式化展示
- 在 TerminalView 中新增懒加载 SFTP 客户端和父目录补全缓存
- 实现基于 SSH 当前工作目录异步加载远程子目录进行补全
- 实现补全请求去重和过期任务丢弃,保证补全结果实时准确
- 集成补全结果到历史提示下拉,与历史搜索区分显示
- 编写单元测试覆盖解析逻辑和建议构建,确保功能正确性
|
2026-04-17 11:05:05 +08:00 |
|
胡飞
|
1647f53932
|
feat(terminal_view): 添加自定义高亮规则功能及相关 UI 支持
- 新增自定义高亮规则的国际化文案,包括标题、描述、按钮、字段名称和错误提示
- 设置面板添加自定义高亮规则管理,支持添加、编辑、删除和启用/禁用规则
- 提供规则编辑对话框,支持正则表达式、前景色、背景色、优先级和备注的输入及验证
- 实现规则的序列化与反序列化,支持颜色的解析和展示预览
- 自定义高亮规则通过 TerminalHighlightRule 结构体管理,并支持规则优先级排序
- 将自定义高亮规则应用于终端输出渲染,替换了之前的 IP 地址高亮功能
- 新增自定义高亮规则的终端 addon (CustomHighlightAddon),支持规则编译与匹配装饰
- 添加内置高亮预设,包括 Linux 权限、状态信号词、IP 地址等多种规则分类
- 优化终端侧边栏及设置面板的相关代码结构,确保规则变更事件的传递和渲染同步
- 增加大量单元测试,覆盖颜色解析、规则验证和 addon 注册逻辑,确保功能稳定
|
2026-04-17 09:57:56 +08:00 |
|
胡飞
|
d509dcdf9a
|
feat(terminal_view): 重构终端设置为全局状态并支持持久化
- 新增 terminal_view::settings 模块,定义 TerminalSettings 结构体及持久化逻辑
- 引入全局 TerminalSettingsStore,支持通过 GPUI global 访问和事件订阅
- 终端视图 TerminalView 订阅全局设置变更,自动应用并同步 UI 状态
- 移除以往通过事件广播的设置变更通知,改为直接更新全局存储
- 主程序 main 包中加载 AppSettings 时初始化全局终端设置,废弃旧广播机制
- 精简主程序中对终端视图的设置同步逻辑,直接读取对应全局状态
- 添加终端设置默认值定义、JSON 文件读写和兼容旧设置迁移功能
- 增加 TerminalSettings 相关单元测试,确保持久化和迁移行为正确
|
2026-04-15 20:58:05 +08:00 |
|
胡飞
|
5c730f29a7
|
fix(mysql): 优化列变更检测和排序变更日志
- 新增 column_change_reasons 方法精确识别列定义变更字段
- 在生成 ALTER TABLE MODIFY COLUMN 语句时,记录详细变更原因和位置日志
- 增加检测现有列顺序变更的警告日志
- 精确区分 utf8mb3 与 utf8 字符集的排序规则列表,覆盖其所有常用排序
- 添加测试验证 utf8mb3 排序规则正确加载和保留非标准排序
- 调整日志输出等级,从 info 降至 debug,减少噪音
- 优化历史命令匹配逻辑,新增 token 首字母缩写匹配及更合理的内联模糊匹配排序
- 重新实现历史命令建议弹窗定位,支持根据光标位置动态调整显示方向
- 在 AI 输入与表设计器模块增加加载序列号和诊断日志,提升调试可追溯性
- 修复部分 UI 组件排序、导入顺序及默认值处理,提升代码整洁性和稳定性
- 新增多个单元测试覆盖排序规则选择、列元数据需求判定、历史命令匹配新策略和弹窗位置计算
|
2026-04-15 16:24:40 +08:00 |
|
胡飞
|
47eee0aa63
|
feat(terminal): 添加终端全局自动补全开关并实现同步控制
- 在全局设置中新增终端自动补全开关,默认启用
- 扩展 AppSettings 增加 terminal_enable_autocomplete 字段
- 在全局设置界面增加该开关及描述说明的多语言支持
- 终端视图 TerminalView 监听并同步自动补全设置开关变化
- 新增纯函数统一判断历史补全提示是否可用,基于全局开关及终端状态
- 终端侧边栏同步新增自动补全开关及事件,状态变化可互相映射
- 关闭自动补全时清理相关提示和状态,保证状态一致性
- 添加单元测试验证默认值和核心逻辑功能正确性
|
2026-04-14 23:03:32 +08:00 |
|
胡飞
|
93190e4888
|
fix(terminal_view): 修复历史自动补全错误和提升可靠性
- 限制内联接受仅对前缀匹配有效,防止错误替换整行命令
- 对非线性编辑操作通过dismiss逻辑清除历史提示避免状态不同步
- 将可打印文本输入处理延迟至commit_text路径,避免重复追加本地影子输入
- 在终端Shell生命周期事件(PromptStart/InputStart)触发时重置历史提示状态
- 增加大量调试日志便于跟踪历史提示状态及事件流
- 为键盘、鼠标和滚动操作增加历史提示自动隐藏/消失判定逻辑
- 添加多项单元测试覆盖新逻辑及修正行为,保证自动补全行为稳定可靠
|
2026-04-14 15:59:07 +08:00 |
|
胡飞
|
0f9c166c40
|
feat(terminal): 增强历史记录功能,支持富条目及优先级排序
- 扩大历史命令存储容量,SESSION_HISTORY_LIMIT 从 256 增至 1024,PERSISTED_HISTORY_LIMIT 从 512 增至 10000
- 引入 HistoryEntry 结构,包含命令字符串、时间戳、使用次数、工作目录和退出码等元数据
- 实现 frecency 评分机制,综合考虑命令使用频率、时近度、目录匹配和执行成功率
- 优化历史命令添加逻辑,实现全局去重并更新已有条目
- 改进历史命令模糊匹配算法,支持前缀、单词前缀和子串匹配,结合 frecency 排序结果
- 增加丰富单元测试覆盖新功能及排序逻辑正确性
- 新增 osc 模块,提取并解析 OSC 终端控制序列事件,实现 shell 集成协议相关功能
- 终端 SSH 后端相关代码重构,复用 osc 模块中 OSC 事件解析逻辑
- shell_integration.sh 脚本更新,仅在交互式 shell 中生效,避免污染非交互通道
- 轻微优化 MySQL 和 PostgreSQL 连接模块代码格式,调整导入排序和错误处理代码样式
|
2026-04-14 10:22:41 +08:00 |
|
胡飞
|
0dfcc07086
|
fix(terminal_view): 稳定终端历史提示交互
- 将 HistoryPromptState 的 valid 字段重命名为 tracking,改为查询和选择模型
- 停止在导航匹配时修改输入,仅在接受建议时更新输入
- 在 tracking 为 false 时阻止修改输入和设置匹配,确保无效状态暂停状态变更
- 修改导航方法返回匹配内容但不修改输入,保持输入查询不变
- 移除历史提示中非线性编辑和鼠标事件时的全行替换,改为只移动选中建议
- 取消控制键(u/ctrl-u)历史提示的全行替换行为,实现清除和失效操作
- 在视图中停止用建议替换行输入,改为通过追加后缀接受建议
- 添加单元测试验证无效状态暂停跟踪及导航不覆盖输入行为
|
2026-04-11 20:26:05 +08:00 |
|
胡飞
|
cdff289c1a
|
Merge branch 'refs/heads/dev' into update-dev
# Conflicts:
# main/src/app_init.rs
|
2026-04-08 20:30:02 +08:00 |
|
胡飞
|
b32eed78b5
|
feat(duckdb): 完善 DuckDB 插件核心功能与改进数据库操作支持
- 增加 DuckDB 支持的数据类型常量定义
- 实现并优化列表数据库、表格、列、索引和视图的方法,替代 SQLite 兼容方案
- 支持数据库对象的过滤逻辑,如过滤 schema 和 database 名称
- 实现对表设计中列定义的归一化处理,特别是去除自动递增标记
- 提供表结构变更 SQL 生成策略,支持原生修改与表重建两种模式,自动判断主键变更时需重建表
- 编写辅助函数生成索引和列定义对应的 SQL 语句
- 实现导出表及索引创建语句的功能,补充 DuckDB 对应的导出 SQL
- 支持调整表结构包括添加、修改和删除列,以及索引的增加和删除操作
- 修正并规范标识符引号处理,避免 SQL 注入风险
- 优化与完善异步查询数据库的执行和错误处理逻辑
- 修改视图和索引的查询语句,保证过滤条件一致且结果准确
- 调整插件对自动递增字段的支持,基于 DuckDB 实际行为关闭自动递增
- 增强测试覆盖,新增多个针对表、索引、列、视图列表和 SQL 导出功能的单元和集成测试
- 改进数据库连接和插件实例的测试创建辅助函数,方便测试代码复用
- 修改表设计界面行为,移除 DuckDB 对自动递增支持的假定
- 统一数据库对象展示 UI,提升 DuckDB 相关展示的清晰性和一致性
|
2026-04-01 21:46:44 +08:00 |
|
胡飞
|
22ca031ccf
|
feat(db): 新增 DuckDB 数据库支持及相关集成
- 在数据库类型枚举中添加 DuckDB 支持
- 实现 DuckDbConnection,支持连接、断开、执行查询及事务处理
- 完善 DuckDB 结果解析及执行结果构建逻辑
- 实现 DuckDbPlugin,复用 SQLite 插件部分功能,补充 DuckDB 特有特点
- 在 DbManager 注册 DuckDB 插件,确保管理器识别新数据库类型
- 调整缓存逻辑,支持 DuckDB 路径相关缓存命名规范
- 更新 db_view,增加 DuckDB 连接表单配置及 UI 支持
- 新增 DuckDB 相关测试,验证连接和查询功能正确性
- 配置数据库相关依赖,确保 DuckDB 运行时环境完整
|
2026-04-01 14:39:16 +08:00 |
|
胡飞
|
3b1075551c
|
feat(home): 将工作区表单移动到独立窗口
- 新增 WorkspaceFormWindow 组件承载工作区创建与编辑表单
- 修改 HomePage 调用逻辑,使用 open_popup_window 弹出独立窗口
- 修改 handle_save_workspace 显式接收 workspace_id 并更新保存逻辑
- 移除编辑状态 editing_workspace_id 及相关逻辑
- 保留“新建连接”选择器为 dialog,仅工作区编辑切换新窗口
- 重新组织代码结构,新增 workspace_form_window 模块并调整引用路径
|
2026-04-01 10:10:24 +08:00 |
|
胡飞
|
f106b308cd
|
feat(proxy): 添加全局 HTTP 代理设置功能及界面
- 在 AppSettings 中新增 GlobalProxySettings 结构及相关字段
- 实现代理类型、地址、端口、认证等字段的验证和 URL 构造方法
- 在主界面设置页添加全局代理配置入口和弹窗编辑界面
- 弹窗支持开启状态、类型切换、字段填写、本地校验等交互
- 实现代理连接测试功能,支持异步网络请求验证代理可用性
- 完成保存功能,保存成功后即时生效更新全局 HTTP 客户端
- AuthService 支持替换底层 HttpClient,以适配新的代理设置
- 主应用初始化时改用代理构造的 HttpClient 替代默认客户端
- 完成代理设置相关的单元测试,检测 URL 构造和字段校验逻辑
- 国际化资源新增中文和英文的全局代理配置相关文案
|
2026-03-30 20:50:25 +08:00 |
|
胡飞
|
ec7c1c262c
|
feat: 改造 OnetCli 官网并切换 Pages 到 dev
|
2026-03-28 15:03:50 +08:00 |
|