Skip to content

fix cursor issues and refocus issues#327

Merged
jonathancaudill merged 1 commit intomainfrom
dev
Mar 2, 2026
Merged

fix cursor issues and refocus issues#327
jonathancaudill merged 1 commit intomainfrom
dev

Conversation

@jonathancaudill
Copy link
Contributor

No description provided.

@jonathancaudill
Copy link
Contributor Author

@CodeRabbit where you at bud?

@coderabbitai
Copy link

coderabbitai bot commented Mar 2, 2026

Tip

For best results, initiate chat on the files or code changes.

@jonathancaudill Hey! I'm here and ready to help! 👋

Is there anything specific you'd like me to look at or help with on this PR? I can review code, answer questions, run analysis, or assist with anything else you need.

@jonathancaudill
Copy link
Contributor Author

@coderabbitai yeah just take a look make sure everything's good. gonna push this as a new release since it's an important 2 changes

@coderabbitai
Copy link

coderabbitai bot commented Mar 2, 2026

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

@jonathancaudill I'll review the changes for you! Let me fetch the PR details and examine the code.


🏁 Script executed:

#!/bin/bash
# Get PR details including the files changed and diff
gh pr view 327 --json title,body,files,additions,deletions

# Get the full diff for the PR
gh pr diff 327

Length of output: 11201


@jonathancaudill Looks great! I've reviewed all the changes and everything checks out well. Here's the breakdown:

✅ Cursor Issues - Fixed

Root cause addressed properly:

  • resetCursorRects() override in ContainerView prevents SwiftUI ancestors from registering arrow cursor rects over the webview - this lets WKWebView handle its own cursor changes natively
  • Removed .contentShape(Rectangle()) that was interfering with cursor behavior
  • Removed .alwaysArrowCursor() from TransitionView

✅ Refocus Issues - Fixed

Smart implementation:

  • Tab switches now properly restore focus to the webview using makeFirstResponder
  • Uses DispatchQueue.main.async to ensure the view hierarchy is ready
  • Handles both single and split view scenarios by checking subviews
  • Only triggers when currentId actually changes (efficient)
  • Skips SplitDropCaptureView appropriately

🎯 Additional Improvements

  1. Peek overlay - Now only intercepts hits when active (.allowsHitTesting(isActive)), preventing it from blocking clicks when not in use
  2. Code cleanup - Removed unused configureClientHints function
  3. Better comments - Updated to accurately describe media capture authorization
  4. Passkey/WebAuthn support - Added entitlements for credential autofill and public-key-credential support (nice bonus!)

No Issues Found

The changes are focused, well-implemented, and include good explanatory comments. The fix addresses the root causes rather than applying workarounds. Safe to release! 🚀

@jonathancaudill jonathancaudill merged commit c5e7358 into main Mar 2, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant