English
Replaces the flat 32/64 MiB start-time memory thresholds with a computed requirement plus a bounded self-healing retry, on the proven integrated 1.3.0-r1 Gateway baseline.
- Lite cold start measures the real inflated runtime size (streamed through wc -c) plus an 8 MiB margin instead of a flat 64 MiB; warm and standard starts reserve 8 MiB only (the runtime heap is bounded by GOMEMLIMIT=48MiB).
- A refused start schedules a locked background retry (30 s x 20, 10-minute window) so a temporarily memory-tight router self-heals instead of staying down until a manual restart — observed live when an upgrade ipk in /tmp pushed MemAvailable below the old flat gate.
- Clearing a log closes the confirm modal and empties the list without a second popup; error notifications are kept.
- The install matrix stays offline-deterministic for the 25.12 apk case.
Validated with the complete repository gate, ShellCheck, the 8/8 OpenWrt Docker install matrix, and a live AX6S r12→r13 upgrade that exercises the cold-start gate under the old failure conditions. The Lite sing-box runtime stays byte-for-byte the hash-pinned binary from the published v1.3.0-r8 assets.
中文说明
在已验证的 1.3.0-r1 整合 Gateway 基线上,用"计算实际需求 + 有界自愈重试"取代平面式 32/64 MiB 启动内存阈值。
- Lite 冷启动按流式实测的解压后真实大小 + 8 MiB 余量判定(不再使用固定 64 MiB);热启动与 Standard 仅保留 8 MiB 紧急余量(堆增长已被 GOMEMLIMIT=48MiB 约束)。
- 预检拒绝后会安排带锁的后台重试(30 秒 x 20 次,10 分钟窗口),内存缓解后自动拉起,不再停摆到人工干预——升级时 /tmp 里的安装包把可用内存压到旧阈值以下正是真实发生过的场景。
- 清空日志后只关闭确认窗并刷新列表,不再弹第二个提示窗;报错提示保留。
- 安装矩阵对 25.12 APK 用例保持离线确定性。
已通过完整仓库门禁、ShellCheck、8/8 OpenWrt Docker 安装矩阵,以及按旧失效条件实测冷启动门禁的 AX6S 实机 r12→r13 升级;Lite 的 sing-box 运行时与 v1.3.0-r8 发布资产逐字节一致。