Skip to content

fix: Starting 阶段忽略热键边沿 — hold 快速松开 / toggle 快速双击会卡死会话 #51

@appergb

Description

@appergb

现象 (Codex 审计)

`Starting` 阶段(ASR 还在握手)的热键释放或第二次按下被直接忽略。

  • hold 模式:快速按下又松开 → ASR 启动完成后录音卡住,没有 stop 边沿
  • toggle 模式:极快双击 → 同样无法结束

涉及位置

  • `coordinator.rs:268` (handle_pressed Starting 分支)
  • `coordinator.rs:281` (begin_session 状态守卫)
  • `coordinator.rs:371` (handle_released Hold 路径)

期望

Starting 阶段应缓冲一个 pending stop 信号,等 begin_session 完成转 Listening 后立即触发 end_session。

严重度

high — 用户感知为 "app 卡死",唯一恢复方式是按 cancel 或重启 app。

来源

`/codex:rescue` 全项目审计

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions