about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2018-04-23 04:16:54 +0000
committerEric Wong <e@80x24.org>2018-04-23 04:17:10 +0000
commit55b22e6414b78336633ca243c113c712af2c3bcd (patch)
treeff3530697c36ad58209eff7c89d3b2716e24ef0c
parent0f28e69ed76f6d0c14b0458019224c10590474df (diff)
downloadpublic-inbox-55b22e6414b78336633ca243c113c712af2c3bcd.tar.gz
We no longer need to parse and dedupe References:
ourselves, PublicInbox::MID::references does it for us.
-rw-r--r--lib/PublicInbox/View.pm22
1 files changed, 5 insertions, 17 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 73394671..58851edc 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -723,7 +723,8 @@ sub _parent_headers {
         my ($hdr, $srch) = @_;
         my $rv = '';
 
-        my $irt = in_reply_to($hdr);
+        my $refs = references($hdr);
+        my $irt = pop @$refs;
         if (defined $irt) {
                 my $v = PublicInbox::Hval->new_msgid($irt);
                 my $html = $v->as_html;
@@ -736,22 +737,9 @@ sub _parent_headers {
         # we show the thread skeleton at the bottom, instead.
         return $rv if $srch;
 
-        my $refs = $hdr->header_raw('References');
-        if ($refs) {
-                # avoid redundant URLs wasting bandwidth
-                my %seen;
-                $seen{$irt} = 1 if defined $irt;
-                my @refs;
-                my @raw_refs = ($refs =~ /<([^>]+)>/g);
-                foreach my $ref (@raw_refs) {
-                        next if $seen{$ref};
-                        $seen{$ref} = 1;
-                        push @refs, linkify_ref_nosrch($ref);
-                }
-
-                if (@refs) {
-                        $rv .= 'References: '. join("\n\t", @refs) . "\n";
-                }
+        if (@$refs) {
+                @$refs = map { linkify_ref_nosrch($_) } @$refs;
+                $rv .= 'References: '. join("\n\t", @$refs) . "\n";
         }
         $rv;
 }