Scroll the list and the reader the way Spark does

The message list and the reader get Spark's floating scrollbar: a thin
thumb over the content that shows while the pointer is over it or it
scrolls, fades a second later, and can be dragged or clicked.

The list opens at the top, except the Inbox, which keeps its place, and
the list a "Show all", a group or a search goes back to. Rows after one
that's done, deleted or snoozed slide up instead of jumping. Page Up and
Page Down move a screen and line a row up with the top; Home and End (or
Ctrl+↑ and ↓) go to either end. They move the pane clicked last, so they
also page through an email. A row scrolls into view when the cursor moves
to it, not when it's clicked.

Near the end of a list (within 1.5 screens, as in Spark) it asks the
servers for older mail and shows a spinner until it's in. The Unread
cards, New senders and search don't reach back.

An email opened partway down a conversation leaves about 100px of the one
before in view, and holds that place while bodies load, until you scroll
or click. The subject stays above the conversation and shrinks to a line
over a border once you scroll.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
257721235eMichael Rodriguez committed on 10/23/2026, 5:51:00 PMparent8dd4fcd
10 files changedLine totals unavailable