Skip to content

bug(reminder): 权限申请流程弹完第一项就卡住,不会自动续弹 #262

Description

@LUPENGHAN

Proposal

让 useReminderPermissionsOnLaunch.ts 里任意一项权限处理完之后都能触发续弹下一项,不只是"用户确认悬浮窗/全屏通知/电池优化"这一条兜底分支。

Background

关联 #161(本地提醒送达)。promptNext() 内部除了上述兜底分支外,其它每条分支(直接请求通知、跳设置、弹框拒绝、定位授权成功/失败)都在 try 块里直接 return;负责"继续弹下一项"的 setTimeout(runPrompt, 250) 写在 try/finally 之后——JS 里 try 内的 return 会跳过其后语句,这行续弹逻辑对上述分支全是死代码,实际效果是权限申请弹完第一项就停了。

Workarounds

无——用户得自己反复重开 App 或去系统设置逐项手动开,跟功能不可用体验相同。

验收标准

  • 授予或拒绝任意一项权限后,若还有缺失权限,自动继续弹下一项,不需要重新打开 App
  • 定位权限(前台/后台)被拒、回退设置页那条链路,续弹同样生效
  • 补上单元测试覆盖续弹链路(旧测试在合并时被删、没有替换版本)

本轮不做

不改权限申请的顺序、话术或交互设计,只修续弹的调用时机。

边界

只改 frontend/src/features/reminder/presentation/useReminderPermissionsOnLaunch.ts 及其测试。

规格:MiniSpec

Metadata

Metadata

Assignees

No one assigned

    Labels

    MiniSpecbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions