Repository navigation
release: prepare DualLane 0.19.0 UI/UX rollout - #13
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
为已合并的 UI/UX 重构 #12 准备 0.19.0 正式发布。升级基线为 0.18.0,部署协调器要求新版本号;本 PR 补齐应用内更新历史、Echo 功能引导与发布校验。0.19.0 已于 2026-09-12 00:18:49 +08:00 激活并完成独立核验,证据见下方上线记录。
Changes
@并确认文本,再验证候选确认不会误发消息或插入提及。保留原有全部断言、超时和零重试配置。Scope And Non-Goals
本 PR 只调整发布元数据、用户引导、测试与发布记录。UI/UX 和话题消息实现已在 #12 合并;没有修改产品输入法实现、数据库 schema、依赖或权限。SDK、离线工具与早期版本历史保留各自版本。
Risk Review
WORKSPACE_ENABLED=trueexactly.本 PR 不修改上述数据路径;schema 保持 34。正式协调器将已验证的版本和提交注入运行镜像;Echo 目录随 Workspace/worker 镜像更新,目录更新本身不向生产成员广播通知。
Validation
Focused regression tests
pnpm testpnpm lintpnpm buildPostgreSQL integration tests, when required
docker compose configand affected image build, when requiredPlaywright flow, when required
Web 43 文件/333 项、SDK 8 项、离线兼容 20 项通过;离线包原 PostgreSQL 项 1 项按配置跳过。lint/build 通过,主包体积提示保留。
Go 发布目录、配置与 Workspace 启动专项通过;Echo PostgreSQL race 通过。
真实 Go 新版 Echo 引导与公开关于页 2/2 通过;1440px/390px 关于页截图已人工查看,无横向溢出。
Linux Node 22.23.2/Compose 2.40.3 发布契约 34/34、后端工具检查 57/57,通过且无跳过。Windows 环境缺少原生 Docker/Bash 的首次失败已转到 Linux 原样验证,未放宽断言。
文档 505 处本地链接与章节引用、
git diff --check通过。最小 IME 测试调整在全新 Linux 数据库、Chromium、trace/screenshot/video 关闭、零重试下连续 3 次通过;Windows 真实 Go 关闭记录、零重试连续 2 次通过;最新工作树 lint 通过。最终 CI 状态随下方发布记录补充。
CI 诊断边界:原 IME 用例在 Linux CI 两次均停在发送后
fill("@")的提及面板前置条件,其他 41 项通过;原样本地、CPU 降速、Linux、新数据库及前序组合未复现。Playwright 的 fill 使用分开的 DOM 选择与 insertText 路径,本次改为测试目标对应的真实键入。未确认产品根因,不宣称修复了产品丢字或光标问题;没有通过提高重试、等待时间或移除断言掩盖失败。私有诊断未上传,临时诊断代码已清理。真机软键盘、安全区域、辅助技术和完整性能基准仍遵循 #12 披露的验证边界。
UI/UX Evidence
本 PR 更新用户说明文字,不更改布局。正式 UI/UX 的唯一规范入口是
docs/design/ui-ux-rewrite/README.md,后续反馈覆盖见其规范和验收映射。公开关于页与移动端 Echo 新版引导已在真实 Go 环境验证。Migration, Release, And Rollback
无数据库迁移。生产预检证明 0.18.0 四个运行 owner 健康、镜像匹配上一成功快照,固定回退镜像存在;私有快照 sidecars、外部配置指纹和实际数据卷归属验证通过。
按维护者本次明确授权,代理检查最终 head 的全部 CI 通过后,以 timeStarry 身份合并,不绕过分支保护。在生产检出由所有者执行
git pull --ff-only,验证干净 main 与精确 origin/main,再把最终完整 SHA 交给受保护的 Go-to-Go 升级协调器。协调器负责逻辑备份、不可变镜像、只读候选、authority、旧 owner 停写与 drain,再激活服务并最后切换网关。失败按固定上一版 Go 镜像恢复,保持现有数据库与对象存储,不恢复旧数据库、不反向迁移、不恢复退休 Node。最终版本/提交、健康、静态资源、鉴权边界、实际部署页面和私有恢复产物须在激活后核对。维护者已说明公开域名的自动化 TLS 重置为预期现象,本次忽略该外网自动化项。
准备阶段记录见
docs/backend/work-items/2026-09-11-ui-0190-release.md;此 PR 的最终上线记录补充实际激活证据。合并本身不等于已上线。Merge Authorization
Production Activation — Verified
最终合并/部署提交:
625f8671d010e555495bde8724e2cdc5fc9d2baa。PR 最终 head2a70bb5的四组 CI 全通过后,以timeStarry身份按精确 head 合并;合并提交与该 head 的 tree 相同。合并后的 main CI 四组也全部通过。Workspace 为 42/42,其中调整后的 IME 用例通过。由检出所有者完成生产
git pull --ff-only,确认干净 main/origin/main/预期 SHA 一致,再运行正式 Go-to-Go 协调器。成功运行于 2026-09-12 00:18:49 +08:00 以 exit 0 结束,候选验证、旧 owner fence/drain、激活和网关检查全部完成。sha256:e2a5110f59a2f82a7221d4a89a0ce5ae581eb89387c37990303aa523d6b70745sha256:3f608fa04f1f10b1a7aaa259073bf720e6fddc6d0f1f41da6d054bc0935156e8sha256:a50e3ed7f205901523403531b780a2cbe3723d3a1b9c74a6eaf9d34615dcaf3ealways,restart count 为 0;Workspace 与 worker 的activereadiness 通过。新的恢复产物位于生产私有备份目录,均已核对为 root 持有的普通 0600 文件:
逻辑备份 SHA-256 校验通过。原 0.18.0 恢复快照和镜像保留;无数据库恢复、反向迁移或退休 Node 复活,也未向真实成员广播 Echo 更新通知。
部署环境记录:首次构建因默认
proxy.golang.org超时,在迁移和切换前停止,旧版仍健康。验证公开镜像源可达后,第二次仅以进程参数使用仓库已有的DUALLANE_GO_BUILD_PROXY=https://goproxy.cn,direct和DUALLANE_DEBIAN_BUILD_MIRROR=https://mirrors.ustc.edu.cn。没有修改生产.env、依赖版本、TLS/Go checksum/APT 签名验证或 Docker daemon 配置。协调器清理其构建缓存后磁盘可用约 7.4 GiB。人工真机和完整性能基准边界保持不变;本次线上浏览器使用无登录的公开页面,登录后功能证据来自相同代码的真实 Go 隔离回归,未把测试数据写入生产。