Messages in /all/ can get duplicated at times due to
list-appended signatures or buggy/malicious clients.
They'll all show up based on /$INBOX/$MSGID/,
so deduplicate the URLs to avoid noise.
---
 lib/PublicInbox/SolverGit.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm
index ac655f34..b723b48a 100644
--- a/lib/PublicInbox/SolverGit.pm
+++ b/lib/PublicInbox/SolverGit.pm
@@ -554,8 +554,9 @@ sub extract_diffs_done {
        my $diffs = delete $self->{tmp_diffs};
        if (scalar @$diffs) {
                unshift @{$self->{patches}}, @$diffs;
-               dbg($self, "found $want->{oid_b} in " .  join(" ||\n\t",
-                       map { di_url($self, $_) } @$diffs));
+               my %seen; # List::Util::uniq requires Perl 5.26+ :<
+               my @u = grep { !$seen{$_}++ } map { di_url($self, $_) } @$diffs;
+               dbg($self, "found $want->{oid_b} in " .  join(" ||\n\t", @u));
                ++$self->{nr_p};
 
                # good, we can find a path to the oid we $want, now

Reply via email to