---
title: Supermail — Sidebar Labels, Settings & Overflow Menu
---
# Supermail — Sidebar Labels, Settings & Overflow Menu

## What it is

A 2026-08-02 rework of the Supermail plugin's own left-nav sidebar
(`src/plugins/supermail/ui/`), so labels are ordered and tucked out of the way,
settings live in a real menu button, and the odd three-line hamburger becomes the
standard three-dot (⋯) menu.

## Where to find it

Supermail's own left-nav sidebar — the plugin's internal navigation, not the Omniscio sidebar.

## How it behaves

### What changed (user-visible)

- **Labels are sorted.** User labels now render in a stable **alphabetical** order
  (accent/case-folded) everywhere they appear — the sidebar, the collapsed rail
  popup, and the labels menu. They used to come back in raw Gmail order, which read
  as "no order."
- **Labels no longer flood the sidebar.** Only the labels you **pin** show inline
  (quick access); every other label lives behind a searchable **"More labels…"**
  menu (with a count of how many). Hover a pinned label to **unpin** it (a filled
  star); open the menu and click a **star** to pin one (it moves up into the inline
  list). With nothing pinned, the entry reads "Browse labels" and all labels sit in
  the menu.
- **Pins are a device preference.** The pinned set is stored per-device (like the
  sidebar's other layout prefs) and is safe across accounts — a pin that doesn't
  match the active account's labels is simply not shown, and re-appears when you
  switch back.
- **A real settings button.** Settings, **Hide sidebar**, and Sign out moved out of
  the buried bottom rows into a single **three-dot (⋯) overflow menu** in the sidebar
  header — the same overflow convention the rest of Omniscio uses. It's available in
  both the pinned sidebar and the slide-out drawer.
- **The three-line hamburger is retired.** In overlay mode the resting "open
  navigation" affordance is now a clean panel-open button (not a three-line glyph
  that looked like a settings menu it wasn't), and the drawer's close is a tidy
  icon button.

## For agents

### How it works (for agents)

- Ordering is the single `sortLabels` selector
  (`features/labels/label-order.ts`); `splitPinnedLabels`
  (`features/labels/pinned-labels-store.ts`) derives `{ pinned, rest }` pruned
  against the live label set.
- The menus use a small plugin-local `Dropdown`/`DropdownItem` primitive
  (`shared/ui/dropdown.tsx`) that portals to `document.body`.
- Invariants (single-source sort, device-local + pruned pins that are NOT in the
  logout/account-switch reset cascade, the ⋯-menu home, the primitive-file dropdown)
  are locked by `supermail-sidebar-labels-contract`.

This is a UI refinement of the existing **Supermail (native port)** feature — see
[supermail.md](supermail.md).

## Related

Supermail itself covers the client this sidebar belongs to, and the inbox-and-density page covers the rest of the mail view's layout.
