No description
  • Rust 58.5%
  • JavaScript 31.2%
  • CSS 7.6%
  • HTML 2.4%
  • PLpgSQL 0.2%
  • Other 0.1%
Find a file
Alex 7515c499a4 Faster search, identities v3, composer fixes, bulk selection upgrades
Search: pg_trgm GIN indexes + a FairEmail-style client-side mirror
(/search_index, IndexedDB) for instant, complete, date-ordered results;
search now survives an account switch; a ✕ clear button on every platform
that also dismisses the mobile keyboard.

Identities: per-identity name (label) distinct from the sender name; the
built-in Default is editable (sender name) and renamed from "Auto"; the
editor is a full sub-page with Add on top, like Accounts. New per-identity
options: editable From address (when the account permits) and "reply from
the address the mail was sent to" (mirror_to). resolve_from prefers the
account's default/named identity for the sender name.

Composer: no stray draft on an untouched reply (dirty snapshot), instant
close (background draft save), and a draft round-trip To fix (build_rfc822
now parses addresses + drops a redundant name == address).

UI: global time-format setting (system/24h/12h); mobile settings no longer
overflow; bulk selection gets select-all/deselect-all, shift-click ranges,
and long-press-to-extend on mobile (bulk actions chunked at 200).

Migrations 0011 (search trgm), 0012 (identity label), 0013 (address opts).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:29:45 +02:00
crates Faster search, identities v3, composer fixes, bulk selection upgrades 2026-06-14 17:29:45 +02:00
migrations Faster search, identities v3, composer fixes, bulk selection upgrades 2026-06-14 17:29:45 +02:00
.env.example Security hardening for internet exposure 2026-06-13 18:14:40 +02:00
.gitignore Initial commit: project vision + ARCHITECTURE.md 2026-06-08 00:23:19 +02:00
ARCHITECTURE.md Rename allmail → alwymail + Gmail/Outlook OAuth + unified add-mailbox form 2026-06-11 12:12:25 +02:00
Cargo.lock Live list updates over SSE (no push subscription needed) 2026-06-12 13:13:56 +02:00
Cargo.toml Fix dates never showing: serialize OffsetDateTime as RFC3339 2026-06-13 15:29:41 +02:00
CLAUDE.md Rendering: match FairEmail's model (strip CSS, keep tables, scale wide) 2026-06-13 14:26:46 +02:00
docker-compose.yml Rename allmail → alwymail + Gmail/Outlook OAuth + unified add-mailbox form 2026-06-11 12:12:25 +02:00
justfile Rename allmail → alwymail + Gmail/Outlook OAuth + unified add-mailbox form 2026-06-11 12:12:25 +02:00
README.md Rename allmail → alwymail + Gmail/Outlook OAuth + unified add-mailbox form 2026-06-11 12:12:25 +02:00
rust-toolchain.toml Scaffold workspace: api healthcheck, core types, dev infra 2026-06-08 00:31:26 +02:00

alwymail

Self-hosted, web-first email client (FairEmail, but server-side). One account, many connected mailboxes (Stalwart, Gmail, Outlook, any IMAP), synced and stored, browsable per-account or as a unified inbox, with multiple send identities — including a default that replies from the address a mail was received on. Installable as a PWA.

Full Rust, optimized for speed, low memory, and security.

Status: bootstrapping. See ARCHITECTURE.md for the design and the open decisions. No feature code until the architecture is reviewed.

Planned stack

  • Backend: Rust / Tokio — axum, sqlx (Postgres), async-imap, lettre, mail-parser/mail-builder, oauth2, apalis (Redis), dryoc, argon2.
  • Frontend: Leptos (PWA).
  • Deploy: Docker Compose (api, sync-worker, postgres, redis).

Quick start

To be added once the workspace is scaffolded (MVP milestone 2).