Skip to content

Interface & Navigation

Interface, Navigation & Thread Management

DodaMail is organized into a clean, intuitive 3-pane desktop workspace designed for high-volume email workflows. Every control, button, badge, and search filter is built for instant responsiveness and keyboard-driven efficiency.


1. The Sidebar Navigation Pane (Sidebar.tsx)

The sidebar provides access to your account selector, message composition, system folders, custom labels, offline outbox status, trial monitoring, and configuration settings.

Controls on the Sidebar

Control Name Control Type Description & Functionality
Account Switcher Dropdown Selector Displays currently active mailbox (All Inboxes or specific account). Clicking opens a popover to switch mailboxes or add accounts.
“Compose” Button (+) Primary Command Button Launches a new floating or docked Message Composer window. Also invoked via shortcut Ctrl+N (Cmd+N).
“All Inboxes” Navigation Folder Displays a unified chronological view of incoming emails across all configured accounts.
“Inbox” Navigation Folder Standard incoming message directory. Displays a numeric badge indicating unread messages.
“Starred” Navigation Folder Displays all messages flagged with a star for follow-up or VIP tracking.
“Sent” Navigation Folder Repository of all transmitted outgoing emails.
“Outbox” (Offline Queue) Navigation Folder & Badge Displays emails queued for delivery while offline or during server retries. Displays a red numeric badge when unsent messages are pending.
“Drafts” Navigation Folder Work-in-progress emails automatically saved by the auto-recovery engine.
“Archive” Navigation Folder Cleared emails kept for permanent reference without cluttering your primary inbox.
“Spam / Junk” Navigation Folder Messages classified as unsolicited or malicious by server filters or local rules.
“Trash” Navigation Folder Deleted messages pending permanent retention purge or manual emptying.
“Labels” Header (+) Collapsible Header & Action Section heading for custom user tags. Clicking + opens the Create Label dialog.
Custom Label Items Navigation Item & Color Dot Displays user-created tags (e.g., Finance, Urgent, Dev). Clicking filters the thread list to messages carrying that label.
“Sync Status” Indicator Status Pill Displays green when all accounts are connected and idle, blue spinning when synchronizing, or amber when offline.
“30-Day Trial Status” Status Pill Displays days remaining in evaluation. Clicking launches the Software Registration Dialog.
“Settings” Button Gear Icon Button Opens the comprehensive Settings Panel (Ctrl+,).

2. The Thread List Pane (ThreadList.tsx)

The central pane displays email conversations matching your current folder, label, or search query.

Top Toolbar Controls in Thread List

Control Name Control Type Action & Behavior
Select All Checkbox Master Checkbox Toggles selection of all visible threads in the list. Supports partial indeterminate state.
View Mode Switcher Toggle Buttons Toggles between Split View (Thread List on left, Reading Pane on right) and Wide View (Thread list spans full window width; clicking opens thread in full-screen reader).
Filter Dropdown Dropdown Menu Filters the current list by All, Unread Only, Starred Only, or Has Attachments.
Batch Action: Archive Icon Button Moves all selected threads into the Archive folder (E).
Batch Action: Delete Icon Button Moves all selected threads into the Trash (# or Delete).
Batch Action: Mark Read/Unread Icon Button Toggles read status for all selected threads (U).
Batch Action: Star/Unstar Icon Button Toggles star flag for all selected threads (S).
Batch Action: Apply Label Dropdown Button Opens a checklist of existing labels to batch-tag selected threads (L).
Batch Action: Move to Folder Dropdown Button Moves selected conversations to any folder (V).
Batch Action: Snooze Icon Button Opens the Snooze picker to postpone selected threads (Z).

Individual Thread Card Controls

Each conversation card in the list contains interactive elements:

+-------------------------------------------------------------------------+
| [ ] (Avatar) John Doe                   [Tag: Blue]      Oct 17, 10:45 AM|
| [*]  Q3 Financial Report & Budget Review                [Paperclip (2)]  |
|      Hi team, please find attached the reviewed numbers for Q3...       |
+-------------------------------------------------------------------------+
  1. Selection Checkbox: Click to select individual threads for batch operations.
  2. Sender Avatar: Displays contact initials, custom gravatar, or company brand logo.
  3. Star Icon: Click to toggle star status without opening the message.
  4. Account Color Dot: Identifies which email account received this message in the Unified Inbox.
  5. Subject Line: Highlighted in bold if the thread contains unread messages.
  6. Message Snippet: A two-line plain text preview of the latest reply.
  7. Attachment Paperclip: Indicates the thread contains one or more file attachments, displaying count.
  8. Date/Time Stamp: Dynamic relative time (10:45 AM, Yesterday, or Oct 14).

3. The Thread Reading Pane (ThreadView.tsx)

The right-hand pane renders the complete conversation history with full MIME formatting, inline security audits, and response tools.

Reading Pane Action Toolbar

The top bar of the reading pane provides actions for the active conversation:

Control Action Description Keyboard Shortcut
“Reply” Opens the composer pre-filled with the original sender’s address and quoted text. R
“Reply All” Opens the composer including all original To and Cc recipients. A
“Forward” Opens the composer ready to enter new destination recipients with all attachments attached. F
“Star / Unstar” Toggles follow-up priority star on the active thread. S
“Archive” Moves conversation to Archive. E
“Delete” Moves conversation to Trash. #
“Mark as Spam” Moves to Spam and trains local bayesian filters. !
“Print” Launches the dedicated Print Thread Dialog for clean paper/PDF printing. P
“Snooze” Launches the Snooze Modal to hide this email until a future date/time. Z
“More Actions” (…) Dropdown with:
  • Mute Thread (suppresses future desktop alerts).
  • Pin to Top (locks thread at top of list).
  • Block Sender (adds domain/email to blocked senders list).
  • View Raw RFC 822 Headers (inspects SPF, DKIM, DMARC, IP hops).
  • Export as .EML (saves raw message file).
  • Export as PDF (exports formatted document).
M

Message Header Controls & Security Badges

Inside the message card:

  • Sender Address & Verification: Shows full sender name and verified email.
  • Security Padlock: Green padlock confirms connection was negotiated with valid TLS encryption.
  • Tracker Shield Badge: Displays count of neutralized spy tracking pixels (e.g., [Shield: 3 Trackers Blocked]). Clicking opens the Tracker Inspector Modal.
  • Attachment Chips: Renders file type icon, file name, and file size. Clicking launches the Attachment Lightbox Modal; right-clicking provides “Download As” or “Copy Attachment”.
  • Collapsible Quotes: Automatically collapses repetitive quoted replies (...) to keep reading uncluttered.

Inline Quick Reply Box

Located directly beneath the latest message in the thread:

  • Input Textarea: Allows typing a fast response without opening a popup window.
  • “Expand to Full Composer” Button (Diagonal Arrows): Promotes the draft into the full Rich Text Editor with all formatting tools.
  • “Send Reply” Button: Sends the message immediately (Ctrl+Enter).

4. SQLite FTS5 Full-Text Search Engine (ThreadSearchBar.tsx)

Located at the top of the interface, the search bar queries DodaMail’s local SQLite FTS5 (Full-Text Search 5) index. Queries execute locally in milliseconds without querying remote servers.

Supported Search Syntax & Operators

DodaMail supports Google-style search operators for precision filtering:

Search Operator Example Query What It Finds
from: from:[email protected] Messages sent by a specific email or name.
to: to:[email protected] Messages addressed to a specific recipient.
subject: subject:"Q3 Report" Matches exact words or phrases in the subject line.
has:attachment has:attachment invoice Finds messages containing attachments and mentioning “invoice”.
is:unread is:unread from:boss Filters to unread messages from a specific contact.
is:starred is:starred Filters to all starred messages.
after: after:2026-01-01 Messages received after January 1, 2026.
before: before:2026-10-01 Messages received before October 1, 2026.
label: label:Urgent Filters to messages tagged with the “Urgent” label.
folder: folder:Sent Restricts search to a specific folder.
OR contract OR agreement Matches messages containing either word.
NOT / - project -archived Matches “project” but excludes messages with “archived”.

Search Bar Controls

  • Search Input Field: Type any keyword or operator. Results populate dynamically as you type.
  • Recent Searches Dropdown: Clicking the search bar when empty displays your last 5 queries.
  • “Clear Search” Button (X): Instantly clears search parameters and restores the standard folder view.