Repository navigation
fix(chat): show localized welcome prompts without a Gateway upgrade - #1825
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. What this changesThis PR bundles localized welcome guidance and starter prompts in Companion and removes the welcome-only Gateway RPC path. Example: An English empty chat connects to a Gateway without controlUi.welcome.get.
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep this PR open: current main still requires the welcome RPC, and the maintainer-authored replacement is focused and useful; no actionable patch defect was found. Priority: P2 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherNative chat renders localized resources alongside Gateway-provided agent identity and recent sessions; selecting a starter passes its displayed text to the existing chat controller. flowchart LR
A[Native localized resources] --> B[Welcome renderer]
C[Agent and recent session data] --> B
B --> D[Chat composer controller]
D --> E[Chat data provider]
E --> F[Gateway chat send]
Technical reviewBest possible solution: Keep welcome presentation in existing native resources while preserving the established chat-send and recent-navigation owners. Do we have a high-confidence way to reproduce the issue? Current-main source deterministically hides starters when the Gateway lacks the advertised welcome method, consistent with the supplied before screenshot; no target code was executed during this read-only review. Is this the best way to solve the issue? The patch uses the existing localization owner and removes the replaced network path completely, making it a small, coherent solution to the stated presentation problem. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against e4d79798bd59. Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
Likely related people:
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 22, 2026, 2:52 AM ET / 06:52 UTC. |
5e273c0 to
7152456
Compare
What Problem This Solves
Fixes: Windows new-chat guidance and starter buttons disappear behind an unsupported-content notice when the connected Gateway lacks the welcome-copy RPC.
User Impact
User impact: Windows shows current guidance and four starter prompts in all six supported languages without requiring a Gateway upgrade. Recent chats retain their existing behavior. Welcome copy now follows Companion releases.
Why This Change Was Made
Welcome wording is native client presentation. Use existing
.reswresources and remove the welcome-only RPC, response models, and fetch/loading/error state. Selecting a starter sends its displayed localized text through the established chat path. There is no replacement network call, generated catalog, or Gateway source change.Evidence
f5978f0f47aa021aa732dafc86e76044c4a3b622; published head is7152456fa0aaf501c5d2c63fae97c39106266e0a. The patch is equivalent, and all affected production, localization, and test blobs match the original reviewed head.Change Type
Scope
winnodeRequired proof pools
windows-winui-interactive: focused mounted production welcome rendering and interaction, with inspected before/after screenshots on an isolated Windows 11 ARM64 Parallels desktop. This does not claim every scenario in the pool.Validation
Rebased candidate:
7152456fa0aaf501c5d2c63fae97c39106266e0a, based onf5978f0f47aa021aa732dafc86e76044c4a3b622. Native closeout uses an isolated, source-pinned Windows 11 ARM64 checkout and .NET SDK 10.0.402. Test projects are explicitly built before the first--no-restoreinvocation so executed test counts are verified../build.ps1dotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restoredotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restoreThese broad native suites are not claimed green. Fifteen failures match the prior unchanged-base reproductions: missing
pwsh(2 Shared, 9 Tray), symbolic-link privilege (1 Shared), redirected Home reparse points (2 Tray), and ARM64 app-local VC++ runtime loading (1 Tray). The affected owners remain byte-identical across the rebase. Four additionalBuildPrerequisiteTests.CheckOnly_UsesTheAppLocalRuntimeResolvercases reproduce on frozen mainf5978f0f47aa021aa732dafc86e76044c4a3b622: the ARM64 guest observes ARM64 despite the fixture's child AMD64 override. All four execute and fail with the same prerequisite-output mismatch. Their test/build owners also match frozen main exactly.Two earlier proof attempts were fixture failures, not welcome regressions: a single-branch/no-tags clone omitted GitVersion's normal refs, then
Start-Process -Waitwaited for an MSBuild descendant after the build exited. The final source-pinned attempt retained normal refs and used directWaitForExit(). Original failures were retained and the three required commands completed.Static rebase checks pass:
git diff --check, equivalentgit range-diff, all 36 localized welcome values populated across six languages, and no retired welcome-RPC references.Hosted CI
Current-head Build and Test, attempt 1: CI Gate passed. Core/CLI, Tray/setup/integration, UI/functional/accessibility, setup/connect, revocation recovery, and network recovery all passed. Classification, fast validation, and proof-pool contracts also passed. Release-only lanes were intentionally not selected. GitHub tested merge commit
1a0cc0417f0e, whose parents are the frozen base and PR head above; this is new-head CI, not reused old-head green.The previous Build and Test run passed Core/CLI, Tray/setup/integration, and UI/functional/accessibility. All three WSL lanes failed before chat because the old
NodeVersionpin was24.19.0, below the installer's supported minimum. The requested rebase incorporates the merged Node runtime fix (24.22.1) and the existing E2E hang-guard repair; no welcome patch change or speculative CI rerun was needed.Real Behavior Proof
5e273c01a7fdabd6b683cc14caff81bca48df3c0. The rebase to7152456fa0aaf501c5d2c63fae97c39106266e0aleaves every welcome production/resource/UI-test blob unchanged. The original UI run preceded only the removal of one obsolete non-UI styling assertion.dotnet test ./tests/OpenClaw.Tray.UITests/OpenClaw.Tray.UITests.csproj -r win-arm64 --filter FullyQualifiedName~ReactorChatLayoutProofTests.Welcome_(92.93 s outer wall time, 23 passed, 0 failed/skipped).Yes. The public image URLs resolve to the original inspected PNGs; the image contents are unchanged.All six supported languages
Security Impact
NoNoYes. The welcome-only RPC read is removed, with no replacement call or expanded access.NoNoYes, explain the risk and mitigation: Removing the read eliminates its network dependency. Agent identity, recent sessions, and normal chat sending keep their existing owners and authorization.Compatibility and Migration
YesNoNoReview Conversations
There are no unresolved review threads. No merge or auto-merge is requested.