Commit graph

572 commits

Author SHA1 Message Date
Lawrence Chen
716a97420c
Add contributor credits to release skills (#319)
Release changelogs now credit contributors inline (Bun-style):
- Per-entry "thanks @user!" for community code contributions
- Per-entry "thanks @user for the report!" for bug reporters
- "Thanks to N contributors!" summary section at bottom of each release
- Core team (lawrencecchen, austinywang) excluded from per-entry callouts
2026-02-22 16:18:44 -08:00
Lawrence Chen
f7457055f1
Add sidebar metadata CLI subcommands and API docs (#305)
* Add sidebar metadata CLI subcommands and API docs

Expose set-status, clear-status, list-status, set-progress,
clear-progress, log, clear-log, list-log, and sidebar-state as
proper CLI subcommands with --help support and usage() listing.
Previously these only existed as raw socket commands.

Also adds a "Sidebar metadata commands" section to the docs site
API reference page.

* Quote multi-word values in socket command strings

Fix set-progress --label and log message forwarding to properly
quote values before sending to the socket tokenizer. Without
quoting, multi-word labels like "Build step one" would be split
into separate tokens. Also quote --source values for consistency.

* Fix socket quoting: escape backslashes and quote status values

Add socketQuote() helper that escapes both backslashes and double
quotes before wrapping in quotes. Apply it to:
- set-status value (prevents --flags in values being parsed as options)
- set-status --icon and --color values
- set-progress --label
- log --source and message text

Fixes values like "pytest --maxfail=1" or "C:\new\build" being
mangled by the socket tokenizer.

* Escape newlines in socketQuote to prevent socket framing breakage

The socket protocol uses newline as message terminator, so embedded
newlines/carriage returns in values would truncate the command.

* Parse flags before positionals in set-status, clear-status, set-progress

Fixes flags-first invocation like `cmux set-status --workspace workspace:2
build compiling` which previously grabbed `--workspace` as the key.
Now all flags are extracted first, then positional args are validated.
2026-02-22 16:06:32 -08:00
Lawrence Chen
6d64ca938e
Add Reddit testimonial from u/afruth to wall of love (#314) 2026-02-22 15:37:22 -08:00
Lawrence Chen
34b203db3c
Merge pull request #312 from manaflow-ai/issue-310-cmd-plus-minus-zoom
Fix Cmd +/- browser zoom shortcuts
2026-02-22 15:34:44 -08:00
Lawrence Chen
04073f1fd8 Route terminal Cmd zoom shortcuts to Ghostty 2026-02-22 15:32:43 -08:00
Lawrence Chen
d69bd66588 Fix Cmd +/- browser zoom shortcut matching 2026-02-22 15:13:49 -08:00
Lawrence Chen
1809b06867
Add Nick Schrock testimonial and subtitles to wall of love (#297)
* Add Nick Schrock testimonial and subtitles to wall of love

- Add Nick Schrock (@schrockn, Dagster Labs founder, GraphQL co-creator) testimonial
- Add subtitle field for notable contributors (Mitchell Hashimoto, Nick Schrock)
- Render subtitle in TestimonialCard between name and handle

* Add Nick Schrock profile photo

* Download avatar images to repo instead of hotlinking

* Show subtitle after name in attribution lines
2026-02-22 01:48:29 -08:00
Lawrence Chen
4ca14ea028
Merge pull request #299 from manaflow-ai/issue-296-access-control-modes
Add socket access control modes including password + full open access
2026-02-22 01:42:54 -08:00
Lawrence Chen
c7f10a7c44 Merge remote-tracking branch 'origin/main' into issue-296-access-control-modes 2026-02-22 01:37:45 -08:00
Lawrence Chen
ea87076fe4 Fix CLI exit code on v1 auth errors 2026-02-22 01:37:42 -08:00
Lawrence Chen
61c0cd0165
Merge pull request #300 from manaflow-ai/task-browser-view-open-link-default-browser
Browser View: add right-click open link in default browser
2026-02-22 01:26:53 -08:00
Lawrence Chen
959b5a849f Browser view: add context menu action to open link in default browser 2026-02-22 01:15:58 -08:00
Lawrence Chen
a205028b2e Strengthen socket access integration coverage
Make tests/test_socket_access.py deterministic across environments and add password-mode auth integration checks (v1 and v2).
2026-02-22 01:08:25 -08:00
Lawrence Chen
a168182f54 Merge remote-tracking branch 'origin/main' into issue-296-access-control-modes
# Conflicts:
#	CLI/cmux.swift
2026-02-22 01:01:08 -08:00
Lawrence Chen
18550e5d1f Add expanded socket access modes with password auth
Implements https://github.com/manaflow-ai/cmux/issues/296 with new modes: off, cmuxOnly, automation, password, and allowAll.

Adds keychain-backed password storage, connection-level auth gates (v1 auth + v2 auth.login), settings UX with warning confirmation, CLI --password support, and regression tests.
2026-02-22 00:55:14 -08:00
Lawrence Chen
57efdbd254
Merge pull request #298 from manaflow-ai/task-cmux-version-command
Add cmux --version command with regression test
2026-02-22 00:39:29 -08:00
Lawrence Chen
f184f882c0 Add CLI --version output and regression test 2026-02-22 00:16:01 -08:00
Lawrence Chen
4c733d4e8e
Add Cmd+Q quit warning with suppression toggle (#295) 2026-02-21 21:53:39 -08:00
Austin Wang
8f2a52fbf2
Fix stuck split resize cursor outside divider range (#291)
* Keep split dividers visible in tiny panes

* Fix collapsed split border resize hit-testing

* Stabilize sidebar and split divider resize routing

* Fix split divider resize cursor routing regressions

* Fix stuck split resize cursor outside divider range
2026-02-21 18:19:14 -08:00
Austin Wang
78fe5a9b04
Fix cmux border resize icon disappearing (#284)
* Keep split dividers visible in tiny panes

* Fix collapsed split border resize hit-testing

* Stabilize sidebar and split divider resize routing

* Fix split divider resize cursor routing regressions
2026-02-21 17:57:00 -08:00
Austin Wang
740b4b11e5
Deduplicate branch context lines by directory (#288) 2026-02-21 17:45:52 -08:00
Austin Wang
fb2ae855db
Light mode (#258) 2026-02-21 15:39:25 -08:00
Lawrence Chen
044c9ec3d4
Merge pull request #285 from manaflow-ai/task-22266155945-release-assets-guard-rerun
Make release asset guard idempotent for existing immutable assets
2026-02-21 15:32:34 -08:00
Lawrence Chen
5ac633445f Fail partial release assets and short-circuit reruns 2026-02-21 15:27:24 -08:00
Lawrence Chen
cf1cd096b1 Make release asset guard idempotent 2026-02-21 15:19:10 -08:00
Lawrence Chen
71d087db73
Prepare release v0.60.0 (#283)
Bump version to 0.60.0 (build 72) and add changelog entry
covering all changes since v0.59.0.
2026-02-21 15:09:19 -08:00
Lawrence Chen
19f6f9137e
Sync homepage features with README (#280)
* Sync homepage features with README

Add missing features: Notification panel, In-app browser, Ghostty
compatible. Update existing descriptions to match README (notification
rings, vertical tabs, socket API renamed to Scriptable).

* Shorten notification feature descriptions

* Remove Ghostty compatible from homepage features

* Move Vertical tabs to top of features list

* Remove Notification panel from homepage features

* Shorten Scriptable feature description

* Fix notification rings description: panes only
2026-02-21 06:36:19 -08:00
Lawrence Chen
14603bd9f8
Set community gap to 16px, add dingyi China tweet to blog post (#279)
- Fix community section gap (6px → 16px)
- Add dingyi tweet showing cmux went semi-viral in China
- Change "semi-viral in Japan" to "viral in Japan" + "semi-viral in China"
2026-02-21 06:26:55 -08:00
Lawrence Chen
64bb248f20
Replace blur placeholder with opacity fade-in on hero screenshot (#278) 2026-02-21 06:24:59 -08:00
Lawrence Chen
4f1d120d2e
Fix Show HN blog summary: hit #2, Mitchell Hashimoto, viral in Japan (#277) 2026-02-21 06:19:14 -08:00
Lawrence Chen
be9b994a79
Add homepage wall of love, FAQ, blog post, footer redesign, and SEO improvements
## Summary
- Add Community (testimonials) section to homepage with inline avatars
- Add FAQ section sourced from HN discussion questions
- Add hero screenshot with next/image optimization
- Add Show HN blog post with react-tweet embeds, star history chart, and HN quotes
- Redesign footer with 4-column grid layout (Product, Resources, Legal, Social)
- Add Download/GitHub CTA buttons at bottom of homepage and blog post
- Add dev spacing controls for features, FAQ, and community sections
- Fix hydration error (JSON-LD moved to head)
- SEO: full metadata on blog posts, robots.txt, blog pages in sitemap, canonical URLs
- Replace em dashes site-wide, fix notification descriptions

## Testing
- `bun tsc --noEmit` passes clean
- Dev server verified on port 3001

## Related
- Task: Add wall of love to main web page + landing screenshot
2026-02-21 06:16:38 -08:00
Lawrence Chen
8ac554fb06
Follow up PR 242: refresh browser under-page background on theme updates (#272)
* Address PR 242 follow-ups for titlebar and browser background

* Restore titlebar border per follow-up scope

* Refresh browser under-page color with Ghostty opacity

* Browser: theme blank page fallback for about:blank

* Browser: keep new tabs webview-less until first nav
2026-02-21 05:30:21 -08:00
Lawrence Chen
356a20e97a
Merge pull request #270 from manaflow-ai/task-cli-commands-off-main-thread
Reduce CLI workspace-creation UI lag and add socket timing logs
2026-02-21 05:09:27 -08:00
Lawrence Chen
645c7f76ea Start workspace command process before workspace is opened 2026-02-21 05:06:29 -08:00
Lawrence Chen
9653113920 Queue workspace command input before surface attach 2026-02-21 04:57:46 -08:00
Lawrence Chen
ed0d246039
Slim browser omnibar and add button hover/press states (#271) 2026-02-21 04:39:27 -08:00
Lawrence Chen
a1e05fab84 Improve CLI workspace command responsiveness 2026-02-21 04:37:32 -08:00
Lawrence Chen
685996ef0d
Remove border below titlebar (#242)
* Remove border below titlebar

Remove the 1px separator line overlay at the bottom of the custom
titlebar and its associated fakeTitlebarSeparatorColor computed property.

* Remove tab hover background in bonsplit

Update bonsplit submodule to remove the background fill on hovered
non-selected tabs.

* Restore titlebar border with system separator color, hover bg on all tabs, browser theme bg

- Add back 1px bottom border on titlebar using NSColor.separatorColor
  (matches bonsplit tab separator color)
- Tab hover background now applies to all tabs including the selected one
- Browser address bar and under-page background now use Ghostty theme
  background color instead of window background
2026-02-21 04:31:55 -08:00
Lawrence Chen
63d3fc5949
Handle child-exit close for last-terminal workspaces (#254) 2026-02-21 04:31:23 -08:00
Lawrence Chen
ff11ba0309
Enable Claude Code integration by default (#247) 2026-02-21 04:31:00 -08:00
Lawrence Chen
75dec40335
Add app version/build properties to PostHog DAU events (#256) 2026-02-21 04:30:52 -08:00
Lawrence Chen
9c48d18666
Add wall of love page (#243)
* Add wall of love page with community testimonials

New /wall-of-love route showcasing quotes from X and Hacker News,
featuring Mitchell Hashimoto, Oliver Kriška, Joe Riddle, Marc,
johnthedebs, and dchu17. Masonry card layout with profile pics
and platform badges.

* Use YC logo for Hacker News testimonials
2026-02-21 04:25:00 -08:00
Lawrence Chen
3d2ac239b2 chore: update release skill metadata 2026-02-21 04:21:11 -08:00
Lawrence Chen
6a0b708ea1
Merge pull request #269 from manaflow-ai/feat-release-immutable-guards
release: enforce immutable signed assets per tag
2026-02-21 04:14:27 -08:00
Lawrence Chen
bb0cab6e62
Merge pull request #268 from manaflow-ai/feat-nightly-immutable-assets
nightly: make appcast point to immutable DMG artifacts
2026-02-21 04:14:21 -08:00
Lawrence Chen
a5b1039fbc release: block accidental overwrite of signed assets 2026-02-21 04:07:00 -08:00
Lawrence Chen
5e1d458505 nightly: publish immutable DMG assets for appcast 2026-02-21 04:02:51 -08:00
Lawrence Chen
89953f387b
Merge pull request #267 from manaflow-ai/hotfix-reopen-browser-stale-focus
Fix intermittent Cmd+Shift+T stale-focus override
2026-02-21 03:31:32 -08:00
Lawrence Chen
fb24e3e780
Merge pull request #266 from manaflow-ai/issue-265-ime-preedit-bottom
Fix IME preedit anchor rect sizing for macOS firstRect
2026-02-21 03:21:08 -08:00
Lawrence Chen
55c7420b34 Harden Cmd+Shift+T focus against deferred stale callbacks 2026-02-21 03:19:43 -08:00