2 Commits
Author SHA1 Message Date
TanXinandTanXin 6374080281 release: 发布 v1.10.2 工作流和文档更新版本 (#97)
## 版本内容

v1.10.2 为文档与 CI 工作流更新版本(无代码变更),包含以下提交:

| 提交 | 说明 |
| --- | --- |
| `11149d7` | docs: 全面更新项目文档并精简 README 结构 |
| `2b36ff4` | ci: 修复文档变更误触发部署的 paths-ignore 作用域 |
| `ee8f048` | ci: 按 SHA 锁定 GitHub Actions 引用以加固供应链 |
| `1f2a6b7` | docs: 完善发布流程规范(release 提交与 PR 标题主题化) |
| `cbdae18` | release: 发布 v1.10.2 工作流和文档更新版本 |

## 更新要点

**文档(README 中英双语)**
- 核心优势要点化:重点、全面、不啰嗦
- 架构说明仅保留系统架构图,移除核心组件 / SSH 协议实现 / 数据流三个小节
- 快速部署移除本地命令行部署方式,新增「可配置环境变量」汇总表
- 更新演示视频时长 8:27 → 19:48

**维护文档**
- AGENTS.md:补齐目录树、环境变量、tests/ 结构与新坑位(DNS 防重绑定、Biome、i18n、CI 作用域、发布流程主题化)
- tests/README.md:补充 7 个新测试文件与覆盖范围

**CI 修复与加固**
- `paths-ignore` 作用域:`*` 不匹配 `/`,原 `*.md` 仅忽略根目录文档,导致 `tests/README.md`
等子目录文档变更误触发完整部署;改为 `**/*.md` 等跨目录模式
- GitHub Actions 引用按 40 位 commit SHA 锁定(checkout / setup-node / pnpm /
configure-pages / upload-pages-artifact / deploy-pages),消除 tag 可变引用风险
- 新增 `.yamllint`:放宽行宽限制(SHA 引用天然超 80 字符)并统一 YAML 双引号规范,消除 pi-lens 格式化漂移

## 验证结果

- `pnpm run typecheck` 通过
- `pnpm test` 通过(47 个测试文件 / 603 个用例)
- `pnpm run build:frontend` 构建成功
- 两份 workflow 经 yamllint 校验无错误
- CI 完整门禁(typecheck + test + 可复现构建 + Playwright E2E + axe)在 `2b36ff4`
已绿色通过,`cbdae18` 运行中

---------

Co-authored-by: TanXin <tanxin@example.com>
2026-08-20 17:06:37 +08:00
c58a264ebf feat: 终端主题系统、文件传输优化及多项 SSH 安全与稳定性修复 (#16)
将 test 分支的多个提交合并为一条,主要包含以下变更:
新功能
- 新增终端主题系统,支持自定义主题编辑器(可视化编辑、导入/导出、云端存储),统一前端 UI 与编辑器的 CSS 变量使用,消除所有硬编码颜色
- 添加 docs 根目录入口页,重定向到主题编辑器
性能优化
- 减少使用 slice 改为 subarray 以缩减开销
- 提高上传下载大文件的速度
Bug 修复
- 修复多个安全问题
- 修复加密密钥迁移导致用户空间 SSH 连接失败
- 修复 WebSocket 升级与 POST body 不兼容导致连接超时
- 修复 SSH 保活机制失效和终端输出换行问题
- 修复输入空格时误触发粘贴检测的问题
- 修复连接按钮文字不可见的问题
- 修复自定义主题导出逻辑
- 修复导入主题后刷新页面导致 WebSocket 断开的问题
- 修复 trz 上传大于 64K 文件卡住的问题
- 删除 connect() 中被 setupWebSocketHandlers 覆盖的 onclose 死代码
- 修复登录 Alpine 服务器显示错误 (#15)
文档与 CI
- 更新提交流程规范,禁止创建特性分支,所有变更直接提交到 test 分支
- 更新 README,补充自定义主题和主题编辑器说明
- 优化 GitHub Pages 部署时机,仅当 docs 目录变更时触发

---------

Co-authored-by: David xu <xqdoo00o@gmail.com>
Co-authored-by: TanXin <tanxin@example.com>
2026-06-29 21:59:37 +08:00