Skip to content

fix(spm): fix pre-existing macOS porting bugs#2869

Merged
Saadnajmi merged 2 commits intomicrosoft:mainfrom
Saadnajmi:saad/fix-macos-porting-bugs
Mar 23, 2026
Merged

fix(spm): fix pre-existing macOS porting bugs#2869
Saadnajmi merged 2 commits intomicrosoft:mainfrom
Saadnajmi:saad/fix-macos-porting-bugs

Conversation

@Saadnajmi
Copy link
Copy Markdown
Collaborator

Summary

Fixes compilation errors that block macOS SPM builds, helping unblock #2815.

  • RCTLinkingManager: combined iOS and macOS implementations into a single file
    using #if TARGET_OS_OSX guards. Added missing NativeLinkingManagerSpec
    conformance (openSettings, sendIntent, getTurboModule), removed unused
    import, deleted the macos/ overlay directory, and cleaned up the podspec
  • RCTCursor.m: replaced Foundation.h + conditional AppKit.h with RCTUIKit
    umbrella header
  • RCTViewComponentView.mm: removed duplicate cursor property check introduced
    during merge

Test plan

  • macOS SPM build passes (verified on feature/spm-macos-support — zero errors from these files)
  • Verify iOS build is not regressed

🤖 Generated with Claude Code

Saadnajmi and others added 2 commits March 21, 2026 00:26
[pull] main from microsoft:main
- RCTLinkingManager.mm: combine iOS and macOS implementations into a
  single file using #if TARGET_OS_OSX guards, remove macos/ overlay
  directory, and clean up podspec
- RCTCursor.m: replace Foundation + conditional AppKit imports with
  RCTUIKit umbrella header
- RCTViewComponentView.mm: remove duplicate cursor property check
  introduced during merge

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Saadnajmi Saadnajmi requested a review from a team as a code owner March 23, 2026 04:46
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 23, 2026

⚠️ No Changeset found

Latest commit: edb768a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@Saadnajmi Saadnajmi merged commit 85ab8c2 into microsoft:main Mar 23, 2026
16 checks passed
@Saadnajmi Saadnajmi deleted the saad/fix-macos-porting-bugs branch March 23, 2026 19:07
Saadnajmi added a commit to Saadnajmi/react-native-macos that referenced this pull request Mar 27, 2026
Fixes compilation errors that block macOS SPM builds, helping unblock

- **RCTLinkingManager**: combined iOS and macOS implementations into a
single file
using `#if TARGET_OS_OSX` guards. Added missing
`NativeLinkingManagerSpec`
conformance (`openSettings`, `sendIntent`, `getTurboModule`), removed
unused
import, deleted the `macos/` overlay directory, and cleaned up the
podspec
- **RCTCursor.m**: replaced `Foundation.h` + conditional `AppKit.h` with
`RCTUIKit`
  umbrella header
- **RCTViewComponentView.mm**: removed duplicate `cursor` property check
introduced
  during merge

- [x] macOS SPM build passes (verified on `feature/spm-macos-support` —
zero errors from these files)
- [ ] Verify iOS build is not regressed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Saadnajmi added a commit that referenced this pull request Mar 28, 2026
…selection, CVEs) (#2876)

## Summary

Backport of 10 commits from `main` to `0.81-stable`:

- **fix(spm):** fix pre-existing macOS porting bugs (#2869)
- **fix(transforms):** enable transforms on new arch and fix hit testing
on both arches (#2866)
- **chore(deps-dev):** bump undici from 5.29.0 to 6.24.0 (#2871)
- **fix(fabric):** colors not respecting dark mode appearance, implement
platform color (#2867)
- **fix:** adjust content inset behavior for macOS (#2806)
- **fix:** reduce dependency CVE overrides and refresh vulnerable
transitive deps (#2874)
- **feat(fabric, text):** support native text selection when
selectable={true} (#2864)
- **fix:** macOS ScrollView resize and content inset behavior (#2732)
- **docs:** add backporting guide and automation (#2863)
- **fix(fabric, textinput):** support `enableFocusRing`

### Conflict resolutions

- `RCTUIView.h/m` → On 0.81-stable, `RCTUIView` lives in
`React/Base/RCTUIKit.h` and `React/Base/macOS/RCTUIKit.m` (the RCTUIKit
module refactor hasn't landed on 0.81). Transform changes were manually
applied to these files.
- `RCTUIKitCompat.h/m` → `NSColor (RCTAppearanceResolving)` category was
added to `RCTUIKit.h/m` instead.
- Lockfile conflicts resolved by accepting incoming CVE fixes.

## Test Plan

- Same as the original PRs
- Verify transforms render correctly on macOS (old + new arch)
- Verify dark mode color resolution works in Fabric
- Verify ScrollView resize and content inset behavior
- Verify text selection with selectable={true}
- Verify enableFocusRing on TextInput in Fabric

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: eadron <eadron@users.noreply.github.com>
Co-authored-by: Kyle Essenmacher <15271436+kessenma@users.noreply.github.com>
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.

2 participants