Skip to content

REGRESSION: the console header bell panel is dead again — "No notifications" under both Unread and All while /api/v1/notifications returns 10 rows (#4110 / #4156 back on console 09987b68) #4230

Description

@huangyiirene

Symptom

The console top-bar bell panel renders "No notifications" under BOTH its Unread and All filters, while at the same moment, for the same session:

  • GET /api/v1/notifications returns 10 rows, including an approval.reminder;
  • the home page's "Needs your attention" card does surface them.

Instrumenting the page shows the panel issues zero /api/v1/* requests when opened.

Why this is filed as a regression

Two closed cards describe this exact defect:

The symptom is back on console 09987b68 (framework a86db175), with the same three-way contrast the two closed cards used as their oracle: API correct, home card correct, bell empty. Whatever #4199 fixed, it does not hold on this build — either the fix regressed, or it addressed only the off-app gating while a second path leaves the panel empty on the surface tested here.

One caveat for whoever picks this up

The "zero /api/v1/* requests on open" observation should not be read as the root cause on its own. Per #4225, the bell's rows arrive from a poll issued by layout/AppHeader.tsx every 10s (sys_inbox_message joined with sys_notification_receipt), not from a fetch on open — so a quiet panel-open is the expected shape post-#4199. The question the observation raises is whether that poll is running at all on this surface, and what it returns, versus the panel filtering a good payload to empty (which is what #4110's investigation concluded). Both branches are still open.

Root cause

Not located in this run. Prior art localises it to packages/app-shell/src/layout/InboxPopover.tsx (filter/render layer) and packages/app-shell/src/layout/AppHeader.tsx (the polled read) — see #4110's analysis and #4225's table of the two consumers.

Possibly-related second panel: the platform-core QA run objectstack-ai/objectstack#7514 independently found that the console home header renders a different inbox which polls sys_inbox_message instead of /api/v1/notifications, shows no badge, and claims "You're all caught up" with 9 unread. That is a distinct surface from the bell reported here, but the two share the same suspicion — a consumer reading the inbox tables directly disagreeing with /api/v1/notifications. Worth deciding whether they are one fix or two.

Reproduction

Console 09987b68, framework a86db175, examples/app-showcase, authenticated session with delivered notifications.

  1. As a user with delivered notifications, confirm GET /api/v1/notifications returns rows (10 here, incl. an approval.reminder).
  2. Confirm the home page's "Needs your attention" card lists them — it does.
  3. Open the top-bar bell panel and switch between Unread and All.

Observed: "No notifications" under both filters. Instrumented network trace shows no /api/v1/* request issued on open.

Related open cards — cross-linked, not duplicated

Source

Extracted from the QA run objectstack-ai/objectstack#7517 (framework a86db175, console 09987b6).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpm:queue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions