Commit graph

39 commits

Author SHA1 Message Date
Lawrence Chen
d25f14a79f Add landing page (web/) with Next.js + Tailwind
- Minimal centered layout with Geist sans font
- Typing animation cycling through agent names
- Light/dark mode toggle via next-themes
- Download for Mac button linking to latest DMG
- Feature list, GitHub + Docs footer links
- Meta tags and Open Graph for SEO
- CI: add web typecheck job (tsc --noEmit)
2026-02-09 20:51:27 -08:00
Lawrence Chen
9817d131f8
Release v1.23.0 (#31)
* Rename cmuxterm to cmux across entire codebase

- Rename GitHub repos: manaflow-ai/cmuxterm -> manaflow-ai/cmux,
  manaflow-ai/homebrew-cmuxterm -> manaflow-ai/homebrew-cmux
- Rename bundle IDs: com.cmuxterm.app -> com.cmux.app
- Rename CLI: CLI/cmuxterm.swift -> CLI/cmux.swift
- Rename homebrew submodule: homebrew-cmuxterm -> homebrew-cmux
- Update all socket paths: /tmp/cmuxterm*.sock -> /tmp/cmux*.sock
- Update all GitHub URLs, DMG names, Sparkle URLs
- Update all source files, scripts, tests, docs, CI workflows

* Bump version to 1.23.0
2026-02-09 15:30:43 -08:00
Lawrence Chen
09f27d91f1 Revert to npm create-dmg for styled DMG layout
hdiutil produces a basic layout. npm create-dmg (sindresorhus) gives
large centered icons with proper spacing. The blank Applications icon
is a macOS 26 rendering issue that affects both approaches.
2026-02-08 17:30:49 -08:00
Lawrence Chen
08a654882d Use hdiutil for DMG creation instead of create-dmg
create-dmg (brew) uses AppleScript/Finder for icon positioning which
times out on headless CI. Switch to hdiutil with Applications symlink
for reliable CI builds.
2026-02-08 17:20:49 -08:00
Lawrence Chen
b4c90a0912 Fix create-dmg PATH conflict on self-hosted runner
Remove npm create-dmg before installing brew version to avoid
the npm version taking precedence in PATH.
2026-02-08 17:14:58 -08:00
Lawrence Chen
cb4c87113b Fix blank Applications icon in DMG installer
Switch from npm create-dmg (sindresorhus) to brew create-dmg
(create-dmg/create-dmg) which properly renders the Applications
folder symlink icon with explicit layout control.
2026-02-08 17:11:19 -08:00
Lawrence Chen
d2ecfc4342
Bump version to 1.19.1 (#23) 2026-02-08 17:04:31 -08:00
Lawrence Chen
c1d0610a2d Fix blank window with NSGlassEffectView on macOS 26
Avoid Auto Layout reparenting of SwiftUI hosting view when applying glass; force HFS+ DMG so volume name mounts as cmuxterm.
2026-02-08 15:59:38 -08:00
Lawrence Chen
20c62b3b9a
Fix CI race condition on self-hosted runner (#19)
* Fix zsh ZDOTDIR wrapper + log parsing with -- messages

* Fix CI race condition: serialize self-hosted builds with concurrency group

Two workflows racing on the same self-hosted runner caused DerivedData
corruption (release's rm -rf nuked DerivedData while CI was building).
Add shared concurrency group and scope DerivedData cleanup to project.
2026-02-06 22:32:14 -08:00
Lawrence Chen
0340e794b8
Fix Sparkle auto-update: inject SUPublicEDKey into Info.plist via PlistBuddy (#15)
Root cause: INFOPLIST_KEY_ build setting prefix only works for Apple-recognized
keys (CF*, NS*, LS*), not custom keys like SUPublicEDKey. The key was never
being added to Info.plist, so generate_appcast silently skipped EdDSA signing
(no public key in app = nothing to match against).

Fix:
- Derive public key from private key at build time using CryptoKit
- Use PlistBuddy to inject SUPublicEDKey and SUFeedURL after build
- Add sign_update fallback in appcast script if generate_appcast skips signing
- Add base64 padding normalization for key handling
2026-02-05 19:57:01 -08:00
Lawrence Chen
b56da22b43 Fix Sparkle public key not embedded in release builds
SPARKLE_PUBLIC_KEY was set as a shell env var but Xcode needs it passed
as a build setting argument. Without SUPublicEDKey in Info.plist, Sparkle
silently ignores updates.
2026-02-05 19:33:47 -08:00
Lawrence Chen
7c8ac4c887 Fix CI build cache error by cleaning DerivedData
Add a step to remove stale GhosttyTabs DerivedData before building
to prevent the "cannot open constant extraction protocol list input
file" error that occurs with incremental builds on self-hosted runners.
2026-01-29 17:55:02 -08:00
Lawrence Chen
a77a684548 Fix SwiftPM cache for releases 2026-01-29 17:45:00 -08:00
Lawrence Chen
bb20dc40e4 Fix release workflow: clear SPM cache before build 2026-01-29 17:12:43 -08:00
Lawrence Chen
70e00b5b00 Fix update-homebrew workflow 2026-01-29 04:31:39 -08:00
Lawrence Chen
7b8edf75c3 Add workflow to auto-update Homebrew cask on release 2026-01-29 04:30:20 -08:00
Lawrence Chen
7cd7a4c58b Codesign embedded CLI for notarization 2026-01-28 22:53:15 -08:00
Lawrence Chen
778e96645c Fix notarization log parsing 2026-01-28 22:50:57 -08:00
Lawrence Chen
871c7b19ae Fix release workflow YAML 2026-01-28 22:48:02 -08:00
Lawrence Chen
9b3adf1c68 Log notarization failures in release workflow 2026-01-28 22:44:48 -08:00
Lawrence Chen
44aa75103a Fix release codesign app path 2026-01-28 15:35:31 -08:00
Lawrence Chen
66a87dc25e Handle UI test retry without exiting early 2026-01-28 15:28:42 -08:00
Lawrence Chen
f070a72260 Fix CI UI test log handling 2026-01-28 15:20:22 -08:00
Lawrence Chen
e1cf5cd33d Skip UI tests when automation unavailable 2026-01-28 15:17:38 -08:00
Lawrence Chen
4b01de1ba9 Avoid sudo in CI UI tests 2026-01-28 15:09:30 -08:00
Lawrence Chen
6067aa1dbd Prepare 1.3.0 and harden CI UI tests 2026-01-28 15:04:41 -08:00
Lawrence Chen
d76ccaa531 Build GhosttyKit.xcframework in CI 2026-01-28 04:51:44 -08:00
Lawrence Chen
03ee628fb6 Add mock update feed UI tests 2026-01-28 03:22:37 -08:00
Lawrence Chen
3877dc2d98 Rename app to cmuxterm 2026-01-28 02:38:24 -08:00
Lawrence Chen
e3ee246930 Add Sparkle auto-update flow and titlebar update UI 2026-01-26 17:25:34 -08:00
Lawrence Chen
b0c61f7d6c Ship DMG releases and enhance tab actions 2026-01-26 14:48:08 -08:00
Lawrence Chen
4102567054 Fix release workflow for cmux 2026-01-26 03:39:53 -08:00
Lawrence Chen
89e15db604 Fix keychain reuse in release workflow 2026-01-26 01:57:42 -08:00
Lawrence Chen
6704d74e31 Skip building Ghostty macOS app for xcframework 2026-01-26 00:21:21 -08:00
Lawrence Chen
1ed61cdfe3 Export DEVELOPER_DIR for Xcode selection 2026-01-25 17:40:13 -08:00
Lawrence Chen
1d65c0efdc Select Xcode dynamically on self-hosted runner 2026-01-25 16:57:27 -08:00
Lawrence Chen
9c203a49a0 Force Xcode toolchain on mac runner 2026-01-25 16:55:58 -08:00
Lawrence Chen
157b74e8b0 Improve notarization zip handling 2026-01-25 16:52:13 -08:00
Lawrence Chen
04dcc2cc74 Add macOS release workflow and README download 2026-01-25 16:10:05 -08:00