Skip to content

refactor: migrate macOS Objective-C bindings from objc/cocoa to objc2#320

Closed
Scott McMaster (scottmcmaster) wants to merge 2 commits into
developfrom
06-05-scott-update-objc2
Closed

refactor: migrate macOS Objective-C bindings from objc/cocoa to objc2#320
Scott McMaster (scottmcmaster) wants to merge 2 commits into
developfrom
06-05-scott-update-objc2

Conversation

@scottmcmaster
Copy link
Copy Markdown
Collaborator

@scottmcmaster Scott McMaster (scottmcmaster) commented Jun 5, 2026

Summary

Fixes a bunch of deprecation warnings that got introduced today on develop that were blocking builds.

Test Plan

Build and start the app.

  • No test plan needed

Docs

  • Docs updated (companion PR in darkmatter/nixmac-web: #___)
  • No docs update needed

Copy link
Copy Markdown
Collaborator Author

Scott McMaster (scottmcmaster) commented Jun 5, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • automerge - adds this PR to the back of the merge queue
  • urgent - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@scottmcmaster Scott McMaster (scottmcmaster) marked this pull request as ready for review June 5, 2026 01:29
@scottmcmaster Scott McMaster (scottmcmaster) requested review from Copilot and cooper (czxtm) and removed request for Copilot June 5, 2026 01:29
@scottmcmaster Scott McMaster (scottmcmaster) changed the title scott-update-objc2 refactor: migrate macOS Objective-C bindings from objc/cocoa to objc2 Jun 5, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 5, 2026

Messages
📖 No docs update needed — acknowledged.

📋 PR Overview

Lines changed 182 (+56 / -126)
Files 0 added, 8 modified, 0 deleted
Draft / WIP no
Has Test Plan yes
No Test Plan Needed no
New UI components no
New Storybook stories no
New Rust modules no
New TS source files no
New tests no
package.json touched no
Cargo.toml touched yes
Infra / CI touched no

🔬 Coverage

Report Lines Statements Functions Branches
apps/native/coverage/coverage-summary.json 26.3% 26.4% 24.2% 17.9%

Generated by 🚫 dangerJS against 9ab5b7e

Copilot AI review requested due to automatic review settings June 5, 2026 02:24
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates the macOS-specific Objective-C interop in the Tauri Rust backend from the deprecated objc/cocoa crates to the objc2 ecosystem to eliminate new deprecation warnings that are blocking builds on develop.

Changes:

  • Replace cocoa/objc usage with objc2 + objc2-foundation in native notification code.
  • Replace manual msg_send!-based NSWindow manipulation with typed objc2-app-kit APIs for window behavior/diagnostics.
  • Update macOS-only Cargo dependencies and lockfile to drop cocoa/objc and add objc2 crates.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Cargo.lock Removes cocoa/objc-related packages and records new objc2* dependency graph.
apps/native/src-tauri/src/state/drift_notifications.rs Refactors UserNotifications interop to use objc2/objc2-foundation and retained wrappers.
apps/native/src-tauri/src/peek.rs Switches NSWindow configuration to typed objc2-app-kit APIs.
apps/native/src-tauri/src/main.rs Switches NSWindow diagnostic reads to typed objc2-app-kit APIs.
apps/native/src-tauri/Cargo.toml Replaces macOS target deps (cocoa/objc) with objc2, objc2-app-kit, and objc2-foundation.

Comment thread apps/native/src-tauri/src/state/drift_notifications.rs Outdated
Comment thread apps/native/src-tauri/src/state/drift_notifications.rs Outdated
@scottmcmaster Scott McMaster (scottmcmaster) marked this pull request as draft June 5, 2026 03:17
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