收口桌面壳通知诊断日志

桌面壳本地通知失败只记录固定阶段标签

扩展桌面壳配置门禁禁止通知日志输出插件错误细节

补充宿主壳方案和共享决策中的通知诊断边界
This commit is contained in:
2026-06-21 14:08:59 +08:00
parent 5fbec02ce2
commit 4d84d76092
4 changed files with 31 additions and 29 deletions
@@ -3150,7 +3150,7 @@
- 背景:Tauri 桌面壳已声明剪贴板读写和即时本地通知;这些能力会触发 Tauri clipboard-manager 和 notification 插件。如果插件异常只被折叠成稳定 HostBridge 错误,H5 语义安全,但开发侧无法区分系统剪贴板不可用、通知权限查询异常或系统通知投递失败。
- 决策:`apps/desktop-shell/src-tauri/src/host_bridge/clipboard.rs` 必须在剪贴板写入 / 读取失败时记录 `desktop clipboard failed for ...` 日志;`apps/desktop-shell/src-tauri/src/host_bridge/notifications.rs` 必须在通知权限状态读取、权限请求和通知投递失败时记录 `desktop notification failed for ...` 日志。HostBridge 对 H5 仍只返回稳定错误语义;该约束不新增遥测 SDK、后台通知、自动更新或 H5 直连 Tauri JS 插件。
- 2026-06-21 调整:桌面剪贴板失败日志只记录 `desktop clipboard failed for <stage>` 固定标签,不输出 clipboard-manager 插件错误、系统剪贴板细节或其它平台异常字符串;配置检查拒绝 `clipboard.rs` 重新拼接 `: {error}` 或把写入 / 读取错误传给日志函数。
- 2026-06-21 调整:桌面剪贴板和本地通知失败日志只记录 `desktop clipboard failed for <stage>` / `desktop notification failed for <stage>` 固定标签,不输出 clipboard-manager 插件错误、notification permission / delivery 插件错误、系统剪贴板细节或其它平台异常字符串;配置检查拒绝 `clipboard.rs` / `notifications.rs` 重新拼接 `: {error}` 或把写入 / 读取 / 权限 / 投递错误传给日志函数。
- 验证方式:`cargo test --manifest-path apps/desktop-shell/src-tauri/Cargo.toml host_bridge::clipboard host_bridge::notifications``npm run desktop-shell:typecheck``npm run check:native-shells``npm run check:encoding``git diff --check`
## 2026-06-20 桌面壳文件能力系统异常必须可观测
@@ -350,7 +350,7 @@ GameBridge 禁止:
2026-06-19 追加:移动壳 `haptics.impact` 的 HostBridge payload 解析、共享 style 归一、Expo style 映射和 `Haptics.impactAsync(...)` 真实调用统一收口在 `apps/mobile-shell/src/host-bridge/haptics.ts``dispatch.ts` 只按 method 委托 `runMobileHostBridgeHapticsImpact(request.payload)`
2026-06-20 追加:桌面壳剪贴板和本地通知插件异常必须可观测。Tauri clipboard-manager 读写失败、notification permission state / request 失败、系统通知 show 失败时,桌面壳必须分别记录 `desktop clipboard failed for ...``desktop notification failed for ...` 日志;HostBridge 回包仍只暴露稳定 `clipboard write unavailable``clipboard read unavailable``notification permission unavailable``notification delivery unavailable` 语义。该约束不新增遥测 SDK、后台通知、自动更新或 H5 直连 Tauri JS 插件。2026-06-21 调整:桌面剪贴板失败日志只记录 `desktop clipboard failed for <stage>` 固定标签,不把 clipboard-manager 插件错误或系统剪贴板细节写入 stderr。
2026-06-20 追加:桌面壳剪贴板和本地通知插件异常必须可观测。Tauri clipboard-manager 读写失败、notification permission state / request 失败、系统通知 show 失败时,桌面壳必须分别记录 `desktop clipboard failed for ...``desktop notification failed for ...` 日志;HostBridge 回包仍只暴露稳定 `clipboard write unavailable``clipboard read unavailable``notification permission unavailable``notification delivery unavailable` 语义。该约束不新增遥测 SDK、后台通知、自动更新或 H5 直连 Tauri JS 插件。2026-06-21 调整:桌面剪贴板和本地通知失败日志只记录 `desktop clipboard failed for <stage>` / `desktop notification failed for <stage>` 固定标签,不把 clipboard-manager、notification 插件错误或系统细节写入 stderr。
2026-06-20 追加:桌面壳文件导入导出的系统异常必须可观测。Tauri dialog 路径转换失败、后台文件读写任务失败或任务 join 失败时,桌面壳必须分别记录 `desktop file export failed for ...``desktop file import failed for ...` 日志;HostBridge 回包仍只暴露稳定 `file export unavailable``file import unavailable` 语义,不透传本地路径、系统错误或线程细节。用户取消系统文件对话框仍返回 `cancelled`,不记录为异常。