Skip to content

[clips-desktop] Windows: recording aborts at countdown — "HotKey already registered: NumpadEnter" #2327

Description

@danielbaxa-oss

Version: 0.1.234 (also present in 0.1.233 code), Windows 11. Last working version: 0.1.212.

Symptom: Every recording attempt on Windows fails at the countdown. The popover shows the error and startRecording throws:

show_countdown failed: failed to register countdown shortcut: HotKey already registered: HotKey { mods: Modifiers(0x0), key: NumpadEnter, id: 101 }

Log excerpt (%LOCALAPPDATA%\com.clips.tray\logs\clips-tray.log):

[clips-recorder] invoking show_countdown + createServerRecording
[clips-recorder] show_countdown failed: failed to register countdown shortcut: HotKey already registered: HotKey { mods: Modifiers(0x0), key: NumpadEnter, id: 101 }
[clips-recorder] startRecording threw: failed to register countdown shortcut: HotKey already registered: ...
[clips-popover] handleStartRecording failed: failed to register countdown shortcut: ...

Root cause: prepare_countdown_shortcuts in templates/clips/desktop/src-tauri/src/shortcuts.rs registers escape_shortcut(), enter_shortcut(), and numpad_enter_shortcut(). On Windows, the global-hotkey crate maps both Code::Enter and Code::NumpadEnter to VK_RETURN (platform_impl/windows/mod.rsCode::Enter => VK_RETURN, Code::NumpadEnter => VK_RETURN). The second registration therefore always fails with "already registered", the error propagates as fatal, and the recording aborts. This is deterministic for every Windows user on every recording attempt.

Suggested fix: either skip numpad_enter_shortcut() on Windows (Enter already covers the numpad key since they share a VK), or treat an already-registered failure within the countdown shortcut set as non-fatal.

Workaround meanwhile: downgrade to 0.1.212 and don't apply the pending update.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions