Commit graph

76 commits

Author SHA1 Message Date
Austin Wang
3cf1d2501f
Merge pull request #465 from manaflow-ai/cmux/terminal-persist-issue
Fix Cmd+W close for terminal+browser split (issue #464)
2026-02-24 21:59:37 -08:00
austinpower1258
17d8956789 Fix Cmd+W terminal close in terminal+browser split 2026-02-24 21:54:25 -08:00
Lawrence Chen
b84c0539c9 browser: reuse top-right pane for sidebar PR opens 2026-02-24 21:36:10 -08:00
Lawrence Chen
84d07931a5 sidebar: dedupe PR rows by normalized URL identity 2026-02-24 21:24:49 -08:00
Lawrence Chen
f28eb00b31 Merge remote-tracking branch 'origin/main' into feature/sidebar-pr-metadata
# Conflicts:
#	Sources/ContentView.swift
#	Sources/Workspace.swift
2026-02-24 20:49:29 -08:00
Lawrence Chen
513e9aa607 feat(sidebar): add markdown blocks, provider labels, and fine-grained toggles 2026-02-24 20:38:07 -08:00
Lawrence Chen
f2ecb4877b feat(sidebar): add generic metadata rows and commands 2026-02-24 20:19:38 -08:00
Austin Wang
32b17e8926
Merge pull request #451 from manaflow-ai/cmux/terminal-render-z-order
Fix terminal blanking after full-surface horizontal tab drop
2026-02-24 16:03:41 -08:00
Lawrence Chen
2877531ea2
Auto-focus omnibar when focusing blank browser surfaces (#448)
* Auto-focus omnibar when focusing blank browser surfaces

* Fix browser omnibar autofocus across pane and palette paths

* Fix Cmd+P switcher omnibar autofocus timing
2026-02-24 16:00:03 -08:00
austinpower1258
f33d65f986 Fix terminal blanking after full-surface tab drops 2026-02-24 16:00:00 -08:00
Lawrence Chen
e8477131c1 Merge origin/main into issue-143-session-persistence 2026-02-24 14:41:27 -08:00
Lawrence Chen
6505f0c504 Fix tab drag blank state and preserve non-custom titles across window drops 2026-02-24 14:36:12 -08:00
Lawrence Chen
6c6f363e4b Guard terminal onFocus from re-entrant focus loops 2026-02-24 14:35:10 -08:00
Lawrence Chen
06adb6228c Add drag transfer timing logs for bonsplit tabs 2026-02-24 14:35:10 -08:00
Lawrence Chen
bcd024d8f8 Keep focus on destination after cross-window surface move 2026-02-24 14:35:09 -08:00
Lawrence Chen
58376c3fbc Handle moving the last surface out of a window 2026-02-24 14:35:09 -08:00
Lawrence Chen
ce681bac67 Implement cross-window tab and workspace move UI 2026-02-24 14:35:09 -08:00
Lawrence Chen
06cd25ed52 Fix session restore routing and browser history persistence 2026-02-24 14:34:55 -08:00
austinpower1258
98cf07ce2a Stabilize terminal render recovery after split topology churn 2026-02-24 14:20:14 -08:00
Lawrence Chen
cd03073240 Fix tab drag blank state and preserve non-custom titles across window drops 2026-02-23 23:57:09 -08:00
Lawrence Chen
fb1802a54d Guard terminal onFocus from re-entrant focus loops 2026-02-23 20:20:55 -08:00
Lawrence Chen
a97e0edea8 Add drag transfer timing logs for bonsplit tabs 2026-02-23 20:05:12 -08:00
Lawrence Chen
a90e0a739e Keep focus on destination after cross-window surface move 2026-02-23 19:50:09 -08:00
Lawrence Chen
d8022db404 Handle moving the last surface out of a window 2026-02-23 19:48:54 -08:00
Lawrence Chen
b57087f796 Implement cross-window tab and workspace move UI 2026-02-23 19:48:54 -08:00
Lawrence Chen
78d1a43733 Persist workspace tab colors across session restore 2026-02-23 19:27:32 -08:00
Lawrence Chen
6eeca9c5da Merge remote-tracking branch 'origin/main' into pr-317-session-persistence
# Conflicts:
#	Sources/AppDelegate.swift
#	Sources/cmuxApp.swift
2026-02-23 14:58:16 -08:00
Austin Wang
6598a38fe3
Fix terminal zoom inheritance for new splits/surfaces/workspaces (#384)
* Fix terminal Cmd zoom routing for Ghostty focus descendants (#383)

* Inherit new terminal zoom from last terminal context

Prefer pane-selected terminal as Ghostty config inheritance source when creating splits/new terminals, then focused/fallback terminals. This preserves runtime zoom/font size when opening the next terminal.

* Fix terminal zoom inheritance across split/tab/workspace creation
2026-02-23 11:26:11 -08:00
Lawrence Chen
4fb5da373d
Merge pull request #345 from manaflow-ai/feat-theme-switch-frame-sync
Keep chrome/theme updates in lockstep on theme switch
2026-02-23 02:46:08 -08:00
Lawrence Chen
eb1f0bdd43 Unify theme refresh path across workspace and titlebar 2026-02-23 02:44:28 -08:00
Lawrence Chen
a3f3e20d72 Unify Cmd+Shift+H flash path across panel types 2026-02-23 02:31:22 -08:00
Lawrence Chen
8f68ddb947 Add filesystem logs for theme resolution flow 2026-02-23 00:14:10 -08:00
Lawrence Chen
e90b45f75e Match bonsplit chrome to Ghostty theme 2026-02-22 23:48:13 -08:00
Lawrence Chen
0e2ac79e06
Merge pull request #340 from manaflow-ai/feat-bonsplit-border-colors
Match bonsplit split/tab borders and remove active-tab bottom line
2026-02-22 20:13:12 -08:00
Lawrence Chen
d31cbb7123 Use gray separator borders and drop active-tab bottom border 2026-02-22 20:01:37 -08:00
Lawrence Chen
283b898307 Match bonsplit border styling to Ghostty split divider color 2026-02-22 19:57:46 -08:00
Lawrence Chen
6f44f17f33 Fix follow-up PR331 settings and split focus regressions 2026-02-22 19:55:06 -08:00
Lawrence Chen
0dbe95b797 Reassert non-focus split focus after delayed callbacks 2026-02-22 19:04:57 -08:00
Lawrence Chen
4ee6640e35 Preserve terminal focus for non-focus split opens 2026-02-22 18:50:01 -08:00
Vadim Kostin
2d454df50f feat(sidebar): show linked pull request metadata 2026-02-23 10:45:36 +08:00
Lawrence Chen
0105b6256a
Add workspace tab color schemes and debug scheme toggle (#324)
* Add tab color feature to sidebar workspaces

Lets users assign a custom background color to any sidebar workspace tab
via a right-click "Tab Color" submenu. The primary motivation is working
across multiple projects simultaneously — coloring tabs by project makes
it instant to visually locate the right workspace without reading the title.

- Workspace: adds `customColor: String?` (@Published hex string) and
  `setCustomColor()` setter
- TabManager: adds `setTabColor(tabId:color:)` convenience method
- ContentView: 16-color dark palette (all luminance < 0.30, white text
  always readable), `Color(hex:)` extension, `coloredCircleImage(hex:)`
  helper to render bitmapped NSImage circles (needed because macOS menus
  strip SwiftUI foregroundColor from SF Symbols), updated `backgroundColor`
  to use custom color at full/70%/35% opacity for active/inactive/
  multi-selected states, "Tab Color" submenu in context menu with
  "Clear Color" option, and a 1.5pt `Color.primary` border overlay on
  the active tab for clear selection indication when custom colors are set

* Add workspace tab color schemes with settings and debug toggles

* Remove Kelly scheme and keep only original tab color palette

* Preserve neutral grayscale when brightening tab colors

* Harden UpdatePill UI test polling timeouts

---------

Co-authored-by: Andreas Fruth <andreas.fruth@gmail.com>
2026-02-22 17:30:30 -08:00
Lawrence Chen
927b0eb2d1 Implement session persistence pass 1 with multi-window restore 2026-02-22 15:39:59 -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
a1e05fab84 Improve CLI workspace command responsiveness 2026-02-21 04:37:32 -08:00
Lawrence Chen
1dcb11fc54 Handle unknown Bonsplit tab context actions 2026-02-21 03:11:40 -08:00
Lawrence Chen
e9f25ef67f Merge origin/main and resolve reopen-focus conflicts 2026-02-21 03:08:14 -08:00
Lawrence Chen
4cbdd999d8 Socket CLI: prevent focus stealing + add rename-tab and focus regressions 2026-02-21 02:21:27 -08:00
Lawrence Chen
e74f67d369 Merge remote-tracking branch 'origin/main' into issue-230-cli-unix-socket-lag
# Conflicts:
#	Sources/TerminalController.swift
2026-02-21 01:39:04 -08:00
Lawrence Chen
a2c39802d1 Merge origin/main into feat-sidebar-branch-refresh-on-close 2026-02-20 23:36:11 -08:00