Files
CloudSSH/playwright.config.ts
TanXin ac6e7d8f6a release: 发布 v1.14.0 SFTP 在线编辑功能版本 (#112)
## 发布说明

**v1.14.0 SFTP 在线编辑功能版本**

### 版本要点

- **SFTP 在线编辑文件**(Closes #111):在 SFTP 文件管理器中直接编辑远端文本文件。CodeMirror 6
编辑器(shell/YAML/JSON/Python/Markdown/HTML/CSS/Dockerfile/systemd
等语法高亮,配色跟随主题);≤2MB 上限 + 空字节嗅探拒绝二进制;保存前 mtime+size 冲突检测与显式覆盖确认;保留 LF/CRLF
与 BOM(字节级往返);UTF-8 可编辑、GBK/GB18030 只读;随分享会话 \`allowSftp\` 门控并纳入审计
- **编辑器移动端适配**:窄屏近全屏 + 安全区,软键盘弹出跟随可视视口收缩;44px 触摸目标;16px 字号规避 iOS 聚焦强制缩放
- **SFTP 面板桌面宽度有界弹性**:\`clamp(420px, 40vw, 600px)\`,1280 笔记本
512px、1500px 起 600px 封顶
- **修复 SFTP 操作栏按钮文字 WebKit 竖排换行**:全局 nowrap + 整栏横向滚动,新增 webkit-mobile 项目
e2e 守护
- **wrangler 升级至 4.125.0**:修复 CI 部署 Dashboard 元数据获取失败(4.127.1 因
minimumReleaseAge 策略暂缓)

### 提交列表

| 提交 | 说明 |
| ------ | ------ |
| 9ec38d3 | feat: SFTP 文件管理器新增在线编辑文件功能(#111) |
| bf45ee0 | chore: 升级 wrangler 至 4.125.0 修复 Dashboard 元数据获取失败 |
| ed985bd | feat: SFTP 在线编辑器移动端适配 |
| 0bdb1c8 | fix: SFTP 操作栏按钮文字在 WebKit 下竖排换行 |
| a3fbeff | feat: SFTP 面板桌面宽度改为有界弹性 clamp(420px, 40vw, 600px) |
| e7877d3 | release: 发布 v1.14.0 SFTP 在线编辑功能版本(版本号 + CHANGELOG + 构建产物) |

### 关联 Issue / PR

- Closes #111(能添加个在线编辑文件功能吗?)

### 验证结果

- ✅ \`pnpm run verify\` 全绿:typecheck(worker + frontend)/ test 58 文件 698
用例 / build:frontend(单 JS + CSS 内联,84 modules)/ test:e2e 60 用例
- ✅ test 环境 CI 部署成功(wrangler 4.125.0)
- ✅ 新增测试:editor-content 纯函数 20 用例、worker editReadFile 8 用例、e2e 编辑器 5 用例
+ 窄视口 1 用例、操作栏布局双视口 × 双引擎 4 用例
2026-08-30 01:00:22 +08:00

34 lines
950 B
TypeScript

import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: './tests/e2e',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
reporter: process.env.CI ? [['github'], ['html', { open: 'never' }]] : 'list',
use: {
baseURL: 'http://127.0.0.1:4173',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'webkit-mobile',
testMatch: /(?:auth-challenge|connection-recovery|ios-ime|sftp-panel-actions)\.spec\.ts/,
use: { ...devices['iPhone 13'] },
},
],
webServer: {
command: 'pnpm --dir frontend exec vite --host 127.0.0.1 --port 4173',
url: 'http://127.0.0.1:4173',
reuseExistingServer: !process.env.CI,
timeout: 120_000,
},
outputDir: 'test-results',
});