## 发布说明 **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 用例
34 lines
950 B
TypeScript
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',
|
|
});
|