Grok App v0.2.26
Grok App v0.2.26
Highlight: Import Grok Build CLI sessions from Account; phone mirror on the same Wi-Fi; Windows permission/rewind clicks; long chats stay scrollable.
中文 · 亮点: 从账户导入 Grok Build CLI 会话;同一 Wi-Fi 手机镜像;Windows 权限/回退按钮可点;长对话滚动不再卡死。
Added
- Import Grok Build CLI sessions from Account → Recent sessions: Import & open a row, or import the listed table into the sidebar. Empty sidebar offers the same when local CLI logs exist. Import may add the CLI cwd as an untrusted project (never home
/or~/). - Second SuperGrok login hint on the account switcher: Add account, then switch. One login stays active.
中文 · 新增
- 从设置 → 账户「近期会话」导入 Grok Build CLI 对话到侧栏;空侧栏在有本地 CLI 记录时提供同一入口。导入可为 CLI 工作目录补一条未信任项目(不会把家目录或
/加成项目)。 - 账户切换提示可添加第二个 SuperGrok 登录;同一时间只有一个登录生效。
Changed
- Settings overlay navigation (#870): open/section/tab/hash/last-route live in
useSettingsNavigation. Pref hydration isuseAppSettingsPrefs; session connect/live map isuseSessionConnect. - AppWorkbench domain split (#869): session tree, sidebar, composer send, settings stage and related chrome live in extracted modules.
- Bottom terminal tab chrome: hover shows the close chip on every tab; a close-all icon sits next to New terminal.
- Plan / resources pane enter motion: desktop in-flow aside interpolates width with the existing pane-split token; overlay and side-expanded stay snap. Bottom terminal height still snaps (no chat virtualizer reflow); chrome/body fade in.
- Light wallpaper readability: light theme uses its own white veil and weaker main mix so text stays ink-dark on mixed wallpaper; no extra cards under chrome.
中文 · 变更
- 设置页导航 / prefs / connect(#870):开合走
useSettingsNavigation,prefs 水合走useAppSettingsPrefs,会话 connect/live map 走useSessionConnect。 - AppWorkbench 拆分(#869):会话树、侧栏、发送路径、设置舞台等迁到独立模块。
- 底部终端标签栏:鼠标悬停任意标签显示关闭;加号旁增加关闭所有终端。
- 计划 / 资源侧栏入场:桌面分栏宽度用现有 pane-split 令牌插值;overlay 与展开覆盖仍一次落位。底部终端高度仍一次到位(避免长对话重排);顶栏和内容淡入。
- 浅色壁纸可读性:浅色主题用独立白色 veil、主区更通透;文字保持深色描边,不额外加承载卡片。
Fixed
-
Windows permission bar clicks (#878, #880): the card dumped ACP request JSON as the command preview, and Approve / Deny could miss clicks (floating composer is
pointer-events: nonewithoutno-drag). Preview is the command/path; buttons stay clickable; busy/error show on the card. -
Windows rewind confirm stayed open (#879, #880): failures toasted under the modal overlay (
z-index60 vs 12000). Toast is portaled above overlays; rewind shows the error in the dialog; the timeline closes before confirm. -
Long-chat history browse freeze (#881, #882): a 4800px overscan floor remounted too much markdown on a fling. Browse overscan scales down with row count; the pin-to-bottom window is unchanged.
-
Phone mirror same-LAN access (#875): the host bound only
127.0.0.1, so replacing the URL with a LAN IP returnedERR_CONNECTION_REFUSED. Loopback stays the default. Allow same Wi-Fi (in-app confirm) rebinds0.0.0.0and copies/QRs the detected LAN IPv4. Soft-fail copy no longer claims LAN works without that toggle. -
Windows PTY clippy:
PtySession.pidis Unix-only (process-group SIGKILL). Windows kill stays onChildKiller, so CI-D warningsstays green. -
Expanded SideWorkbench vs macOS traffic lights: when the sidebar is hidden or overlayed, the shared pane chrome pads with
--titlebar-safe-left. -
WeCom webhook replay window: signed callbacks whose
timestampis outside ±300 seconds are rejected with 401. -
WeCom webhook loopback hint: webhook mode bound to 127.0.0.1 now surfaces that public callbacks need
allow_external(runtime last_error code + Settings health copy). -
CLI session project import: auto-add uses home-relative depth ≥ 2, so Linux
/home/name/projectsand WindowsC:\Users\name\Documentsare not treated as projects. Missing home refuses. -
Theme switch snapshot cap: WebKit color snapshot skips animation when the live DOM has more than 400 elements, avoiding jank on large trees.
-
Closing a terminal really kills the shell: tab × / close-all / overflow / project switch call host
terminal_pty_kill(process killer + PTY drop), not only hide the chip. Hide-panel still keeps sessions. -
Bottom terminal tab numbers follow creation order: the plus button appends a new chip on the right, so the original Terminal 1 stays Terminal 1 instead of being pushed to Terminal 2.
-
Terminal prompt inset: side and bottom PTY text sits 5px inside the pane. The 50% veil still covers the full terminal; padding is on
.xterm, not the host. -
New session side pane opens the picker, not Plan: the unused
planFocusKey0 is no longer treated as a focus bump, so opening the right pane on a fresh chat shows the kind menu instead of an empty Plan tab. -
Plan empty state centers in the side pane: the idle title / hint / history CTA no longer sit in a left-capped 28rem column when Plan is a side-workbench tab.
-
Context compact cards stay at the moment of compaction (#855): mid-turn auto-compact freezes the current assistant bubble, inserts the banner, then continues streaming below it so later tools are not piled on the composer.
-
Files tree refreshes when the agent creates files (#863): open Resources keeps expand state and re-lists root + expanded folders as session write paths change — no need to close and reopen the pane.
-
Long chat transcript scroll no longer hitches on Worked-for blocks or lift-off (#853): Follow-up to #842. Virtual-window growth that still covers the viewport commits in the background (
startTransition) and at most 3 rows per frame; collapsed tool steps skiptoolExpandBodyuntil opened; scroll settle uses velocity + a 160ms stillness floor so touchpad lift-off is not treated as a stop; hover is disabled while moving; pin snap restores the pre-commit distance from the bottom so expanding overscan does not bounce. -
WeCom webhook auth + ACL fail-closed (#851): webhook mode requires
callback_tokenand verifies signatures; emptyallowFromdenies all (use*to opt in); loopback bind by default. -
Settings segmented controls no longer flash (#856): shared
SegmentedControlfor tabs and theme capsules; first mount settles without a vertical expand. -
Welcome intro motion + Appearance toggle (#857): restored “what to do today” cadence; optional welcome animation (on by default).
-
Sidebar open/close motion stable (#858): wide-window rail eases with the main pane; titlebar safe padding no longer snaps toward traffic lights.
-
Settings frosts wallpaper behind the stage (#859):
app-settings-stageuses glass blur/saturate under wallpaper. -
Theme light/dark transition keeps sidebar blur (#860): View Transition elsewhere; WebKit color WAAPI so backdrop-filter stays live.
-
Pet body edge no longer shows a white fringe (#861): same-ink stroke covers AA seams.
-
Composer matches chat reading width after the first turn: once a session has transcript, the floating input (and permission bar) follow Appearance → chat width via
--chat-width-max. Empty/new-session welcome still uses the classic42reminput. -
Sidebar “Other sessions” no longer sits under empty project space: collapsing every project (or shrinking a folder after a long session list) now retargets the locked L1 projects height to the remaining rows instead of keeping the last expanded px.
-
Sidebar project header icons: chevron + space name expand/collapse the project list; space switching is a standalone switch button that appears on row hover like collapse/more; collapse-all stays outside; select, archive-older, and add-project move into a ⋯ menu.
-
Official-aux X/Imagine on packaged custom mains:
/Applications/Grok.appnever bundledscripts/official-aux-mcp.mjs, so ACP injectedmcpServers count=0while ChatCut still auto-loaded from independentagent-home/config.toml. Host now writes the MCP script intoagent-home-official, disables user MCPenabledflags during solo inject, ships official-aux--ruleson prewarm, and tells the model to callofficial-aux__x_keyword_searchdirectly instead ofsearch_tool(which was resolving to ChatCut).
中文 · 修复
- Windows 权限卡点击无响应(#878, #880):预览区曾渲染整段 ACP JSON;浮动输入区
pointer-events: none且权限卡未标no-drag,WebView2 会把点击当成拖窗口。现显示真实命令,按钮可点,失败写在卡片上。 - Windows 回退确认窗关不掉(#879, #880):错误 toast 被挡在遮罩下。toast 提到 overlay 之上;失败写在弹窗里;打开确认时关掉时间线。
- 长会话上下滚动卡死(#881, #882):浏览历史时 overscan 下限 4800px,一甩挂太多 markdown。现按行数缩小浏览 overscan,钉在底部的窗口不变。
- 手机镜像同一局域网访问(#875):主机原先只绑
127.0.0.1,把链接换成局域网 IP 会ERR_CONNECTION_REFUSED。默认仍是回环。开启 允许同一 Wi-Fi(应用内确认)后改绑0.0.0.0,复制/二维码使用探测到的局域网 IPv4。隧道失败时的文案不再暗示「换成局域网 IP 就能用」。 - Windows PTY clippy:
PtySession.pid仅 Unix 用于进程组 SIGKILL;Windows 仍走ChildKiller,CI-D warnings不再红。 - 展开侧栏避开 macOS 交通灯:侧栏隐藏或 overlay 时,共享顶栏使用
--titlebar-safe-left内边距。 - 企微 webhook 重放窗口:
timestamp超出 ±300 秒的已签名回调返回 401。 - 企微 webhook loopback 提示:未开启
allow_external且绑在 127.0.0.1 时,运行状态与设置页提示「公网回调需开启 allow_external」。 - CLI 会话导入项目路径:按相对 home 深度 ≥ 2 判断,不再把 Linux
/home/name/projects或 WindowsC:\Users\name\Documents当成项目;取不到 home 则拒绝。 - 主题切换快照上限:DOM 超过 400 个元素时跳过 WebKit 颜色快照,避免大树卡帧。
- 关闭终端会真正杀掉 shell:标签 × / 关闭全部 / 超出上限 / 切换项目都会走宿主
terminal_pty_kill(杀进程 + 关掉 PTY),不是只藏标签。收起面板仍保留会话。 - 底部终端标签序号跟随创建顺序:加号把新标签加到右边,原来的「终端 1」不会被挤成「终端 2」。
- 终端提示符内边距:侧栏和底部 PTY 文字距面板 5px。50% 遮罩仍铺满整个终端,内边距加在
.xterm上,不加在外壳。 - 新建会话打开侧栏显示可选菜单,而不是计划:不再把未使用的
planFocusKey0 当成一次聚焦,新对话打开右侧栏会看到种类菜单,而不是空的计划页签。 - 侧栏计划空状态在面板内居中:计划作为侧栏页签打开时,标题 / 说明 / 计划历史不再落在左侧 28rem 窄列里。
- 「上下文已自动压缩」卡片留在压缩发生的时间点(#855):回合中压缩会冻结当前助手气泡、插入横幅,再在下方继续流式输出,后续工具不再堆到输入框上方。
- Agent 新建文件后右侧文件树自动刷新(#863):保持展开状态,按会话写入路径重列根目录与已展开文件夹,不用关面板再开。
- 长对话滑过「Worked for …」和抬手时不再卡顿(#853):#842 的后续。视口已被覆盖时的窗口扩张走后台提交,每帧最多挂 3 行;折叠的 tool 步骤在展开前不算
toolExpandBody;settle 用速度 + 160ms 静止下限,触控板抬手不再被当成停下;滑动中关掉 hover;贴底 snap 恢复 commit 前的离底距离,扩张 overscan 时不再弹跳。 - 企微 webhook 鉴权 + ACL 默认拒绝(#851):webhook 必须填
callback_token并验签;空allowFrom拒绝全部(显式*才开放);默认只绑 loopback。 - 设置页签/胶囊切换不再闪(#856):公共
SegmentedControl;首次挂载不纵向展开。 - 新对话欢迎动画 + 外观开关(#857):恢复入场节奏;欢迎动画默认开、可关。
- 侧栏开合动效稳定(#858):宽窗侧栏与主区连续移动;标题栏安全边距不再回弹红绿灯。
- 壁纸下设置舞台毛玻璃(#859):
app-settings-stage使用 glass blur。 - 深浅主题切换保持侧栏模糊(#860):非 WebKit 用 View Transition;WebKit 用颜色 WAAPI。
- 宠物身体外缘白边消除(#861):同色描边盖住抗锯齿缝。
- 有聊天记录后输入框与阅读宽度一致:会话产生内容后,浮动输入框(及权限条)跟随设置 → 外观的聊天宽度(
--chat-width-max)。新建/空会话欢迎态仍用原来的42rem输入框宽度。 - 侧栏「其他会话」不再被空项目区顶到最下面:收起全部项目(或长会话列表变短)后,L1 项目区会按剩余行高回缩,而不再锁在上次展开的像素高度。
- 侧栏项目区顶部图标:箭头+空间名展开/收起整个项目区;切换空间是独立按钮,和折叠/更多一样只在该行 hover 时出现;折叠全部仍留在外面;多选、按时间归档、添加项目收进 ⋯ 菜单。
- 打包后自定义主模型的官方 X/画图注入:正式版 App 找不到
official-aux-mcp.mjs,ACP 注入空 MCP,ChatCut 仍从独立agent-home/config.toml自动拉起。现将脚本写入agent-home-official,solo inject 时关掉用户 MCP 的enabled,预热进程带上官方--rules,并要求模型直接调用official-aux__x_keyword_search而不是search_tool(后者会命中 ChatCut)。
Assets are attached below. Install help (macOS xattr / Gatekeeper, Windows SmartScreen, Linux packages, CLI): README · README 中文 · Full history: CHANGELOG.md