Commit Graph
238 Commits
Author SHA1 Message Date
Hieu Nguyen (Jack)andClaude Sonnet 5.5 d535cd3132 Translate composer
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 12:31:22 +07:00
Hieu Nguyen (Jack)andClaude Sonnet 5.5 23e49056b4 Translate message list, reader, actions and snooze UI
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 12:30:14 +07:00
Hieu Nguyen (Jack) 52e778ae18 Merge main into feat/pt-br-navigation 2026-10-07 12:25:51 +07:00
Hieu Nguyen (Jack)andClaude Sonnet 5.5 eb64be1c56 Add translation vars, plurals, server translator and RTL support
- t(key, vars) interpolates {placeholders}; numeric count picks a CLDR plural variant
- createTranslator(locale) shares the translator with server code
- registry entries accept dir: "rtl"; layout and provider set <html dir>
- DialogContent translates its close label itself (closeLabel stays an override)
- memoize the language context value, merge double map in dashboard-nav

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 12:24:54 +07:00
Hieu Nguyen (Jack) 7b0a2a41c4 Merge pull request #75 from egamer24/fix/app-passwords-mailbox-scope
fix(settings): App passwords send mailboxIds so JMAP keys can be created again
2026-10-07 12:20:38 +07:00
Hieu Nguyen (Jack) 1335ce53ce Merge pull request #74 from WutangNailao/feat/email-rendering
Preserve HTML email styles with isolated rendering and remote content controls
2026-10-07 12:19:04 +07:00
Hieu Nguyen (Jack)andClaude Sonnet 5.5 b5bd28280b Fix recipient-display test bundling and contain email paint in reader
Stub the DOM-only email HTML module in the recipient-display test bundle,
since css-tree/parse5 do not bundle for node. Add contain:paint to the
reader host so fixed/absolute email CSS cannot cover the app UI.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 12:14:06 +07:00
egamer24andClaude Opus 5.5 a4c1b4f4b6 fix(settings): send mailboxIds from App passwords so JMAP keys can be created
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 10:11:16 -07:00
nailao 2b918b8285 Preserve email styles with isolated rendering and remote content controls 2026-10-07 00:55:31 +08:00
forge-z db5a39362a Centralize locale registration for extensible localization 2026-10-06 13:39:46 -03:00
Hieu Nguyen (Jack) 48da9fab26 Merge pull request #73 from midego1/feat/imap-batch-import
feat(import): import whole IMAP folders in batches; iCloud folder names, model-list redirect, domain-removal confirmation
2026-10-06 15:21:05 +07:00
midego 4b7adb748d feat(import): import whole IMAP folders in batches, harden model list and domain removal
- IMAP import: walk a folder newest-first in batches of up to 100 via an
  `offset` / `nextOffset` pair, so folders with more than 100 messages can be
  imported completely. The import page loops until every folder is done and
  shows progress. The per-request limit stays at 100 (default 100).
- IMAP import: recognise iCloud `Sent Messages` and `Deleted Messages`.
- Agent model list: use `redirect: "manual"` instead of `"error"` so
  providers that redirect do not fail the request with a generic error.
- Domains: require typing the hostname before removing a domain, since
  removal deletes the domain's mailboxes and all their messages.
- Add tests for the batch selection helper.
2026-10-06 06:50:20 +07:00
Hieu Nguyen (Jack) 13999f8d81 Merge pull request #69 from midego1/feat/permanent-delete-trash
Permanently delete and auto-clean Trash and Spam
2026-10-05 11:44:31 +07:00
midego 2b7d78bac7 Auto-delete Trash and Spam after a chosen number of days
Adds Settings > Inbox > Trash and Spam clean-up (closes #68, part 2).

- users.trash_retention_days (null = never) via GET/PATCH /api/settings/trash-retention
- messages.trashed_at, kept current by triggers whichever code path changes status
- Scheduled maintenance purges expired messages in batches of 200 (Workers cron and Node scheduler)
2026-10-05 10:48:51 +07:00
midego b0ee52c37d Permanently delete messages from Trash and Spam
Adds a "Delete forever" action and an "Empty Trash"/"Empty Spam" button so
mail can be removed for good from the web UI (closes #68, part 1).

- Bulk action "delete" only destroys messages already in Trash or Spam
- POST /api/messages/empty empties a mailbox's Trash or Spam in batches
- Message view: the delete button becomes "Delete forever" in Trash/Spam
- Every removal deletes R2 objects and writes an email.delete audit entry
2026-10-05 10:35:24 +07:00
forge-z 39bd236502 Add English and Brazilian Portuguese language selection for email navigation 2026-10-04 16:28:08 -03:00
Hieu Nguyen (Jack) a0efd37c10 workaround for 401 cf error 2026-10-03 23:01:03 +07:00
Hieu Nguyen (Jack) 0159439b2f [fix] read status inconsistent 2026-10-03 13:25:45 +07:00
Hieu Nguyen (Jack) 456edb0d75 Update README.md 2026-10-03 13:01:46 +07:00
Hieu Nguyen (Jack) 2eaadb747c update README 2026-10-03 12:54:36 +07:00
Hieu Nguyen (Jack) a92f65316b Update adding domain config 2026-10-03 12:07:31 +07:00
Hieu Nguyen (Jack) 7855251cdd update readme 2026-10-03 12:02:10 +07:00
Hieu Nguyen (Jack) be1fe4e3fc Add support for Resend + AWS SES 2026-10-03 11:56:52 +07:00
Hieu Nguyen (Jack) 06cbb63420 improve calendar mobile layout 2026-10-03 10:44:07 +07:00
Hieu Nguyen (Jack) b9e9cf790d Improve UI 2026-10-03 10:12:26 +07:00
Hieu Nguyen (Jack) 89809b12aa add support for multiple accounts 2026-10-02 17:55:35 +07:00
Hieu Nguyen (Jack) c2043e134b Improve bulk message action 2026-10-02 16:20:25 +07:00
Hieu Nguyen (Jack) 3a89c5d7c3 improve menu ui 2026-10-02 16:05:50 +07:00
Hieu Nguyen (Jack) 3e524eec4c improve nav ui 2026-10-02 15:11:56 +07:00
Hieu Nguyen (Jack) 18826da893 improve ui 2026-10-02 14:57:11 +07:00
Hieu Nguyen (Jack) 60e22badc0 improve UI 2026-10-02 14:49:00 +07:00
Hieu Nguyen (Jack) fbce7950b3 [fix] calendar drag item performance 2026-10-02 14:48:54 +07:00
Hieu Nguyen (Jack) a65c8779c2 Improve UI 2026-10-02 14:26:47 +07:00
Hieu Nguyen (Jack) ac1101f28f improve display for mobile 2026-10-02 14:10:40 +07:00
Hieu Nguyen (Jack) 9edd49d1be Merge pull request #65 from siwel/fix/routing-rule-blank-forward-address
fix(routing): accept a blank forwarding address on deliver and reject rules
2026-10-01 16:59:57 +07:00
Hieu Nguyen (Jack) 9b79673f08 Merge pull request #61 from ssthormess/feat/show-full-recipient-addresses
Show the recipient address, with an optional full form
2026-10-01 16:55:01 +07:00
Hieu Nguyen (Jack) 99d2ed0576 Merge branch 'main' of https://github.com/hieunc229/mailflare 2026-10-01 15:36:05 +07:00
Hieu Nguyen (Jack) b777fe3e9e remove media 2026-10-01 15:36:03 +07:00
lewisandClaude Opus 5.5 61d7dd0883 fix(routing): accept a blank forwarding address on deliver and reject rules
The domain rule dialog submits its whole form state, so "Deliver to
mailbox" and "Reject / block" rules arrive with forwardTo: "". The
schema only allowed an email or null, so those requests failed with a
400 that the dialog shows as "Request failed". This blocked creating
the "*" catch-all, editing such rules, and toggling them on or off.

Treat a blank forwardTo as null. Forward rules still require a valid
address through the existing superRefine check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 15:19:20 +07:00
Hieu Nguyen (Jack) af936cacfa Merge pull request #64 from IllusionVK/patch-2
Docs: Reorder so CF_Token is first + provide CF_Token setup steps
2026-10-01 11:15:06 +07:00
Charlie Blundell a5de2910d2 Reorder so CF_Token is first + provide CF_Token setup steps 2026-10-01 01:54:10 +10:00
Hieu Nguyen (Jack) 8aa184db1b improve permissions 2026-09-30 21:44:11 +07:00
ssthormess 8d08551b3c Show the recipient address, with an optional full form
Inbound To no longer says "me". To, Cc, and Bcc show the mailbox
address. A switch on the signed-in user, under Settings → Inbox,
shows Name <user@domain.tld> when the header includes a display name.
2026-09-30 07:07:23 -05:00
Hieu Nguyen (Jack) 687d90afa5 improve UI 2026-09-30 17:40:28 +07:00
Hieu Nguyen (Jack) 9f840d2175 Merge pull request #62 from govtech42/feat/dark-mode
feat: dark mode with a light/dark/system theme setting
2026-09-30 15:47:18 +07:00
Hieu Nguyen (Jack) 3b48fa6e6f update calendar background 2026-09-30 15:44:25 +07:00
Hieu Nguyen (Jack) 04234e40fa Merge main into PR #62 and preserve dark theme and transition styles 2026-09-30 15:32:34 +07:00
Hieu Nguyen (Jack) a0526d4ed3 Merge pull request #60 from siwel/feat/choose-account-aliases
Make aliases configurable when creating user accounts
2026-09-30 15:16:31 +07:00
Hieu Nguyen (Jack) 442dffdc8d Merge PR #60 and preserve booking usernames in shared account creation 2026-09-30 15:16:13 +07:00
Hieu Nguyen (Jack) 0d824900e6 Merge pull request #63 from hieunc229/codex/pr-58-fixes
perf: optimize message lists with safe conversation pagination
2026-09-30 15:12:00 +07:00