IMAP email fetch: unread state and payload bugs

NousResearch/hermes-agent · cluster 18106 · gateway

Data as of

9 open items. Fix attempted, not merged.

The short answer

3open issues
6open PRs
17items grouped
Known?
Yes. 17 related items grouped here, 1 issue already closed.
Fix event
No fix has been merged to main. 7 PRs closed without merging; see the attempts below.
Tracker
The maintainers' tracker marks this unresolved. That is separate from the fix event.
Still open
3 issues and 6 PRs.

These issues and fixes address two related IMAP problems in the email gateway: fetching messages with RFC822 inadvertently marks them as read (fixed by switching to BODY.PEEK[]), and FETCH responses containing non-bytes payloads cause decode crashes (fixed by guarding against malformed responses).

Open issues3

  • Issue#18106[Bug]: [Email] IMAP fetch error: 'int' object has no attribute 'decode'
  • Issue#41340[Bug] email: IMAP UID FETCH crashes with 'int object has no attribute decode' on bytes-shaped responses
  • Issue#42997Email gateway IMAP polling marks unread Gmail messages as read

Open PRs6

  • PR#18337fix: resolve 7 identified issues [automated]
  • PR#41395fix(email): use BODY.PEEK[] for IMAP fetch (#41340)
  • PR#43017fix(email): use BODY.PEEK[] to avoid marking messages as read on Gmail
  • PR#43018fix(gateway/email): use BODY.PEEK[] instead of RFC822 to avoid marking messages as read
  • PR#48224fix(email): use BODY.PEEK[] by default, configurable via platforms.email.imap_peek
  • PR#72783fix(email): preserve unread state during IMAP polling

7 PRs closed without merging

From the close comments: done elsewhere 2 · duplicate 2 · superseded by another PR 1 · other 2

  • #12498 fix(email): guard IMAP FETCH response against non-bytes payloads · done elsewhere → 88bd1c0, #56956
  • #18146 fix(email): guard IMAP FETCH response against non-bytes payloads · done elsewhere → 88bd1c0
  • #41382 fix(email): use BODY.PEEK[] instead of RFC822 for IMAP UID FETCH · other → #41395, #41382
  • #41486 fix(email): use BODY.PEEK[] for IMAP fetch and handle missing body literal (#41340) · other
  • #43002 fix(email): use BODY.PEEK[] to avoid marking messages as read · superseded by another PR → #41395
Show 2 more
  • #43016 fix(email): use BODY.PEEK[] in IMAP fetch to preserve unread state · duplicate → #43018, #42997
  • #43032 fix(email): use BODY.PEEK[] to avoid marking messages as read on IMAP fetch · duplicate → #43017, #43018, #43002, #42997
Closed issues · 1
  • Closed#48527Email gateway marks messages as read (IMAP \Seen) when fetching
How this cluster was grouped
  • Link evidence (partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
  • Members outside that structural core may belong to a different underlying problem.
  • Pairwise link density 0.13: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
gateway
Closed issues
1
Attempts
7 PRs closed without merging

For your agent

The same facts, typed.