mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-09-28 10:38:00 +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). |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| email_server.py | ||
| image_gen_server.py | ||
| memory_server.py | ||
| rag_server.py | ||