hermes-agent/plugins
Teknium 65f407184d fix(email): never let unknown or malformed charsets abort the IMAP fetch
Unknown charset labels (QQ Mail's RFC 1428 'unknown-8bit' placeholder,
misspelled names, garbage encoded-word charsets) raised LookupError from
bytes.decode — errors='replace' only guards decode errors, not a missing
codec — aborting the whole fetch batch. UIDs are marked seen before the
fetch, so the crash permanently dropped every message in the batch.

- _safe_decode(): alias table (unknown-8bit→utf-8, gb2312/gbk→gb18030,
  ks_c_5601-1987→cp949, ...) then utf-8, then latin-1 last resort.
- _decode_header_value(): wraps decode_header() so a malformed RFC 2047
  header degrades to the raw string instead of crashing.
- _extract_text_body(): all three decode sites now use _safe_decode.

Fixes #35901, fixes #55381, fixes #55383.
2026-08-08 12:30:19 -07:00
..
browser
…
context_engine
…
cron_providers fix(cron): surface initial scheduler registration failures 2026-08-07 17:45:06 +05:30
dashboard_auth
…
disk-cleanup
…
google_meet
…
hermes-achievements
…
image_gen feat(image_gen): add FAL Nano Banana 2 model 2026-08-08 05:31:38 -07:00
kanban
…
memory fix(honcho): keep _pop_auth_notice tolerant of minimal fake managers; make fast-path test binding 2026-08-08 14:40:46 +05:30
model-providers chore: map Axmr1 email + update stale Go routing docstring 2026-08-08 14:47:11 +05:30
observability
…
platforms fix(email): never let unknown or malformed charsets abort the IMAP fetch 2026-08-08 12:30:19 -07:00
security-guidance
…
spotify
…
teams_pipeline
…
video_gen feat: add new FAL video families and image models 2026-08-08 04:31:55 -07:00
web
…
__init__.py
…
plugin_utils.py
…