已把原生客户端、后端、GitHub issue 和发布流程统一排查。逐项回复如下:
- 安卓找回密码:后端已有找回密码接口,Android 手机客户端缺少页面和调用链,属于客户端遗漏。计划补齐验证码发送、密码重置、错误提示、本地化和测试。Android TV 的登录与恢复路径在实施基线中单独核实,本报告不预设为不适用。
- 安卓点击购买显示“暂无可用套餐”:已作为独立 AND-PURCHASE 处理。后端三条目录镜像均返回相同三个可售套餐;首个可见阻断是 Android 把鉴权、网络、解码与切换失败吞成空列表,入口又把加载态和名称不匹配显示为真实空目录。继续审计还确认旧结算链误读免费 / 余额完成响应、把处理中当成功,并可能跨镜像重复下单。现统一改为:目录错误分型;mutation 单端点且禁止自动重放;发起下单前持久化账户绑定的非敏感未知态,返回交易号后升级记录;任何失败、返回、换号或进程恢复只允许对账,单次未找到不能再次下单。Fable5 单次调用无可恢复输出,诚实标记 INCONCLUSIVE;回归、CodexLoop、CI 与合并仍在独立任务中,不混密码或节点改动。
- 续费后没有节点、需要重新登录:源码已确认多个原生客户端把账户状态、订阅定位和节点目录分开缓存,支付完成、恢复前台和返回页面常没有走完整链;登录则是所有平台都稳定执行的全量链,所以常能恢复。Apple App 内支付大多另有完整流程。生产工单中各原因占比仍要用真实版本和请求轨迹确认。
- 账户、设置与节点刷新:采用双通道。账户状态可在登录、支付和恢复前台时同步;节点目录日常只由用户手动刷新,不做 5/15 分钟轮询或缓存年龄强刷。登录或新账户、稳定账户 / 可观察权益与 availability / 受信订阅语义变化、缓存缺失 / 损坏 / 无法解密、换号和凭据拒绝恢复属于正确性事件,可自动拉取一次。getSubscribe 的数字 data.id 映射为账户身份;实际 AEAD locator 候选与触发指纹分离,只有同一版本化批准等价 origin 组内 exact 或强约束签名模板成员的 host-only 变化不拉节点,未知 origin、通配后缀与响应学习直接拒绝。节点使用本地加密缓存,成功才原子替换;目录内容未变的成功响应也会推进绑定触发快照和元数据,避免重复刷新;暂时失败且账户仍有效时保留旧节点与原“上次成功检查”时间。/user/info 的 banned 是禁用主权威;diagnostic 只补 allowlist reason 与 group,generic available=false 不能隔离;检查失败保留 last-verified 值并标 stale,不制造假变化。权威失效先提升 authority epoch,晚到节点响应不能复活列表;恢复 ACTIVE 时先原子转 absent 再拉一次,避免永远卡在隔离态。当前 subscription 没有 ETag / 304 合同;speed / device 与 diagnostic 不可用时的 group 覆盖仍是已知盲点。Fable5 对 v1.3 返回 AGREE:根因 82 / 100、合同 91 / 100、完整 host 触发仅 25 / 100。
- 流量额度合同:已纠正旧结论。生产语义不是“0 代表不限量”:完整响应中的 0 或负数表示无额度;缺失、空值或畸形字段属于结果不确定;正总额未用尽才可用,达到或超过即耗尽。Fable 5 同意 98 / 100。Windows 独立 PR #8 已合并,CI 1448 / 1448 通过,仍待真实 Windows 设备验证;其余客户端继续各自独立 QUOTA PR,不能混进节点刷新。
- 统一查看 issue:issue 继续归所属代码仓库,不复制、不移动。“VPNCheap 产品问题中心”已建立,现有 12 条 issue 已回填,包含 16 个字段与 5 个视图;首批 6 仓 caller 的 6 个独立 PR 已全部合并,余下原生仓随各自功能链完成后接入,不需要定时 AI、定时任务或 token。
- 一键发布链接:原生客户端不是共用一个 Flutter 发布入口。Android CI / 受保护交付 PR #9、Windows CI PR #12、Apple TV CI / TestFlight 闸门 PR #6、独立 macOS 发布链 PR #5、共享 Apple iOS PR #54 均已合并。Apple iOS 的 exact tag、秒级 retention 与真实 branch-policy schema 已修,CodexLoop CLEAN、独立复核 96 / 100,合并前后 CI 全绿且 publish skipped。各端签名交付仍在受保护环境和团队凭据配置前 fail-closed;本轮没有 tag、release 或生产发布,也不代表修复已到达用户。Android TV 与共享 Apple macOS 仍需分别建设,Android TV 的发布凭据安全风险闭环前继续停发。
- 最低系统版本:当前源码基线是 iOS 17、共享与独立 macOS 14、tvOS 17.4。建议先保持,等真实付费用户、安装和客服数据证明旧系统覆盖有商业价值后,再评估下调和增加测试成本。App Store 上传使用最新 SDK,与客户端最低系统版本不是同一件事。
- 执行顺序:先处理 Android TV 发布安全并建立线上版本、来源分支和安装 cohort 基线,再并行修 Android、Apple、Windows 根因;随后接刷新入口和统一问题中心;最后做真机支付、前台、离线、账户切换和分批发布。未经真机与用户到达验证的项目只标为“已实现待验证”,不会当作已解决。