fix: search shows command titles after selection#1061
Conversation
Project command titles into the shell AutoSuggestBox and use them as the fallback string representation so CLR type names do not leak into selected text or accessibility names. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Codex review: needs changes before merge. Reviewed July 27, 2026, 4:08 AM ET / 08:08 UTC. ClawSweeper reviewWhat this changesThe PR configures the Companion title search to use command titles for selected suggestion text and accessibility, while making a command item's fallback string its title. Merge readinessKeep this PR open for collaborator review. The supplied diff is a narrow, well-proven fix for a real tray-search label leak; the only actionable concern is a new inline code comment that conflicts with the repository policy. Priority: P2 Review scores
Verification
How this fits togetherThe Windows Companion Hub window exposes navigation commands through an AutoSuggestBox search surface. Command items feed the suggestion list, and the chosen item routes users to a tray settings page or other Companion destination. flowchart LR
A[User enters a title search] --> B[Hub command search]
B --> C[Command suggestions]
C --> D[Title projection]
D --> E[Accessible selected label]
E --> F[Command navigation]
Before merge
Findings
Agent review detailsSecurityNone. Review metricsNone. Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep the explicit title projection and fallback string behavior, retain the focused regression contract and UI Automation proof, and remove the policy-disallowed explanatory inline comment before merge. Do we have a high-confidence way to reproduce the issue? Yes. The PR supplies a concrete isolated Windows 11 UI Automation A/B path on the current base that observed the CLR type name before the fix and the command title at the PR head. Is this the best way to solve the issue? Yes, with a minor policy cleanup. Explicitly selecting the Title member and using Title as the fallback string fixes both selected-text and accessibility-name paths without adding configuration or a parallel behavior. Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against acf4ab1d2b02. LabelsLabel changes:
Label justifications:
EvidenceAcceptance criteria:
What I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
What Problem This Solves
Fixes an issue where users choosing a command from the OpenClaw Windows Companion search could see
OpenClawTray.Windows.CommandItemin the search box instead of the command title.Why This Change Was Made
The shell search now explicitly projects each command's title into the
AutoSuggestBoxselected text.CommandItemalso uses its title as its fallback string representation so visual selection and accessibility names cannot expose the CLR type name.User Impact
Search results and selected commands now consistently show labels such as Go to Connection. Object type names no longer appear in the search box or suggestion accessibility tree.
Evidence
An isolated A/B run reproduced the reported symptom on the base commit and verified the current head:
acf4ab1d3040f6a1OpenClawTray.Windows.CommandItemGo to ConnectionOpenClawTray.Windows.CommandItemThe baseline screenshot reproduced the original screenshot symptom. The current-head isolated run showed the visible Go to Connection result, and UI Automation reported
typeNameLeaked=False.Change Type
Scope
winnodeValidation
./build.ps1: passeddotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restore: 3,221 passed, 31 skipped, 0 faileddotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restore: 1,956 passed, 0 skipped, 0 faileddotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restore --filter "FullyQualifiedName~HubWindow_TitleSearchBox_ProjectsCommandTitles": 1 passedgit diff --check: passed401 Unauthorized); no autoreview result was producedReal Behavior Proof
3040f6a1d06985e0fe37bbccc0450590e9c48c52openclaw-dev://hub/connection, set the title search query toconnectionthrough UI Automation, inspected the matching suggestion, then invoked itsuggestionName=Go to Connection,afterInvoke=,typeNameLeaked=FalseYes/No/N/A): N/A; copied live UI Automation output is included aboveSecurity Impact
Yes/No): NoYes/No): NoYes/No): NoYes/No): NoYes/No): NoYes, explain the risk and mitigation: N/ACompatibility and Migration
Yes/No): YesYes/No): NoYes/No): NoReview Conversations