Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
4d07b0a
Add per-worktree title and color customization (#308)
marvtub May 29, 2026
563e691
Collapse the new-worktree appearance section and mirror the title pla…
sbertix May 30, 2026
a536175
Persist terminal layouts incrementally and reap zmx sessions by attac…
sbertix May 30, 2026
65c87e3
Always focus the terminal after worktree navigation (#371)
COCPORN May 31, 2026
9639276
Run surfaces under zmx via a Ghostty command-wrapper so shells keep f…
sbertix Jun 1, 2026
7e3ddb9
Fix Kiro CLI version detection to use kiro-cli instead of kiro (#374)
dlackty Jun 1, 2026
b1ecdf3
Cap and coalesce terminal event streams to reduce memory growth (#376)
sbertix Jun 2, 2026
8c3fd03
bump v0.10.2
sbertix Jun 3, 2026
b1b65bf
Tolerate login-shell noise in GitHub CLI JSON output (#378)
sbertix Jun 3, 2026
1d888db
Cross-fade shortcut hints and drop the hold-to-reveal delay (#381)
sbertix Jun 5, 2026
548609a
Carry agent presence and notifications over OSC 3008 (#390)
sbertix Jun 10, 2026
0e26cbf
Carry OSC 3008 notifications as extracted title/body (#392)
sbertix Jun 10, 2026
23ae4ac
Drop the OSC 3008 capability token (#394)
sbertix Jun 10, 2026
2df2b75
Restructure CI flows and cache all ThirdParty build outputs (#393)
sbertix Jun 10, 2026
a8cab19
Fix "Dismiss All" notifications not clearing the popover (#385) (#409)
webdevtodayjason Jun 18, 2026
88e5039
Add remote SSH repositories and worktrees (#407)
sbertix Jun 18, 2026
05eadd9
Add OpenCode agent integration (#412)
ashwathraop Jun 18, 2026
adb0205
Fix remote repositories disappearing on some settings writes (#415)
sbertix Jun 18, 2026
7fbeac5
fix(shortcuts): honor overrides for terminal worktree-selection chord…
ProjectMakersDE Jun 19, 2026
c38c325
Generalize worktree open targets (#423)
sbertix Jun 19, 2026
d6de7e3
Publish Supacode download checksums
khoi Jun 19, 2026
7eb572f
Simplify release checksum generation
khoi Jun 19, 2026
70786d2
Fall back to /bin/zsh for non-POSIX login shells (#100) (#410)
webdevtodayjason Jun 19, 2026
67a3c5b
Keep agent badge tint stable when selected (#427)
sbertix Jun 19, 2026
74d9592
Exclude appcast from checksum manifest
khoi Jun 19, 2026
7a878d8
Widen hit target for tab bar + and split buttons (#433)
sbertix Jun 20, 2026
3886a05
fix(open-with): detect Zed Preview channel in editor list (#447)
mykhaliuk Jun 22, 2026
ef25569
Fix remote repositories dropping from the sidebar (#452)
sbertix Jun 22, 2026
7e7b04d
Memoize terminal zoom level across surfaces and sessions (#454)
sbertix Jun 22, 2026
faa679c
Summarize hoisted worktrees under their origin repo (#456)
sbertix Jun 22, 2026
39e4b9f
Signal blocking-script tabs so the shell can skip the interactive pro…
sbertix Jun 22, 2026
50350b4
Recover terminal surfaces when their zmx client exits unexpectedly (#…
sbertix Jun 22, 2026
7a5c9ab
Report supacode as TERM_PROGRAM (#458)
sbertix Jun 22, 2026
ed69392
Add GitHub Copilot CLI as a coding agent (#455)
blacroix Jun 22, 2026
dccf58f
Let terminal bindings win over non-remappable macOS menu built-ins (#…
sbertix Jun 22, 2026
82c101c
Capture login-shell args before sourcing rc so gh stays detectable (#…
sbertix Jun 22, 2026
cb5670f
Restore ⌘W and ⌘Q after the menu built-in collision fix (#461)
sbertix Jun 22, 2026
8696d61
Make repository ids self-descriptive and consolidate remote persisten…
sbertix Jun 22, 2026
a04597d
Preserve remote repository curation across a disconnect (#463)
sbertix Jun 22, 2026
e409e81
Add GoLand editor support (#475)
oustrix Jun 24, 2026
99d2782
Preserve symlinked Supacode JSON config files on write (#478)
sbertix Jun 24, 2026
23f8b19
Self-diagnosing toolchain setup for macOS 26.4+ (#468)
jeremybower Jun 24, 2026
4e0aeb5
Clear positional params before sourcing rc in login-shell probe (#477…
dsenften Jun 24, 2026
0494b1b
fix: refuse to open a repo with duplicate worktree paths (#480)
tftio Jun 24, 2026
492af3a
bump v0.10.3
sbertix Jun 24, 2026
b1cd23c
Fix xcconfig // truncation of telemetry URLs in release builds
khoi Jun 24, 2026
6280712
Merge pull request #489 from supabitapp/fix-telemetry-xcconfig-url-tr…
khoi Jun 24, 2026
185d2fc
Require an explicit version and carry feature headlines on the releas…
sbertix Jun 24, 2026
cb43b09
bump v0.10.4
sbertix Jun 25, 2026
c135b9d
feat: add support for IDEA EAP editor (#496)
Simek Jun 28, 2026
566bf4c
feat: add Nova editor support (#506)
Nominchuluunb Jun 28, 2026
14b7135
Add ⌘P worktree switcher (VS Code-style) with worktree MRU
ungedenstad May 30, 2026
716abbb
Assert worktreeMRU in selection/history TestStore tests
ungedenstad Jun 18, 2026
9f398cc
Polish ⌘P switcher: mode-aware placeholder + worktree/repo hierarchy
ungedenstad Jun 27, 2026
244a92f
Skip Tuist auth on forks so fork CI can build
ungedenstad Jun 18, 2026
f41f0be
Add fork-build CI to upload an installable Debug app artifact
ungedenstad Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 39 additions & 21 deletions .github/actions/setup-macos/action.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,74 @@
name: Setup macOS build deps
description: Install + cache mise tools and Ghostty build outputs
description: Install + cache mise tools and ThirdParty build outputs (Ghostty, zmx)

inputs:
disable-tools:
description: Comma-separated mise tools to skip, so CI installs only what it needs.
default: spm:swiftlang/swift-format,npm:create-dmg

runs:
using: composite
steps:
# The bundled zig (0.15.2) self-hosted linker can't link the macOS 26.4+ SDK
# (ziglang/zig#31272), which breaks `make build-ghostty-xcframework`. Pin to the
# newest installed Xcode <= 26.3, whose SDK zig can link.
- name: Select Xcode <= 26.3
# Job-wide so every later mise call (install, plus auto-install during the
# build steps under MISE_YES) skips the unneeded tools, not just this step.
- name: Limit mise to the tools CI needs
shell: bash
run: echo "MISE_DISABLE_TOOLS=${{ inputs.disable-tools }}" >> "$GITHUB_ENV"
# The bundled zig 0.15.2 linker can't link the macOS 26.4+ SDK (ziglang/zig#31658).
# Reuse the shared selector so CI and local agree on the Zig-linkable Xcode.
- name: Select a Zig-linkable Xcode
shell: bash
run: |
set -euo pipefail
selected=""
for app in /Applications/Xcode_26.3*.app /Applications/Xcode_26.2*.app \
/Applications/Xcode_26.1*.app /Applications/Xcode_26.0*.app; do
if [ -d "$app" ]; then selected="$app"; break; fi
done
if [ -z "$selected" ]; then
echo "No Xcode <= 26.3 found on runner; available:" >&2
ls -d /Applications/Xcode_*.app >&2 || true
exit 1
fi
sudo xcode-select -s "$selected/Contents/Developer"
developer_dir="$(./scripts/select-developer-dir.sh)"
sudo xcode-select -s "$developer_dir"
xcodebuild -version
- uses: jdx/mise-action@v4
with:
version: 2026.3.0
cache: true
# Tuist auth (OIDC) only works on the canonical upstream repo, which is the
# one linked in the Tuist dashboard. Skip it on forks and on cross-fork PRs
# (external contributors can't access the OIDC trust) — `tuist generate`
# works fine without auth; auth only buys the Tuist remote cache.
- name: Authenticate with Tuist
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
if: ${{ github.repository == 'supabitapp/supacode' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }}
shell: bash
run: mise exec -- tuist auth login
- name: Xcode cache key
shell: bash
run: |
XCODE_VERSION="$(xcodebuild -version | tr '\n' '-' | sed 's/[^A-Za-z0-9._-]/_/g; s/-$//')"
printf '%s\n' "XCODE_VERSION=$XCODE_VERSION" >> "$GITHUB_ENV"
- name: Ghostty cache key
- name: ThirdParty cache keys
shell: bash
run: |
set -euo pipefail
GHOSTTY_SHA="$(git -C ThirdParty/ghostty rev-parse HEAD)"
printf '%s\n' "GHOSTTY_SHA=$GHOSTTY_SHA" >> "$GITHUB_ENV"
printf '%s\n' "GHOSTTY_SHA=$(git -C ThirdParty/ghostty rev-parse HEAD)" >> "$GITHUB_ENV"
printf '%s\n' "ZMX_SHA=$(git -C ThirdParty/zmx rev-parse HEAD)" >> "$GITHUB_ENV"
# Key on only the inputs that change the built artifact (submodule SHA, build
# script, zig version, patches) so unrelated action/project edits don't evict it.
- name: Ghostty cache
id: ghostty_cache
uses: actions/cache@v5
with:
path: .build/ghostty
key: ${{ runner.os }}-${{ runner.arch }}-xcode-${{ env.XCODE_VERSION }}-ghostty-v2-${{ env.GHOSTTY_SHA }}-${{ hashFiles('.github/actions/setup-macos/action.yml', 'Project.swift', 'scripts/build-ghostty.sh', 'mise.toml', '.gitmodules') }}
key: ${{ runner.os }}-${{ runner.arch }}-xcode-${{ env.XCODE_VERSION }}-ghostty-v3-${{ env.GHOSTTY_SHA }}-${{ hashFiles('scripts/build-ghostty.sh', 'mise.toml', '.gitmodules', 'patches/*.patch') }}
- name: Build ghostty
if: steps.ghostty_cache.outputs.cache-hit != 'true'
shell: bash
run: |
set -euo pipefail
make build-ghostty-xcframework
- name: zmx cache
id: zmx_cache
uses: actions/cache@v5
with:
path: .build/zmx
key: ${{ runner.os }}-${{ runner.arch }}-xcode-${{ env.XCODE_VERSION }}-zmx-v1-${{ env.ZMX_SHA }}-${{ hashFiles('scripts/build-zmx.sh', 'mise.toml', '.gitmodules') }}
- name: Build zmx
if: steps.zmx_cache.outputs.cache-hit != 'true'
shell: bash
run: |
set -euo pipefail
make build-zmx
8 changes: 4 additions & 4 deletions .github/workflows/test.yml → .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: test
name: ci

on:
push:
branches:
- main
pull_request:
branches:
- main
Expand All @@ -27,5 +24,8 @@ jobs:
submodules: recursive
- uses: ./.github/actions/setup-macos
- run: make lint
- run: make inspect-dependencies
- run: make build-app
env:
XCODEBUILD_FLAGS: -showBuildTimingSummary
- run: make test
36 changes: 36 additions & 0 deletions .github/workflows/fork-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: fork-build

# Build the Debug app on feature branches and upload it as an artifact so a
# fork (where local builds are impossible) can download and install a testable
# build. No tests, no signing — just a runnable .app.zip per commit.
on:
push:
branches:
- "feat/**"
- "fix/**"
- "exp/**"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: macos-26
permissions:
contents: read
id-token: write
env:
MISE_HTTP_TIMEOUT: 120
MISE_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: ./.github/actions/setup-macos
- run: make package-app
- uses: actions/upload-artifact@v6
with:
name: supacode-${{ github.sha }}
path: build/supacode.app.zip
if-no-files-found: error
29 changes: 0 additions & 29 deletions .github/workflows/inspect-dependencies.yml

This file was deleted.

Loading
Loading