Skip to content

Releases: IGNGserver/hongshu

Hongshu v0.2.0-alpha.19

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Oct 03:18
c123e81

鸿枢 v0.2.0-alpha.19

本版本在 v0.2.0-alpha.18 基础上,把验证码纳入 AI 复核链路:规则仍即时识别并展示验证码,AI 开启后再以独立 otp 类别复核分组并提取验证码文本。仍为 alpha 预览版,不是稳定版。

本次更新

  • 验证码即时识别不变:入库事务内仍由版本化规则同步提取,命中后立即出现在验证码组,AI 未完成也不影响用户找码。
  • AI 复核与提取:AI 开启后验证码短信进入现有持久队列;AI 返回 category 和 otp,以 otp 作为独立分类并提取验证码。AI 完成时以 AI 分类为最终分组,未完成、失败或关闭时回退规则结果。
  • 严格校验与恢复:AI 码必须逐字出现在原文,长度 4–8、字母数字或连字符且至少一位数字,边界不允许截断更长号码;规则码保留在 message_analysis,人工把分类改回“验证码”可恢复展示。
  • 脱敏例外:验证码类短信发送给 AI 时保留数字以便提取,链接和邮箱仍脱敏;同意文案明确说明验证码正文会发送。AI 默认关闭。
  • 历史与客户端:旧规则验证码行通过领取条件懒纳入队列,不批量改 state,不需要数据库迁移;Web/Android 显示验证码的 AI 复核状态并允许手动归类,Android 只在无服务端分析时使用本地规则兜底。
  • 兼容性:无数据库 schema 迁移;不改短信原文、上传指纹、同步游标或通知语义。AI 关闭时仍只有全部/验证码/其他三个入口。

快捷下载

升级与回滚

升级中枢前先备份数据库和 .env,把部署目录的 HONGSHU_VERSION 设为 0.2.0-alpha.19;如果要启用 AI,先在未跟踪的 .env 设置 HONGSHU_AI_SECRET(见部署文档),然后运行:

docker compose pull hub
docker compose up -d hub
curl --fail http://127.0.0.1:18473/healthz

本版本不改数据库 schema;若健康检查失败,把 HONGSHU_VERSION 改回 0.2.0-alpha.18 并重启 hub,不要删除数据卷。数据库、备份和既有设备授权不受影响。开启 AI 后验证码正文会发送到配置的服务;已开启 AI 的部署应重新查看并保存新的同意文案。

验证

  • PR #89 的完整 CI 通过:verify、web、真实 MySQL server(含 Chromium 浏览器 smoke)、Android API 28/33/35 全量单测、lint、APK/测试 APK 与 instrumentation。
  • 发布工作流在 tag 后重新执行 Go/真实 MySQL/Chromium/Android 签名构建与资产校验;完整结果以 GitHub Release 页面为准。
  • 本次未调用真实 AI provider;真实模型分类质量、计费和真机通知仍需独立验收。

Hongshu v0.2.0-alpha.18

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 05:10
c68fa5e

鸿枢 v0.2.0-alpha.18

本版本在 v0.2.0-alpha.17 基础上,为 Android 客户端实现平板与横屏自适应前端设计,包含 Material 3 Expressive 双栏主页、短对话顶部自然流式对齐、设置页主从双栏导航、横竖屏旋转状态保持及三级返回栈优化。仍为 alpha 预览版,不是稳定版。

本次更新

  • 统一自适应断点规范:抽象 AdaptiveLayoutSpec,无缝支持手机竖屏(单栏)、手机紧凑横屏(双栏紧凑)、小平板/折叠屏与大尺寸平板横屏(双栏宽展),在不同屏幕尺寸下自适应调整列表分栏宽度、卡片外边距与最大阅读列宽。
  • 主页与会话详情双栏精修:主页采用左侧列表与右侧 28.dp 白色大圆角详情卡片;双栏模式下短对话采用顶部自然流式对齐(Alignment.Top),消除卡片上半部分的视觉空白;气泡最大列宽放宽至 460.dp;在横屏垂直空间紧凑(height < 480dp)时自动隐藏冗余大引导卡并收紧间距,保证首屏短信完整可见。
  • 设置页双栏主从分栏:横屏与平板下,设置页自动切换为左侧总览导航(带选中高亮胶囊)与右侧子页面详情卡片,并通过 LocalSettingsPaneStyle 自动隐藏二级页面的重复返回箭头并切换紧凑标题栏,覆盖全部 7 个设置子页面。
  • 横竖屏操作与逻辑一致性:引入 AppDestinationSaver 支持跨屏幕旋转持久化当前对话与设置子页状态;优化返回栈逻辑,横屏双栏下退出对话详情不丢失列表状态,子设置项返回总览,返回操作与竖屏直觉严格同构。
  • 兼容性:仅优化 Android 客户端界面与布局状态,无服务端 API、数据库 schema、同步协议或 Web 客户端变更;升级无需迁移,已有短信、已读状态与设置保持不变。

快捷下载

升级与回滚

升级中枢前先备份数据库和 .env,把部署目录的 HONGSHU_VERSION 设为 0.2.0-alpha.18,然后运行:

docker compose pull hub
docker compose up -d hub
curl --fail http://127.0.0.1:18473/healthz

本版本不改数据库 schema;若健康检查失败,把 HONGSHU_VERSION 改回 0.2.0-alpha.17 并重启 hub,不要删除数据卷。数据库、备份和既有设备授权不受影响。

验证

  • PR #87 包含 4 项新增断点/状态机单测及 3 项多形态(大平板横屏主页、双栏设置页、手机紧凑横屏)Robolectric 截图测试并通过 Android Lint 与 assembleDebug。
  • 版本发布前执行 bash scripts/verify-repository.sh 与 git diff --check 通过。
  • Release 工作流将通过 tag v0.2.0-alpha.18 触发,执行端到端镜像构建、测试套件、正式 Android APK 签名与部署资产上传。

Hongshu v0.2.0-alpha.17

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 03:35
65b5645

鸿枢 v0.2.0-alpha.17

本版本在 v0.2.0-alpha.16 基础上,修复中枢离线期间收到的短信在重连后出现“一份已上传、另一份仍要求确认接收号码”的双份记录问题,并新增可逆的自动忽略策略。仍为 alpha 预览版,不是稳定版。

本次更新

  • 同一条短信不再留下两份:权威广播/收件箱副本被中枢接受后,若仍有未配对、无接收号码、正文相同、时间差不超过 60 秒且候选唯一的通知副本,客户端把通知身份与判重归属转移到权威记录,并移除待上传副本。通知重放不会再次生成记录,后续收件箱副本也不会被残留的通知身份吞掉。
  • 自动忽略无法确认号码的短信:设置 → 短信采集 → 号码与队列新增开关,默认关闭,要求至少一个已确认 SIM 号码。开启后,无法解析接收号码且不属于通知身份碰撞或格式错误的记录不再提示、不上传、不计入首页和设置摘要,也不出现在会话列表;待上传页“需确认接收号码”分组也提供“自动忽略此类”入口。
  • 可逆处理:待上传页单独显示“已自动忽略”区,可恢复并关闭自动忽略,或放弃全部;保存有效 SIM、出现权威广播/收件箱副本时自动解除。手机短信应用中的原短信不受影响。
  • 诊断:新增不含正文的采集事件,区分“重复通知副本已并入已上传短信”和“无法确认接收号码已自动忽略/恢复/放弃”,便于判断问题走了哪条路径。
  • 兼容性:只修改 Android 队列与界面,没有服务端 API、数据库 schema、同步协议或 Web 变更;升级不触发迁移,已有短信、已读状态、设备 token、Push 订阅和部署数据不变。
  • 已知边界:吸收依赖正文、60 秒窗口与唯一候选;极端情况下两个不同发件人发送完全相同正文仍可能被合并。sim_not_confirmed、通知身份碰撞和格式错误不纳入自动忽略。真机双卡与澎湃 OS 通知字段仍需目标设备验收。

快捷下载

升级与回滚

升级中枢前先备份数据库和 .env,把部署目录的 HONGSHU_VERSION 设为 0.2.0-alpha.17,然后运行:

docker compose pull hub
docker compose up -d hub
curl --fail http://127.0.0.1:18473/healthz

本版本不改数据库 schema;若健康检查失败,把 HONGSHU_VERSION 改回 0.2.0-alpha.16 并重启 hub,不要删除数据卷。数据库、备份和既有设备授权不受影响。

验证

  • 合并前 PR #85 的完整 CI 通过:verify、web、真实 MySQL server、Android API 28/33/35 模拟器共六个 job;Android 本地 274 项单测、lint、assemble 通过。
  • 发布工作流在 tag 后重新执行完整 Go/真实 MySQL/Chromium/Android 签名构建与资产校验;完整结果以 GitHub Release 页面为准。
  • 本机无真机/adb;双卡、澎湃 OS 通知字段、后台进程回收与断网重连的端到端行为需在目标设备验收。CI 模拟器不能代替真机。

Hongshu v0.2.0-alpha.16

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 16:48
4038691

鸿枢 v0.2.0-alpha.16

本版本在 v0.2.0-alpha.15 基础上,修复 macOS Safari 添加网页 App 后图标回退为系统首字母占位图的问题。仍为 alpha 预览版,不是稳定版。

本次更新

  • macOS Safari 网页 App 图标:manifest 新增 1024×1024 的 any 与 maskable 图标,并将 1024 maskable 放在首位。Safari 现在有足够高分辨率的 full-bleed 源生成程序坞/启动台/Quick Look 图标,不再回退为深色方块加“鸿”字的系统占位图。
  • 图标兜底:HTML 优先声明 1024/512/192 PNG favicon,补充多尺寸 /favicon.ico 与 apple-touch-icon-precomposed.png;iOS 主屏幕图标继续提供 180/167/152。
  • 构建与服务端:build 校验 1024 any/maskable,Service Worker 预缓存新图标,Go 静态白名单放行;新增测试逐条请求 manifest 图标、用 image/png 解码并核对声明尺寸。
  • 兼容性:没有数据库迁移、API 变更或同步协议变更;已有短信、已读状态、设备身份、订阅和部署数据不变。
  • 重新添加提示:Safari 只在“添加到程序坞/主屏幕”时抓取并缓存图标。升级后需要删除旧的网页 App,再重新添加一次,才会看到新图标;直接打开旧 App 不会触发重取。
  • 1024 图标由仓库内 512 主图标 Catmull-Rom 上采样;后续有原生 1024 设计稿时可直接替换,不影响接口。

快捷下载

升级与回滚

升级中枢前先备份数据库和 .env,把部署目录的 HONGSHU_VERSION 设为 0.2.0-alpha.16,然后运行:

docker compose pull hub
docker compose up -d hub
curl --fail http://127.0.0.1:18473/healthz

本版本不改数据库 schema;若健康检查失败,把 HONGSHU_VERSION 改回 0.2.0-alpha.15 并重启 hub,不要删除数据卷。数据库、备份和既有设备授权不受影响。

Web Push 仍需要 HTTPS、VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY 和真实的 VAPID_SUBJECT。已有订阅无需因本版本轮换密钥;iOS 用户必须从主屏幕 Web App 打开后授权,Safari 标签页没有后台推送。

验证

  • 本地:bash scripts/verify-repository.sh 12 项通过;git diff --check 通过。
  • 本地:npm test 96 项通过,npm run check、npm run build 通过;构建产物 manifest 的 7 个图标均存在且尺寸正确。
  • 本地:go test -race ./...、go vet ./...、go build -trimpath 通过;本机未提供 TEST_MYSQL_DSN,真实 MySQL 集成由 CI 执行。
  • 发布工作流在打 tag 后重新执行完整 Go/真实 MySQL/Chromium/Android 构建与签名校验;完整结果以 GitHub checks 和 Release 页面为准。
  • 真实 macOS Safari 程序坞/启动台图标需在部署 alpha.16 后删除旧网页 App 并重新添加验收;CI 的 Chromium 不能代替 Safari 取图。

Hongshu v0.2.0-alpha.15

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:52
156a059

鸿枢 v0.2.0-alpha.15

本版本在 v0.2.0-alpha.14 基础上,加固 PWA Web Push 通知与订阅恢复。仍为 alpha 预览版,不是稳定版。

本次更新

  • iOS/iPadOS 16.4+:Safari 标签页现在明确提示先通过“分享 → 添加到主屏幕”安装 Web App,再从主屏幕图标打开并授权;不再只把通知开关置灰。
  • 订阅恢复:VAPID 密钥变化、浏览器轮换订阅或服务端因 404/410 清理订阅后,Web 端会在启动时和 pushsubscriptionchange 中重新订阅并绑定当前设备身份。
  • 测试通知:设置页新增“发送测试通知”,调用 POST /api/push/test 只向当前设备发送一条通用通知;不依赖真实短信,不写入短信,也不经过 Push 队列。未订阅、通知关闭、订阅失效分别返回明确错误。
  • PWA 安装与 manifest:服务端显式以 application/manifest+json 提供 manifest;构建时校验 display=standalone、稳定 id 和 any/maskable 图标,降低 iOS 主屏幕安装失败风险。
  • 通知安全:Service Worker 对推送标题/正文做长度限制,通知点击只允许同源路径,未知 payload 回退为通用通知。
  • 投递网络:Push 客户端优先使用解析到的 IPv4 地址,并在失败时回退其余地址;修复 Docker 默认 bridge 无 IPv6 而 DNS 先返回 IPv6 时,APNs/FCM 投递直接失败的问题。
  • 兼容性:/api/me 新增 push_subscribed;旧客户端可忽略。没有数据库迁移,已有短信、已读状态、设备身份和订阅数据不变。
  • 标准 Web Push + VAPID 路线不变:iOS 走 APNs,Android Chrome 走浏览器内置 FCM;未引入 Firebase SDK 或第三方推送 SDK。

快捷下载

升级与回滚

升级中枢前先备份数据库和 .env,将部署目录的 HONGSHU_VERSION 设为 0.2.0-alpha.15,然后运行:

docker compose pull hub
docker compose up -d hub
curl --fail http://127.0.0.1:18473/healthz

本版本不改数据库 schema;若中枢健康检查失败,把 HONGSHU_VERSION 改回 0.2.0-alpha.14 并重启 hub,不要删除数据卷。

Web Push 还需要 HTTPS、VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY 和真实的 VAPID_SUBJECT。旧部署缺少密钥时可使用镜像内的 /vapid 生成;已有订阅后不要随意轮换密钥。iOS 用户必须从主屏幕 Web App 打开后授权,Safari 标签页没有后台推送。Android Chrome 通知还取决于系统通知权限和 FCM/Google Play 服务,无 GMS 的国产 ROM 不保证。

验证

  • 代码提交 10693d1 的完整 Hongshu validation 通过:verify、web、真实 MySQL + Chromium 冒烟、Android API 28/33/35 模拟器。
  • 详细本地与 CI 记录见 docs/VALIDATION.md。
  • 真实 iPhone/iPad 主屏幕 + APNs、真实 Android Chrome/FCM、无 GMS 设备、生产 HTTPS/VAPID 仍须在目标环境验收;CI 的 Chromium 与合成 Push transport 不能代替真机通知。

Hongshu v0.2.0-alpha.14

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 15:32
a2ab158

鸿枢 v0.2.0-alpha.14

本版本在 v0.2.0-alpha.13 基础上,增加查看设备本机联系人显示。仍为 alpha 预览版,不是稳定版。

本次更新

  • Android:可在设置中主动开启本机通讯录显示,为会话使用本机联系人姓名和头像,并在本地按姓名搜索;权限可随时撤销,联系人不上传、不修改短信发件号码或会话身份。
  • Web/PWA:支持 Contact Picker 的安全浏览器可手动选择联系人,在本浏览器显示姓名/头像及本地搜索;可停用、清除,退出登录时清除。浏览器不支持该 API 时保留原显示。
  • 隐私与兼容:本机联系人与既有中枢别名分离,不进入中枢、AI、上传、设备同步或服务端数据库;没有数据库迁移。联系人照片无法读取时回退默认头像。
  • 弱网与首屏:保留 alpha.13 的首屏优先和离线应用壳改进。

快捷下载

升级与回滚

升级中枢时先备份数据库,将部署目录 .env 的 HONGSHU_VERSION 设为 0.2.0-alpha.14,然后运行:

docker compose pull hub
docker compose up -d hub
curl --fail http://127.0.0.1:18473/healthz

本版本不改数据库 schema;若中枢健康检查失败,可将 HONGSHU_VERSION 改回 0.2.0-alpha.13 并重启 hub。不要删除数据卷。Android 本地联系人偏好不改变短信数据库;PWA 所选联系人只保存在该浏览器本地,服务端回滚不会把它上传或同步。

验证

  • 完整 CI 与设备验收边界见 docs/VALIDATION.md。
  • 用户真实 Android 通讯录授权/照片读取以及真实手机浏览器 Contact Picker 仍需设备验收;自动化夹具不代表厂商 ROM 或真实 Picker 已验收。

Hongshu v0.2.0-alpha.13

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 13:46
5e6a8f7

鸿枢 v0.2.0-alpha.13

本版本在 v0.2.0-alpha.12 基础上,减少弱网下首批短信等待并优化 PWA 离线应用壳、Android 最近内容展示与同步轮转。仍为 alpha 预览版,不是稳定版。

本次更新

  • Web/PWA/桌面浏览器:登录后先显示应用与当前会话,不再等待统计、联系人或 AI 队列;超时、离线和认证失效分别提示。静态资源内容 hash/长期缓存,离线壳优先;版本更新由用户确认,API 与短信正文不写入缓存。
  • Android:本地会话摘要加快列表读取,最近内容展示不跳过可靠历史游标;后台下载与小批上传交替进行,低速网络下限制上传字节预算。采集队列、ACK、身份隔离及通知防重仍保留。
  • 中枢协议:支持可选元数据修订和最近会话只读快照;迁移 012 仅增加失效时钟,不删除短信。旧客户端可继续使用原 API。
  • 兼容与回退:中枢旧数据通过迁移保留。Android 本地数据库升级到 v15 后,旧 APK 不能直接降级打开该库;请勿以清除应用数据作为回滚手段。数据库 schema 无法兼容时,应先评估备份恢复,不要执行 down migration。

快捷下载

升级与回滚

中枢升级:先备份数据库,将部署目录 .env 中的 HONGSHU_VERSION 设为 0.2.0-alpha.13,再运行:

docker compose pull hub
docker compose up -d hub
curl --fail http://127.0.0.1:18473/healthz

若中枢健康检查或迁移失败,将 HONGSHU_VERSION 改回 0.2.0-alpha.12 并重启 hub;迁移 012 可由旧中枢忽略。不要删除迁移表或数据卷。回退 Android 客户端前,注意旧 APK 不能直接读取 v15 数据库。

验证

  • GitHub Actions 39426623660:Web、Go race/真实 MySQL、浏览器 smoke、Android API 28/33/35 构建/lint/测试全部通过。
  • 同条件本机合成 Chromium 对照显示在每次 API 人工延迟 600ms/1000ms 时首批内容单样本约 2.88s/4.43s 降为 1.40s/2.43s。该对照不是实际网络、真机测量或 p95 保证。
  • 用户真实手机、北京入口和生产公网 waterfall 未纳入自动化结果;不能据此宣称这些环境已达到性能目标。

Hongshu v0.2.0-alpha.12

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 02:13
585b5ee

鸿枢 v0.2.0-alpha.12

本版本在 v0.2.0-alpha.11 基础之上,对前端短信展示进行以用户本人为中心的交互优化,完善跨设备发出短信的合并聚类体验。仍为 alpha 预览版,不是稳定版。

本次更新

  • 前端跨设备发出短信合并聚类:
    • 调整消息聚合算法(clusterMessages),将“发出的短信”(direction === "out")以用户本人为本进行聚类;
    • 无论从哪台设备/哪张 SIM 卡发出,在连贯时间段内的发出短信统一聚合在右侧我方气泡组中,呈现一致的第一人称对话体验;
    • 接收短信(direction === "in")继续严格按各来源设备与对端分别聚类;
    • 补充并更新前端跨设备发出短信聚类单元测试。

快捷下载

升级与回滚

中枢升级:将部署目录 .env 中的 HONGSHU_VERSION 修改为 0.2.0-alpha.12,执行:

docker compose pull hub
docker compose up -d hub

如需回滚,可将 HONGSHU_VERSION 改回 0.2.0-alpha.11 并重新拉起容器。本版本无破坏性数据库变更。

验证边界

合并前已完成全仓脚本测试 bash scripts/verify-repository.sh、git diff --check、前端 70 项单元测试及凭据安全扫描;发布工作流将由 CI 执行完整的 Android 打包签名、部署归档与 GHCR 镜像构建。

Hongshu v0.2.0-alpha.11

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 01:01
085775f

鸿枢 v0.2.0-alpha.11

本版本在 v0.2.0-alpha.10 基础之上,正式上线跨设备「发出短信同步」完整闭环(服务端方向隔离与 Web 展示适配 + Android 本机发出短信采集与自动上传)。仍为 alpha 预览版,不是稳定版。

本次更新

  • 中枢消息收发方向隔离与能力声明:
    • 数据库迁移 011_message_direction:messages.direction(in/out,默认 in);
    • POST /api/messages 支持收录发出的短信(direction: "out"),指纹自动追加方向标识,与接收短信收录入同一号码会话;
    • 发出的短信不计未读数、不触发 Web Push 推送任务、不自动提取验证码,避免将发出的验证码当做本人收到;
    • /api/me 接口新增 features: ["outgoing_sms"] 能力声明,兼容旧版客户端。
  • Web/PWA 端发出的短信展示适配:
    • 发出的短信气泡靠右对齐展示,采用 primary-container 强调色区分,隐藏分类菜单;
    • 时间戳显示“由 SIM卡名称 发出 · 已发送”,会话预览列表显示“我:”前缀;
    • 收发两个方向的气泡不再合并为同一簇。
  • Android 客户端发出的短信自动采集与同步:
    • 监听系统短信库变化,增量扫描已发送箱(type=2);
    • 自动匹配对端号码,与接收短信归并至相同会话;
    • 设置中新增采集开关“发出的短信”(默认开启)与“补齐历史发出的短信”;
    • 连接未升级的旧版中枢时,本地发出短信自动暂存等待,中枢升级后自动续传;
    • 本地 SQLite 升级至 v14,支持断网重试与去重账本。

快捷下载

升级与回滚

中枢升级:将部署目录 .env 中的 HONGSHU_VERSION 修改为 0.2.0-alpha.11,执行:

docker compose pull hub
docker compose up -d hub

中枢会自动执行数据库迁移 011_message_direction。

如需回滚,可将 HONGSHU_VERSION 改回 0.2.0-alpha.10 并重新拉起容器。注意:回滚迁移 011 会删除中枢已保存的发出短信记录(手机端原件不受影响)。

验证边界

合并前已完成全仓脚本测试 bash scripts/verify-repository.sh、Go race/vet 测试、前端 70 项单元测试、Android 单元测试(240 项)及格式校验;发布工作流会执行完整的 Android 签名打包、部署归档校验与 GHCR 镜像构建。

Hongshu v0.2.0-alpha.9

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 01:53
6f9f70b

鸿枢 v0.2.0-alpha.9

本版本在 v0.2.0-alpha.8 基础之上,发布 Android 端短信采集统一链(P0–P4 阶段重构):包括通知分类与兜底过滤、通知作为信号联动收件箱补读与暂缓上传机制、采集调度统一入口与游标收敛、待上传页状态精细化展示(核对中/仅通知),以及诊断页新增不含内容的采集事件日志。仍为 alpha 预览版,不是稳定版。升级前请做好数据库与部署环境备份。

本次更新

  • 通知分类与兜底止血(P0):
    • 新增通知分类器(classifySmsNotification),精准识别并忽略前台服务与系统通知(如“短信正在运行”);
    • 拦截并解析各类折叠与条数汇总通知(如 [3条]、(3条)、N 条新信息),汇总通知不再作为脏数据落库。
  • 通知信号联动与暂缓上传机制(P1):
    • 通知只作为“有新短信到达”的信号,逐条消息仍以收件箱正文与元数据为准;
    • 开启通知兜底时联动申请权限并开启漏收检查;
    • 未配对的通知记录暂缓上传(号码类等待 30 秒,联系人/名称类等待 150 秒),放行前再补读一次收件箱,关联成功后立即放行并采用收件箱准确信息。
  • 采集信号入口统一与游标收敛(P2):
    • 统一由 requestCapture 调度收件箱补读、通知关联与上传流程;
    • 推进历史水位时同步推进补漏水位(recovery_provider_id),避免多套机制重复扫描收件箱。
  • 待上传状态精细化展示(P3):
    • 待上传列表区分 NOTIFICATION_HELD(正在与收件箱核对)与 NOTIFICATION_ONLY(只在短信通知中出现,允许指定号码或放弃),首页横幅同步提示状态。
  • 采集事件本地诊断日志(P4):
    • Android SQLite 升级至 version 13,新增 capture_events 表,记录各来源(广播/通知/补读/漏收检查)的到达与配对结果代码;
    • 诊断页新增“采集事件”面板,支持导出诊断信息时一并附带(严格不包含任何短信正文与号码)。

快捷下载

升级与回滚

中枢升级:将部署目录 .env 中的 HONGSHU_VERSION 修改为 0.2.0-alpha.9,执行 docker compose pull hub 与 docker compose up -d hub。本版本服务端与数据库迁移无破坏性改动。

Android 客户端升级:安装新版本 APK 即可,本地数据库会自动从 v11/v12 就地升级至 v13(新增 capture_events 表),保留未上传队列、捕获账本及已读水位。

如需回滚,可将 HONGSHU_VERSION 改回 0.2.0-alpha.8 并重新拉起容器;Android 客户端降级需注意 SQLite 向下兼容性。

验证边界

P0–P4 单元测试、Lint 与代码检查在合并前均已通过(含 232 个单元测试全部通过、SQLite v13 迁移与断言)。发布流程会执行完整的 Android 签名打包、部署归档校验与 GHCR 镜像构建。