docs:CHANGELOG 补 2026-06-18 推送通知(Web Push + 桌面原生)
- 网页 / PWA Web Push(VAPID)+ 桌面原生通知一条;HTML 与 md twin 同步,build.sh 重建 CHANGELOG.html
This commit is contained in:
@@ -25,6 +25,18 @@
|
||||
|
||||
<p class="lede">本 Changelog 自 2026-05-22 起以 HTML 格式维护。此前之变更可从 main 分支 <code>git log</code> 取得;下表为近期较显著之 commit。</p>
|
||||
|
||||
<h2>2026-06-18 — 推送通知:网页 / PWA Web Push + 桌面原生通知</h2>
|
||||
|
||||
<p>页面 / PWA 关闭、或桌面窗口非前台时也能收到系统通知;判定统一为「页面打开走应用内提示,关闭则系统通知」,三端各自落地。</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>网页 / PWA(Web Push, VAPID)</strong>:服务端在事件未经 SSE 投递到设备时(即该设备页面已关)发 Web Push —— 收到文件、消息、传输完成 / 失败均可。新增 <code>push_subscriptions</code> 表(含 <code>locale</code>,主键为 endpoint 的 SHA-256 以幂等 upsert)+ <code>/api/push/{vapid-key, subscribe}</code> 端点 + <code>internal/push</code> 发送器(404 / 410 自动清理死订阅)。文案按订阅设备语言在服务端渲染(中简 / 中繁 / 英)。覆盖浏览器 / Android / iOS 16.4+ 已安装 PWA</li>
|
||||
<li><strong>桌面客户端原生通知</strong>:仅窗口非前台时弹原生系统通知(前台仍走应用内提示),复用 WebView 事件分发 + 客户端本地化。macOS 走 <code>UNUserNotificationCenter</code>(未签名时安全空操作,待签名 / 公证后显示)、Windows 走原生 toast</li>
|
||||
<li><strong>判定复用既有信号</strong>:网页端「页面是否打开」直接取 <code>Hub.SendTo</code> 的投递结果,零额外状态;离线消息改返 202,文本随推送送达</li>
|
||||
<li><strong>开关与配置</strong>:设置页新增「推送通知」面板(仅浏览器 / PWA),登录后自动把既有订阅重新登记到当前用户;prod 可选设 <code>CDROP_VAPID_PUBLIC_KEY</code> + <code>CDROP_VAPID_PRIVATE_KEY</code>(<code>just vapid-keygen</code> 生成一对,二者须同时设置,都留空则推送惰性关闭)</li>
|
||||
<li>commit <code>92a03ae</code></li>
|
||||
</ul>
|
||||
|
||||
<h2>2026-06-16 — 浏览器免重登 + 设备名持久化</h2>
|
||||
|
||||
<p>浏览器端不再每次重启都要重新登录;长寿命 refresh_token 从此完全不进 JS,改由服务端 HttpOnly cookie 会话持有。对长寿命凭据而言比原先(refresh_token 在 JS 内存、开页期 XSS 可读)严格更安全。</p>
|
||||
@@ -124,6 +136,16 @@
|
||||
|
||||
时间倒序。细粒度迭代见 git 历史;本档只记录结构性 / 行为性变更与重要 fix。
|
||||
|
||||
## 2026-06-18 — 推送通知:网页 / PWA Web Push + 桌面原生通知
|
||||
|
||||
页面 / PWA 关闭、或桌面窗口非前台时也能收到系统通知;判定统一为「页面打开走应用内提示,关闭则系统通知」。
|
||||
|
||||
- 网页 / PWA(Web Push, VAPID):服务端在事件未经 SSE 投递到设备时发 Web Push(收到文件 / 消息 / 传输完成 / 失败)。新增 push_subscriptions 表(含 locale,主键为 endpoint 的 SHA-256)+ /api/push/{vapid-key, subscribe} + internal/push 发送器(404 / 410 自动清理死订阅)。文案按设备语言服务端渲染(中简 / 中繁 / 英)。覆盖浏览器 / Android / iOS 16.4+ 已安装 PWA
|
||||
- 桌面客户端原生通知:仅窗口非前台时弹(前台走应用内)。macOS UNUserNotificationCenter(未签名时安全空操作,待签名后显示)、Windows 原生 toast
|
||||
- 判定复用 Hub.SendTo 的投递结果,零额外状态;离线消息改返 202,文本随推送送达
|
||||
- 设置页新增「推送通知」面板(仅浏览器 / PWA);prod 可选设 CDROP_VAPID_PUBLIC_KEY + CDROP_VAPID_PRIVATE_KEY(just vapid-keygen 生成;都留空则惰性关闭)
|
||||
- commit 92a03ae
|
||||
|
||||
## 2026-06-16 — 浏览器免重登 + 设备名持久化
|
||||
|
||||
浏览器端不再每次重启都要重新登录;长寿命 refresh_token 完全不进 JS,改由服务端 HttpOnly cookie 会话持有(比原先 refresh_token 在 JS 内存严格更安全)。
|
||||
|
||||
Reference in New Issue
Block a user