Skip to content

fix: harden macOS modifier hotkey reliability - #223

Merged
georgenijo merged 1 commit into
mainfrom
issue/194-fork-rdev-fix-cgeventtap-timeout-recovery-last-flags-desync-macos-hotkey-reliability
Jul 18, 2026
Merged

fix: harden macOS modifier hotkey reliability#223
georgenijo merged 1 commit into
mainfrom
issue/194-fork-rdev-fix-cgeventtap-timeout-recovery-last-flags-desync-macos-hotkey-reliability

Conversation

@georgenijo

Copy link
Copy Markdown
Owner

Summary

  • pin rdev to the Murmur fork at an immutable revision
  • recover disabled macOS event taps and eliminate cached modifier-flag desync
  • limit the tap to keyboard events and skip modifier name translation on the hot path
  • document the fork behavior and open general-purpose fixes upstream

Upstream rdev PRs

Test plan

  • cargo check
  • cargo test -- --test-threads=1 (266 unit tests + Whisper integration; optional Core ML test ignored)
  • npx tsc --noEmit
  • npm test (79 tests)
  • rdev fork tests with all Murmur features (9 tests)
  • native debug .app smoke with Computer Use: TextEdit full screen and focused, Murmur hidden/unfocused; forced tap disable logged recovery and subsequent ShiftLeft holds reached Both-mode start/stop

Closes #194
Closes #137

@github-actions

Copy link
Copy Markdown

Omen Analysis

Diff Risk

Risk Score 27%
Risk Level LOW
Files Modified 4
Lines Added +5
Lines Deleted -3
Commits 2
Risk Factors
Factor Score
file_churn 0.1
entropy 0.0816
num_files 0.0213
commits 0.0140
lines_added 0.002
lines_deleted 0.0012
ownership_diffusion 0.0008
file_complexity 0
Recommendations
  • Touches historically volatile files - changes here often introduce bugs

Repository Health

Health Score 88.02071161297393 / 100
Grade B
Files Analyzed 116
Critical Issues 0
Score Components
Component Score Weight
complexity 92 1
duplication 72.9 0.8
cohesion 98.9 0.6
tdg 87.8 0.6
coupling 88.8 0.4
satd 85.5 0.4
smells 100 0.2
Tips for AI agents

Use these commands to investigate and improve low-scoring areas.

Run full analysis:

omen -f json score    # health score with component breakdown
omen -f json diff     # PR risk analysis
omen hotspot          # high-churn + high-complexity files

All components are scoring well. No specific improvements needed.

General workflow for improving scores:

  1. Run the relevant analyzer command to identify specific files
  2. Focus on the highest-weight components first (complexity 25%, duplication 20%, cohesion 15%, TDG 15%)
  3. Make targeted improvements -- small refactors that reduce complexity or eliminate duplication
  4. Re-run omen score to verify improvement

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@georgenijo, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 14 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 105ecf24-07ce-4c34-aae0-5d22c9fbb099

📥 Commits

Reviewing files that changed from the base of the PR and between d700491 and 53da4c8.

⛔ Files ignored due to path filters (1)
  • app/src-tauri/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • CHANGELOG.md
  • app/src-tauri/Cargo.toml
  • docs/features/recording-modes.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch issue/194-fork-rdev-fix-cgeventtap-timeout-recovery-last-flags-desync-macos-hotkey-reliability

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

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

@georgenijo
georgenijo merged commit 19fe48b into main Jul 18, 2026
8 checks passed
@georgenijo
georgenijo deleted the issue/194-fork-rdev-fix-cgeventtap-timeout-recovery-last-flags-desync-macos-hotkey-reliability branch July 23, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

1 participant