Skip to content

Clean up Cron page UI to follow Fluent guidelines#512

Merged
shanselman merged 1 commit into
openclaw:masterfrom
bkudiess:cron-page
May 22, 2026
Merged

Clean up Cron page UI to follow Fluent guidelines#512
shanselman merged 1 commit into
openclaw:masterfrom
bkudiess:cron-page

Conversation

@bkudiess
Copy link
Copy Markdown
Contributor

@bkudiess bkudiess commented May 22, 2026

Cleans up the Cron Jobs page to follow Fluent / WinUI guidelines (UI-only).

Changes

  • Sidebar: moved Cron out of the Advanced submenu to a top-level Gateway item directly above Advanced; visibility now gated on gateway-connected state alongside the other gateway pages.
  • Page header: removed the emoji icon; sentence-case typography; New job promoted to AccentButtonStyle; status dot uses SystemFillColorSuccess/NeutralBrush.
  • Layout: content grows centered up to MaxWidth=900 with growing side bars, matching Permissions/Sessions/etc.
  • Job cards: replaced the Enable/Disable action button with a right-aligned ToggleSwitch in the header; removed redundant detail-panel button and dead VM members; added card stroke for crisper edges.
  • Status badges: swapped hard-coded ARGB greens/reds for SystemFillColorSuccess/Critical/Attention/Neutral so the success text is readable (fixes green-on-green).
  • New-job form: now opaque (LayerFillColorDefaultBrush) and reparents into the row-defined PageRootGrid so it no longer overlaps the job list.
  • Iconography: added FluentIconCatalog.Cron (Calendar, U+E787); removed remaining emojis from page title, preset buttons, empty state, status badges, and toggle labels.
  • Typography: input/section labels use BodyStrongTextBlockStyle and other typography tokens; removed literal FontSize/FontWeight.

Validation

  • ./build.ps1
  • ✅ Shared tests: 1891 passed / 29 skipped
  • ✅ Tray tests: 1178 passed
image

- Remove emoji from page title, preset buttons, empty state, status badges, and toggle labels; render via FluentIconCatalog instead. Add FluentIconCatalog.Cron (Calendar, U+E787).

- Move Cron item out of Advanced submenu to top-level Gateway section, directly above Advanced, and gate its visibility on gateway-connected state alongside the other gateway pages.

- Replace per-job Enable/Disable button with a right-aligned ToggleSwitch in the card header; remove redundant action button and dead VM members.

- Use theme tokens for status colors (SystemFillColorSuccess/Critical/Attention/Neutral, LayerFillColorDefaultBrush) instead of hard-coded ARGB literals; fixes green-on-green legibility and removes saturated pill backgrounds.

- Switch input labels to sentence-case BodyStrongTextBlockStyle and other typography tokens; remove literal FontSize/FontWeight.

- Fix new-job form overlapping page content: name the row-defined inner Grid (PageRootGrid) so JobFormPanel is reparented into the correct Grid with Grid.Row=2 honored.

- Add card stroke and use LayerFillColorDefaultBrush for the opaque create/edit form surface.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 22, 2026

Codex review: needs real behavior proof before merge.

Latest ClawSweeper review: 2026-05-22 20:55 UTC / May 22, 2026, 4:55 PM ET.

Workflow note: Future ClawSweeper reviews update this same comment in place.

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.

Summary
The PR restyles the WinUI Cron page and moves Cron to a top-level Gateway navigation item while replacing legacy emoji and literal styling with Fluent icon and theme resources.

Reproducibility: not applicable. this is a UI cleanup PR rather than a bug report with a failing behavior to reproduce. Source inspection and the screenshot are enough to evaluate the changed surface, but the form state still needs visual proof.

PR rating
Overall: 🦪 silver shellfish
Proof: 🦪 silver shellfish
Patch quality: 🐚 platinum hermit
Summary: The implementation looks scoped and mostly correct, but incomplete visual proof keeps the PR below merge-ready quality.

Rank-up moves:

  • Add redacted screenshot or recording proof of the create/edit form open state, especially the non-overlap behavior.
  • Update the runtime FormTitle and FormSaveButton assignments to preserve sentence case.
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.

Real behavior proof
Needs stronger real behavior proof before merge: One attached screenshot proves the nav/card styling, but it does not show the create/edit form overlap fix; add a redacted screenshot or recording hiding IPs, API keys, phone numbers, non-public endpoints, and other private details in the PR body, then ClawSweeper should re-review automatically or a maintainer can comment @clawsweeper re-review.

Mantis proof suggestion
A short desktop visual proof would directly show the nav placement, form overlap fix, toggle behavior, and badge readability better than tests can. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: verify Cron page navigation placement, non-overlapping create/edit form, toggle behavior, readable status badges, and sentence-case labels.

Risk before merge

  • The attached screenshot shows the top-level Cron nav, card toggle, and status badge, but it does not show the create/edit form state that the overlap fix changes.
  • Moving Cron out of Advanced is a visible navigation information-architecture change that maintainers should explicitly accept before merge.

Maintainer options:

  1. Decide the mitigation before merge
    Land after the small runtime label fix, maintainer acceptance of the top-level Cron nav placement, and redacted visual proof of the create/edit form state.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge
Maintainer UX acceptance and contributor-provided visual proof are needed; automation cannot supply the missing real setup proof for this external PR.

Security
Cleared: The diff is UI-only C#/XAML and does not change dependencies, workflows, secrets handling, package resolution, or network permissions.

Review findings

  • [P3] Keep runtime form labels sentence case — src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml:84
Review details

Best possible solution:

Land after the small runtime label fix, maintainer acceptance of the top-level Cron nav placement, and redacted visual proof of the create/edit form state.

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

Not applicable: this is a UI cleanup PR rather than a bug report with a failing behavior to reproduce. Source inspection and the screenshot are enough to evaluate the changed surface, but the form state still needs visual proof.

Is this the best way to solve the issue?

Mostly yes: using Fluent resources, a header ToggleSwitch, and the named PageRootGrid is a narrow maintainable cleanup. The runtime form labels should match the sentence-case direction, and maintainers still need to accept the nav placement.

Label changes:

  • add proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. One attached screenshot proves the nav/card styling, but it does not show the create/edit form overlap fix; add a redacted screenshot or recording hiding IPs, API keys, phone numbers, non-public endpoints, and other private details in the PR body, then ClawSweeper should re-review automatically or a maintainer can comment @clawsweeper re-review.
  • add rating: 🦪 silver shellfish: Current PR rating is 🦪 silver shellfish because proof is 🦪 silver shellfish, patch quality is 🐚 platinum hermit, and The implementation looks scoped and mostly correct, but incomplete visual proof keeps the PR below merge-ready quality.
  • remove rating: 🧂 unranked krab: Current PR rating is rating: 🦪 silver shellfish, so this older rating label is no longer current.

Label justifications:

  • P3: This is a low-risk WinUI polish PR with limited blast radius and no core runtime regression found.
  • rating: 🦪 silver shellfish: Current PR rating is 🦪 silver shellfish because proof is 🦪 silver shellfish, patch quality is 🐚 platinum hermit, and The implementation looks scoped and mostly correct, but incomplete visual proof keeps the PR below merge-ready quality.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: One attached screenshot proves the nav/card styling, but it does not show the create/edit form overlap fix; add a redacted screenshot or recording hiding IPs, API keys, phone numbers, non-public endpoints, and other private details in the PR body, then ClawSweeper should re-review automatically or a maintainer can comment @clawsweeper re-review.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. One attached screenshot proves the nav/card styling, but it does not show the create/edit form overlap fix; add a redacted screenshot or recording hiding IPs, API keys, phone numbers, non-public endpoints, and other private details in the PR body, then ClawSweeper should re-review automatically or a maintainer can comment @clawsweeper re-review.

Full review comments:

  • [P3] Keep runtime form labels sentence case — src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml:84
    The PR changes the form defaults to sentence case, but OnNewJobClick and OnEditJobClick still overwrite them with New Job, Create Job, Edit Job, and Save Changes; opening the form will show the old title-case labels despite the cleanup.
    Confidence: 0.86

Overall correctness: patch is correct
Overall confidence: 0.82

What I checked:

  • PR diff scope: The PR head changes only WinUI C#/XAML surfaces: FluentIconCatalog.cs, CronPage.xaml, CronPage.xaml.cs, HubWindow.xaml, and HubWindow.xaml.cs. (7e88b14eeab6)
  • Cron page UI update: The PR head removes the Cron page emoji title, uses FluentIconCatalog glyph bindings, changes the New job button to AccentButtonStyle, and applies Fluent theme resources to the form surface and labels. (src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml:29, 7e88b14eeab6)
  • Toggle and form reparenting implementation: The PR head replaces the old Enable/Disable button handler with a ToggleSwitch handler and returns the named PageRootGrid so the form is reinserted into the row-defined grid. (src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs:173, 7e88b14eeab6)
  • Navigation change: The PR head moves NavCron to the top-level Gateway section and adds it to UpdateGatewayNavVisibility so it is gated with the other gateway pages. (src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml:152, 7e88b14eeab6)
  • Current main comparison: Current main still has the old emoji Cron title and keeps Cron under Advanced, so the PR is not already implemented on main. (src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml:28, ece297ad0080)
  • Visual proof inspected: The attached PNG shows the top-level Cron nav item, Fluent-styled page header, readable success badge, and right-aligned enabled toggle, but it does not show the new-job/create-edit form state that the overlap fix changes.

Likely related people:

  • Scott Hanselman: The Cron page appears in the merge commit for the advanced nav group, and Scott also authored the async loading changes that touched CronPage.xaml and CronPage.xaml.cs. (role: original merger and recent list-loading contributor; confidence: medium; commits: 93016309f168, 1fe8e5216ca7; files: src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml, src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs)
  • Ranjesh Jaganathan: Blame ties the current toggle handler area and UpdateGatewayNavVisibility implementation to the nav visibility crash fix. (role: recent Cron and gateway nav behavior contributor; confidence: high; commits: 679ba88efd4c, 8f08a47a5f15; files: src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs, src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs)
  • Christine Yan: Recent history and blame show the current CronPage wrapper layout was touched during chat UI polish, adjacent to the layout this PR changes. (role: recent UI layout contributor; confidence: medium; commits: 488f26509ced; files: src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml)
  • bkudiess: The author also appears in current-main history for CronPage and HubWindow through the silent button failure audit, so they are connected to the existing code path beyond this PR. (role: recent area contributor; confidence: medium; commits: 0875a5b3af80; files: src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml, src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs, src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs)

Codex review notes: model gpt-5.5, reasoning high; reviewed against ece297ad0080.

@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. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. labels May 22, 2026
@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 22, 2026

ClawSweeper PR egg

🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat.

Where did the egg go?
  • The egg game starts only after the PR passes the real-behavior proof check.
  • Before that, no creature or rarity is rolled. The treat waits for real proof.
  • This is still just collectible flavor: proof affects review readiness, not creature quality.

@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels May 22, 2026
@shanselman shanselman merged commit da9800a into openclaw:master May 22, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants