Skip to content

fix(web): flatten message center list - #7231

Merged
AmyShang-alt merged 2 commits into
mainfrom
agent/opend-2175-flat-notifications
Aug 21, 2026
Merged

fix(web): flatten message center list#7231
AmyShang-alt merged 2 commits into
mainfrom
agent/opend-2175-flat-notifications

Conversation

@Siri-Ray

@Siri-Ray Siri-Ray commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Why

Plane dogfooding item OPEND-2175 asks for the message center to remove its All, Unread, and Read tabs and present notifications in one list. The current three-way filter adds a navigation choice to a small feed and can hide already-read context when users revisit an announcement.

Follow-up dogfooding also found that the bulk "Mark all read" row added unnecessary empty chrome, the header divider touched the panel edges, unread styling was too heavy, and expanding a message could visibly shift the layout.

What users will see

The message center now shows read and unread messages together in one flat list without filter tabs or a bulk "Mark all read" action. Unread messages use a compact red dot, the header divider is inset from both edges, hover backgrounds keep rounded corners, and expanding a message preserves its typography and horizontal layout.

Per-message read behavior remains available: opening an unread message marks that message as read.

Surface area

  • UI - message-center panel in apps/web
  • Keyboard shortcut - new or changed
  • CLI / env var - new od subcommand or flag, new tools-dev / tools-pack flag, or new OD_* env var
  • API / contract - new /api/* endpoint, new SSE event, or changed shape in packages/contracts
  • Extension point - new entry under skills/, design-systems/, design-templates, or craft/, or change to the skills protocol
  • i18n keys - added new translation keys
  • New top-level dependency - added to the root package.json
  • Default behavior change - the message center no longer filters its feed through tabs or exposes a bulk read action
  • None - internal refactor, docs, tests, or translation update only

Screenshots

Not attached. The message-center panel was verified through a local tools-dev browser run with the live multi-message feed, including read/unread, hover, and expanded states.

Bug fix verification

  • Test path: apps/web/tests/components/MessageCenter.test.tsx
  • The regression coverage asserts that filter and bulk-action controls are absent, read and unread messages stay visible in one list, and anonymous per-message read state remains persisted.
  • The focused suite passes with 21 tests.

Validation

  • corepack pnpm --filter @open-design/web exec vitest run -c vitest.config.ts tests/components/MessageCenter.test.tsx --maxWorkers=1 (21 passed)
  • corepack pnpm guard
  • corepack pnpm typecheck
  • git diff --check
  • Local tools-dev browser verification of the message-center panel

@Siri-Ray Siri-Ray changed the title fix web message center list hierarchy fix(web): flatten message center list Aug 21, 2026
@lefarcen
lefarcen requested a review from PerishCode August 21, 2026 07:22
@lefarcen lefarcen added size/M PR changes 100-300 lines risk/medium Medium risk: regular code changes type/bugfix Bug fix labels Aug 21, 2026
@Siri-Ray
Siri-Ray marked this pull request as ready for review August 21, 2026 07:28

@PerishCode PerishCode left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Siri-Ray This cleanly removes the message-center filter controls and state while preserving the combined read/unread feed, unread emphasis, per-message read behavior, and Mark all read behavior. I reviewed every changed range and the focused regression coverage; the live web, workspace, static, and UI checks are green. Nice focused fix and a clear test update—thank you for keeping the behavior change compact.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

@lefarcen

Copy link
Copy Markdown
Contributor

🧪 This PR changes a user-facing message-center flow, so it needs a manual QA pass before merge — please hold off self-merging for now; we'll loop QA in once it's merge-ready.

@lefarcen lefarcen added the needs-validation Runtime change detected; needs human or /explore agent validation. label Aug 21, 2026
@lefarcen
lefarcen requested a review from ivy-ting August 21, 2026 07:36
@github-actions

Copy link
Copy Markdown
Contributor

Visual regression review

Head: 0f0ae4a · Base: d343775

12 changed · 39 unchanged · 0 new without baseline · 0 failed

Changed cases

Case Main PR Diff
visual-design-system-detail
11,387 px (0.88%)
main pr diff
visual-design-systems
11,387 px (0.88%)
main pr diff
visual-home-catalog
11,387 px (0.88%)
main pr diff
visual-home-plugin-filter
11,387 px (0.88%)
main pr diff
visual-home-plugin-use-staged
11,387 px (0.88%)
main pr diff
visual-home-plugin-use-with-query
11,387 px (0.88%)
main pr diff
visual-new-project-modal
12,213 px (0.94%)
main pr diff
visual-plugin-details
11,387 px (0.88%)
main pr diff
visual-plugin-share-menu
11,387 px (0.88%)
main pr diff
visual-plugins
11,387 px (0.88%)
main pr diff
visual-projects
11,387 px (0.88%)
main pr diff
visual-projects-kanban
11,387 px (0.88%)
main pr diff
Unchanged cases
Case Main PR Diff
visual-avatar-local-agent-list
0 px (0.00%)
main pr diff
visual-avatar-local-agent-list-panel
0 px (0.00%)
main pr diff
visual-avatar-menu
0 px (0.00%)
main pr diff
visual-avatar-menu-panel
0 px (0.00%)
main pr diff
visual-avatar-open-design-model-picker
0 px (0.00%)
main pr diff
visual-critical-settings
0 px (0.00%)
main pr diff
visual-critical-workspace
0 px (0.00%)
main pr diff
visual-critical-workspace-preview
0 px (0.00%)
main pr diff
visual-go-campaign-600
0 px (0.00%)
main pr diff
visual-go-campaign-short-height
0 px (0.00%)
main pr diff
visual-home
0 px (0.00%)
main pr diff
visual-home-context-picker
0 px (0.00%)
main pr diff
visual-home-context-picker-popover
0 px (0.00%)
main pr diff
visual-home-staged-attachment
0 px (0.00%)
main pr diff
visual-integrations
0 px (0.00%)
main pr diff
visual-integrations-mcp
0 px (0.00%)
main pr diff
visual-integrations-use-everywhere
0 px (0.00%)
main pr diff
visual-onboarding-cloud
0 px (0.00%)
main pr diff
visual-plugin-share-menu-popover
0 px (0.00%)
main pr diff
visual-project-avatar-model-dropdown
0 px (0.00%)
main pr diff

Visual diff is advisory only and does not block merging.

@AmyShang-alt AmyShang-alt added the backport release/v0.20.2 Backport this fix to release/v0.20.2 label Aug 21, 2026

@open-design-crew open-design-crew Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA passed on Electron at current head (0f0ae4a). Verified the message center renders read and unread notifications in one flat list, removes the All/Unread/Read filters and bulk Mark all read action, and preserves per-message read behavior. Electron, web, and daemon launched successfully in an isolated runtime.

@AmyShang-alt AmyShang-alt added validated Runtime change validated (via /explore Pass or manual QA). and removed needs-validation Runtime change detected; needs human or /explore agent validation. labels Aug 21, 2026
@AmyShang-alt
AmyShang-alt added this pull request to the merge queue Aug 21, 2026
Merged via the queue into main with commit 6b9c6a0 Aug 21, 2026
31 checks passed
@open-design-release-bot

Copy link
Copy Markdown
Contributor

Successfully created backport PR for release/v0.20.2:

open-design-release-bot Bot added a commit that referenced this pull request Aug 21, 2026
* fix(web): flatten message center list

* fix(web): polish message center states

---------


(cherry picked from commit 6b9c6a0)

Co-authored-by: Ray Xi <2667192167@qq.com>
Co-authored-by: elifive555555 <296440099+elifive555555@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport release/v0.20.2 Backport this fix to release/v0.20.2 risk/medium Medium risk: regular code changes size/M PR changes 100-300 lines type/bugfix Bug fix validated Runtime change validated (via /explore Pass or manual QA).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants