Skip to content

attachment list returns an empty array for most threads that search --attachment matches (1.3.0 and 1.4.0) #402

Description

@lh

What happens

hey attachment list <topic_id> returns

{"ok": true, "data": [], "summary": "0 attachments in thread <id>"}

for threads that demonstrably carry attachments.

Why I'm confident the attachments are really there

Two independent server-side signals disagree with the CLI:

  1. hey search --attachment pdfs returns these very threads, so HEY's own index has them flagged as carrying a PDF.
  2. hey thread read <topic_id> renders the message body ending in a paperclip marker followed by the real filename.

Rate

Of the 10 most recent threads returned by hey search --attachment pdfs --date last_90_days, only 3 returned anything from attachment list. The other 7 all show a paperclip marker and filename in the rendered body.

One of the missed threads carries six separate attachment markers and discovers none of them.

Versions

Reproduced identically on:

  • 1.3.0 (Homebrew cask, basecamp/tap/hey)
  • 1.4.0 (official hey_1.4.0_darwin_arm64.tar.gz from the release page, SHA-256 verified against checksums.txt)

macOS 15, arm64.

This is not #285

That bug fired ~200 sequential GETs and reported Attachment discovery stopped after 100 pages of thread messages. Here -vv shows exactly two requests and a clean empty return, on both passing and failing threads. The walker isn't spinning; it fetches, finds nothing, and returns.

Retrieval itself is healthy. On threads where discovery does find the file, hey attachment save writes a byte-exact file (verified by size and by opening the PDF).

Not a caching artifact

1.4.0 enables the SDK ETag response cache, and verbose output showed both threads served from cache (304). I moved ~/.cache/hey-cli aside and re-ran cold: identical results.

Shape unknown

It affects both forwarded mail and mail sent directly to me, so it isn't simply a forwarding problem. I could not find a discriminator: inline-image count doesn't predict it (there are failures with zero inline images and successes with one). Senders span several unrelated providers, including Exchange/Outlook relays and ordinary transactional senders.

I've kept thread IDs and filenames out of this report since they're from a personal mailbox, but I'm very happy to run any diagnostic that would help narrow it down, or to send sanitised verbose output.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions