Disambiguate duplicate session titles#955
Conversation
|
Codex review: needs changes before merge. Reviewed July 9, 2026, 7:25 PM ET / 23:25 UTC. Summary Reproducibility: yes. Current main has a source-level reproduction because SessionsPage projects raw duplicate display names, and the PR body provides exact-head UIA proof showing the fixed two-row scenario. Review metrics: 2 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Land the shared formatter, app wiring, and regression proof after removing the optional workflow proof-summary change; leave the unwanted fork root cause tracked separately at #952. Do we have a high-confidence way to reproduce the issue? Yes. Current main has a source-level reproduction because SessionsPage projects raw duplicate display names, and the PR body provides exact-head UIA proof showing the fixed two-row scenario. Is this the best way to solve the issue? No for the full branch as submitted. The shared formatter and tests are the narrow maintainable fix, but the optional workflow proof-summary edit should be removed before merge. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against c8cd9869d828. Label changesLabel justifications:
Evidence reviewedAcceptance criteria:
What 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
Review history (8 earlier review cycles)
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@TurboTheTurtle can I get a screenshot? |
d73422b to
eb1aaf6
Compare
eb1aaf6 to
2f24393
Compare
|
@shanselman Yep — this is the current-head Windows capture from CI. The two synthetic sessions start with the same gateway display name; the Sessions page renders them as distinct rows. |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@TurboTheTurtle cool ya I saw this yesterday as well. The gateway is also returning a TON of weirdly named sessions |
shanselman
left a comment
There was a problem hiding this comment.
Reviewed with >90% confidence. CI and exact-head UI/accessibility proof are green; local current-head build passed; maintainer also ran the branch against a real profile with duplicate session titles and approved the behavior. Title disambiguation preserves original session keys for navigation/actions and avoids raw key exposure.
|
This PR is approved and ready, but the only blocker is the optional .github/workflows/ci.yml proof-summary plumbing. It is not required for the session-title feature or its assertions: without the env vars, SessionTitleBehaviorProofTests still runs and only skips writing the extra proof artifact/summary.\n\nCould you please remove the .github/workflows/ci.yml change from this PR? Once that workflow diff is gone, maintainers without workflow token scope can merge the app/test changes normally. |
Share session-title formatting between native Chat and the Sessions page, adding deterministic disambiguation when display names collide while preserving original session keys for navigation and actions. This is the #955 app/test change set without the optional workflow proof-summary plumbing. Validation: focused local OpenClawChatDataProvider/SessionTitleFormatter test run passed (234 tests); GitHub Build and Test, CodeQL, E2E, win-x64/win-arm64 builds all passed. Maintainer live-tested against a real profile containing duplicate session titles. Co-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Superseded by #959, which carries the same app/test session-title changes without the optional workflow proof-summary diff that required workflow-scope token permissions. |

Closes #954.
What Problem This Solves
The Sessions page rendered raw gateway display names, so forked or otherwise colliding sessions could be indistinguishable.
Summary
Validation
Real behavior proof
GitHub-hosted Windows exercised the built app at
2f2439392e1faa5a54b0ad7948121f8e7c0713d7through UI Automation. The transcript and original capture are preserved in the test-results artifact.Manual UI validation: