Repository navigation
Activate Android sessions in 0.20.0 after the compatibility bridge - #18
Merged
Merged
Conversation
timeStarry
marked this pull request as ready for review
September 16, 2026 16:25
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
启用 Android 内部测试版连接现有共享空间所需的移动登录和版本策略。0.19.3 桥接 PR17 已合并;本 PR 作为独立的 0.20.0 激活版本,使用桥接镜像已经声明兼容的精确 035 迁移。
Changes
Scope And Non-Goals
这是 PR16 已审功能在桥接版本后的部署激活。仅 Workspace 新增五张移动认证相关表,不改变 P2P 内容不落盘约定、已有数据与对象存储归属、成员权限、配额、保留、审计和单一写入者规则。APK 自身仍为 0.1.0 / code 1;不改变签名身份或开启 OTA。
Risk Review
WORKSPACE_ENABLED=trueexactly.035 SHA-256 为
479d042a0a5f4d07886d3557901b5d8152b8714fe9dfeeceddfba94121e58061。独立复核确认 canonical 与 fixture 一致,全部桥接 policy、结构漂移检查及生产升级守卫保持不变。访问和刷新令牌仅保存哈希,重放和轮换沿用已审事务及审计逻辑。Validation
pnpm test、pnpm lint、pnpm build全部通过:SDK 8、Web 346、离线工具 20;离线 adapter PostgreSQL 用例未启用。相关 Node 门禁 34/34 通过。go test -count=1 -race -tags postgres_integration ./...和go vet ./...全部通过;独立临时数据库已按 owner 清理。7bae680ecd635f8f1f3a8e983b76b2d663049782的四项 CI 全部通过:run 35118197248。dbd41969/ 0.19.3 →7bae680e/ 0.20.0 → 精确线上 bridge Go 回滚 → 最终历史 fixture 恢复。1/1 tests、0 skipped、exit 0,632.775 秒;回滚后独立只读探针确认数据库仍为 35,035 仍应用。以上合并前门禁均已完成。移动客户端未改动,沿用已经通过的 APK 签名、默认配置、Android 15 冷启动/重启/深色冒烟和 62 项测试证据。
UI/UX Evidence
没有界面布局变更。中文发布资料沿用现有结构,说明 Android 登录、会话保持及版本提示。
Migration, Release, And Rollback
生产 0.19.3 已于 2026-09-17 完整部署成功,commit
dbd41969f9952523b1ca570773c7857c2f9b4341,四个应用容器健康,13 项网关检查通过。新 snapshot 为backups/production/duallane-20260916T160548Z-dbd41969f995.recovery.go-compose.snapshot.json,及三个 sidecar 均 root-owned / 0600 / regular;reader 验证 schema34、版本和 commit。本 PR 必须先完成真实 34→35 升级和精确生产桥接镜像回滚,四项 CI 通过后正常合并。部署从/home/timestarry/duallane的干净 main 运行受控脚本,指定完整 expected commit、go-full --go-upgrade和最新成功 bridge snapshot。数据库及对象存储权威不变,不做 down migration。生产配置使用已发布 APK 的公开 HTTPS 下载 URL;latest/minimum 均为 0.1.0 / 1,recommendation=
none。上线后验证精确镜像、schema35、私有 readiness、网关烟测、release-policy/下载链接和移动 OAuth 开始跳转。实际账号登录和实体设备后台通知不能由这些烟测替代。APK:内部测试发布,默认服务
https://duallane.tsio.top,用户无需选择。Merge Authorization
timeStarry执行最终合并,不绕过分支保护。维护者已在当前任务授权修复、正常合并、生产部署及 APK 分发,另明确允许本次通过 SSH 进入 server;生产目录、服务器本地 Docker 和部署守卫保持不变。
Completed production activation
2026-09-17 已正常合并并成功部署 0.20.0,线上 commit 为
ce7f1619c61dc515e50c6bc16a6d63cae0369536。受控部署 exit 0,四个应用容器健康且 restartCount=0,13 项网关检查通过;schema35 和快照元数据验证通过,新 snapshot 为backups/production/duallane-20260916T162556Z-ce7f1619c61d.recovery.go-compose.snapshot.json,本体及三个 sidecar 均 root-owned / 0600 / regular。额外 HTTPS 检查确认版本策略、APK 下载链接、已安装包兼容性、匿名 Workspace 拒绝、PKCE 开始请求、GitHub 重定向与 HTTPS callback、安全 Cookie 均通过。使用生产域名/SNI 和证书校验经现有 tailnet 网关验证;没有执行真实账号登录。临时下载通道全部停止,所有应用容器确认无构建代理配置,近期日志未发现启动错误。APK 资产尺寸与摘要与已测包一致。
完整上线记录:PR19。后续文档归档无需再次部署。