odysseus/static
romanreiki fa45bdf4f3 fix(email): resolve Sent/Trash/Archive/Junk folders by IMAP special-use flags, not English name substrings
Localized (non-English) Gmail accounts return special-use mailbox names in
the account's own language, encoded as modified UTF-7. Folder resolution
previously guessed a mailbox's role by checking whether its raw name
contained an English substring like "sent"/"trash"/"archive" - this never
matches for e.g. a Russian-language Gmail account, so list_emails,
search_emails, and the web UI's own folder listing/select all silently
treated the Sent folder as nonexistent or unlabeled.

- mcp_servers/email_server.py: role_flags/candidates in _resolve_folder and
  _folder_role_from_name now include "sent"; _list_emails/_search_emails
  resolve the folder name before SELECT instead of using the literal name.
- routes/email_routes.py: same fix in the independently-duplicated
  _resolve_mail_folder/_folder_role_from_name/_list_emails_sync used by the
  REST API and web UI. Added _folder_role_from_flags() to read the actual
  IMAP LIST response's special-use attributes (RFC 6154 + Gmail
  extensions), which are locale-independent, and expose them via a new
  roles field on GET /api/email/folders.
- static/js/emailInbox.js, static/js/emailLibrary.js: folder-tab role/label
  logic now prefers the server-supplied role over guessing from the name,
  falling back to the old substring guess only when no role is provided
  (fixture/stale-cache/timeout response paths).
2026-07-28 21:46:05 +00:00
..
fonts feat(a11y): add a Text size control and an OpenDyslexic font option (#4210) 2026-06-22 13:53:46 +02:00
icons Cookbook model workflow fixes 2026-06-21 11:02:35 +00:00
js fix(email): resolve Sent/Trash/Archive/Junk folders by IMAP special-use flags, not English name substrings 2026-07-28 21:46:05 +00:00
lib Odysseus v1.0 2026-05-31 23:58:26 +09:00
app.js Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
icon.ico feat(launcher): add portable windows launcher (#976) 2026-06-16 04:58:16 +01:00
index.html Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
login.html fix(auth): centralize password and username validation constants (#4120) 2026-06-16 09:52:15 +02:00
manifest.json pwa missing icons added (#428) 2026-06-15 16:00:13 +09:00
modal-control-variants.html Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
style.css Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
sw.js Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
wave-variants.html Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
whirlpool-variants.html Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00