Repository navigation
XScript v0.2.3
XScript v0.2.3 正式版,使用与 v0.2.2 相同的 Release 密钥签名,可直接覆盖升级 v0.2.1 / v0.2.2。主应用版本号 0.2.3,versionCode 5。
下载与安装
xscript-v0.2.3-release.apk:Android 8.0(API 26)及以上,包含 ARM64 和 x86_64。SHA256SUMS:安装包 SHA-256 校验文件。- 从 v0.2.1 / v0.2.2 正式版可直接覆盖安装;从 Debug 版切换需先导出项目再卸载(卸载会清除应用数据)。
- 全新安装后需先授予通知权限,HTTP 服务才会启动。
修复
- 删除工程可能误删工程外的数据:工程内有符号链接时,删除工程或以替换方式导入 ZIP 会跟随链接删除目标内容;现在只删除链接本身,链接目标保持不变。
- 符号链接越界:读取文件现在与写入一样做工程目录边界校验,文件/文件夹列表不再进入符号链接目录,无法通过链接读取工程外的文件。
- 并发新建:同时新建同名工程或同名文件时,只有一个请求成功(200),其余返回 409,不会互相覆盖。
- 网页 IDE 删除:「删除文件」作用于目录树中选中的文件(用方向键选中但未打开的文件也一样),选中
__init__.py时按钮禁用。
测试
- 新增网页 IDE 浏览器测试(
scripts/tests/editor-dom.test.cjs):用本机 headless Chrome 驱动真实页面,覆盖目录树点击、箭头与行点击、键盘导航、新建/删除流程、标签页与断点清理、语法高亮叠层同步;默认连 mock 设备,设置XS_DEVICE_URL=http://127.0.0.1:19860可直接在真实设备上运行。找不到 Chrome 时自动跳过。 - 新增 Kotlin 单元测试:
ProjectRoutesTest(工程/文件接口的状态码与返回内容)、ProjectStoreEdgeTest(符号链接、非法路径、中文名、深层目录、base64、并发新建)。 scripts/verify.sh现在也运行 Kotlin 单元测试(需要 JDK;XS_SKIP_GRADLE=1可跳过)。
内部
- 工程/文件接口从
ApiRouter拆到ProjectRoutes,错误码映射统一为ApiRouter.errorReply;接口行为不变。
验证范围
- Release 构建、签名证书(与 v0.2.2 一致)及 APK 元数据(0.2.3 / 5)校验通过。
scripts/verify.sh(含 Kotlin 单元测试和网页 IDE 浏览器测试)通过。- 本 Release APK 已在 ARM64 Android 17 模拟器(emulator-5554)上
adb install -r覆盖安装 v0.2.2 并回归:工程/文件接口冒烟测试、8 路并发新建(1 个 200,其余 409)、XS_DEVICE_URL浏览器测试 12/12 通过。 - 符号链接修复只在 JVM 单元测试中验证:设备上工程位于共享存储,系统不允许创建符号链接。未做真机验证。