Skip to content

Port Jiffshot to macOS - #19

Merged
Marc-André Moreau (mamoreau-devolutions) merged 3 commits into
masterfrom
macos-feature-parity
Nov 2, 2026
Merged

Marc-André Moreau (mamoreau-devolutions) merged 3 commits into
masterfrom
macos-feature-parity

Conversation

@mamoreau-devolutions

@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Ports Jiffshot to macOS 13+ (Apple Silicon and Intel), sharing the Avalonia front end in app/src/win/ with the Windows build.

What's included

  • Capture (crates/jiffshot-capture/src/mac/): ScreenCaptureKit/Quartz grabs, window and Accessibility element targets, logical/fractional geometry across mixed-DPI displays, clipboard, Vision OCR, AVFoundation recording (system audio, microphone, camera) and playback.
  • Workflow (crates/jiffshot-workflow): overlay, magnifier, recording toolbar and live annotations, Step Capture, menu-bar item, global hotkeys, sharing (Mail, programs, FTP via Keychain, printing), shutdown/termination handling.
  • Control/CLI: jiffshot-cli over a private per-user Unix socket with peer-user verification; Accessibility-based elements, Quartz input. Notes in docs/cli.md.
  • App: macOS integrations (file drag-out, library copy, app termination, single-instance hand-off, Finder open-with).
  • Packaging: package/macos/ PowerShell scripts build Jiffshot.app + DMG (ad-hoc or Developer ID signed and notarized), with Pester tests.
  • CI/Release: both macOS targets use ARM macos-15 runners; Intel is cross-built and tested with Rosetta. CI builds the compatible host and patched companions from immutable Rustolonia commit d30a7350ba2484e28820b803947193630c32e2bf, keeping all native capability and host-discovery gates enabled. Release builds two DMGs.

Upstream #17 Windows copy/drag-out code is #[cfg(windows)]; macOS has native equivalents. Linux is unchanged.

Known gaps

  • Direct Office insertion is unavailable on macOS.
  • macOS host fixes are pinned from source rather than a published Rustolonia release. Physical Intel hardware and macOS 13 still need end-to-end verification.

Testing

  • Post-rebase cargo test --locked --workspace: 558 passed on ARM64 and 558 passed on x86_64 under Rosetta.
  • 128 macOS PowerShell tests passed, including source-host build failure and architecture coverage.
  • Windows cross-target workspace compilation passes.

Split the capture crate into platform backends and add macOS capture,
overlay, editing, recording, Step Capture, sharing, automation, shutdown,
CLI, and packaging support with Windows behavior preserved.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Cross-build and test Intel binaries with Rosetta; build the capability-gated host from immutable Rustolonia source instead of the incompatible release host.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add regression coverage for both macOS RIDs, universal companion output, build failures, and incomplete host staging.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@mamoreau-devolutions
Marc-André Moreau (mamoreau-devolutions) merged commit 528e4d2 into master Nov 2, 2026
16 checks passed
@mamoreau-devolutions
Marc-André Moreau (mamoreau-devolutions) deleted the macos-feature-parity branch November 2, 2026 02:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant