刷新不是主因。
状态链断了。
续费后仍无节点、必须重新登录,核心原因已在多个原生客户端源码中复现:账户快照、订阅定位与节点目录分开缓存,只有登录路径会把三者一起强制更新。
范围边界:本轮只做侦察与规划。未修改客户端、未创建 GitHub Project、未改 issue、未触发发布。
续费后仍无节点、必须重新登录,核心原因已在多个原生客户端源码中复现:账户快照、订阅定位与节点目录分开缓存,只有登录路径会把三者一起强制更新。
范围边界:本轮只做侦察与规划。未修改客户端、未创建 GitHub Project、未改 issue、未触发发布。
Android 找回密码是明确缺功能。节点、续费与账户刷新则是同一个上游状态同步问题。Issue “统一目录”应解决查看问题,不应破坏代码归属。
后端账户与节点接口读取当前状态,并返回可区分的空节点原因。客户端侧则普遍存在“只刷新账户、不更新订阅定位”“只刷新套餐、不拉节点”“支付成功只改 UI 状态”“恢复前台只查隧道”的断点。重新登录恰好绕开所有局部缓存,所以看似能修复。
后端能力已存在。补原生 UI、验证码与重置 API 接入,不需要新后端。
全平台采用同一刷新契约。节点凭据拒绝先刷新账户并重试一次,不能直接要求重新登录。
触屏端下拉刷新,电视端遥控器按钮,Windows 和 macOS 同时保留明显、可键盘访问的按钮。
Issue 留在代码仓库。一个 GitHub Project 自动汇总,展示仓库、平台、原生类型、状态与负责人。
在受限事件流程内完成影响评估、轮换与现有安装升级连续性验证;闭环前停发该端。公开报告不记录载体、路径、材料或技术细节。
后端已具备,缺口明确,风险与范围最小。
直接修复续费、旧定位与重登依赖的上游断链。
匹配各平台输入方式,入口一致且可发现。
一张 CEO 视图,仍保留代码归属和零 LLM 主链。
没有付费用户证据前,避免扩大兼容与测试面。
原生签名与商店不同,必须独立但采用同一发布闸门。
登录通常是唯一完整强刷入口。普通刷新路径只更新链条中的一段,旧状态继续向下游传播。
不同客户端断点不同,用户体验却一致。
服务器状态改变,客户端没有可靠事件。
到期与流量可能更新,但订阅定位仍旧。
命中缓存、拒绝后清空,或根本不拉节点。
前台恢复与设置页没有完整刷新入口。
重建账户快照与节点目录,所以恢复。
| 客户端表面 | 找回密码 | 完整刷新协调器 | 续费自愈 | 账户 / 设置刷新 | 前台恢复刷新 | 有效一键发布 |
|---|---|---|---|---|---|---|
| Android 手机Kotlin / Compose | ☐ | ☐ | ☐ | ☐ | ☐ | ☐ |
| Android TVKotlin / Compose TV | ☐ 待核实 | ☐ | ☐ | ☐ 按钮 | ☐ | ☐ |
| iOSApple native shared | △ | △ | ☐ 含外部 | ☐ | ☐ | ○ |
| macOSApple native shared | △ | △ | ☐ 含外部 | ☐ | ☐ | ☐ |
| Apple TVSwiftUI / tvOS | X 网页 | ☐ | ☐ | ☐ 按钮 | ☐ | ☐ |
| 独立 macOSSwiftUI / System Extension | △ | ☐ | ☐ | ☐ | ☐ | ☐ 安全链 |
| WindowsWPF / .NET 4.8 | △ | ☐ | ☐ | ☐ | ☐ | ☐ |
账户同步明确不更新订阅定位;提前续费只刷新套餐,不重新拉节点;恢复前台只查连接健康。
权威账户写入包含最新定位,支付后等待完整刷新;前台与账户 / 设置接统一协调器。
节点凭据拒绝直接清空并要求重登;非空旧定位不会刷新账户;无前台刷新。
拒绝后用账户会话刷新一次并重试;设置页加可聚焦刷新按钮;缓存先显示、后台更新。
核心刷新链已较完整,但登录是唯一稳定全量触发。前台、外部网页支付、账户与设置没有接入。
复用现有 refreshAll(force),加单飞节流;页面与 scene active 进入同一入口。
已有 last-good 与并发保护,但非空缓存启动不联网,格式有效的旧定位绕过账户刷新。
强制刷新永远先取账户快照;Home active 后台更新;设置加入遥控器刷新按钮。
历史冷启动竞态已修。现有 30 分钟任务只刷新订阅且可命中 1 小时缓存,支付后不保证重新拉节点。
active 强刷加 60 秒新鲜度阈值;支付完成与关闭都触发全量链;账户 / 设置加刷新。
主线冷启动把不限量误判为无额度;支付成功只改 UI;Home 单例只初始化一次。
先移植未合并修复并补冷启动测试;支付与页面刷新调用全量协调器;重置单例不再是恢复手段。
账户与节点请求查询当前用户;节点响应含可用性原因、数量与随状态变化的 ETag。
保留“真无套餐 / 到期 / 额度耗尽 / 禁用”等权威空状态。客户端不能把所有空列表都当网络错误。
共享行为,不共享代码。以下时间值是待遥测校准的初始建议;状态顺序与安全语义是必须一致的契约。
建议默认 15 分钟仅做前台兜底并加入抖动。5 分钟不是主修复,只有数据证明 15 分钟不足时才灰度缩短。
每个入口都执行同一顺序。并发请求合并,账户切换有隔离,只有权威失效才清空节点。
普通运行中只保留最高优先级并最多重放一次;登出 / 换号立即失效当前 generation,晚到提交一律拒绝。
包含套餐、到期、额度、账户标识与最新订阅定位;非空旧定位不能短路刷新。
节点凭据拒绝时刷新账户并重试一次。只有账户会话本身无效才要求登录。
账户与节点各带 revision、freshness、source。generation 匹配才写 UI,旧请求不能污染新账户。
直接修复上游状态断链,可跨语言验证。
覆盖真实触发点,同时限制节点请求量。
可缓解,但不解决支付延迟、旧定位与冷启动。
延迟仍在,浪费流量,掩盖生命周期缺口。
Issue 继续留在所属代码仓库,统一 Project 只做跨仓视图、优先级、负责人和进度。CEO 得到一张总看板,工程师仍在原仓处理。
使用 GitHub Projects V2。12 个套件仓库各放一个事件工作流:创建、重开或转移时自动加入;标签、指派与关闭变化同步执行字段。没有定时 LLM,也不复制 issue。
vpncheap · vpncheap-android · vpncheap-android-tv · vpncheap-app · vpncheap-apple-native · vpncheap-apple-tv · vpncheap-download · vpncheap-ios · vpncheap-macos · vpncheap-maintained · vpncheap-web · vpncheap-windows
上方仅为目标结构示意,不代表当前 issue 编号、状态或负责人。现存 12 条先幂等回填到“收件箱”,再人工分诊。
讨论、代码链接、PR、关闭状态都留在对应仓库。统一看板保存引用,不造副本,不改变团队工作习惯。
官方 Action 负责加入 Project;同一工作流再用确定性 Project API 更新自定义字段。两者固定到审核版本并可幂等重跑;一次性脚本回填历史 open issues。
仓库映射平台与运行时,标签映射优先级。定时 AI 只能作为未来可选增强,绝不成为看板正确性的依赖。
仓库已说明代码归属。Platform / Runtime / Surface / Type 固定为可视 badge,不复制成 Project 字段;以下就是完整字典,不允许临时造同义标签。
字段与标签不重复职责。优先级可由标签确定性同步,其余由负责人和流程更新。
自动、保留原仓事实源、零定时 token;评分针对控制面架构。
可立即落地,但存在单账号与多仓 secret 扩散风险,必须明确 Owner、轮换和漏项恢复。
长期权限模型更稳,但当前组织形态与迁移成本需先确认。
双份状态、链接漂移、责任归属更模糊。
不必要的 token、延迟与失败面,且不能替代原仓事实源。
每个原生仓库必须有自己的签名、构建、测试与发布工作流。当前只有 iOS TestFlight 与独立 macOS 两条可运行链,其余需要建设。
Native Kotlin
Native Kotlin + Compose TV
Shared Apple native
同仓独立 target
Native tvOS
Developer ID distribution
Native WPF
客户端修复尚未实现和真机验证,Android TV 还有发布凭据安全事件。可以并行修其他平台,但 TV 在安全闭环前不得发布。
上传所需的最新 Xcode 与 SDK,和用户设备最低版本是两件事。现有 target 由源码确认,是否下调必须由付费用户数据而不是猜测驱动。
共享 Apple 原生项目
iOS 17共享 Apple 原生项目
macOS 14独立 tvOS 项目
tvOS 17.4独立系统扩展项目
macOS 14这套基线与当前源码、系统扩展和设计实现一致。Apple 仍向部分旧设备发安全更新,不等于本产品必须马上扩大支持面。
代码与能力基线一致,测试面可控;残余风险是尚未拿到用户版本分布。
覆盖面可能增加,但没有收入数据支撑,且会扩大设计、API 与设备测试成本。
这是实现顺序,不是假定工期。四条平台线可并行,但共享契约、测试场景与发布闸门必须一致。
在改刷新前锁定状态语义、版本和安全边界。
每个平台先解决自己的确定性根因,再接统一触发。
把产品体验与团队观察面接到同一契约。
代码审查只能到 △,真实设备与发布链通过后才到 ○。
去掉术语争论,直接回答问题归属、原因、处理方式、发布入口与版本边界。
源码、GitHub 实时状态与官方文档交叉核验。未修改客户端、GitHub issue / Project 或发布状态;本简报仅部署为只读静态页面。所有统计是 2026-07-31 的时点快照。
Grok 实时第二意见:推荐“各仓事件驱动 Actions + 跨仓 Project”,不需要 LLM 或定时循环;同时区分最新上传 SDK 与最低用户系统版本。
Android / Android TV、Apple 全家桶、Windows / 独立 macOS 各由独立子代理读取源码、工作流和版本配置;主代理逐项抽查关键证据并做跨端归因。
Recall 用于检索历史上下文,涉及发布和兼容性的结论仍以本轮实时核验为准。Automation Hub 只读参考了现有跨项目总览的可视结构,未进行任何修改。
已按 Fable5 模板生成压缩证据包,但前沿 CLI 两次在限定窗口内没有输出,按停滞规则终止。没有伪造 Fable 结论,改由独立前沿评审线对方案做反例、风险与优先级审查。
CodexLoop:3 个有效审查轮次,发现均已修正;最后 2 次窄化重试因工具持续静默而终止,未伪造 clean 结论。真实浏览器:PASS;1440 px 与 390 px 均无横向溢出,筛选、主题、复制、ARIA、打印与无脚本降级通过,控制台零错误。公网发布后另由独立验证员核对需求、文件、URL 与哈希,结论不预写。