Avalonia cross-platform port: Windows + macOS Context Menu app - #1
Merged
Conversation
…ging, CI Restore the single-instance + arg-forwarding behaviour that was stripped for the POC, now behind an ISingleInstance abstraction with Windows (named pipe + mutex) and Unix (domain socket + exclusive lockfile) implementations. Wire Avalonia's Dispatcher.UIThread.UnhandledException through MessageBox.Avalonia for parity with the old WPF error dialog. Pin Tmds.DBus.Protocol to 0.92.0 to clear GHSA-xrw6-gwf8-vvr9 pulled transitively by Avalonia's Linux stack. Add build-macos.sh producing a universal (arm64 + x86_64 via lipo) ImageResize.app bundle and DMG, plus a hand-rolled Automator Quick Action so macOS users get a Finder right-click -> Services -> Resize Images entry. CI gains a macos-latest job that produces the DMG as an artefact on every PR. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ISingleInstanceabstraction with Windows (named pipe + mutex) and Unix (domain socket + exclusive lockfile) implementations..app+.dmgviabuild-macos.sh(arm64 + x86_64 merged withlipo), plus an Automator Quick Action so right-click → Services → Resize Images works in Finder. CI builds the DMG on every PR.Tmds.DBus.Protocolto 0.92.0 to clear GHSA-xrw6-gwf8-vvr9.Test plan
dotnet build ImageResize.ContextMenu -c Release— clean, 0 warnings.dotnet test— 42/42 passing.ImageResize.appto Applications, installResize Images.workflow, right-click an image in Finder, confirm Services → Resize Images opens the app with the selection.xattr -dr com.apple.quarantine).Known gaps
.icnsicon yet — Mac app will use the default Finder icon. DropImageResize.ContextMenu/macos/icon.icnsin and the build script picks it up automatically.document.wflowAutomator file is hand-written from the reverse-engineered format. If Finder doesn't show "Resize Images" under Services after install, open it in Automator.app, hit Save, and re-commit to regenerate canonical metadata.🤖 Generated with Claude Code