Truncate `note_metadata.email_participant
The following discussion from !117149 (merged) should be addressed:
-
@splattael started a discussion: (+7 comments) According to https://www.rfc-editor.org/rfc/rfc5321.txt an email address can be as long a 320 chars: 64 local part +
@
+ 255 chars domain.Question (non-blocking) Should we truncate
email_participant
to255
chars to ensure that the note is created even if the sender's email address exceeds 255 chars?🤔 Marking as non-blocking because it's a rare case and
Gitlab::Utils::Email.obfuscated_email
needs to handle input which does not look like an email address.Example:
[10] pry(main)> email = "#{"a" * 255}@example.com" => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@example.com" [11] pry(main)> truncated = email.truncate(255) => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..." [12] pry(main)> Gitlab::Utils::Email.obfuscated_email(truncated, deform: true) => "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..." [13] pry(main)> Gitlab::Utils::Email.obfuscated_email(email, deform: true) => "aa*****@e*****.c**"
/cc @msaleiko