Artem Lytkin
2a17cf7ded
fix(git): parse co-author trailers that are not RFC 5322 addresses ( #39076 )
...
Bot co-authors like `dependabot[bot]` render as one long string with the
email inside the name, and never get truncated, so they overflow the
column.
Co-author idents are parsed with `net/mail`, but a git ident isn't an
email address. `mail.ParseAddress` rejects the whole value when the name
holds characters RFC 5322 reserves, like a `[bot]` suffix or a comma, so
the error branch keeps the raw trailer as the display name and throws
the address away. No address means no `mailto:` link, and the anchor is
what `.avatar-stack-names` truncates.
So parse the angle-addr ourselves when `net/mail` won't take it.
Splitting on the last `<` is safe because git strips angle brackets from
idents. The bare-name branch gets the class too.
Fixes https://github.com/go-gitea/gitea/issues/38949
2026-08-24 19:06:30 +00:00
..
2026-07-28 17:04:22 +00:00
2026-08-22 08:59:37 +00:00
2026-07-28 17:04:22 +00:00
2026-07-23 17:42:55 +00:00
2026-07-28 17:04:22 +00:00
2026-07-28 17:04:22 +00:00
2026-07-19 07:32:00 +00:00
2026-05-26 15:49:31 -07:00
2026-08-11 16:33:15 +00:00
2026-08-11 16:33:15 +00:00
2026-07-28 17:04:22 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-17 18:44:31 +08:00
2026-07-28 17:04:22 +00:00
2026-08-07 02:44:55 +00:00
2026-08-07 02:44:55 +00:00
2026-07-28 17:04:22 +00:00
2026-07-28 17:04:22 +00:00
2026-07-21 12:18:00 +00:00
2026-07-28 17:04:22 +00:00
2026-07-23 01:22:26 +00:00
2026-07-23 01:22:26 +00:00
2026-07-23 01:22:26 +00:00
2025-05-09 16:17:08 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-05-07 16:19:45 +02:00
2026-08-05 00:17:07 +08:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-08-09 10:25:06 +00:00
2026-08-05 00:17:07 +08:00
2026-07-28 19:12:53 +08:00
2026-08-05 00:17:07 +08:00
2026-08-05 00:17:07 +08:00
2026-08-24 19:06:30 +00:00
2026-08-24 19:06:30 +00:00
2026-07-15 17:30:01 +00:00
2026-07-28 17:04:22 +00:00
2025-07-30 07:08:59 +00:00
2026-05-26 15:49:31 -07:00
2026-07-17 18:44:31 +08:00
2026-07-28 17:04:22 +00:00
2026-08-24 18:26:10 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2024-11-20 19:26:12 +00:00
2024-11-20 19:26:12 +00:00
2026-06-22 18:29:06 +00:00
2026-07-22 15:56:29 +00:00
2026-07-20 16:07:38 +00:00
2025-06-18 01:48:09 +00:00
2026-07-20 18:03:28 +00:00
2026-05-26 15:49:31 -07:00
2026-08-07 14:11:03 +00:00
2026-07-23 01:22:26 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-08-05 00:17:07 +08:00
2026-07-28 17:04:22 +00:00
2026-05-26 15:49:31 -07:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-23 14:31:29 +00:00
2026-08-21 07:52:23 +00:00
2026-08-21 07:52:23 +00:00
2026-08-24 07:28:17 +00:00
2026-08-05 00:17:07 +08:00
2026-08-05 00:17:07 +08:00
2026-08-05 00:17:07 +08:00
2026-07-23 17:42:55 +00:00
2026-07-20 18:03:28 +00:00
2026-07-23 01:22:26 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-08-05 00:17:07 +08:00
2026-08-05 00:17:07 +08:00
2026-08-12 16:12:57 +00:00
2026-08-12 16:12:57 +00:00
2026-06-11 18:08:55 +00:00
2026-04-14 12:03:26 +00:00
2026-05-13 09:00:41 +02:00
2026-05-26 15:49:31 -07:00
2026-07-23 01:22:26 +00:00
2026-07-20 10:04:23 +00:00
2026-06-24 05:38:02 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 03:17:25 +00:00
2026-07-23 01:22:26 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-28 17:04:22 +00:00
2025-12-25 19:26:23 -08:00
2026-07-17 18:44:31 +08:00
2026-07-28 17:04:22 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-07-28 17:04:22 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-23 01:22:26 +00:00
2026-07-19 07:32:00 +00:00
2026-07-28 17:04:22 +00:00
2026-07-23 17:42:55 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 16:07:38 +00:00
2026-07-20 18:03:28 +00:00
2026-07-20 16:07:38 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-17 18:44:31 +08:00
2026-07-28 17:04:22 +00:00
2026-08-22 08:59:37 +00:00
2026-08-22 08:59:37 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2026-08-05 00:17:07 +08:00
2026-05-26 15:49:31 -07:00
2025-03-31 01:53:48 -04:00
2026-05-26 15:49:31 -07:00
2026-07-23 01:22:26 +00:00
2026-07-21 12:18:00 +00:00
2026-07-23 01:22:26 +00:00
2026-05-07 16:19:45 +02:00
2026-08-22 08:59:37 +00:00
2026-07-15 17:30:01 +00:00
2026-07-15 17:30:01 +00:00
2026-07-15 17:30:01 +00:00
2026-07-28 17:04:22 +00:00
2026-05-13 09:00:41 +02:00
2026-07-15 17:30:01 +00:00
2026-04-14 12:03:26 +00:00
2026-07-28 17:04:22 +00:00
2026-04-14 12:03:26 +00:00
2026-07-17 18:44:31 +08:00
2026-07-15 17:30:01 +00:00
2026-07-28 17:04:22 +00:00
2026-07-28 17:04:22 +00:00
2026-07-20 16:07:38 +00:00
2025-07-30 07:08:59 +00:00
2026-05-26 15:49:31 -07:00