Files
ihasmail-inbuxa/ROADMAP.md
T
jcoffey-dev c26ca90e01 Document the nine languages, and what Beta means on them
The translations shipped today and the docs still said "no languages but
English". They also need to say the harder thing, which is that eight of
the nine have never been read by anybody who speaks them.

- README gains the language list, with the Beta caveat in the same line
  rather than a footnote.
- FEATURES.md gains an Interface language section: the list, why it is a
  separate setting from the date locale, and the two design properties
  that follow — a missing entry renders English, and plurals are asked of
  Intl.PluralRules rather than assumed, which is why Russian carries
  three forms and Japanese one.
- ROADMAP.md no longer lists translations as "not yet". What replaces it
  is the half that is genuinely not done: a translation anybody has
  checked. RTL is split out as its own entry, because holding Arabic,
  Hebrew and Persian back is a layout decision and not a queue position.
- KNOWN-ISSUES.md gains two entries. The unread catalogues, which is the
  one thing on that page that cannot be closed by testing. And the
  coverage number that read 100% while two hundred strings rendered
  English in every language — recorded as a general lesson rather than an
  i18n one, since a coverage number measures what it can see and the rest
  is exactly what nobody is checking.
2026-08-31 15:18:01 -07:00

3.3 KiB
Raw Blame History

Roadmap / not yet

Things ihasmail does not do, and why. An issue number here says where the entry came from, not that it is tracked elsewhere — a report can be closed because the bug in it was fixed while the larger thing it asked for stays on this page. What is genuinely open lives in the issue tracker; the rest is here because the answer is "no", not "not yet".

See KNOWN-ISSUES.md for what is built but worth knowing about.

  • Sharing a mail folder. Stalwart stores the share and never delivers it; see KNOWN-ISSUES.md. Withdrawn until the server does something with it. Sharing files, calendars and address books is unaffected and works.
  • Snooze (nothing in JMAP or Stalwart supports it, and ihasmail never stores a password, so nothing could act on a mailbox while you are away)
  • A translation anybody has checked. The translations themselves shipped on 2026-08-31 and are no longer on this page: nine languages, and the extraction that had always been the hard half is done — see FEATURES.md. What is not done is the other half, and it is the half that cannot be bought or automated. Every catalogue but English was produced by AI against standard dictionaries and has not been read by anybody who speaks the language, which is exactly where a bad translation does harm rather than merely looking untidy. They ship marked Beta, with that said in Settings and a link for reporting anything wrong, because shipping them quietly would ask people to trust text nobody has checked. A language loses the Beta mark when a speaker reads it and says so — a deliberate act by a person, not something a coverage percentage earns. If you speak one of them and are willing to read a few hundred strings, that is the single most useful thing anyone could contribute right now.
  • Right-to-left languages. Arabic, Hebrew and Persian are held back deliberately, and not for want of translators. RTL is bidi and layout work throughout — mirrored panes, gesture directions, icon sides, the message list's own geometry — and a catalogue without it produces a page that is translated and unusable. Adding one is not another entry in the picker.
  • Two-factor sign-in. Today an account with 2FA must use an app password (see Quick start), and Settings Security offers no way to switch 2FA on — only off, for an account that already has it. Supporting a TOTP code directly means implementing OAuth: Stalwart offers the authorization-code and device flows and no password grant, so ihasmail would hand sign-in to Stalwart's own login and come back with a token. That is a better security posture than the sealed password it holds now — a refresh token rather than a credential — but it replaces ihasmail's own sign-in page for those users and may need an OAuth client registered. Came out of #75, which is closed: what was reported there was a sign-in refused with nothing but "Invalid credentials", and that was fixed by saying what is actually happening and pointing at app passwords. The OAuth work it uncovered is tracked here rather than as an open issue, so there is no ticket to watch for it.