Subject: [bug#63215] [PATCH mumi 0/2] Cc all issue participants when sending email

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 05 May 2023 12:18:07 -0400

Hi Arun,

Arun Isaac <[email-masked]> writes:

>> Yes, that makes sense! I will send a new patchset. According to
>> https://www.debian.org/Bugs/Reporting#xcc , if we want to send copies to
>> multiple addresses, we should put them in as a comma-separated list in
>> the same X-Debbugs-Cc header. teams.scm seems to be putting in multiple
>> X-Debbugs-Cc headers. Maybe we should change that?
>
> I just realized that using comma-separated lists calls for the
> functionality of teams.scm to be moved into `mumi send-email'. If
> teams.scm and `mumi send-email' remain separate, they will each produce
> a separate comma-separated list of X-Debbugs-Cc addresses, and we will
> be back to square one with multiple X-Debbugs-Cc headers.
>
> WDYT? What is the best way forward?

If you meant that it's mumi instead of git that should call
etc/teams.scm, it makes sense.  I'm not sure the functionality of
teams.scm proper should be moved wholesale into mumi, as it's useful
outside of mumi (for plain git users, say).

Mumi could invoke etc/teams.scm to produce the list of team members for
the changes involved, add any missing collaborators retrieved from the
message data to the set (avoiding duplicates), then format the
'X-Debbugs-CC' header with comma-separated values.  It should then
invoke git with the '--no-header-cmd' option to avoid teams.scm being
called again.

Note that our teams.scm script currently generate distinct X-Debbugs-CC
header for each participant.  The Debbugs copy used by GNU is the one
hosted at [0], which doesn't mention the comma-separated
requirement/suggestion, so I think that's currently OK, although I'm not
too confident in my reading of the 'process' Perl script [1].  At any
rate it'd be easy to adjust in teams.scm.

The email specification mentions that some special fields such as To and
Cc should be separated by commas, but says nothing about custom fields [2],
so in my opinion both forms should be supported by Debbugs (and probably
are, although it's hard to say without trying).

[0]  https://gitlab.com/npostavs/debbugs/-/tree/gnu-reconstruction?ref_type=heads
[1]  https://gitlab.com/npostavs/debbugs/-/blob/gnu-reconstruction/scripts/process 
[2]  https://datatracker.ietf.org/doc/html/rfc5322#section-3.6

-- 
Thanks,
Maxim