Finish macOS NativeAOT port - #1
Merged
Marc-André Moreau (mamoreau-devolutions) merged 7 commits intoSep 4, 2026
Merged
Conversation
Ship a working osx-arm64/osx-x64 port: restore Ghostty and dt-pty-host, publish a signed .app, and run managed plus PTY/Ghostty gates on Darwin. Keep the Windows tab chrome with a macOS-only snug left inset for traffic lights; skip the inset when controls are on the right. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Marc-André Moreau (mamoreau-devolutions)
requested a review
from a team
as a code owner
September 3, 2026 21:17
Marshal only IME/visual work off the PTY thread so cursor reports stay fast without breaking selection tests that assert immediately after Feed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Git clone progress on stderr was treated as an MSBuild error on macOS. Swallow ObjectDisposedException when cancelling an Azure session CTS. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Host strip on x64 Ubuntu cannot process linux-arm64 libghostty-vt.so. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
PowerShell 5.1 rejects three-argument Join-Path. Install libc6-dev-arm64-cross so aarch64 ld can find Scrt1.o and -ldl. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Windows hosted PowerShell 5.1 restore was failing because Get-FileHash was not available in the MSBuild-launched session. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
libghostty-vt is built from source in CI and is not bit-reproducible, so pinned SHA-256 values fail unsigned MSIX validation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Marc-André Moreau (mamoreau-devolutions)
merged commit Sep 4, 2026
9968716
into
master
27 of 36 checks passed
Marc-André Moreau (mamoreau-devolutions)
deleted the
finish-macos-port
branch
September 4, 2026 00:00
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
Complete the macOS port as a first-class NativeAOT host: restore Ghostty and
dt-pty-hostforosx-arm64/osx-x64, publish an ad-hoc signed.app, and keep the Windows-style tab chrome with a macOS-only snug left inset for traffic lights.What landed
libghostty-vt.dylibanddt-pty-host(Apple clang + SDKlibutilon macOS).dthost launch work on Darwin.scripts/Build-MacOsPackage.shstagesDevolutions Terminal.app+ zip; CI jobs onmacos-14.8/138layout when they are on the right (RTL or measured trailing chrome). Windows/Linux unchanged.Validation
dt --help, Ghostty ABI, realforkptyNot in this PR: notarization, DMG, Homebrew, global hotkeys, default-terminal registration.
Test plan
dotnet test Devolutions.Terminal.slnxon a Macscripts/Build-MacOsPackage.sh osx-arm64 0.1.0 artifacts/packagesbash scripts/Test-MacOsPackage.sh osx-arm64 artifacts/packages/*.zip.appand confirm tabs clear the traffic lights