Skip to content

hey attachments finds 0 attachments on threads that definitely have one (multipart/mixed with sibling multipart/alternative) #285

Description

@lh

Environment

  • hey version: 0.1.1 (commit c0d3441894f1e04eb6d5bf2c0d71dea15754931c, built 2026-08-20)
  • Go: go1.26.6
  • Installed via brew install --cask basecamp/tap/hey
  • macOS (arm64)

Summary

hey attachments <thread-id> reports 0 attachments on threads that have a genuine attachment, confirmed by inspecting the raw RFC822 source of the message via the Hey web app. This reproduces consistently across three independent real threads in my mailbox, all sharing a similar MIME shape.

Reproduction

The affected messages share this MIME structure (from Content-Type headers in the raw source):

multipart/mixed
 ├── multipart/alternative
 │    ├── text/plain
 │    └── text/html
 └── application/pdf  (Content-Disposition: attachment; filename="...")

All were relayed through an Exchange/Outlook-based sender (X-MS-Has-Attach: yes present in the header, ARC-sealed).

Running:

hey attachments <thread-id> --json

returns:

{
  "ok": true,
  "data": null,
  "summary": "0 attachments in thread <thread-id>",
  "notice": "Attachment discovery stopped after 100 pages of thread messages"
}

for a thread that contains exactly one message. The "100 pages of thread messages" wording is surprising on its own for a single-message thread.

What --verbose shows

Running with -vvv / --verbose, the command issues roughly 200 sequential HTTP GET requests, every one logged as status=200, before giving up:

time=... level=DEBUG msg="http request" method=GET
time=... level=DEBUG msg="http response" status=200
... (repeats ~100 times) ...

So this isn't an auth failure or a 4xx/5xx from the server — every request the client makes succeeds, but the discovery logic never surfaces the attachment. This looks like a pagination bug on the client side (a cursor that never advances, or pagination running against the wrong resource) rather than a server-side data problem.

Expected behavior

hey attachments <thread-id> should list the PDF attachment present on the message, as it does (per the docs) for other threads.

Actual behavior

Always 0 attachments, on every thread I've tested with this MIME shape, despite ~200 successful HTTP requests being made in the process.

Additional notes

  • hey threads <thread-id> --json correctly returns the message body (text/plain part), so the client can see and parse this message fine — it's specifically the attachment-discovery path that fails.
  • Happy to run additional diagnostics (increased verbosity, --account variations, etc.) if that's useful — I don't want to paste any real thread IDs or message content here since this mailbox carries clinical correspondence, but I'm glad to test against a specific request.

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