Commit graph

1124 commits

Author SHA1 Message Date
atani
cee109bab0 docs: clarify CJK font fallback comment with environment-dependent behavior
The fallback issue is caused by CTFontCollection scoring prioritizing
monospace fonts, not just CTFontCreateForString. The selected decorative
font varies by environment (e.g. AB_appare from Adobe CC, or LingWai).
2026-03-08 23:03:38 +09:00
austinpower1258
52bd8cf16a Keep browser webviews alive during drag reparenting 2026-03-08 03:04:12 -07:00
austinpower1258
a40c5af4b5 Merge branch 'main' of https://github.com/manaflow-ai/cmux into issue-968-browser-blank-after-drag-rearrange 2026-03-08 01:50:28 -08:00
cmux
7fc71fc7cc Merge remote-tracking branch 'origin/main' into fix-popover-arrow 2026-03-07 18:52:16 -08:00
cmux
0080ee791b Tighten help popover sizing 2026-03-07 18:51:46 -08:00
austinpower1258
58f1f34466 Fix browser reattach after pane reparenting 2026-03-07 18:49:42 -08:00
austinpower1258
e4d8002116 Rebind terminal portal when host entry goes missing 2026-03-07 11:36:58 -08:00
Austin Wang
0c11bc17cd
Merge pull request #1043 from manaflow-ai/issue-1036-tooltip-tracking-area-crash
Fix tooltip tracking lifetime and shortcut lag
2026-03-07 03:05:48 -08:00
Lawrence Chen
e680f1de55
Add DEBUG logging for browser omnibar/content focus handoff (#910)
* Add browser focus debug logging around omnibar/content handoff

* Avoid release-only unused-value warnings in focus debug logs

* Add omnibar focus writer trace logs

* Fix omnibar tap focus race

* Stabilize omnibar focus state transitions

* Propagate event context into responder guard

* Fix webview pointer hit testing in focus guard

* Stop omnibar reacquire on pointer blur intent

* Blur omnibar on webview click intent

* Preserve pointer intent through webview focus handoff

* Restore page input focus after omnibar escape

* Fix omnibar escape focus handoff and restore retry

* Track editable focus for omnibar restore and improve test diagnostics

* Add omnibar focus tracker telemetry to failing UI test

* Wait for page readiness before seeding focused input in UI test setup

* Strengthen omnibar escape focus regression with post-click assertion

* Use deterministic window offsets for post-escape web input click test

* Always enforce webview responder on omnibar escape

* Harden omnibar focus restore and address PR review feedback

---------

Co-authored-by: tiffanysun1 <tiffanysun8@gmail.com>
2026-03-07 03:05:13 -08:00
austinpower1258
01e9a05817 Merge remote-tracking branch 'origin/main' into issue-1036-tooltip-tracking-area-crash
# Conflicts:
#	Sources/ContentView.swift
2026-03-07 02:53:20 -08:00
Lawrence Chen
3432a4a941
Make missing markdown path selectable (#1042)
Co-authored-by: cmux <cmux@cmuxs-Mac-mini.local>
2026-03-07 02:15:55 -08:00
austinpower1258
9e8a401e3c Fix tooltip tracking lifetime and shortcut lag 2026-03-07 01:46:02 -08:00
Lawrence Chen
e7c3961489
Revert "Add workspace pages in the titlebar (#1030)" (#1040)
This reverts commit 4de975e6a4.
2026-03-07 00:05:58 -08:00
Lawrence Chen
4de975e6a4
Add workspace pages in the titlebar (#1030)
* Add workspace pages in the titlebar

* Add workspace pages UI test target entry

* Relax workspace pages UI test titlebar checks

* Use page close button in workspace pages UI test

* Stabilize workspace pages UI test interruptions

* Skip page close confirms in UI tests

* Clean up superseded workspace handoffs

* Tighten page hint UI assertions

---------

Co-authored-by: cmux <cmux@cmuxs-Mac-mini.local>
2026-03-06 21:23:11 -08:00
austinpower1258
72c0f564c8 works 2026-03-06 18:24:20 -08:00
Austin Wang
0e7c69521f
Merge pull request #1026 from manaflow-ai/issue-1024-terminal-drag-glitch
Fix drag hover redraw churn in hosted panes
2026-03-06 16:39:02 -08:00
Lawrence Chen
af2e5b2691
Merge pull request #989 from manaflow-ai/issue-668-command-palette-search-speed
Improve command palette search performance
2026-03-06 15:54:52 -08:00
Lawrence Chen
60b290cafc Fix palette refresh review follow-ups 2026-03-06 15:53:44 -08:00
Lawrence Chen
cc42ea434f Fix palette pending refresh selection and preview work 2026-03-06 15:51:28 -08:00
austinpower1258
d43d7d6a51 Fix drag hover redraw churn in hosted panes 2026-03-06 15:47:11 -08:00
Lawrence Chen
a6329d79ad
Fix titlebar controls clipped at bottom edge (#1016)
The NSTitlebarAccessoryViewController constrains the accessory view
height to the titlebar, which can be slightly shorter than the button
frames (especially with softButtons style). Disable masksToBounds on
the container view so the rounded-rectangle button backgrounds render
fully instead of being cut off at the bottom.
2026-03-06 15:36:51 -08:00
Lawrence Chen
03e1fcf6c5 Generalize command word fuzzy matching to one edit 2026-03-06 15:36:32 -08:00
Lawrence Chen
15080c931a Support omitted-character command word matches 2026-03-06 15:21:53 -08:00
cmux
ffa74d641c Hide help menu popover arrow
Replace the SwiftUI .popover with an NSPopover presented via
NSViewRepresentable that uses the shouldHideAnchor KVC trick to
hide the arrow. The positioning rect is shifted toward the
preferred edge to compensate for the hidden arrow's space.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 13:59:04 -08:00
atani
7236ba8d8a fix: strip trailing '?' before removing quotes in include path parsing
Reorder the trimming so that the optional include marker '?' is removed
before surrounding quotes are stripped. This prevents quoted paths like
"foo"? from being misparsed as foo".
2026-03-07 01:19:44 +09:00
atani
23202990df fix: scan app-support config paths for existing font-codepoint-map
Include ~/Library/Application Support/<bundle-id>/config(.ghostty)
paths in the codepoint-map detection scan. This ensures that
font-codepoint-map entries in the release app-support config (loaded
by loadReleaseAppSupportGhosttyConfigIfNeeded for debug builds) are
detected before injecting CJK font fallback defaults.
2026-03-07 01:08:51 +09:00
atani
a0ba82f8be fix: harden config-file include scanning
- Add cycle detection via visited path set to prevent infinite recursion
  on cyclic config-file includes.
- Resolve relative include paths against the parent directory of the
  including config file.
- Strip trailing '?' from optional include paths (Ghostty convention).
- Use UUID-based path for missing file test.
- Add tests for relative includes, optional includes, and cyclic includes.
2026-03-06 23:28:59 +09:00
atani
12e91aa4fe fix: address review feedback for CJK font fallback
- Split Unicode ranges by language to avoid mapping Hangul to Hiragino
  Sans or Kana to Apple SD Gothic Neo. Shared CJK ranges (ideographs,
  symbols, fullwidth forms) use the first CJK language's font, while
  script-specific ranges (Kana, Hangul) only map to their own font.
- Use UUID-based temp file path to prevent race conditions on concurrent
  launches.
- Move fallback injection after ghostty_config_load_recursive_files so
  that config-file includes are already loaded when checking for
  existing font-codepoint-map entries.
- Follow config-file directives when scanning for existing
  font-codepoint-map entries.
- Extract test helper withTempConfig to reduce duplication.
- Add tests for multi-language mappings and config-file includes.
- Replace placeholder issue URL with actual PR link.
2026-03-06 23:16:15 +09:00
atani
f5c2f2dd75 fix: add CJK font fallback to prevent decorative font rendering
On macOS, Core Text's CTFontCreateForString may pick an inappropriate
fallback font (e.g. LingWai, a decorative calligraphic font) for CJK
characters when the primary font (e.g. Menlo) does not cover them.

This adds automatic CJK font fallback based on the system's preferred
language:
- ja → Hiragino Sans
- ko → Apple SD Gothic Neo
- zh-Hant/zh-TW/zh-HK → PingFang TC
- zh → PingFang SC

The fallback is only applied when:
1. The user has not set any font-codepoint-map in their Ghostty config
2. A CJK language is detected in the system's preferred languages

This ensures CJK text renders with appropriate system fonts instead of
relying on Core Text's unpredictable fallback chain.
2026-03-06 22:52:26 +09:00
Lawrence Chen
def9310e7e Fix command preview search for new queries 2026-03-06 04:28:40 -08:00
Lawrence Chen
fdf2212c88 Add regression test for command preview corpus 2026-03-06 04:28:18 -08:00
Lawrence Chen
23910dea9a Reduce command palette typing lag 2026-03-06 04:13:30 -08:00
Lawrence Chen
5279e005f9 Fix stale command palette preview results 2026-03-06 03:59:41 -08:00
Lawrence Chen
b268b2fc8f Fix command palette async search review issues 2026-03-06 03:42:37 -08:00
Lawrence Chen
2c2da79138 Merge origin/main into issue-668-command-palette-search-speed 2026-03-06 03:36:39 -08:00
Lawrence Chen
6a319bec8c
Move update logs into Debug menu (#1008)
Move "Copy Update Logs" and "Copy Focus Logs" from a standalone
top-level "Update Logs" menu into the existing Debug menu. Remove
the now-unused menu.updateLogs.title localization key.

Co-authored-by: cmux <cmux@cmuxs-Mac-mini.local>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 01:03:38 -08:00
Lawrence Chen
661cb99da6 Tighten command palette search cache keys 2026-03-06 01:01:18 -08:00
Lawrence Chen
d8ffb3eedb
Merge pull request #932 from manaflow-ai/issue-922-notify-steals-window-focus
Fix cmux notify focus steal regression
2026-03-06 00:51:47 -08:00
Austin Wang
0588aec593
Revert "ok (#717)"
This reverts commit a3681ede5b.
2026-03-06 00:19:28 -08:00
Austin Wang
0f14fc0cd1
Merge pull request #995 from manaflow-ai/issue-969-browser-drag-top-drop-targets
Fix browser portal anchor churn during pane drag
2026-03-06 00:18:18 -08:00
Austin Wang
380fc081f5
Merge pull request #987 from manaflow-ai/issue-915-terminal-not-loaded
Refresh background workspace git metadata after external checkout
2026-03-05 23:14:12 -08:00
austinpower1258
0285cd1f51 Address PR review feedback 2026-03-05 23:09:45 -08:00
Lawrence Chen
5041796eb2
Polish feedback help menu copy (#1003) 2026-03-05 22:58:49 -08:00
Lawrence Chen
6993c8ceef Allow notify_target across windows 2026-03-05 22:53:37 -08:00
Lawrence Chen
ae4781ef66 Prepare notify regression source terminal in app setup 2026-03-05 22:39:26 -08:00
Lawrence Chen
e04787789e
Fix markdown panel text click focus (#991)
* Add markdown click regression test

* Fix markdown panel click focus

* Preserve markdown text selection

* Make markdown observer tests deterministic
2026-03-05 22:38:10 -08:00
austinpower1258
3874cac08e Merge origin/main into issue-969-browser-drag-top-drop-targets 2026-03-05 22:36:33 -08:00
austinpower1258
6d95044355 Hide stale browser portals during workspace handoff 2026-03-05 22:32:16 -08:00
Lawrence Chen
46e810fef2
Move rectApproximatelyEqual out of #if DEBUG in HostContainerView (#1000)
The function was defined inside a #if DEBUG block but called from
non-DEBUG code, breaking Release builds (nightly CI).
2026-03-05 22:18:48 -08:00
Lawrence Chen
5f82a1ae2a Run notify regression through a real terminal 2026-03-05 22:18:14 -08:00