Skip to content

GhosttyKit 0.1.5 — iOS fix-forward

Choose a tag to compare

@arach arach released this 04 May 23:14
· 1 commit to master since this release

Fixes

Two patches to upstream Ghostty (2cc7341b) restore iOS support that 0.1.3 broke:

  1. iOS surface attach. UIView's layer is read-only on iOS — the metal layer must be added as a sublayer of the view's existing CALayer via addSublayer: (with the colon). The 0.1.3 build sent a no-arg addSublayer selector to the UIView, crashing with unrecognized selector.

  2. Metal storage mode. hasUnifiedMemory returns false on the iOS Simulator, which made the renderer pick .managed. iOS Metal does not support .managed and asserts Invalid storageMode 1. Forced .shared on iOS unconditionally.

Verification

  • Termini Tests/TerminiTests/SurfaceAttachTests_iOS (iPhone 16e simulator): 2 / 2 pass
  • Termini TerminiTerminalAppearanceTests (font config): 6 / 6 pass
  • HudsonKitDemoIOS Terminal tab: live Ghostty surface renders end-to-end

Provenance

  • Built from Ghostty source 2cc7341b08ca66d9efdfdd97b1ab3d49898d2677
  • Patches archived at patches/ghostty/0.1.5/
  • SwiftPM checksum: d9246242185d9ce5d4ee45fb0ff3fbc520aa995641dea9b198e43e1e4538b759

SwiftPM consumers

.binaryTarget(
    name: "GhosttyKit",
    url: "https://github.com/arach/TermBridgeKit/releases/download/0.1.5/GhosttyKit.xcframework.zip",
    checksum: "d9246242185d9ce5d4ee45fb0ff3fbc520aa995641dea9b198e43e1e4538b759"
)