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.
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
0as "unset", which makesA-based shortcuts impossible to restore after relaunch.httpandhttpsindependently with no combined success handling or user-facing error state.CoreServicesUIAgent+ EnglishUsebutton) and the launch-time accessibility prompt helper is not wired in.Expected outcome
A.Notes
This issue is intended to track the immediate hardening pass for the current MVP, not a broad redesign.