Skip to content

星辰助手 1.1.2:COS 公告与更新检查、下载完整性及日志安全修复 - #4

Merged
STARSHINE56 merged 18 commits into
mainfrom
feature/starassistant-1.1.2-optimization
Oct 8, 2026
Merged

STARSHINE56 merged 18 commits into
mainfrom
feature/starassistant-1.1.2-optimization

Conversation

@STARSHINE56

Copy link
Copy Markdown
Owner

基于最新 main d0d3dd2,复用现有 Material 3 公告中心、详情、弹窗、UpdateChecker、内置下载器和 Gopeed。空公告来源默认连接官方 COS;更新按 COS → GitHub → 明确失败处理。

实际修复

  • 首页此前仅订阅公告候选但未渲染弹窗;现在使用现有弹窗,按 ID 持久化已提醒记录,与已读记录独立,每次会话最多一条,置顶优先、其次最新,尊重 popup=false。公告和更新弹窗互斥。
  • 对 oversized 分片、开放 Range 返回不完整尾段、已知长度不匹配和普通 GET 意外返回 206 拒绝成功;保留现有 Range 回退、直链重解析、下载配额和恢复逻辑。
  • Gopeed 完成事件需验证实际文件存在、类型和已知大小;不删除已下载文件。内核下载取消与再次开始避免清理竞争,部分文件按资源身份和分段布局隔离;保留 SHA-256 和 ELF 校验,不升级二进制。
  • 扩展 JSON/带空格凭据的日志脱敏,导出历史日志时再次脱敏;系统备份规则接入 manifest,排除 Keystore 绑定数据。现有 AES-GCM 和暂时不可用时保留凭据机制不改。
  • 修复真实构建失败:KSP2 的 byRounds 中间 Java 与最终输出重复编译,JavaCompile 仅过滤中间副本。

COS 和版本

  • 两个官方 URL 均通过实际 HTTP GET 验证为 200 JSON,并带 attachment;客户端直接读取响应体。按实测 schemaVersion=1 字段适配。
  • 公告缓存持久化:15 分钟有效,网络异常可用 7 天缓存,重新过滤发布时间和过期时间;手动刷新绕过缓存。Markdown 保留现有浅/深色渲染,链接仅允许 HTTP(S),不执行远程 action 或脚本。
  • 解析 versionName/versionCode、日志和发布日期,正式/预发布自然比较;网盘分享地址在浏览器打开,空地址不提供下载按钮,GitHub APK 下载保留。
  • 目标 1.1.2 / 1001012。已下载最新版 v1.1.1 的 APK 并用 aapt 确认其实际 versionCode=1001011;新 Debug APK 实测包名 com.xingchen.assistant、1.1.2 / 1001012。原正式签名配置未改。
  • 当前 COS 更新 enabled=false,正常回退 GitHub;欢迎公告 popup=false,不自动弹出。未修改线上 COS 或网盘数据。

验证

执行 ./gradlew testDebugUnitTest lintDebug assembleDebug:BUILD SUCCESSFUL。

  • 102 项测试,0 失败、0 错误、0 跳过;包含公告缓存/已读和已提醒持久化、版本和分享链接、真实 MockWebServer Range/断点续传、Gopeed 输出/内核 SHA-256、日志脱敏及已有凭据/备份兼容测试。
  • lintDebug:0 错误、70 条警告和 9 条提示(另有既有 baseline 过滤项),没有刷新 baseline。
  • assembleDebug 成功;本地缺少正式签名密钥,未运行 assembleRelease,也未生成替代正式密钥。
  • 远程分支 tree 与通过构建的本地 tree 完全一致:af7cdd162e62e5ecd6fca327ba02404efd923ea3。

仍需验证/操作

真机覆盖安装、Android Keystore 临时故障、各平台真实账号/大文件断网与磁力任务、深浅色交互仍需设备测试,不能用单元测试代替。没有可信摘要的网盘内核包沿用原有结构/架构校验,无法验证发布者 SHA-256。保留 Gopeed 文件系统访问依赖的 MANAGE_EXTERNAL_STORAGE。正式发布后由维护者自行启用 COS 更新元数据,设置 1.1.2、1001012 和有效网盘链接。

仅提出 PR,不合并 main、不创建 Release。

@STARSHINE56
STARSHINE56 merged commit c09ad0d into main Oct 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant