No description
- Rust 56%
- JavaScript 33.2%
- CSS 7.8%
- HTML 2.7%
- PLpgSQL 0.2%
Authentication (login page is now a method chooser — fields hidden by default): - Pocket ID (OIDC) sign-in, link-only: discovery + auth-code + PKCE + nonce + userinfo; link from Settings → Sign-in, then "Sign in with Pocket ID". oidc.rs, oidc_identities table (0014), gated on ALWYMAIL_POCKETID_*. - Passkeys (WebAuthn) via webauthn-rs: enroll-after-login, discoverable (usernameless) sign-in; resident key forced client-side; auto-named from the authenticator AAGUID (Bitwarden/1Password/iCloud/…) with inline rename. passkey.rs, webauthn_credentials table (0015), gated on ALWYMAIL_RP_ID/_ORIGIN. Reader: - Prev/next message navigation following the current mailbox+filter: ‹ › buttons and ←/→ keys on desktop; on mobile a drag gesture with a live edge arrow. Resilience / notifications: - Inbox no longer collapses to the empty state on a transient background-refresh failure (keeps the list, self-heals with a retry). - One self-updating "N new messages" summary card; account auth-expiry reminders + a persistent in-app reconnect banner; targeted per-message dismissal. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PeDupzo8eFkSDEh6J7cgs2 |
||
|---|---|---|
| crates | ||
| migrations | ||
| .env.example | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| justfile | ||
| README.md | ||
| rust-toolchain.toml | ||
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).