Commit graph

4 commits

Author SHA1 Message Date
f1bf86a5c9 fix(bot): preserve HTML body content and isolate mailbox poll failures
_extract_body previously discarded real HTML content, replacing it with
a placeholder whenever a multipart email had no text/plain part. Now
falls back to the raw text/html payload before giving up, only using
the placeholder when a message has no text-bearing part at all.

poll_mailboxes also had no error isolation: an unhandled IMAP exception
from any one mailbox would stop the discord.ext.tasks.Loop permanently,
silently killing ingestion for all three mailboxes. Each mailbox's poll
is now wrapped in try/except so one failure doesn't block the others.
2026-07-13 14:12:46 -07:00
f4b57238d2 feat(bot): add email ingestion polling and thread-open triage creation 2026-07-13 14:07:53 -07:00
d86cfd2d3d fix: preserve true message content in raw_content for attachment-only messages
Separate display snippet from raw_content: use actual message.content
for raw_content (which may be empty string) and only use the placeholder
string for the display snippet. This matches the precedent from Task 5's
ping.py where build_ping_embed must never substitute raw_content with a
placeholder, preserving the factual state of whether content was present.
2026-07-13 14:04:48 -07:00
8d8761a79d feat(bot): add manual-share cog forwarding channel messages to #inbox 2026-07-13 14:00:56 -07:00