Skip to content

feat: redesign the tab strip, switch profiles and fix tab state - #98

Merged
iamdarkle merged 14 commits into
mainfrom
fix/tabs-revisit
Oct 21, 2026
Merged

iamdarkle merged 14 commits into
mainfrom
fix/tabs-revisit

Conversation

@iamdarkle

@iamdarkle iamdarkle commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Summary

A new tab strip with profile switching, plus a pass over the tab bugs.

  • The active tab has rounded corners and a thin outline that rises out of the strip's border and curves into the content. Under the strip the sidebars, lists and detail toolbars share one surface, and their dividers fade in, so the tab joins the content wherever it sits. Close shows on the active or hovered tab, long titles show in full on hover, tabs make room while dragging, and right-click closes other tabs or those to the right, or reopens a closed one (Ctrl/⌘+Shift+T)
  • A profile pill at the start of the bar shows only that profile's accounts in the unified mailboxes, search, counts and sidebar; tabs are shared. "All accounts" shows everything, and the menu creates and edits profiles. On phones the pill tops the folders sidebar once there are profiles
  • The profile picker is a proper list with "New profile…", and the profile editor sets a profile's accounts
  • Each tab keeps its Settings page, list scroll, open message and reading position
  • Refreshes re-read every loaded row, so read and star state and moved mail don't go stale past the first page or in a tab you go back to. The open message stays listed when it leaves the Unread or Starred filter
  • Fixes dragging an inactive tab, stale tab titles, going back to a tab marking its mail read again, folder changes resetting the list, tabs on deleted folders or removed accounts, unsaved theme edits surviving Settings, the contact toolbar sitting below the list's, a double divider beside the Minimal mail sidebar, and the OpenPGP reader opening under the tab strip

Validation

cargo fmt, clippy -D warnings on every commit, cargo test --workspace --all-targets (new tests for profile filtering, tab state, list merges, scroll restore and the strip's pointer handling), the text-fit check, the translation check, and regenerated screenshots.

@iamdarkle iamdarkle changed the title feat: redesign the tab strip and fix tab state feat: redesign the tab strip, switch profiles and fix tab state Oct 21, 2026
@iamdarkle
iamdarkle merged commit 3f269e8 into main Oct 21, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant