feat: 修复 3 个渲染/tmux 显示 bug + UI 产品化第一波(对标 Moshi)
渲染/tmux 修复(e2e 复现+回归,模拟器 idb 点击+截图取证): - 终端底部残影:ghostty iOS 释放 surface 不摘 IOSurfaceLayer(上游缺陷), platformSetup 清现存子层 + TerminalSurfaceCoordinator.onSurfaceFreed 钩子摘孤儿层 - tmux 切 tab 切回旧 tab 内容消失:改所有窗口常驻挂载(ZStack+opacity+hitTesting), surface 不释放、内容保留、后台窗口持续收 %output - tmux pane 内容钉底/顶部残行:pane grid 由容器几何定(tab 条吃高度),75 行快照喂 73 行 溢出上滚;几何测量上移 TmuxTabbedView + attach kickoff 双条件(attachAcked∧containerKnown) + capture-pane 铺快照前剔尾空行 UI 产品化(对标 Moshi getmoshi.app:深蓝黑 + 终端绿 + Catppuccin): - 设计系统 Theme.swift:TXPalette(色角色 struct)+TXThemeManager(环境注入),颜色封装供主题系统 - 统一主题:抽离 4 套 Catppuccin(Mocha/Macchiato/Frappé/Latte),一套同时驱动 app+终端配色, 设置里选主题 app 与终端一起变色 + UserDefaults 持久化 - 主屏/主机管理页 HomeView:HostCard 主机卡 + FAB 加主机(AddHostSheet) + 设置(主题选择器), HostStore 本地 JSON 持久化(密码暂存/TODO Keychain),点卡片 connect(to:) - 终端外壳 chrome TerminalTopBar:圆形返回钮 + 会话标题 + SSH/mosh 传输徽章 + 状态提示, tmux tab 绿 pill 化,底部工具栏深色自适应,终端默认 Catppuccin Mocha iPad mini(A17 Pro) live 端到端验证:加主机→连接→终端→切 tab→分屏点焦点→主题切换同步。 详见 docs/HANDOFF.md §10。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
- **M3** mosh 挂起→恢复 <3s(唤醒脉冲 + 会话状态机三相)✅
|
||||
- **M4** 安全:host key TOFU pin(MITM 防护)+ publickey 认证(SE 优先/软件回退)✅
|
||||
- **M5** 合规提审 ⏸️ 暂缓
|
||||
- **UI 产品化(进行中)** 对标 Moshi:深蓝黑 + 终端绿 + Catppuccin;主机管理页/终端 chrome/统一主题切换(app+终端同源,4 套 Catppuccin) ✅;会话缩略卡/设置细化待续。见 `docs/HANDOFF.md §10`。
|
||||
|
||||
四大核心需求(libghostty / tailscale / tmux / mosh)均已端到端验证。
|
||||
|
||||
@@ -26,8 +27,9 @@ packages/
|
||||
MoshConnect(解析)、SSH(线格式/ECDSA/host key)。50 单测。
|
||||
TXTransport SSHSession(libssh2)、MoshSession(mosh_main 桥)、Transport 协议;
|
||||
C shim: CSSH+CSSHCore(libssh2)、CMosh+MoshCore(mosh)。
|
||||
apps/TerminalX iOS app(XcodeGen 生成):SSHTerminalModel(编排)/ContentView/
|
||||
TmuxController(pane-per-surface 网关)/SigningKeyProvider/KeychainKnownHostsStore。
|
||||
apps/TerminalX iOS app(XcodeGen 生成):SSHTerminalModel(编排)/ContentView(主机管理页+
|
||||
终端 chrome+设置)/TmuxController(pane-per-surface 网关)/Theme(TXPalette+
|
||||
主题管理)/HostStore(主机持久化)/SigningKeyProvider/KeychainKnownHostsStore。
|
||||
vendor/ 非 Swift 依赖本地化(认证代理不支持 SwiftPM,全 vendor):
|
||||
libghostty-spm、libssh2、mbedtls、tsnet-bridge(Go)、mosh、protobuf。
|
||||
artifacts/ 预编译 xcframework(CSSHCore/TsnetBridge/MoshCore,**有意提交**,克隆即可构建)。
|
||||
|
||||
Reference in New Issue
Block a user