Skip to content

[Bug] 桌面端过期锁定后,重新唤起或打开窗口会出现白屏 #1

Description

@kali-xinian

问题描述 (Bug Description)

在桌面端应用触发自动锁定(过期锁定)后,关闭/隐藏窗口。再次通过托盘图标、快捷键或重新双击运行程序唤起窗口时,主窗口会变成完全白屏(无法显示解锁页面,也无法进行后续操作)。

复现步骤 (Reproduction Steps)

  1. 登录桌面端并解锁保险库。
  2. 在设置中配置自动锁定时间(例如 1 分钟)。
  3. 等待超时锁定触发,应用锁定并隐藏/最小化窗口。
  4. 双击托盘图标,或通过快捷键、应用图标重新唤起窗口。
  5. 此时窗口能够展示,但页面内容是一片空白(白屏)。

预期行为 (Expected Behavior)

当窗口被重新唤起时,应当正确展示锁屏解锁界面(LockScreen),允许用户输入主密码或使用生物识别解锁。

运行环境 (Environment)

  • 操作系统: Windows 11
  • 应用版本: bear-password-desktop v26.6.20

初步排查 (Possible Cause)

初步观察代码,发现可能是:

  • LockScreen.vue 中的 watch 监听器使用了 immediate: true, flush: 'sync' 立即执行,如果此时路由或相关 API 尚未加载完毕,可能会抛出未捕获的错误。
  • 窗口激活、焦点事件 handleWindowVisibilityChangeensureWindowFocused 的异步时序问题,在某些状态下导致 Vue 渲染树崩溃引起白屏。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions