Files
RustBox/docs/ROADMAP_GAPS.md
T
Mateusz Gruszczyński 93762fe9ef
RustBox CI / rustbox (push) Waiting to run
v0.0.3
2026-10-30 00:12:09 +01:00

5.2 KiB

RustBox 0.0.3 — remaining roadmap gaps

Snapshot after the OpenPGP/key-lifecycle and unbounded Sieve action/condition work in this iteration.

OpenPGP status

OpenPGP is functionally complete for the scope defined in RUSTBOX_PLAN.md §9:

  • generate/import/export/delete public and private keys;
  • per-user protected keyring and identity assignment;
  • passphrase validation and passphrase change (GnuPG is used only for secret-packet re-wrapping; passphrases are sent via stdin/status-fd, never argv or database);
  • sign, encrypt, sign+encrypt, PGP/MIME and inline OpenPGP;
  • verify/decrypt with signer fingerprint, trust and invalid-signature warning;
  • recipient-key checks, public-key attachment, WKD and optional HTTPS HKP discovery;
  • private-key filesystem isolation and export policy.

RUSTBOX_PGP_GPG_BINARY may override the gpg executable used by the passphrase-change operation. Other cryptographic operations use rPGP directly.

Remaining functional items — 45

Advanced IMAP / shared folders / ACL — 11

  • Namespace/shared/global folder browser driven by NAMESPACE.
  • GETACL read path.
  • SETACL rights editor.
  • DELETEACL entry removal.
  • Inherited/default rights presentation where the server exposes it.
  • Clear own/shared/global folder distinction in the folder tree.
  • Full production QRESYNC resynchronization path.
  • Server-side SORT when advertised.
  • Server-side THREAD when advertised.
  • LIST-EXTENDED production behavior when advertised.
  • Complete UTF8/UTF8=ACCEPT behavior across mailbox/message edge cases.

Contacts / calendars — 12

  • CardDAV discovery.
  • Multiple CardDAV address books.
  • CardDAV sync-token + ETag synchronization.
  • CardDAV conflict/retry/delete synchronization.
  • LDAP address-book adapter (RO/RW policy-driven).
  • CalDAV discovery.
  • Multiple and shared CalDAV calendars.
  • CalDAV sync-token + ETag synchronization.
  • Recurrence expansion, exceptions and edit semantics.
  • Full timezone correctness behavior.
  • iTIP invitation parsing/delivery workflow.
  • Accept / Decline / Tentative invitation responses.

Core mail / composer / Sieve — 7

  • Full SMTP DSN negotiation.
  • TNEF / winmail.dat decoding.
  • Complete identity/signature default policy for every new/reply/forward edge case.
  • Persistent multi-step Undo history beyond the current safe single MOVE undo.
  • Arbitrarily branching visual Sieve groups, e.g. (A AND (B OR C)); the builder now supports an unlimited left-nested AND/OR chain.
  • Full capability-aware Sieve condition/action matrix for all advertised extensions.
  • Visual editing of existing non-RustBox/raw Sieve rules without falling back to raw text.

Spam / password / account integration — 11

  • rspamd HTTP spam adapter.
  • SpamAssassin adapter.
  • Custom spam-command adapter.
  • Password-change API adapter.
  • Password-change LDAP adapter.
  • Password-change SQL adapter.
  • Password-change PAM/command adapter.
  • Persistent session inventory/device metadata across process restarts.
  • Administrator-facing autologout/remember-me policy controls.
  • New-user/onboarding identity workflow.
  • Optional login → mailbox/address mapping (virtuser equivalent).

Search / notifications / diagnostics — 4

  • Complete attachment content/metadata indexing policy and limits.
  • Background/service-worker notifications while the page is inactive, if retained for 0.0.3.
  • Richer per-account notification policy beyond global/per-folder controls.
  • Background task/queue status plus recent-error/repair workflows.

UI / i18n work still required (not counted as separate functional features)

  • Final Settings information architecture: General, Message view, separate Signatures, Autoresponder, Contacts, Calendar, Encryption, Privacy, Security and Sessions.
  • Complete keyboard-only/focus-order/accessibility audit.
  • Remaining hard-coded EN/PL strings moved to locale files.
  • Missing-key detection/fallback audit.
  • Locale-aware date/time/number formatting audit.
  • Documentation/structure for additional languages.

Release/security/acceptance work (not counted in the 45 functional items)

  • complete HTML/CSS/SVG sanitizer regression matrix;
  • tracking-pixel/data-URI/CID matrix;
  • malformed/nested MIME and huge-message tests;
  • CRLF/header injection, CSRF, XSS and cross-account authorization matrix;
  • session fixation/hijacking and secure-cookie verification;
  • archive/ZIP-bomb and dangerous-filename tests;
  • temporary-storage cleanup verification;
  • OpenPGP key-isolation/passphrase/PGP-MIME regression matrix;
  • cargo fmt --check, cargo clippy --all-targets, cargo test, release build;
  • Dovecot/Postfix/ManageSieve real-server matrix;
  • SMTPUTF8/IDN real-server compatibility;
  • large mailbox/large attachment/performance tests;
  • long-running IDLE/reconnect storm/UIDVALIDITY/index-consistency tests;
  • memory stability and restart/resume tests.

OpenPGP is no longer a functional blocker. The largest remaining feature blockers are shared folders/ACL, CardDAV/CalDAV+iTIP and integration adapters. The release remains blocked by the real Rust/server/security/performance gate until those tests are executed successfully.