Skip to content

Merge upstream Maccy (58 commits, Swift 6) - #7

Merged
roypadina merged 60 commits into
mainfrom
sync-upstream-2026-10-24
Oct 24, 2026
Merged

roypadina merged 60 commits into
mainfrom
sync-upstream-2026-10-24

Conversation

@roypadina

Copy link
Copy Markdown
Owner

Merges upstream p0deje/Maccy master (54fb9f0, 58 commits since the 2026-09-04 sync).

Merge with a merge commit, not squash, so upstream ancestry stays and the next sync stays small.

Upstream brings: Swift 6 + default MainActor isolation, XCTest → Swift Testing migration, PinManager refactor, macOS 27 fixes, Xcode 26.5 build fix, accurate OCR with language detection, image size in preview, crash fix when a watched app bundle changes.

Conflict resolutions:

  • pbxproj: upstream Swift 6 test settings, MaccyPlus TEST_HOST
  • Info.plist: our appcast + no auto-checks, plus upstream's pin-reorder UTType
  • KeyboardShortcuts: our default shortcuts on upstream's initial: API
  • Settings panes: drop upstream-removed pins, keep plugins
  • HistoryItemDecorator: keep cached resolvedActions + hasImageData, add upstream has* flags
  • History.load: keep the agent-API uid backfill on the PinManager flow; unfiltered all re-added for HistoryAPI/ActionEngine
  • HistoryTests: upstream Swift Testing file, our two agent-field tests ported
  • README: ours

Swift 6 fixes in fork code: plugin/rule value types and KeyboardLayoutFixer marked nonisolated (upstream idiom), JSPluginRuntime nonisolated again, ActionsCLI drops redundant MainActor.assumeIsolated, AX prompt option as a string literal.

Local run before the push: all 230 XCTest unit tests passed. Swift Testing: ClipboardTests.ignoreCopiesWithUnknownTypes (known live-pasteboard contention) and upstream's new OCR test imageTitleBecomesRecognizedText failed locally.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XTuA3qbV1J8eNeXceEW8oN

Sublio and others added 30 commits October 2, 2026 13:36
Avoid potential expensive view creation if the view is not visible.
weisJ and others added 26 commits October 5, 2026 08:49
… (#1543)

Co-authored-by: Alex Rodionov <p0deje@gmail.com>
The app picker in the Ignore settings read the selected bundle with
Bundle(path:) without starting access to the security-scoped URL.
The sandbox allows reading /Applications, so those apps worked, but
apps elsewhere (e.g. ~/Applications) returned no bundle and were
silently dropped.

Fixes #991
.fast garbles small text and only supports a few Latin-script
languages. .accurate alone still drops Chinese, Japanese, etc.
because recognitionLanguages defaults to English only, so also
enable automaticallyDetectsLanguage.

Fixes #1514
The preview already shows the pixel dimensions of image items, but not
how large the image actually is. Knowing the size helps before pasting
into places with upload limits.
Settings.Section offers its content the full container width even
though the content starts after the label column, so the warning
never wraps and runs past the window edge in French, Russian and
other long translations. Cap its width so it wraps.

Fixes #1327
The app icon file watcher ran its handler on a global queue, but the
closure is implicitly @mainactor, so Swift 6's isolation check crashed
whenever an app with a displayed icon was modified or deleted.
58 upstream commits: Swift 6 + default MainActor isolation, Swift Testing
migration, PinManager refactor, macOS 27 fixes, Xcode 26.5 build fix,
accurate OCR, image size in preview, crash fix for watched app bundles.

Conflict resolutions:
- pbxproj: take upstream Swift 6 test settings, keep MaccyPlus TEST_HOST
- Info.plist: keep our appcast + no auto-checks, add upstream pin-reorder UTType
- KeyboardShortcuts: our defaults on upstream's `initial:` API
- Settings panes: drop upstream-removed `pins`, keep `plugins`
- HistoryItemDecorator: keep cached resolvedActions + hasImageData, add upstream has* flags
- History.load: keep agent-API uid backfill on upstream PinManager flow; add
  unfiltered `all` for HistoryAPI/ActionEngine (upstream removed it)
- HistoryTests: upstream Swift Testing file + our two agent-field tests ported
- README: ours

Swift 6 adaptations for fork code: plugin/rule value types and
KeyboardLayoutFixer marked nonisolated (upstream idiom), JSPluginRuntime
nonisolated again, ActionsCLI drops redundant MainActor.assumeIsolated,
AX prompt option as a string literal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XTuA3qbV1J8eNeXceEW8oN
…boardTests suite on CI

Swift 6.3 crashes in EarlyPerfInliner on FloatingPanel's implicit deinit
when optimizing (upstream code, exposed by the Swift 6 migration). An
explicit @_optimize(none) deinit avoids the pass. Xcode 27 is unaffected.
Upstream moved ClipboardTests under SharedStateTests (Swift Testing).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XTuA3qbV1J8eNeXceEW8oN
@roypadina
roypadina merged commit 68d9802 into main Oct 24, 2026
1 check passed
@roypadina
roypadina deleted the sync-upstream-2026-10-24 branch October 24, 2026 21:54
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.