Menu โ–พ โ–ด

#410 feat(tray): enable zoom hotkeys on dashboard/setup windows

closed
nobody
None
2026-07-09
2026-07-08
Anonymous
No

Originally created by: adityaharishch

Summary

  • Cmd+/Cmd- did nothing in the dashboard/setup webviews; enable zoomHotkeysEnabled on both config-defined and runtime-built windows, plus the matching core:webview:allow-set-webview-zoom permission
  • Also scopes the webview asset protocol to $HOME/.meridian/icon-cache/*, laying the groundwork for the per-app icon extraction PR (narrowly scoped, not a general filesystem read)

Stacked on prior PRs in this chain.

Test plan

  • [x] cargo build -p meridian-tray, cargo clippy -p meridian-tray -- -D warnings

Related

Tickets: #415

Discussion

  • Anonymous

    Anonymous - 2026-07-08

    Originally posted by: coderabbitai[bot]

    [!IMPORTANT]

    Review skipped

    Auto reviews are disabled on base/target branches other than the default branch.

    Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.


    โš™๏ธ Run configuration

    Configuration used: Organization UI

    Review profile: ASSERTIVE

    Plan: Pro Plus

    Run ID: 75dea283-80f4-445c-9034-f8042f8999c5

    You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

    Use the checkbox below for a quick retry:
    - [ ] ๐Ÿ” Trigger review

    โœจ Finishing Touches
    ๐Ÿงช Generate unit tests (beta) - [ ] Create PR with unit tests - [ ] Commit unit tests in branch `feat/window-zoom-hotkeys`

    Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

    โค๏ธ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

    Comment @coderabbitai help to get the list of available commands.

     
  • Anonymous

    Anonymous - 2026-07-08

    Originally posted by: Akarsh-Hegde

    Review โ€” enable zoom hotkeys on dashboard/setup windows

    Summary: Enables native zoom hotkeys on the dashboard/setup webviews (plus an unrelated asset-protocol scope); wiring is correct and window coverage is complete, but the PR folds in scope-creep and its test plan never actually exercises the feature.

    Blocking / correctness issues

    None. The wiring is sound: both runtime dashboard builders (system.rs:51 open_dashboard and tray.rs:106 open_native_dashboard, label "dashboard") and the setup builder (tray.rs:176 open_wizard_window, label "setup") get .zoom_hotkeys_enabled(true), and the default capability already scopes ["main","dashboard","setup","tray-tooltip"] (capabilities/default.json:4), so the new core:webview:allow-set-webview-zoom permission reaches those windows. No missing window label.

    Suggestions / nits

    • Scope creep โ€” the assetProtocol block is unrelated to zoom (tauri.conf.json:16-19). It's "groundwork for the per-app icon PR" (#411), has no consumer in this diff, and would review far more naturally alongside the code that reads icon-cache/. Recommend moving it there so this PR stays single-purpose. If it stays: the glob $HOME/.meridian/icon-cache/* is single-level โ€” use ** if the cache is ever nested.
    • allow-set-webview-zoom may be redundant for hotkeys. zoomHotkeysEnabled drives the platform-native Cmd+/Cmd-/Cmd0 handlers; the core:webview:allow-set-webview-zoom ACL gates the JS setZoom() path, which nothing in this diff calls. Harmless to keep, but if you're not doing programmatic zoom from JS it's an unused grant.
    • zoomHotkeysEnabled: true on main and tray-tooltip (tauri.conf.json:39, :58) is pointless โ€” those are the fixed-size, non-resizable popover/tooltip. Not harmful; consider dropping them to keep intent clear.
    • Test plan only compiles it. cargo build/clippy prove it links, not that Cmd+/Cmd- actually zoom the dashboard/setup webviews (exactly the class of thing that silently no-ops on a permission/window-flag mismatch). A one-line manual confirmation before merge would be worth it.

    Convention check: clean โ€” both .rs files keep the line-1 header, JSON is exempt, no new command so the tracing requirement doesn't apply.

    Verdict: Approve with nits. No correctness defects. Please split out the assetProtocol change (or defer to the icon PR) and do a quick runtime check that the hotkeys actually zoom.

    ๐Ÿค– Automated review via Claude Code

     
  • Anonymous

    Anonymous - 2026-07-09

    Ticket changed by: adityaharishch

    • status: open --> closed
     

Log in to post a comment.