You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Menu Bar Speed Indicator No Longer Shakes — The upload/download speed text now redraws inside a stable menu bar item width instead of resizing the whole status item whenever the number of digits changes, so nearby menu bar icons no longer jump when speeds cross values like 9.xx → 10.xx. (#122)
Enhanced Mode Restore Is More Reliable After Restart — When ClashFX launches with Enhanced Mode previously enabled, it now retries the restore flow for up to about one minute while the privileged helper and external core come online. This avoids giving up after a single early attempt during app or macOS startup. (#123)
Contributors
@pengtalk — Reported the menu bar speed indicator width jitter (#122)
@pengtalk — Reported Enhanced Mode not reliably restoring after restart (#123)
Enhanced Mode Now Respects Your tun.stack Setting — The generated .enhanced_config.yaml previously hardcoded stack: mixed, silently overriding a user-configured tun.stack. If your config set system (or gvisor), the dashboard showed mixed and reverting it never stuck. ClashFX now reads tun.stack from your source config, validates it against system/gvisor/mixed (case-insensitive), and only falls back to mixed when it is unset or invalid. Both the embedded and external core paths use the same resolved value so they never diverge. (#115)
Dashboard Theme & Column Settings Now Persist — In Enhanced Mode the external controller was assigned a random port on every launch, so the Yacd dashboard origin (127.0.0.1:PORT) changed each time and its per-origin localStorage (theme, custom columns) appeared to reset. ClashFX now pins a stable controller port (19090) and only falls back to a random free port if that port is already taken, keeping the dashboard origin — and your saved preferences — stable across launches. (#115)
Enhanced Mode Startup Is More Resilient — Enabling Enhanced Mode now automatically retries once when the external core fails to bind (e.g. a transient port race or a leftover mihomo_core process holding the controller port). Each retry regenerates the config with a fresh port instead of failing outright, so toggling Enhanced Mode on is far less likely to error out and require a manual retry.
Reopening ClashFX Reveals the Menu Bar Icon — When ClashFX is already running and you launch it again from Finder, Spotlight, Launchpad, or the Dock, it now pops open the menu bar menu so you can locate the icon — helpful when the menu bar is crowded and the icon is hidden. Thanks @hangox for the suggestion. (#114)
Contributors
@hangox — Suggestion to reveal the menu bar item when reopening an already-running app (#114)