Fix runtime localization of XAML property keys#941
Conversation
Resolve XAML property resource keys passed through LocalizationHelper by falling back from dotted keys to MRT path segments. This prevents runtime-updated controls from displaying raw keys such as ConnectionPage_Connect2.Content. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Codex review: needs real behavior proof before merge. Reviewed July 7, 2026, 4:20 PM ET / 20:20 UTC. Summary Reproducibility: yes. from source inspection, though not from a live app run: current main passes Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the focused fallback after CI completes and the contributor adds redacted runtime proof, such as a Connection page screenshot/recording or copied live output showing the dotted key resolves at runtime. Do we have a high-confidence way to reproduce the issue? Yes from source inspection, though not from a live app run: current main passes Is this the best way to solve the issue? Yes, the implementation path is narrow because it preserves direct lookup and only falls back by converting the last dot in a XAML property key to an MRT path separator; the missing piece is real behavior proof, not a different code direction. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 2c6873e8f20f. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
shanselman
left a comment
There was a problem hiding this comment.
Reviewed with >90% confidence. Small, well-scoped localization fallback; CI is green.
Summary
LocalizationHelper.GetStringso runtime callers passing XAML property resource keys likeConnectionPage_Connect2.Contentresolve through MRT path segments likeConnectionPage_Connect2/Contentinstead of displaying raw keys.Validation
./build.ps1— passeddotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restore— passed, 2691 passed / 31 skippeddotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restore— passed, 1506 passedReal behavior proof
LocalizationHelperSourceTests.GetString_ResolvesXamlPropertyResourceKeysverifies runtime localization now includes the dotted XAML property key fallback path.NodeReconnectButton.Contentdynamically callsLocalizationHelper.GetString("ConnectionPage_Connect2.Content"); without the MRT path fallback that key renders literally.Rubber-duck review