Skip to content

Harden core reliability: shortcut persistence, hotkey registration, browser switching, and instant switching #1

@fenilsonani

Description

@fenilsonani

Summary

The app is in good shape structurally, but the main user-facing flows still have a few reliability problems that make MenuBrowser feel fragile in real use.

Problems to fix

  • Shortcut persistence treats key code 0 as "unset", which makes A-based shortcuts impossible to restore after relaunch.
  • Global hotkey registration ignores Carbon return statuses, so conflicts and registration failures fail silently.
  • Default browser switching updates http and https independently with no combined success handling or user-facing error state.
  • Instant switching depends on a brittle AppleScript path (CoreServicesUIAgent + English Use button) and the launch-time accessibility prompt helper is not wired in.
  • There are currently no automated tests covering these flows.

Expected outcome

  • Shortcut persistence restores all valid shortcuts, including A.
  • Hotkey registration reports failure and the UI reflects that state.
  • Browser switching reports success/failure clearly and avoids leaving the app looking successful when it was only partially successful.
  • Instant switching is safer, less brittle, and communicates limitations/failure clearly.
  • Add regression coverage for stateful behavior where practical.

Notes

This issue is intended to track the immediate hardening pass for the current MVP, not a broad redesign.

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