Skip to content

gmail +reply-all drops the original message's CC recipients (v0.22.5) #911

Open

Description

@marcusjezweb

Version: 0.22.5 (Homebrew bottle, macOS arm64)

Repro: reply to a message whose headers are From: A, To: me, CC: B, C with:

gws gmail +reply-all --message-id <id> --body "..."

Expected (reply-all semantics): outgoing message addressed to A with B and C kept on CC (all original recipients minus self).

Actual: the sent message has To: A only — the CC header is dropped entirely, silently. Verified by fetching the sent message's metadata headers immediately after. The helper accepts --cc for additional recipients, but the whole point of reply-all is that the original CC set carries without the caller re-supplying it.

Happy to provide sanitised header dumps if useful.

Activity

  1. y4ho0 commented on Aug 28, 2026

    @y4ho0

    I can reproduce the recipient loss when Gmail returns the header name as CC or cc: parse_message_headers currently matches the exact spelling Cc, even though RFC field names are case-insensitive. The later reply-all recipient builder already carries original.cc correctly, so a casing mismatch at the parse step produces the reported To: A-only message.

    Could you confirm the name value for the CC entry in the original message's payload.headers metadata (values/addresses can remain redacted)? I have a focused fix and regression test locally, but I want to verify that it covers your real message before opening the PR.

  2. ZIFeIYUuuuuuu commented on Sep 9, 2026

    @ZIFeIYUuuuuuu

    I opened PR #923 with a focused fix and regression test: #923. The parser now accepts case-insensitive Cc header names and preserves all recipients.

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