Skip to content

Hide completed sessions by default - #924

Merged
steipete merged 2 commits into
openclaw:mainfrom
TurboTheTurtle:hide-completed-sessions-881
Jul 5, 2026
Merged

Hide completed sessions by default#924
steipete merged 2 commits into
openclaw:mainfrom
TurboTheTurtle:hide-completed-sessions-881

Conversation

@TurboTheTurtle

@TurboTheTurtle TurboTheTurtle commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Addresses the tray UI portion of #881. ACP lifecycle/archive semantics and a cross-surface gateway config remain separate follow-up work in that issue.

Adds a persisted Show completed toggle on the Sessions page and hides clean completed sessions by default. Failed, killed, timed-out, running, unknown, and aborted sessions stay visible. The localized toggle restores completed sessions without changing gateway state.

Maintainer review also preserves the selected channel when session data or completed visibility rebuilds the tabs; selection falls back to All only when that channel no longer has a visible session.

Validation

Validated on 499fd23a in a Windows 11 Pro ARM64 Parallels VM:

  • build.ps1 ✅ Shared, CLI, WinNode CLI, SetupEngine, WinUI
  • Focused visibility/settings tests ✅ 36 passed
  • Full OpenClaw.Tray.Tests1531 passed
  • AutoReview ✅ no accepted/actionable findings (0.94 confidence)
  • Existing GitHub Actions checks were green before the maintainer update; exact-head checks are rerunning.

Real behavior proof

Windows UI Automation against the built Sessions page verified:

{
  "default": {
    "name": "Show completed",
    "automationId": "SessionsPageShowCompleted",
    "enabled": true,
    "offscreen": false,
    "state": "Off"
  },
  "toggle": {
    "before": "Off",
    "after": "On",
    "persistedShowCompletedSessions": true
  },
  "restart": {
    "state": "On",
    "persistedShowCompletedSessions": true,
    "offscreen": false
  }
}

Focused behavior tests cover done/completed hidden by default; failed/killed/timeout/running/unknown/aborted sessions visible; Show completed restoring all sessions; and selected-channel preservation/fallback.

@clawsweeper

clawsweeper Bot commented Jul 5, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 6:23 PM ET / 22:23 UTC.

Summary
Adds a persisted Show completed toggle to the WinUI Sessions page, hides clean done/completed sessions by default, preserves channel selection, localizes the toggle, and adds tray/settings tests.

Reproducibility: yes. Current-main source shows SessionsPage renders all non-cron sessions without a done/completed filter; the PR proof and tests exercise the new hidden-by-default behavior.

Review metrics: 2 noteworthy metrics.

  • Diff size: 13 files changed, +208/-3. The patch is focused but spans WinUI markup/code-behind, persisted settings, localization resources, and tests.
  • Persisted settings surface: 1 new bool defaulting false. The new default directly changes upgraded users' completed-session visibility until they toggle it back on.

Root-cause cluster
Relationship: fixed_by_candidate
Canonical: #881
Summary: This PR is the candidate implementation for the tray UI portion of the broader completed-session clutter issue; the canonical issue remains open for ACP archive and cross-surface config work.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Wait for exact-head required CI checks to finish before merge.

Risk before merge

  • [P1] The default changes upgraded users' Sessions view by hiding clean done/completed rows until they turn on Show completed; the PR discussion records maintainer acceptance of that tray-only default.
  • [P1] The GitHub statusCheckRollup I inspected still had exact-head Build and Test jobs in progress, so merge should stay gated on required checks finishing.

Maintainer options:

  1. Land the accepted tray default (recommended)
    Accept the deliberate upgrade-visible default change because the PR includes a visible toggle, persistence proof, tests, and maintainer scope confirmation.
  2. Preserve the old default
    Require the toggle to default to showing completed sessions if maintainers want zero upgrade surprise for users who revisit completed rows.
  3. Wait for the broader session policy
    Pause this PR if maintainers decide the tray default must wait for ACP archive semantics or a global sessions config contract.

Next step before merge

  • No ClawSweeper repair is needed; maintainers should review/merge after exact-head checks while accepting the recorded compatibility-visible default change.

Security
Cleared: Cleared: the diff adds UI filtering, resources, settings persistence, and tests without dependency, workflow, network, code-execution, or secrets-handling changes.

Review details

Best possible solution:

Land the tray-only toggle after exact-head checks finish, while keeping #881 open for ACP archive and cross-surface config follow-up.

Do we have a high-confidence way to reproduce the issue?

Yes. Current-main source shows SessionsPage renders all non-cron sessions without a done/completed filter; the PR proof and tests exercise the new hidden-by-default behavior.

Is this the best way to solve the issue?

Yes. The PR implements the narrow accepted tray-only fix with a persisted toggle and leaves ACP lifecycle/archive and global config work to the canonical follow-up issue.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against adcb4c378f90.

Label changes

Label justifications:

  • P2: This is a normal-priority tray usability improvement with limited blast radius and no evidence of data loss, security exposure, or core runtime failure.
  • merge-risk: 🚨 compatibility: Merging intentionally changes the default Sessions list for existing users by hiding clean completed sessions until the new toggle is enabled.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body includes current-head Windows UI Automation output showing the toggle default, toggle action, persisted setting, and restart state.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes current-head Windows UI Automation output showing the toggle default, toggle action, persisted setting, and restart state.
Evidence reviewed

What I checked:

Likely related people:

  • shanselman: git blame ties the current SessionsPage filtering/channel-tab implementation to merge commit 4166e0f, and the canonical completed-session clutter issue was opened by the same person. (role: current Sessions page contributor and canonical issue author; confidence: high; commits: 4166e0fd63f8; files: src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml.cs)
  • steipete: Authored the PR follow-up commit preserving channel selection and posted the accepted tray-only scope/default decision in the PR discussion. (role: reviewer and PR follow-up contributor; confidence: high; commits: 499fd23a3eae; files: src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml.cs, src/OpenClaw.Tray.WinUI/Services/SessionVisibilityFilter.cs, tests/OpenClaw.Tray.Tests/SessionVisibilityFilterTests.cs)
  • calebeden: Recently merged Sessions-page localization work in the same WinUI/resources area, which is relevant if the new localized toggle behavior needs follow-up. (role: recent adjacent Sessions localization contributor; confidence: medium; commits: bbd18d431766; files: src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml.cs, src/OpenClaw.Tray.WinUI/Strings/en-us/Resources.resw)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (5 earlier review cycles)
  • reviewed 2026-07-05T02:08:12.282Z sha c3ebb2b :: needs real behavior proof before merge. :: [P3] Localize the new toggle label
  • reviewed 2026-07-05T02:18:19.603Z sha af6517f :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-05T02:23:51.964Z sha af6517f :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-05T02:28:02.801Z sha af6517f :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-05T22:19:04.533Z sha 499fd23 :: needs maintainer review before merge. :: none

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. labels Jul 5, 2026
@TurboTheTurtle
TurboTheTurtle force-pushed the hide-completed-sessions-881 branch from c3ebb2b to af6517f Compare July 5, 2026 02:14
@TurboTheTurtle

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 5, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@TurboTheTurtle

Copy link
Copy Markdown
Contributor Author

@openclaw-mantis visual task: verify the Sessions page hides clean completed sessions by default and Show completed reveals them again.

@shanselman

Copy link
Copy Markdown
Collaborator

@TurboTheTurtle " Current Mantis is mostly narrow QA lanes: Telegram, Discord, Slack-ish desktop smoke, browser/desktop visual capture, and generic scenario dispatch where there’s already wiring. It’s not a magic “prove any PR” bot yet. "

It doesn't work in this repo yet, sorry

@steipete
steipete force-pushed the hide-completed-sessions-881 branch from af6517f to 499fd23 Compare July 5, 2026 22:14
@steipete

steipete commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

@clawsweeper re-review

Maintainer decision: tray-only hidden-by-default filtering is the accepted narrow scope; #881 stays open for ACP archive/global-config follow-up. Exact-head Windows VM build, full tray tests, visible UIA, toggle persistence, and restart proof are now in the PR body.

@clawsweeper

clawsweeper Bot commented Jul 5, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jul 5, 2026
@steipete
steipete merged commit b37b1be into openclaw:main Jul 5, 2026
12 checks passed
@TurboTheTurtle
TurboTheTurtle deleted the hide-completed-sessions-881 branch July 6, 2026 00:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P2 Normal priority bug or improvement with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants