mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-09-24 08:37:58 +00:00
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). |
||
|---|---|---|
| .. | ||
| fonts | ||
| icons | ||
| js | ||
| lib | ||
| app.js | ||
| icon.ico | ||
| index.html | ||
| login.html | ||
| manifest.json | ||
| modal-control-variants.html | ||
| style.css | ||
| sw.js | ||
| wave-variants.html | ||
| whirlpool-variants.html | ||