Skip to content

Releases

Release v2.4.3

Choose a tag to compare

@github-actions github-actions released this 11 Nov 13:08

[2.4.3] - 2026-11-11

Changed

  • Automatically bumped dependencies to SSH2Kit version 1.3.31 and MactermKit version 1.0.34.


变更

  • 自动更新依赖项 SSH2Kit 至版本 1.3.31,MactermKit 至版本 1.0.34。

Release v2.4.2

Choose a tag to compare

@github-actions github-actions released this 07 Nov 12:02

[2.4.2] - 2026-11-07

Changed

  • Automatically bumped dependencies to SSH2Kit version 1.3.30 and MactermKit version 1.0.34.


变更

  • 自动更新依赖项 SSH2Kit 至版本 1.3.30,MactermKit 至版本 1.0.34。

Release v2.4.1

Choose a tag to compare

@github-actions github-actions released this 29 Oct 18:16

[2.4.1] - 2026-10-29

Changed

  • Automatically bumped dependencies to SSH2Kit version 1.3.29 and MactermKit version 1.0.34.


变更

  • 自动更新依赖项 SSH2Kit 至版本 1.3.29,MactermKit 至版本 1.0.34。

Release v2.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 20:12
357d5b6

Added

  • Program Status Protocol (OSC 7501 & ConEmu OSC 9;4):
    • Added native multi-instance program status tracking (TerminalProgramStatusStore) conforming to the OSC 7501 specification.
    • Interactive status badges in sidebar host rows, local terminal rows, and title bar session tabs displaying real-time task state (blocked, error, working, done).
    • Intelligent status inheritance resolving application identities from hierarchical URI paths (build/step1 -> build).
    • Native Toast alerts triggered when long-running background tasks or AI coding agents require human input (needs input) or encounter errors.
    • Interactive status bar item with OSC 8 hover link previews and program state summaries.
  • Ghostty 1.4.0 Terminal Engine Upgrade:
    • Upgraded core terminal emulation to Ghostty v1.4.0 (via MactermKit v1.0.32) with Zig 0.17 build pipeline.
    • Enabled lossless scrollback-compression for minimal memory footprint during heavy terminal throughput.
    • Mode 2031 color scheme synchronization ensuring instant runtime terminal palette parity with macOS appearance.
    • Kitty Clipboard Protocol (OSC 5522) rich paste listing, MIME content reading (text/plain, text/html, image/png), and multi-format clipboard writes.
    • Direct foreground process resolution via foregroundProcessID, accelerating status bar process detection to sub-millisecond execution without tree walks.
  • Background Tab GPU Resource Release (setOccluded):
    • Automatically triggers setOccluded(true) on inactive or occluded terminal tabs, freeing Metal textures and GPU framebuffers.
    • Restores active GPU rendering in under 1ms upon tab selection (setOccluded(false)).

Security

  • LaunchServices & URL Scheme Hardening (GHOSTTY_ACTION_OPEN_URL):
    • Always intercepts URL actions to prevent fallback to unsafe OS openers.
    • Strict scheme whitelist (http, https, mailto), stripping control characters and blocking URLs with embedded credentials.
    • Restricted file:// URLs exclusively to auto-detected plain-text links, opening with the system default text editor rather than generic execution handlers.
  • Multi-MIME Clipboard Write Isolation & 16 MiB Size Bounds:
    • Isolated text/html from general text writes, bounded individual clipboard payloads to 16 MiB, and enforced strict confirmation gating before modifying pasteboards.
  • OSC 7501 DoS Mitigation & Rate Limiting:
    • Capped active status table size to 64 records with automatic eviction of idle and done states.
    • Sanitized all inbound strings against ASCII control characters and enforced a 1.5-second cooldown on Toast notifications to prevent alert storms.

Chinese

新增

  • 程序状态协议支持(OSC 7501 & ConEmu OSC 9;4):
    • 原生支持 OSC 7501 多实例程序状态协议(TerminalProgramStatusStore),实时追踪命令与 AI 代理运行状态。
    • 侧边栏主机行、本地标签页行及顶栏会话标签栏中集成动态状态徽章,直观展示 blocked(等待输入)、error(错误)、working(运行中)与 done(完成)。
    • 智能 URI 路径继承,自动从分层路径中推导所属应用(如 deploy/test 继承 deploy)。
    • 原生 Toast 提醒:当 CLI 工具或 AI 编码代理阻断需要输入或报错时,自动弹出轻量 HUD 提示。
    • 底部状态栏集成 OSC 8 悬浮超链接实时预览与程序状态摘要。
  • Ghostty 1.4.0 终端引擎全面升级:
    • 升级至 Ghostty v1.4.0 渲染核心(MactermKit v1.0.32,基于 Zig 0.17 构建管线)。
    • 开启无损滚动缓冲压缩(scrollback-compression),高频日志输出下显存占用显著下降。
    • Mode 2031 外观配色同步机制,深浅色外观热切换瞬间生效。
    • 完整支持 Kitty 剪贴板协议(OSC 5522),支持富文本列表查询、多 MIME 内容读取(text/plain、text/html、image/png)与写入。
    • 接入 foregroundProcessID 原生内省接口,状态栏前台进程获取进入亚毫秒时代,无需遍历系统进程树。
  • 后台标签页 GPU 显存自动释放 (setOccluded):
    • 离开标签页或切入后台时自动触发 setOccluded(true),释放 Metal 纹理与帧缓冲区。
    • 切换回活跃终端时 1ms 内瞬时恢复渲染(setOccluded(false))。

安全加固

  • URL 跳转安全加固与 LaunchServices 隔离 (GHOSTTY_ACTION_OPEN_URL):
    • 全面拦截 URL 操作,禁止回退至非安全底层系统执行器。
    • 严格限制合法 Scheme(http、https、mailto),剔除控制字符并禁止嵌入凭证的恶意 URL。
    • 严格限制 file:// 仅在纯文本检测下以系统默认文本编辑器安全打开,杜绝二进制与脚本被 LaunchServices 意外执行。
  • 多 MIME 剪贴板写入物理隔离与 16 MiB 尺寸限制:
    • 修复 text/html 与纯文本识别混叠,单项剪贴板尺寸硬性限制为 16 MiB,并对确认模式下的富文本写入施加严格拦截。
  • OSC 7501 DoS 防御与 Toast 频率限制:
    • 状态字典硬性上限为 64 项并自动修剪空闲与完成记录,防止内存溢出。
    • 全面清洗控制字符,对 Toast 提醒施加 1.5 秒冷却时间,防止恶意脚本产生弹窗风暴。

Release v2.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 07:08
5b8e90d

Added

  • Client–Daemon Persistent Terminal Architecture (macsshd):

    • Decoupled local terminal execution from the GUI lifecycle: introduced macsshd, an on-demand background helper daemon that manages native POSIX pseudo-terminals (forkpty + execve) and holds session states independently of MacSSH.app.
    • Zero-Interrupt Detach & Reattach: Quitting MacSSH (Cmd+Q) or relaunching for Sparkle updates now performs a non-destructive detach. Running build jobs, development servers (npm run dev, cargo watch), Docker tasks, and REPLs continue executing uninterrupted in the background.
    • 256 KiB Raw VT Replay Ring Buffer: Maintained in memory for every active session. When MacSSH relaunches or reattaches to an existing session, the raw VT output stream is replayed directly into Ghostty's parser to instantly reconstruct screen content, ANSI palettes, and scrollback, paired with redrawForeground() (kill(-pgrp, SIGWINCH)) to force TUI applications (Vim, Htop, Claude Code, etc.) to refresh immediately.
    • Anti-Truncation Paste Queue: Added pendingInput buffered dispatch writes (DispatchSourceWrite) to prevent chunked bracketed pastes from being dropped when XNU kernel PTY input queues (TTYHOG ~1022 bytes) return EAGAIN.
    • Asynchronous Child Reaping: Implemented non-blocking waitpid(pid, &status, WNOHANG) polling on a dedicated dispatch queue to eliminate control queue freezes during process termination.
    • On-Demand Lifecycle & Security: Communicates over a private Unix domain socket (~/Library/Application Support/MacSSH/run/macsshd.sock, mode 0600, directory 0700) with peer UID verification (getpeereid). Automatically spawns in a detached process session (POSIX_SPAWN_SETSID) on demand, and gracefully shuts down after 30 seconds of idle time only when no sessions exist and no clients are connected.
  • Native Command-Line Interface & PTY Bridge (macssh / macssh-cli):

    • Embedded macssh-cli binary inside MacSSH.app/Contents/MacOS/, with one-click symlink installation to /usr/local/bin/macssh (or ~/.local/bin/macssh) available in Settings → Terminal.
    • macssh list (ls): Displays all active and detached sessions with ID, name, foreground process, PID, dimensions, state, and current working directory.
    • macssh capture <target> [--full] [--last]: Headless VT screen capture engine (ScreenRenderer) parsing raw VT streams into clean plaintext screens, full scrollback, or last command output (via OSC 133 semantic marks) without requiring a GUI window.
    • macssh send <target> (text <string> | key <name>)...: Injects text or keys into live sessions using standard tmux send-keys vocabulary (Enter, Escape, Tab, Up/Down/Left/Right, Home/End, PgUp/PgDn, F1-F12, C-<key>, M-<key>).
    • macssh new [--name <title>] [--cwd <dir>] [-- <command> [args...]]: Programmatically starts a persistent background session that can be viewed or attached from both CLI and MacSSH GUI.
    • macssh kill <target> & macssh detach <target>: Terminates or detaches live sessions from the command line.
    • macssh status & macssh ssh <host>: Inspects daemon health or opens/focuses SSH connections in MacSSH.
    • Transparent PTY Bridge (bridge): Spawns inside GhosttySurfaceView in cfmakeraw mode to seamlessly stream I/O and forward SIGWINCH resize events to macsshd while maintaining 100% compatibility with Ghostty Metal rendering, Nerd Fonts, and CJK IME.
  • Background Sessions Management & GUI Integration:

    • Added "Background Sessions" toolbar menu in local terminal views showing detached session counts, running processes, and working directories with one-click "Reattach" and "Terminate" controls.
    • Added "Detach Tab to Background" (Cmd+Shift+D) shortcut in Session menu and tab context menus to hide busy tabs without killing their jobs.
    • Transparent process telemetry in status bar: LocalProcessMonitor penetrates the PTY bridge to report real underlying foreground processes (zsh, vim, cargo) alongside a persistent session shield indicator.
    • Added dedicated "Terminal Helper & CLI" section in Settings → Terminal with live daemon status monitoring and one-click CLI tool installation.

Chinese

新增

  • Client–Daemon 架构常驻终端助手守护进程 (macsshd):

    • 本地终端执行与 GUI 生命周期彻底解耦:引入后台终端助手守护进程 macsshd,由其直接持有并管理原生 POSIX 伪终端(forkpty + execve),使终端会话独立于 MacSSH.app 运行。
    • 零中断挂起与无损恢复 (Detach & Reattach):用户退出 MacSSH (Cmd+Q) 或通过 Sparkle 自动更新重启时仅执行无损解绑;正在运行的开发服务器 (npm run dev、cargo watch)、长时间编译打包、Docker 构建及交互式脚本在后台保持无中断运行。
    • 256 KiB 原始 VT 环形回放缓冲区:为每个活跃会话维护内存回放队列。重新启动 MacSSH 或重新附着会话时,原始 VT 字节流瞬间重灌入 Ghostty 解析器恢复色彩、屏幕布局与历史滚动行,并触发 redrawForeground() (kill(-pgrp, SIGWINCH)) 强制 TUI 程序(Vim、Htop、Claude Code 等)即时刷新全屏。
    • 防粘贴截断输入队列:加入 pendingInput 缓冲式派发写入 (DispatchSourceWrite),彻底解决批量文本与 Bracketed Paste 在 macOS XNU 内核 PTY 队列 (TTYHOG 约 1022 字节) 满载返回 EAGAIN 时导致丢字的问题。
    • 非阻塞式子进程回收:在专用派发队列上使用 waitpid(pid, &status, WNOHANG) 轮询回收退出进程,彻底杜绝主控制队列与监听套接字卡死。
    • 按需无感生命周期与安全机制:基于专属 Unix Domain Socket (~/Library/Application Support/MacSSH/run/macsshd.sock,权限 0600,目录 0700) 与对端 UID 校验 (getpeereid) 通信。按需以独立会话组 (POSIX_SPAWN_SETSID) 静默拉起,并在无会话且无连接满 30 秒后自动优雅退出,零系统弹窗打扰。
  • 原生命令行自动化工具与透明 PTY 桥接器 (macssh / macssh-cli):

    • 内置 macssh-cli 二进制文件,支持在“设置 → 终端”中一键安装符号链接至 /usr/local/bin/macssh(或 ~/.local/bin/macssh)。
    • macssh list (ls):以格式化表格列出所有存活及后台挂起会话(短 ID、名称、前台进程、PID、终端尺寸、状态与工作目录)。
    • macssh capture <target> [--full] [--last]:内置无头 VT 状态机引擎 (ScreenRenderer),无需窗口即可将原始 VT 流解析为干净的纯文本屏幕快照、完整滚动历史或上一条命令输出(基于 OSC 133 标记)。
    • macssh send <target> (text <string> | key <name>)...:向指定会话静默注入文本或按键,原生兼容 tmux send-keys 语法(Enter、Escape、Tab、方向键、F1-F12、C-<key>、M-<key>)。
    • macssh new [--name <title>] [--cwd <dir>] [-- <command> [args...]]:命令行无头创建常驻后台会话,GUI 与 CLI 随时可查可连。
    • macssh kill <target> 与 macssh detach <target>:命令行优雅终止或挂起指定会话。
    • macssh status 与 macssh ssh <host>:检查守护进程健康状态或一键在 MacSSH 中唤起 SSH 连接。
    • 透明 PTY 桥接器 (bridge):在 GhosttySurfaceView 内部以 cfmakeraw 模式运行,透明转发字节流与 SIGWINCH 尺寸事件,100% 保留 Ghostty Metal 渲染加速、Nerd Fonts 图标及中日文输入法体验。
  • 后台会话可视化管理与 GUI 深度集成:

    • 本地终端工具栏新增 “后台会话 (Background Sessions)” 快捷菜单,直观呈现挂起会话数、进程名与工作目录,支持一键恢复与终止。
    • 会话菜单与标签右键菜单新增 “将标签页转入后台 (Cmd+Shift+D)”,随时隐蔽正在执行的任务。
    • 状态栏透明穿透进程监控:LocalProcessMonitor 穿透 PTY 桥接器精准感知 macsshd 中的真实前台任务(zsh、vim、cargo 等),并显示保活护盾标识。
    • “设置 → 终端”新增 “终端助手与命令行 (Terminal Helper & CLI)” 分组,支持查看守护进程运行状态与一键安装 CLI 工具。

Release v2.2.7

Choose a tag to compare

@github-actions github-actions released this 25 Oct 22:59
41c1bce

Fixed

  • Root-Cause Remediation for Local Terminal clear Command Hangs & Sluggish History Restore:
    • Eliminated the severe 1–2 second main-thread freeze when executing clear or pressing Return in local terminal tabs: replaced synchronous whole-system sysctl(KERN_PROC_ALL) process walks in LocalTerminalStatusBar with an asynchronous, throttled background query service (LocalProcessMonitor), dropping main-thread query latency from over 1,500ms to 0ms.
    • Eliminated dual-shell spawning overhead and double ~/.zshrc profile loading during local session restoration: replaced the multi-stage temporary shell script with an atomic inline bootstrap pipeline (/bin/sh -c "cat ...; rm ...; exec <shell> -l"), making terminal history restoration instantaneous.
    • Capped session restore replay buffer to the most recent 250 lines to prevent PTY queue saturation and window re-flow congestion.
    • Fixed persistent scrollback snowballing and desync: .commandFinished terminal events now immediately detect screen clear states and purge stale on-disk session history, ensuring cleared terminals stay clean across app restarts.
    • Added a 3-second debounce to session history persistence to prevent redundant disk I/O on UI focus changes.

Chinese

修复

  • 根因修复本地终端执行 clear 清屏卡顿与历史记录恢复极慢:
    • 彻底消灭本地终端在输入 clear 或回车时界面冻结停顿 1~2 秒的致命卡顿:将 LocalTerminalStatusBar 状态栏求值中在主线程同步调用 sysctl(KERN_PROC_ALL) 扫描全系统进程的阻塞逻辑,重构为后台异步扫描与 2 秒缓存防抖机制(LocalProcessMonitor),主线程进程名查询耗时直接由 1500ms+ 降至 0ms。
    • 彻底消除恢复本地会话历史时的双重 Shell 嵌套启动与两次加载巨型 ~/.zshrc(Homebrew、Starship、Zoxide 等)的重负:废弃外置 .sh 临时脚本,改用轻量级单行内联管道(/bin/sh -c "cat ...; rm ...; exec <shell> -l"),恢复历史时只启动一次原生用户登录 Shell,耗时缩减 95% 以上,秒开立现。
    • 将历史恢复行数上限收敛至最近 250 行,彻底避免初建 PTY 视口未完成折行布局时被数千行 VT 转义序列塞爆造成的严重拥塞。
    • 修复已清屏会话历史无法被清理而产生滚雪球效应的问题:在终端事件 .commandFinished 中加入即时清屏感知,若屏幕内容已被清空则立刻同步清除磁盘持久化文件,确保下次启动不再带出已清空的旧历史。
    • 会话历史保存加入 3 秒时间戳防抖保护,彻底消除窗口失焦与控件切换时的高频磁盘 I/O。

Release v2.2.6

Choose a tag to compare

@github-actions github-actions released this 24 Oct 21:27
0b30083

Fixed

  • Root-Cause Remediation for System Theme Following & Appearance Mode Switching:
    • Resolved severe appearance synchronization defects when switching from dark mode to light mode with "Follow System" enabled, eliminating residual dark block artifacts and unreadable white-on-light terminal text.
    • Eliminated contradictory .preferredColorScheme modifiers and per-window NSAppearance overrides that pinned NSApp.effectiveAppearance and broke system appearance propagation.
    • Introduced AppearanceController as the application-wide single source of truth for appearance state: directly manages NSApp.appearance and observes NSApp.effectiveAppearance via KVO, providing reactive @MainActor state to SwiftUI and terminal configuration pipelines.
    • Replaced premature AppleInterfaceThemeChangedNotification hooks with reliable KVO-backed notifications, guaranteeing effectiveAppearance is fully settled before re-resolving terminal palettes.
    • Enhanced GhosttyTerminalView update coordinator to track dark/light transitions across view refreshes, immediately triggering terminal configuration rebuilds and full surface redraws upon system theme flips.

Chinese

修复

  • 根因修复外观跟随系统与深浅模式无缝切换:
    • 彻底解决主题选择“跟随系统”时从深色模式切换至浅色模式出现的严重显示缺陷,消除残余深色黑块以及终端文字保持白色导致浅色模式下完全不可读的问题。
    • 彻底清除主窗口与设置窗口写死的 .preferredColorScheme 修饰符以及窗口级 appearance 强制覆盖,解除对 NSApp.effectiveAppearance 的锁定,让系统外观切换通知与渲染管道畅通无阻。
    • 引入统一的 AppearanceController 作为全局外观唯一定义中心:主导 NSApp.appearance,并通过 KVO 严格监听已完全生效的 NSApp.effectiveAppearance,为 SwiftUI 及终端配置流程提供响应式 @MainActor 外观状态源。
    • 移除先于系统实际生效触发的 AppleInterfaceThemeChangedNotification 分布式通知竞态,杜绝根据未更新的外观读取到过时深色状态。
    • 完善 GhosttyTerminalView 协调器对 isDarkMode 外观翻转的差异对比,确保在系统深浅色切换时立即构建并应用新主题配置、同步全量重绘终端画布。

Release v2.2.5

Choose a tag to compare

@github-actions github-actions released this 24 Oct 09:58

[2.2.5] - 2026-10-24

Changed

  • Automatically bumped dependencies to SSH2Kit version 1.3.29 and MactermKit version 1.0.27.


变更

  • 自动更新依赖项 SSH2Kit 至版本 1.3.29,MactermKit 至版本 1.0.27。

Release v2.2.4

Choose a tag to compare

@github-actions github-actions released this 22 Oct 19:03
31aab30

Fixed

  • Root-Cause Remediation for Terminal PTY I/O Latency, Slow History Restore, and Sluggish Screen Clear:
    • Eliminated the severe VSYNC throttling bottleneck in MactermKit: background ghostty_wakeup_callback now immediately dispatches and triggers runtime.appTick() on the main runloop, unlocking true real-time PTY I/O throughput (from dial-up speed to hundreds of MB/s native throughput).
    • Terminal session scrollback restoration is now virtually instantaneous instead of rendering line-by-line like a sluggish typewriter.
    • Shell clear commands now execute and clear the screen immediately without hanging across display link refresh frames.
    • Added native Cmd+K ("Clear Terminal") shortcut and menu action to wipe the terminal screen and scrollback buffer instantly via Ghostty's native clear_screen action while automatically clearing persisted session history.
    • Added safe history replay line-capping protection in AppModel.prepareHistoryRestoreCommand to keep launch times snappy.
  • Dependency Updates:
    • Upgraded MactermKit to version 1.0.27.

Chinese

修复

  • 根因修复终端 PTY I/O 延迟、历史记录恢复慢与清屏迟钝问题:
    • 彻底清除 MactermKit 中限制 PTY I/O 消费的 60Hz 帧率节流严重缺陷:后台 ghostty_wakeup_callback 唤醒回调现在直接在主队列调度执行 runtime.appTick(),消除了将 I/O 消费延期至下一个 VSYNC 帧和多重异步 Task 调度的瓶颈,PTY 吞吐量恢复至数百 MB/s 原生级别。
    • 本地终端会话启动与历史记录回放达到秒级瞬间加载,彻底告别旧版逐行打字机式的卡顿慢速滚动。
    • 终端中执行 clear 命令时,清屏控制序列能够被瞬间读取消费,屏幕即刻刷空无迟滞。
    • 新增 macOS 原生 Cmd+K(“清除终端”)快捷键与菜单命令,直调 Ghostty 原生 clear_screen 动作瞬间清空屏幕与回滚缓冲区,并自动同步清除当前会话的本地持久化历史。
    • 在 AppModel.prepareHistoryRestoreCommand 中增加单次回放最大行数保护,保证会话恢复始终极速轻盈。
  • 依赖项更新:
    • 升级 MactermKit 至版本 1.0.27。

Release v2.2.3

Choose a tag to compare

@github-actions github-actions released this 17 Oct 23:49
b98aa60

Fixed

  • Root-Cause Remediation for Settings Appearance Mode, Theme Picker, and Light Mode UI Adaptation:
    • Bound .preferredColorScheme(settings.isDarkMode ? .dark : .light) across both the main window and Settings scene, ensuring all text labels, icons, and components in the sidebar, tabs, toolbar, and status bar automatically flip between dark and light Aqua mode (preventing unreadable white-on-beige text).
    • Hoisted .sheet(item: $activeThemeTarget) to the root of SettingsView (outside TabView), resolving AppKit's NSTabViewController child presentation isolation that previously required interacting with an input control to trigger presentation.
    • Dynamically bound ThemePickerView color scheme to match target mode (Dark / Light Aqua), resized to 480x380 to naturally fit the Settings window without clipping.
    • Refactored RaisedCapsule to dynamically adapt to color schemes: renders a crisp pure-white raised capsule with soft shadow in light mode (completely eliminating dirty grayish glass tint on beige surfaces), and smooth translucent glass in dark mode.
    • Expanded tap hit targets across Dark and Light mode theme rows to full row width with .contentShape(Rectangle()) for an intuitive macOS native experience.
    • Reorganized Settings tabs: moved Shell Integration (OSC 7 / OSC 133, long-running command alerts) and Rendering engine settings from Appearance to the Terminal tab for correct category separation.
  • Dependency Updates:
    • Automatically bumped dependencies to SSH2Kit version 1.3.28 and MactermKit version 1.0.26.

Chinese

修复

  • 根因修复外观设置、主题选择器与全界面亮色模式适配:
    • 设置选项卡归类根因修正:将 “Shell 集成”(OSC 7 / OSC 133、后台长耗时命令提醒)与渲染引擎设置由“外观”选项卡迁移至“终端”选项卡,外观页纯粹保留主题与字体,分类严格符合 macOS 规范。
    • 全界面深浅模式动态同步:为主窗口与设置窗口场景双向绑定 .preferredColorScheme(settings.isDarkMode ? .dark : .light),侧边栏、Tab 栏、未连接状态与状态栏组件完全自适应浅色模式,文字由白变黑、图标精准变深灰,彻底杜绝浅色米白底色上白字不可见的问题。
    • 模态呈现层级根因修复:将 .sheet(item: $activeThemeTarget) 提升至 SettingsView 根视图(TabView 外层),彻底解决 macOS AppKit NSTabViewController 容器子视图层级隔离导致的模态展示挂起问题,点击即可秒级原生呼出。
    • 主题选择器深浅配色与尺寸适配:将 ThemePickerView 尺寸优化为 480×380,完美契合偏好设置窗口并避免溢出;弹窗深浅模式自适应当前所选的深色/浅色目标。
    • 胶囊视觉高光彻底消除灰脏块:重构 RaisedCapsule 组件,浅色模式下采用原生精致纯白浮起胶囊配合柔和微投影,彻底清除深色玻璃滤镜在米白背景上产生的暗沉脏灰色块;深色模式维持通透单层玻璃质感。
    • 交互优化:将暗色模式与浅色模式主题选择项的热区扩大为整行点击(.contentShape(Rectangle())),带来丝滑的原生系统设置操作手感。
  • 依赖项更新:
    • 更新依赖项 SSH2Kit 至版本 1.3.28,MactermKit 至版本 1.0.26。