Repository navigation
Arena v0.2.2 · 项目资料上传兼容性修复
Arena 0.2.2 · 项目资料上传兼容性修复
本版应用源码固定为 4099f3613d892664d17893e21f791ec136adaf80。相对 v0.2.1,修复前端上传对 crypto.randomUUID 的依赖,整理版本元数据和安装升级文档;不新增后端 API/Schema 或数据库迁移,继续复用 v0.2.1 的两个执行镜像,不构建或上传新镜像。
修复内容
- 修复
crypto.randomUUID不可用时,新建项目/计划资料及项目总览增补资料在发送上传请求前报错的问题。 - 使用
crypto.getRandomValues生成 16 字节随机身份,保留prm_+32 位小写十六进制格式;不增加依赖或弱随机数。 - 每项只生成一次身份,明确拒绝后的补传复用原 ID;未知响应仍需核对,禁止自动重传。
- 普通选择/拖放、普通 ZIP 原样上传、独立 ZIP 导入,以及错误反馈、busy 释放、500 MB 边界、已有成员、草稿和权限/路径检查保持不变。
完整记录见 CHANGELOG。
部署附件
下载本 Release 的部署附件,不要用 GitHub 自动生成的 Source code ZIP 代替:
arena-0.2.2-linux-code-only.zip:19,468,064 bytes。- SHA256:
4c7111b9ed769947596cda876a65ab9aed28f9f0e7892b8134c6522187ec0bba。 - 校验附件:
arena-0.2.2-linux-code-only.zip.sha256。 - 包内顶层:
arena-0.2.2-linux-code-only/。 - 包含应用、正式前端、部署脚本与镜像构建输入;不含业务数据、私有配置、已安装依赖、完整前端源码或 Docker 镜像。
镜像:继续复用 v0.2.1
两个镜像的构建源码仍为 a0f22cec57b3f53f5981966db03b1b223a89bd94,与本版应用兼容。仅支持已发布的 linux/amd64,不承诺 arm64,未设置 latest。
| 镜像 | 标签 | 不可变 manifest digest |
|---|---|---|
yong29/arena-worker |
git-a0f22cec57b3 |
sha256:b4babe19a719acf73733b3d6e093c490a2a741b95562682fd16b5c227df57d06 |
yong29/arena-traffic-gateway |
git-a0f22cec57b3 |
sha256:a2734dde304c5bdc7a3c22e867e21bbe22a4860fc112c54f0feab128b202da8a |
旧机已配置并准备好以上 tag 或对应 digest 时,保留原配置,无需重新 pull 或构建。缺少镜像时,按部署指南先准备。默认 arena-worker:local/arena-traffic-gateway:local 仍会触发现有更新器的缓存构建;本版没有改变更新器,不用 --server-only 绕过镜像准备。
v0.2.1 ZIP 安装的升级
以下只适用于非 Git 的部署包安装。新包必须在旧安装之外解压,不在新目录另行运行 install/start 创建第二个实例。
1. 下载、校验、解压
在旧安装目录之外执行,任一步失败就停止:
RELEASE_URL='https://github.com/Y10ng/Arena/releases/download/v0.2.2'
ASSET='arena-0.2.2-linux-code-only.zip'
DOWNLOAD_DIR="$(mktemp -d "$HOME/arena-download.XXXXXX")" &&
curl -fL "$RELEASE_URL/$ASSET" -o "$DOWNLOAD_DIR/$ASSET" &&
curl -fL "$RELEASE_URL/$ASSET.sha256" -o "$DOWNLOAD_DIR/$ASSET.sha256" &&
(cd "$DOWNLOAD_DIR" && sha256sum -c "$ASSET.sha256") &&
UNPACK_DIR="$(mktemp -d "$HOME/arena-upgrade.XXXXXX")" &&
unzip "$DOWNLOAD_DIR/$ASSET" -d "$UNPACK_DIR"2. 维护与更新
- 在界面暂停或结束相关任务,并确认真实执行已退出。停止宿主应用不等于 Worker 已退出。
- 先保留数据库、
runtime、完整 keyring/token、资料、Artifact 和外置目录的一致备份。更新器的程序备份不等于整套环境回滚。 - 相对 v0.2.1 无新增迁移。更早版本的历史会话、session、v82 原资料路径及其他迁移阻断继续有效,不能通过删业务数据或改历史 SQL/checksum 绕过。
- 若设置了自定义
CAIRN_STATIC_DIR,更新器不会同步其外置内容。停止旧应用后,可把原安装runtime/arena.env的该变量改为原安装更新后cairn/src/cairn/server/static的绝对路径;不要指向临时新包。必须保留外置目录时,先补齐新静态资源、确认同名 hash 内容一致,最后原子切换 index.html,不删除旧 hash。详见部署包更新。
准备妥当后,在同一终端设置真实旧安装路径并执行;有自定义静态配置需要修改时,在 stop 与 update 之间完成:
OLD_APP='/现有应用根目录'
NEW_APP="$UNPACK_DIR/arena-0.2.2-linux-code-only"
"$OLD_APP/deploy/stop.sh" &&
"$NEW_APP/deploy/update.sh" --target "$OLD_APP" &&
"$OLD_APP/deploy/status.sh"更新器同步应用和依赖、检查镜像、启动 Server/Dispatcher 并检查状态;保留运行数据和原配置,不自动替换历史容器或恢复任务。自定义监听参数需保留原参数,持久配置仍在原安装的 runtime/arena.env。完成后浏览器强制刷新,再自行验收真实上传。失败时按原错误处理,修复后重跑新包完整 update 命令,不直接 start 跳过准备。
Git 源码安装不得用部署 ZIP 覆盖 .git 工作区;新安装及其他升级情形见本版完整指南。v0.2.1 原标签、附件、校验值和镜像不被覆盖。
验证范围
- 本修复的上传器组件文件定向验证 13 项通过;正式前端类型检查与构建完成,本机实际服务已加载修复静态入口。
- 本次发布整理通过
uv lock --check --offline;部署 ZIP 从上述固定提交的干净源码生成,打包器的秘密排除和静态引用校验开启,543 个清单文件的大小与 SHA256、无额外文件、版本和部署脚本权限校验通过,verify_deployment.py --manifest-only通过。 - 未运行全套测试、lint、E2E 或新的 500 MB 全链路实验;未重新构建或下载 Worker 工具层。
- 未向正式实例上传测试文件、创建批次/项目、启动研究、调用模型或访问被测目标。替身验证和本机加载不等于用户局域网入口真实上传验收,也不表示其他机器已经完成升级。