This repository was archived by the owner on May 22, 2026. It is now read-only.
Repository navigation
v4.2
主要变化
- Android 推送增强器入口的引导文案换了一遍。原来三句里 "13 MB
薄壳 APK / 只接 FCM 高优先级 / 输入下方 4 位码" 都是工程视角的
实现细节,对实际用户是噪音;其中"下方"在还没生成码时还是个
指向不存在元素的死引用。改成两句:先说 Web Push 在锁屏后会被
节流的现实问题,再说装 APK 接管。 - 配对成功后的页面去掉了 FCM token 前 24 字符那一行。最初是
bring-up 期方便自查的 debug 视图,对完成绑定的用户没意义,
反倒看上去像后台诊断界面。「用户」一行已经能确认绑定到了哪个
账号。
工程
- 配对码倒计时(4 Hz setState)从 Settings 页面级 state 抽到
独立 PairCodeCard。原来每 250 ms 都会重跑页面的 useShallow
9-selector 比较,纯属浪费。 - 屏幕阅读器可达性:配对码区改用
<output>+ 完整 aria-label
含逐位读出 + 剩余秒数;状态消息加role="status" aria-live;
Compose BindScreen 的隐藏 BasicTextField 给了合并语义,4 个
视觉 CodeBox 的 semantics 清掉,TalkBack 听到的是单一带标签的
输入框而不是四个无标签格子。 - Compose 端 BindScreen / BoundScreen 标题字号从 displayMedium
(44sp) 降到 headlineLarge (32sp)。绑定是一次性仪式,不算情感
峰值,大字号留给 settle / journey 这种真有重量的瞬间。 - 配对码生成加了每用户 5/min 的 mint 速率限制,避免单账号长期
squat 4 位码空间;客户端把 401 / 429 映射成可执行的中文文案。 - FCM 推送改成 data-only payload,让 relay APK 自己渲染通知 +
自挂 ACTION_VIEW PendingIntent,点击如期跳浏览器到 /home。
通知 id 改用 tag.hashCode(),相同 tag 的新推送替换而不是堆叠。