Originally created by: Akarsh-Hegde
Summary
- Fix the setup window title's em-dash and codify a project-wide rule (CLAUDE.md): all user-facing app text uses a single hyphen, never an em/en-dash.
- Drop Input Monitoring from the Permissions step — it's redundant with Accessibility for every signal the daemon actually consumes (
clipboard + app_switch via get_signals), and on this hardware it never even produced a real System Settings grant. The capture recorder no longer prompts for it (avoids a cold, wizard-less TCC dialog); it now runs a documented full/reduced capture mode depending on whether it's already granted. Removes the now-orphaned check_input_monitoring / request_input_monitoring commands.
- Rewrite the Welcome and Integrations copy toward a "see what actually happened" positioning, fix the stale "Jira and Trello today" tracker list (now lists all 5: Jira, Linear, GitHub, Trello, Azure DevOps), and make explicit that connecting a tracker is optional — Meridian still tracks the day without one (the step was already non-blocking; this just makes it legible).
- Make the setup window resizable/full-screenable (native macOS full-screen, not just zoom), scale the wizard card with the window instead of floating small on a big backdrop, and switch to a transparent title bar so the centred card gets symmetric margins on all sides.
Test plan
- [x]
cargo fmt --check + cargo clippy -- -D warnings clean (root meridian package and tray/src-tauri both, default + --no-default-features --features capture)
- [x]
tsc --noEmit clean on the setup wizard files
- [x] Manually exercised the wizard in
tauri dev: title bar, full-screen toggle, 2-permission Permissions step (Accessibility + Screen Recording, gate no longer waits on Input Monitoring), Welcome copy, Integrations optional-skip copy
- [x] Full pre-push suite passed: fmt, ui build, clippy, ui tests, security audit,
cargo test
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
https://claude.ai/code/session_01RJ8rU48qbY1A3tthxFkQj8
Originally posted by: coderabbitai[bot]
✨ Finishing Touches
🧪 Generate unit tests (beta)
- [ ] Create PR with unit tests - [ ] Commit unit tests in branch `fix/setup-page-content`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 helpto get the list of available commands.Originally posted by: Akarsh-Hegde
Thanks for the thorough review. Addressed the actionable items:
Fixed
—, not--).Verified the open risk item — traced the "reduced mode" claim against the exact pinned commit (not just upstream
screenpipe/screenpipe):screenpipe-a11yis pinned atd6d2b318cfe1fffbc9e923e627e8659df1b2ff7e(tray/src-tauri/Cargo.toml:83). At that commit:UiRecorder::start_internal(platform/macos.rs:240) only hard-requiresaccessibility— itbail!s if that's missing, but not forinput_monitoring.input_monitoringis false it logs"input monitoring not granted — running in reduced mode: clipboard via change-count polling, app/window events via workspace observer, keystrokes and clicks disabled"and spawns the clipboard poller instead of theCGEventTapthread (platform/macos.rs:269-297), gated onconfig.capture_clipboard.UiCaptureConfig::new()defaultscapture_clipboard: true(config.rs:192), so ourrecorder_config()(which doesn't touch that field) genuinely gets the clipboard poller in reduced mode, not a silent no-op.This confirms the doc comment on
run_ui_event_recorderis accurate at the pinned rev, not just plausible against a similar-looking upstream. No code change needed here — this was a verification gap, now closed.Left as-is (per your own non-blocking call)
as_ns_window()helper for the 4x-duplicatedns_window()→ null-check → cast pattern — you flagged this as "not something this PR needs to do," agreed, leaving for a follow-up if/when a 5th call site shows up.Also worth noting: this branch was rebased onto
pre-mainafter#418(setup-notifications-card) landed and touched the same permissions code — merged both intents rather than picking one (Input Monitoring stays removed, the new optional Notifications card is preserved), plus a follow-up commit fixed an unrelated duplicated-"2B" bug in the Completion summary line (fmtModelLabel, with unit tests). Both are already reflected in the current diff.Ticket changed by: Akarsh-Hegde