Files
SRCmail/ROADMAP.md
T
Matthieu MALVACHEandMatthieu MALVACHE cf21a84263 Initial release: JMAP Webmail Client
A modern, privacy-focused webmail client built with Next.js and the JMAP protocol.
Designed for Stalwart Mail Server.

Features:
- Full email operations (compose, reply, forward, threading)
- Real-time push notifications
- Dark/light theme support
- Mobile responsive design
- Keyboard shortcuts
- Drag-and-drop organization
- i18n (English/French)
- Security-first (external content blocked, HTML sanitization)
2025-12-10 17:54:22 +01:00

3.7 KiB

JMAP Webmail - Roadmap

This document tracks the development status and planned features for JMAP Webmail.

Completed Features

Core Infrastructure

  • Next.js 16 with TypeScript and App Router
  • Tailwind CSS v4 with Oxide engine
  • Zustand state management
  • JMAP client implementation (jmap-jam)

Authentication

  • Login with JMAP server authentication
  • Session management (no password storage for security)
  • Username autocomplete with history
  • Logout functionality
  • Authentication error handling

JMAP Server Connection

  • Session establishment and keep-alive
  • Connection error handling and retries
  • Storage quota display
  • Server capability detection
  • Shared folders support (multi-account access)

Email Operations

  • Email fetching and display
  • Full HTML email rendering
  • Compose, reply, reply-all, forward
  • Draft auto-save with discard confirmation
  • Mark as read/unread
  • Star/unstar emails
  • Delete and archive
  • Color tags/labels
  • Full-text search
  • Attachment upload and download
  • Batch operations (multi-select)
  • Quick reply form
  • Email threading (Gmail-style inline expansion)

Real-time Updates

  • EventSource for JMAP push notifications
  • State synchronization
  • Email arrival notifications
  • Real-time unread counts
  • Mailbox change handling

User Interface

  • Three-pane layout (sidebar, list, viewer)
  • Minimalist design system
  • Dark and light theme support
  • Custom scrollbars
  • Mobile responsive design
  • Keyboard shortcuts
  • Drag-and-drop email organization
  • Right-click context menus
  • Hierarchical mailbox display
  • Email list with avatars and visual hierarchy
  • Expandable email headers
  • External content warning banner
  • SPF/DKIM/DMARC status indicators
  • Loading states and skeletons
  • Smooth transitions and animations
  • Infinite scroll pagination
  • Error boundaries
  • Settings page with preferences

Internationalization

  • English language support
  • French language support
  • Automatic browser language detection
  • Language preference persistence

Security

  • External content blocked by default
  • HTML sanitization with DOMPurify
  • User control for loading external content

Planned Features

Address Book & Contacts

  • Contact store with CRUD operations
  • Contacts list view with search/filter
  • Contact details view/edit form
  • Contact groups management
  • vCard import/export
  • JMAP contacts sync (if server supports)
  • Email autocomplete from contacts
  • Contacts integration in composer

Advanced Features

  • Email filters and rules
  • Calendar integration (JMAP Calendars)
  • Email templates
  • Signature management
  • Vacation responder settings
  • Email aliases support
  • Advanced search with filters
  • Email encryption (PGP/GPG)

Performance Optimizations

  • Virtual scrolling for large lists
  • Email content caching
  • Bundle size optimization
  • Service worker for offline support
  • Lazy loading for attachments

Testing

  • Unit tests for utilities
  • Component tests
  • E2E tests with Playwright
  • Accessibility testing
  • Performance testing

Deployment

  • Health check endpoint
  • Production build optimizations
  • Monitoring and logging

Security Enhancements

  • CSP headers configuration
  • Additional XSS protection layers
  • Rate limiting
  • CORS configuration

Known Issues

  • Next.js workspace root warning (cosmetic)

Contributing

Want to help implement a feature? Check out our CONTRIBUTING.md guide!