Menu

#433 chore(ui): remove top-of-app nudge banners, keep sidebar equivalents

closed
nobody
None
2026-07-10
2026-07-10
Anonymous
No

Originally created by: Akarsh-Hegde

Summary

  • Removes MustFixBanner ("N tickets need must-have info" / Clean up →) and NotificationBanner (plan/worklog "Open →" toasts) — both top-of-app banners that duplicated CTAs already surfaced in the sidebar (OverviewPanel's cleanup card and Today's-focus plan section).
  • Keeps HealthBanner (DB/daemon/permission errors) and NoticeBar (system fault notices) — these are the only surface for that state anywhere in the app, so they stay at the top.
  • Cleans up now-dead meridian:open-plan / meridian:open-worklogs window-event listeners (only the deleted NotificationBanner ever dispatched them) and removes the unit tests that only exercised MustFixBanner's logic.

Test plan

  • [x] npm run build (ui/) — clean
  • [x] bun test (ui/) — 175 pass, 0 fail
  • [x] pre-push hooks (fmt, clippy, ui build/tests, cargo test, security audit) — all green

Related

Tickets: #440

Discussion

  • Anonymous

    Anonymous - 2026-07-10

    Originally posted by: coderabbitai[bot]

    [!IMPORTANT]

    Review skipped

    Auto reviews are disabled on base/target branches other than the default branch.

    Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.


    ⚙️ Run configuration

    Configuration used: Organization UI

    Review profile: ASSERTIVE

    Plan: Pro Plus

    Run ID: e2fa070b-7c44-40f7-9de9-4a3d0b005e1d

    You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

    Use the checkbox below for a quick retry:
    - [ ] 🔍 Trigger review

    ✨ Finishing Touches
    🧪 Generate unit tests (beta) - [ ] Create PR with unit tests - [ ] Commit unit tests in branch `chore/remove-top-banner`

    Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

    ❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

    Comment @coderabbitai help to get the list of available commands.

     
  • Anonymous

    Anonymous - 2026-07-10

    Originally posted by: adityaharishch

    Review

    Overview: Removes the two top-of-app nudge banners — MustFixBanner ("N tickets need must-have info") and NotificationBanner (plan/worklog "Open →" toasts) — since both duplicated CTAs already in the sidebar (OverviewPanel's cleanup card, Today's-focus plan section). Keeps HealthBanner/NoticeBar since they're the sole surface for daemon-fault/system-notice state. Small, focused, well-scoped chore PR.

    Correctness

    • Verified no dangling references survive on the branch: MustFixBanner/NotificationBanner imports, and the meridian:open-plan/meridian:open-worklogs window-event listeners/dispatchers, are all fully removed together (MeridianTimelineShell.tsx cleanup matches NotificationBanner.tsx's deletion) — no orphaned event wiring.
    • LayoutBanners.tsx correctly keeps NoticeBar and drops only NotificationBanner; the setup-wizard gate (pathname?.startsWith('/setup')) is unchanged.
    • Removed test cases in tasks-provider-filter.test.ts are exactly the ones testing MustFixBanner-specific logic (must-fix count filtering, cleanup-page suppression) — no unrelated test coverage lost.
    • Backend notification producers for plan/worklog notices are untouched, so the native macOS toast channel still fires — only the redundant in-app banner half of the dual channel is gone, matching the stated intent.

    Style / conventions

    • NoticeBar.tsx's comment was correctly updated to drop the "shared with NotificationBanner" note.
    • LayoutBanners.tsx's header comment was rewritten accurately to reflect the new single-banner behavior.

    Minor nit (non-blocking)

    • ui/app/globals.css has two now-stale doc comments this PR didn't touch:
    • Line ~14: lists MustFixBanner as a consumer of the legacy --paper/--ink token set (component no longer exists).
    • Line ~137: the --status-* palette comment says it's "shared by NoticeBar ... and NotificationBanner" — now only NoticeBar uses it.

    Worth a quick follow-up edit so the design-system doc doesn't reference deleted components.

    Test coverage: Appropriate — dead tests removed, no new logic introduced that needs new tests. Author confirms npm run build, bun test (175 pass), and the full pre-push hook suite are green.

    Risk: Very low. Pure UI removal with no backend/API surface changes; sidebar equivalents already exist per the PR description.

    Looks good to merge — the globals.css comment staleness is cosmetic and can be a fast-follow if you'd rather not reopen this PR for it.

     
  • Anonymous

    Anonymous - 2026-07-10

    Originally posted by: Akarsh-Hegde

    Addressed the review nit: removed the stale `MustFixBanner`/`NotificationBanner` references from the `ui/app/globals.css` doc comments (line ~14's old-token-consumer list, and the `--status-*` palette comment) in 33b0b6c.

    `npm run build` and `bun test` (175 pass) re-verified green, plus the full pre-push hook suite (fmt, clippy, cargo test, ui build/tests, security audit) — all clean.

    No other blocking feedback on this PR — ready to merge whenever a reviewer signs off.

     
  • Anonymous

    Anonymous - 2026-07-10

    Ticket changed by: Akarsh-Hegde

    • status: open --> closed
     

Log in to post a comment.