Skip to content

Navigation rail (0.46.0) has nowhere to show plugin counts: experimental_sidebarAccessory is no longer shown #5327

Description

@polevaultweb

Since 0.46.0 the sidebar's labelled navigation list is an icon-only rail. The SDK still accepts the nav panel experimental_sidebarAccessory (added for #1202 and #1852), but the docs now say no part of the app shows it. Sidebar footer items are icon-only too, so a plugin has no way to show a live number without being opened.

I use several plugin pages as a dashboard, and the count beside each one was the reason to have them in the sidebar: it told me at a glance which ones needed me. Now I have to open each page to find out.

Either of these would fix it:

  • show the accessory as a small count or dot on the rail icon, or
  • add an option to show the rail with labels, wide enough for the accessory.

bb 0.46.0, macOS, Chrome app.

Activity

  1. added
    uiApp shell, sidebar, composer, rendering
    pluginsPlugin SDK, runtime, marketplace
    on Oct 10, 2026
  2. bb-slop-cop commented on Oct 10, 2026

    @bb-slop-cop
    Contributor

    🚨 SLOP COP 🚨 · new-issue-autopilot

    Applied Type: Feature, Priority: Medium, Effort: Medium; labels: ui, plugins. All classifications were previously unset.

    Trusted origin/main confirms this is intentional behavior: #5229 explicitly retained accessory registration without rendering it, and the rail test asserts that accessories do not mount. Restoring at-a-glance plugin counts needs a decision about their rail presentation and accessibility. Opening each page remains a workaround, but loses the dashboard overview.

    No bug report or automated PR: the verified Type is Feature, and choosing a new presentation is a product decision.

  3. polevaultweb commented on Oct 10, 2026

    @polevaultweb
    Author

    A suggestion for the presentation and accessibility, in case it helps the decision:

    • Badge on the icon. A small count on the icon's top-right corner, like a Dock or browser tab badge, capped at 99+ so a plugin can't stretch the rail.
    • Dot for anything that isn't a number. A short status shows as a dot, and the full text goes in the tooltip.
    • Host-owned, value-based API. Today the accessory is a free-form component, so the host can't read its text to label the icon. A value instead would let bb own the look and the accessibility, for example experimental_sidebarBadge: () => { count?: number; label: string; tone?: "default" | "attention" } | null as a hook. bb renders the badge, puts label in the destination's accessible name and tooltip ("Support, 3 new"), and the visual badge is aria-hidden.
    • Hidden destinations. If a badged destination is in More, More gets a dot.

    The component-based accessory could stay for a labelled rail later, if that ever comes back.

  4. AbelThorne commented on Oct 12, 2026

    @AbelThorne

    I strongly subscribe to this request as this is a not-so-minor regression for our usage of bb as insanely powerful all-in-one dashboard. Without the ability to direct attention where it is needed, we lose quite a lot

  5. added 3 commits that reference this issue on Oct 15, 2026
    a85f034
    8655e89
    25c50d9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    pluginsPlugin SDK, runtime, marketplaceuiApp shell, sidebar, composer, rendering

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions