macOS: improve chat, browser, cron, and permissions flows#39516
macOS: improve chat, browser, cron, and permissions flows#39516ImLukeF wants to merge 4 commits intoopenclaw:mainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b97570e231
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Greptile SummaryThis PR polishes several macOS-side rough edges across five areas: lossy cron decoding, browser capability advertisement and local proxying, chat message filtering (hiding ghost bubbles and stripping transport noise), macOS clipboard image paste, and a more scrollable/refreshable Permissions settings tab. The overall implementation is high quality, well-tested, and follows established patterns in the codebase. Two points to be aware of:
Confidence Score: 4/5
Last reviewed commit: b97570e |
apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatComposer.swift
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ae98aa1f38
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| let controlPort = GatewayEnvironment.gatewayPort() + 2 | ||
| let baseURL = URL(string: "http://127.0.0.1:\(controlPort)")! |
There was a problem hiding this comment.
Route browser proxy through service available in remote mode
In remote mode the app explicitly stops the local gateway (ConnectionModeCoordinator.apply, remote branch), but this proxy always targets 127.0.0.1:(gatewayPort+2), which is the gateway-hosted browser-control HTTP port. That means browser.proxy will consistently fail for remote node sessions even though this node advertises browser capability and browser.proxy, so browser requests routed to the mac node become unusable in remote deployments.
Useful? React with 👍 / 👎.
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
|
Landed on What landed:
Landed commit: Source commits: Thanks @Imhermes1. |
上游主要更新(5d22bd029 → 92648f9): - fix(agents): 扩大 402 临时限速错误的检测范围,允许计费冷却探测(openclaw#38533) - fix(ui): 修正控制台设备鉴权 token 签名问题 - CLI: 避免无监听归因时的误判更新重启失败(openclaw#39508) - fix: 合入社区贡献 PR openclaw#39516(@Imhermes1) - build: 版本升级至 2026.3.8,发布 v2026.3.7 tag 本地累积更新(自上次同步): - feat: OAuth token 自动续期 —— cron 触发前预检 token 并自动刷新 - fix: oauth-refresh-daemon shouldRefresh 修复(已过期 token 不再被跳过) - fix: 守护进程失败3次后重置计数器,避免永久停止刷新 - feat: 智能路由模型账号选择、模型管理全面优化 - feat: 飞书/钉钉频道会话聚合历史视图
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]>
macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]> (cherry picked from commit d15b6af) # Conflicts: # CHANGELOG.md # apps/macos/Sources/RemoteClaw/NodeMode/MacNodeBrowserProxy.swift # apps/macos/Sources/RemoteClaw/NodeMode/MacNodeModeCoordinator.swift # apps/macos/Sources/RemoteClaw/NodeMode/MacNodeRuntime.swift # apps/macos/Sources/RemoteClaw/PermissionsSettings.swift # apps/macos/Tests/RemoteClawIPCTests/MacNodeBrowserProxyTests.swift # apps/shared/RemoteClawKit/Sources/RemoteClawChatUI/ChatView.swift # apps/shared/RemoteClawKit/Sources/RemoteClawKit/BrowserCommands.swift # apps/shared/RemoteClawKit/Tests/RemoteClawKitTests/ChatComposerPasteSupportTests.swift
…r live test fixes (#1795) * Changelog: credit openclaw#39328 to @vincentkoc (cherry picked from commit 2ec478c) * Changelog: move openclaw#39328 credit to section end (cherry picked from commit 5b30c9d) * Pi Runner: gate parallel_tool_calls to compatible APIs (openclaw#39356) * Pi Runner: gate parallel_tool_calls payload injection * Pi Runner: cover parallel_tool_calls alias precedence * Changelog: note parallel_tool_calls compatibility fix * Update CHANGELOG.md * Pi Runner: clarify null parallel_tool_calls override logging (cherry picked from commit daecd2d) # Conflicts: # CHANGELOG.md # src/agents/pi-embedded-runner-extraparams.test.ts # src/agents/pi-embedded-runner/extra-params.ts * docs: add changelog for Telegram DM draft restore (openclaw#39398) (cherry picked from commit 722c5e5) * fix: document discord agentComponents schema parity (openclaw#39378) (thanks @gambletan) (openclaw#39378) Co-authored-by: Shadow <[email protected]> (cherry picked from commit 9c8e34d) * fix: land openclaw#39337 by @goodspeed-apps for acpx MCP bootstrap Co-authored-by: Goodspeed App Studio <[email protected]> (cherry picked from commit 5659d7f) # Conflicts: # extensions/acpx/openclaw.plugin.json # extensions/acpx/src/config.test.ts # extensions/acpx/src/config.ts # extensions/acpx/src/runtime-internals/test-fixtures.ts # extensions/acpx/src/runtime.test.ts # extensions/acpx/src/runtime.ts # extensions/acpx/src/service.ts * docs: clean up latest changelog sections (cherry picked from commit c743fd9) * fix: land contributor PR openclaw#39516 from @Imhermes1 macOS app/chat/browser/cron/permissions fixes. Co-authored-by: ImHermes1 <[email protected]> (cherry picked from commit d15b6af) # Conflicts: # CHANGELOG.md # apps/macos/Sources/RemoteClaw/NodeMode/MacNodeBrowserProxy.swift # apps/macos/Sources/RemoteClaw/NodeMode/MacNodeModeCoordinator.swift # apps/macos/Sources/RemoteClaw/NodeMode/MacNodeRuntime.swift # apps/macos/Sources/RemoteClaw/PermissionsSettings.swift # apps/macos/Tests/RemoteClawIPCTests/MacNodeBrowserProxyTests.swift # apps/shared/RemoteClawKit/Sources/RemoteClawChatUI/ChatView.swift # apps/shared/RemoteClawKit/Sources/RemoteClawKit/BrowserCommands.swift # apps/shared/RemoteClawKit/Tests/RemoteClawKitTests/ChatComposerPasteSupportTests.swift * fix: stage docker live tests from mounted source (cherry picked from commit 21df014) * fix: add minimal process shim for acpx mcp-agent-command The upstream process.ts depends on gutted runtime-api, so provide a minimal spawnAndCollect implementation that satisfies the import. --------- Co-authored-by: Vincent Koc <[email protected]> Co-authored-by: Ayaan Zaidi <[email protected]> Co-authored-by: gambletan <[email protected]> Co-authored-by: Shadow <[email protected]> Co-authored-by: Peter Steinberger <[email protected]>
Summary
This improves several rough edges in the macOS app and shared mac chat UI:
browser.proxyrequests locallyTesting
swift test --package-path apps/shared/OpenClawKit --filter AssistantTextParserTestsswift test --package-path apps/shared/OpenClawKit --filter ChatComposerPasteSupportTestsswift test --package-path apps/shared/OpenClawKit --filter ChatMarkdownPreprocessorTestsswift test --package-path apps/macos --filter SettingsViewSmokeTestsswift test --package-path apps/macos --filter OnboardingViewSmokeTestsswift test --package-path apps/macos --filter GatewayEndpointStoreTestsswift test --package-path apps/macos --filter MacNodeRuntimeTestsswift test --package-path apps/macos --filter CronModelsTestsswift test --package-path apps/macos --filter WebChatSwiftUISmokeTestsManual verification
With Love From Luke