feat(release): close handler and microphone gaps
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 帮道 8 月 1 日 Android 内测 Go/No-Go
|
||||
|
||||
> 评估时间:2026-07-29 23:42(CST)
|
||||
> 评估时间:2026-07-30(CST)
|
||||
>
|
||||
> 评估对象:2026-08-01 受控内部测试 APK,不代表正式发布、应用商店上架或阶段一严格试点验收。
|
||||
>
|
||||
@@ -10,22 +10,22 @@
|
||||
|
||||
**当前为 No-Go,暂不能把现有 APK 标记为 8 月 1 日可分发版本。**
|
||||
|
||||
`0.1.13` DCloud 云端证书 APK 已生成并通过深检,且在 vivo Android 15 真机完成真实页面登录、麦克风允许和生产 ASR;干净提交 `af8af2f6` 的统一 RC 曾达到 `releaseEligible=true`。真机继续发现该签名包的麦克风拒绝降级错误使用 App 不支持的 `uni.chooseFile`。当前 `0.1.16` 源码已修复 Android 系统选择器、SAF 复制、上传路径和选择器生命周期,并在标准调试基座跑通取消、重复打开、真实 WAV 选择、上传、生产 ASR 和无提交草稿整理;但 DCloud 当日云打包额度耗尽,尚无 `0.1.16` 签名 APK。因此生产后端不再阻断,当前阻断点是最终签名候选包复验、正式业务内容/五通道处理人签认、企业发布签认,以及真实断网、WebRTC、图片/视频/文档和受控下载等剩余真机门禁。
|
||||
`0.1.13` DCloud 云端证书 APK 已生成并通过深检,且在 vivo Android 15 真机完成真实页面登录、麦克风允许和生产 ASR;干净提交 `af8af2f6` 的统一 RC 曾达到 `releaseEligible=true`。随后生成的签名 `0.1.16 (116)` APK 也通过包名、API 35、明文流量和签名深检,但其内嵌 `app-service.js` 早于 2026-07-30 最终麦克风权限 Activity/窗口焦点修复,与当前 App-Plus 构建不一致,不能作为当前源码候选。当前源码已完成 Android 系统选择器、SAF 复制、上传路径和授权/选择器生命周期收口,并通过本地自动化与 App-Plus 构建;生产后端不再阻断,当前阻断点是用新版本号生成最终签名候选并同包复验、发布五通道配置能力后绑定经业务批准的处理人、正式业务内容与企业发布签认,以及真实断网、WebRTC、图片/视频/文档和受控下载等剩余真机门禁。
|
||||
|
||||
## 已通过
|
||||
|
||||
| 检查项 | 当前结果 |
|
||||
|---|---|
|
||||
| 当前运行时冻结 | 干净提交 `af8af2f6dd169e4616a4ca0ca724e8b809502ab3` 的 `0.1.13 (113)` 统一 RC 已完成,`releaseEligible=true`;证据目录为 `output/aug1-rc/0.1.13-113-af8af2f6-frozen/`,候选后端 JAR SHA-256 为 `93AD272118F6A28F88C2BFA305F5C450E163CBE22577FF5BE3E85B3BD3958DAD` |
|
||||
| 移动端自动化 | 当前 206 项单元测试通过;TypeScript 类型检查通过;新增 Android SAF、FileChannel、应用专属外部缓存、麦克风预检和系统选择器生命周期回归,五个文件选择器和九个消费页面继续覆盖取消/平台失败分流 |
|
||||
| 构建 | `0.1.16` App 发布资源预检与 App-Plus 构建通过;历史统一 RC 的 H5、管理端和后端 JAR 构建证据保持。DCloud 当日云打包额度耗尽,当前没有 `0.1.16` 签名 APK,不能把源码构建当成已出包 |
|
||||
| P0 后端语义 | `AihrSopSeedServiceTest` 39 项、`AihrPracticeSeedServiceTest` 102 项通过;`ruoyi-aihr` 700 项全量测试通过,0 失败、0 错误;新增 2 项覆盖有效主管身份与空身份失败关闭 |
|
||||
| 移动端自动化 | 当前 208 项单元测试通过;TypeScript 类型检查通过;新增 Android SAF、FileChannel、应用专属外部缓存、麦克风预检、权限 Activity 焦点恢复和系统选择器生命周期回归,相关页面继续覆盖取消/平台失败分流 |
|
||||
| 构建 | 当前 App 发布资源预检与 App-Plus 构建通过;管理端生产构建与 28 项定向测试通过。已生成的签名 `0.1.16` APK 早于最终麦克风生命周期修复,包内业务资源与当前构建不一致,不能把它当成当前源码出包 |
|
||||
| P0 后端语义 | `ruoyi-aihr` 708 项全量测试通过,0 失败、0 错误;本轮新增五通道处理人配置的超级管理员、租户和候选人资格契约覆盖 |
|
||||
| 内容候选门禁 | 已生成 5 个禁用场景候选和 30 道待审政策题,机器校验通过;正式可发布场景 `0`、正式有据标准答案 `0`,不得导入或启用 |
|
||||
| 最终业务就绪门禁 | `verify-aug1-formal-content.mjs --strict` 和 `verify-aug1-release-readiness.sh --execute` 已落地并覆盖正反例;当前机器签认准确返回场景 `0/5`、问题证据 `0/30`、通道验收 `0/5`、负责人签认 `0/5`、受控分发 `PENDING` 并失败关闭。签认完成后还会只读核对生产固定码模式、五角色各至少两名有效处理人和五个已发布场景的版本/哈希/审核链/SOP 引用;不请求验证码、不登录、不发短信、不写数据库 |
|
||||
| App 资源门禁 | 正式法务 URL、登录页同意门禁、原生 `prompt=none`、API 35、图标和启动图检查通过 |
|
||||
| 独立 APK | `com.yincheng.wygj`,`0.1.13 (113)`,`targetSdkVersion=35`,v2 测试签名,明文 HTTP 关闭且网络安全资源已进入 APK;大小 `33,921,543` 字节,SHA-256 `FA2D2A6DC84AE759714E6D16D146C1E1552A0F3F53C046069422012361D1D0C0` |
|
||||
| 独立 APK | 最新生成文件为 `com.yincheng.wygj 0.1.16 (116)`,大小 `33,922,835` 字节,SHA-256 `183E67137CE9B73FC6D41A728779D40EB0122F8F62E1951B65DDC356203937F5`,`targetSdkVersion=35`、v2 DCloud 测试签名、明文 HTTP 关闭;但该包不含当前最终麦克风生命周期修复,不能作为当前候选。`0.1.13` 仍只保留为历史统一 RC |
|
||||
| 双提交交付包 | `output/aug1-release/bangdao-aug1-0.1.13-113-af8af2f6-ops46f4616b.zip`;运行时 `af8af2f6`、operations `46f4616b`,大小 `192,948,093` 字节,SHA-256 `F6DF4AB2660A4D3523C7E9785C1F8B572770F1F795A841E2D95C88936A8AE9C0`,20 个条目和内部哈希复核通过;严格门禁覆盖正式场景、问题证据、五类负责人、五通道授权/越权/单次正式回复和受控分发/法务/签名决策,包内 Go/No-Go 已指向当前双提交包,旧 `ops9c53668c` ZIP 只作历史追溯 |
|
||||
| APK 内容门禁 | 包内业务资源等于当前 App-Plus 编译产物;原生提示关闭、登录法务链接、未勾选拦截、身份失败关闭、手机号、固定测试验证码、私钥和常见令牌扫描通过 |
|
||||
| APK 内容门禁 | `0.1.16` 的原生提示、登录法务、未勾选拦截、身份失败关闭、敏感值和网络安全扫描通过;但包内 `app-service.js` SHA-256 为 `24BC971FE8A13DDCF6C4C2640A8F6C2241299A8C5B24A6452DE4D58CCF33CFAC`,当前构建为 `1A13F998BB43F3298CD40FE28FC85EEDBE0A9E9EDF5F0C6B7AD1FD7519C20C5B`,资源一致性门禁失败 |
|
||||
| 真机安装启动 | vivo V2443A(Android 15/API 35)完成当前 `0.1.13` 从 `0.1.6` 保留数据升级、同版本再次覆盖安装和 Launcher 冷启动;四项敏感权限保持未授权,未见 Crash/ANR |
|
||||
| 虚拟机安装与生命周期 | 本机 `Medium_Phone` Android 15/API 35 已全新安装 `0.1.12`;启动原生隐私层不可见、四项敏感权限为 `false`、未见 Crash/ANR。AVD 为 `x86_64`、APK 仅含 ARM ABI,Weex 跨架构转译实际报 `spinWaitPeer`/IPC timeout;原生外壳证据有效,页面主体既不判失败也不判通过,不向发布包增加 x86 ABI或 H5 兜底 |
|
||||
| Android 统一取证 | 当前 `0.1.13 (113)` 进程和前台 Activity 正常、原生隐私层 `not-visible`、四项敏感权限为 `false`、退出记录无 Crash/ANR;Home 后进程保持,热恢复约 `0.2s`。证据在 `output/aug1-rc/android-acceptance/20260729-140453-upgrade-0.1.13-cold-launch/` |
|
||||
@@ -40,8 +40,8 @@
|
||||
|
||||
## No-Go 阻断项
|
||||
|
||||
1. **最终签名候选包尚不存在。** `0.1.13` 的真实登录、麦克风允许和 ASR 已通过,但拒绝后的文件降级存在缺陷;`0.1.14/0.1.15` 仅为调查包且 APK 已删除。`0.1.16` 源码在标准调试基座完成系统选择器和音频 ASR 全链路,但 DCloud 当日云打包额度耗尽。额度恢复后必须生成、深检并真机复跑 `0.1.16` 签名 APK,调试基座不能替代该门禁。
|
||||
2. **核心业务的非写入认证入口已通过,正式业务闭环仍受内容和处理人阻断。** 认证账号下身份、项目范围、首页、训练历史/画像、五通道列表、我的反馈、大喇叭、考试、案例和全网能力只读入口均已通过;音频选择与 ASR 已在当前源码调试基座跑通,但正式“练”仍没有可发布的 5 个场景,五通道仍没有真实收件人,图片/视频/文档、受控下载、WebRTC 和真实断网恢复仍待最终签名包真机验收。不得通过创建测试内容或绑定任意用户制造假闭环。
|
||||
1. **当前源码对应的最终签名候选包尚不存在。** `0.1.13` 的真实登录、麦克风允许和 ASR 已通过,但拒绝后的文件降级存在缺陷;`0.1.14/0.1.15` 仅为调查包且 APK 已删除。已生成的 `0.1.16` 签名包早于最终权限 Activity/窗口焦点修复,包内业务资源与当前构建不一致。必须使用新版本号生成、深检并真机复跑同一签名 APK,调试基座和旧 `0.1.16` 均不能替代该门禁。
|
||||
2. **核心业务的非写入认证入口已通过,正式业务闭环仍受内容和处理人阻断。** 认证账号下身份、项目范围、首页、训练历史/画像、五通道列表、我的反馈、大喇叭、考试、案例和全网能力只读入口均已通过;五通道处理人配置已在本地实现并验证,但生产新接口仍为 404、五个角色有效绑定仍均为 0。正式“练”仍没有可发布的 5 个场景,图片/视频/文档、受控下载、WebRTC 和真实断网恢复仍待最终签名包真机验收。不得通过创建测试内容或绑定任意用户制造假闭环。
|
||||
3. **内容与业务验收不足。** 当前仅收到 1/24 份生活顾问访谈。技术侧已把调研整理为 30 道政策题候选和 5 个场景候选,并提供统一签认单,但全部保持待审/禁用,正式可发布场景仍为 0/5,正式有据标准答案仍为 0/30。生产只读审计确认 `direct_president/direct_finance/direct_hr/direct_audit/direct_operations` 五个角色的有效用户绑定数均为 0,必须由业务负责人指定主处理人和替补后再验收。
|
||||
4. **APK 分发与企业发布尚未签认。** 后端发布授权、备份、原子切换、发布后验证和回滚点已经闭环;最后一个签名 APK `0.1.13` 已关闭明文流量但不含当前选择器修复,`0.1.16` 尚未云打包。受控分发批准、测试签名接受、企业签名和公司法务正式签认仍是对应发布层级的门槛。
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
| 已完成 | 使用生产现有在职 APP 主体和固定码完成非真机认证、退出、重新获取、重新登录及认证后只读主路径;固定码请求不真实发送短信 | `scripts/verify-aug1-authenticated-production.sh --execute` 全部通过,五通道数为 5,旧令牌按业务码 401 拒绝,两次验证码请求均有“未真实发送”日志;执行过程不输出手机号、固定码或令牌 |
|
||||
| 1 | 业务方按统一签认单审核 30 道题和 5 个场景候选,补齐正式来源;同时指定五渠道主处理人和替补 | [业务内容与五通道签认单](帮道8月1日业务内容与五通道签认单-20260729.md)、正式内容版本、授权矩阵;正式可发布场景从 0/5 提升到 5/5、有据标准答案从 0/30 提升到 30/30,五个角色有效绑定均不少于 2 |
|
||||
| 2 | 绑定获批处理人后完成五通道正例、跨通道反例和一次正式回复;用正式内容完成“查/练/问”业务写入闭环 | 每条用例的时间、角色、结果和脱敏证据;不记录手机号、验证码或反馈正文 |
|
||||
| 3 | DCloud 额度恢复后生成并深检 `0.1.16` 签名 APK,在 Android 真机复跑麦克风拒绝、系统选择器取消/选择、音频 ASR,并继续完成真实断网、WebRTC、图片/视频/文档和受控下载 | 新 APK 版本、哈希、签名和同一包对应的设备证据;当前标准调试基座只证明源码链路,不得替代签名包验收 |
|
||||
| 3 | 使用新版本号(建议 `0.1.17 (117)`)生成并深检当前源码签名 APK,在 Android 真机复跑麦克风允许/拒绝、权限 Activity 返回、系统选择器取消/选择、音频 ASR,并继续完成真实断网、WebRTC、图片/视频/文档和受控下载 | 新 APK 版本、哈希、签名、包内业务资源与冻结构建一致,以及同一包对应的设备证据;当前标准调试基座和旧 `0.1.16` 均不得替代签名包验收 |
|
||||
| 4 | 7 月 31 日复跑安装、升级、回滚和完整 Go/No-Go | RC APK 哈希、签认人、回滚点、最终结论 |
|
||||
|
||||
公司法务签认与企业签名可在负责人明确接受“仅限小范围受控内部测试”的前提下不阻断技术验收,但不能省略登录页协议门禁、权限反例、版本冻结、生产依赖匹配和核心业务闭环。
|
||||
|
||||
Reference in New Issue
Block a user