Skip to content

Feature audit — Email & search

1. Email reading & navigation

FeatureStatusEvidence / Notes
Inbox list with summaries✅ Implementedinbox.py: pagination, folder filter, unread filter. Shows from, subject, preview, date, unread badge, attachment icon
Message detail view✅ Implementedthread.py: Full message content, sanitized HTML, plain→HTML conversion
Thread/conversation view✅ Implementedthread.py: Groups messages by thread, shows all in conversation
Next/previous navigation❌ MissingNo nav links in thread view; must return to list
Unread/read visual styling✅ Implementedis_unread flag passed to template, CSS styling present
Multi-select in list❌ MissingNo checkboxes in inbox template
Bulk action toolbar🟡 Partialbulk.py API exists but no UI toolbar; requires JS integration
Pagination✅ Implementedinbox.py: page, per_page params; pagination controls in template
Infinite scroll❌ MissingUses traditional pagination only
Folder/label sidebar✅ ImplementedSidebar in base.html with folder list
Star/flag indicators❌ MissingNo star/flag support in UI or API
HTML email sanitization✅ Implementedthread.py: Removes script, style, on* handlers, sanitizes URLs
Inline image display🟡 PartialDisplays if embedded; no "load remote images" toggle
Quoted text collapsing❌ MissingFull quoted text shown; no collapse UI
Attachment display✅ ImplementedShows attachment list with filename, size; download links

Category Score: 9/15 (60%)


2. Email composition & sending

FeatureStatusEvidence / Notes
Compose new email✅ Implementedcompose.py: GET /compose, form with to/cc/bcc/subject/body
Reply✅ Implementedcompose.py: reply_to param prefills recipient + quoted text
Reply All✅ Implementedcompose.py: reply_all param includes all recipients
Forward✅ Implementedcompose.py: forward param prefills body with forwarded content
Draft autosave🟡 PartialPOST /api/email/draft exists; no JS autosave timer
Rich text editor❌ MissingPlain textarea only; no formatting toolbar
Attach files❌ MissingNo file upload in compose form
Recipient autocomplete❌ MissingNo typeahead/contacts API integration
Send email✅ ImplementedPOST /api/email/send with success/error handling
Undo send❌ MissingNo delayed send queue
Schedule send❌ MissingNo datetime picker or scheduling
Signature management❌ MissingNo signature settings or auto-insertion
From/alias selection❌ MissingNo alias picker if multiple identities
Address validation warnings❌ MissingNo "missing subject" or "forgot attachment" warnings
Templates/canned responses❌ MissingNo template insertion feature

Category Score: 6/15 (40%)


3. Email organization & management

FeatureStatusEvidence / Notes
Archive action✅ Implementedactions.py + bulk.py: Move to Archive
Delete action✅ Implementedactions.py + bulk.py: Move to Trash
Move to folder✅ Implementedactions.py: /api/email/move with destination
Apply/remove labels✅ Implementedactions.py: /api/email/labels with add/remove/set
Mark read/unread✅ Implementedactions.py + bulk.py: Toggle read state
Mark as spam❌ MissingNo spam action in UI
Mute thread❌ MissingNo mute functionality
Snooze❌ MissingNo snooze until later feature
Undo toast❌ MissingNo undo mechanism after actions
Filters/rules UI❌ MissingNo filter management in settings
Follow-up reminders❌ MissingNo "remind me" or "waiting for reply"

Category Score: 6/11 (55%)


4. Search & discovery

FeatureStatusEvidence / Notes
Search bar in header✅ Implementedsearch.py: GET /search with query input
Basic keyword search✅ ImplementedSearches subject, body, from/to
Advanced filters UI✅ Implementedsearch.py: from, date_from, date_to, has_attachments, is_unread
Search operator parsing❌ MissingNo from:, to:, subject: operator syntax
Search results list✅ ImplementedResults displayed with pagination
Semantic/AI search✅ Implementedsearch.py: mode=semantic toggle, uses embeddings
Saved searches✅ ImplementedPOST /search/save, DELETE /search/saved/{id} (in-memory)
Search suggestions✅ ImplementedGET /search/suggestions for autocomplete
Search within thread❌ MissingNo Ctrl+F style in-thread search
Attachment search🟡 Partialhas_attachments filter exists; no filename search

Category Score: 8/10 (80%)


9. Attachments & files

FeatureStatusEvidence / Notes
Attachment list with download✅ Implementedthread.py: Shows attachments with download links
Inline preview (PDF/image)❌ MissingDownload only; no in-browser preview
Attachment upload in compose❌ MissingNo file upload support
Virus/malware warnings❌ MissingNo security scanning indicators
Cloud storage integration❌ MissingNo Drive/Dropbox integration
Attachment search🟡 Partialhas_attachments filter; no filename search

Category Score: 1.5/6 (25%)

Released under the MIT License.