about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/Inbox.pm10
-rw-r--r--lib/PublicInbox/Mbox.pm2
-rw-r--r--lib/PublicInbox/View.pm2
3 files changed, 4 insertions, 10 deletions
diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index 30977514..47b86309 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -270,12 +270,10 @@ sub msg_by_path ($$;$) {
 sub msg_by_smsg ($$;$) {
         my ($self, $smsg, $ref) = @_;
 
-        return unless defined $smsg; # ghost
-
-        # backwards compat to fallback to msg_by_mid
-        # TODO: remove if we bump SCHEMA_VERSION in Search.pm:
-        defined(my $blob = $smsg->{blob}) or
-                        return msg_by_path($self, mid2path($smsg->mid), $ref);
+        # ghosts may have undef smsg (from SearchThread.node) or
+        # no {blob} field (from each_smsg_by_mid)
+        return unless defined $smsg;
+        defined(my $blob = $smsg->{blob}) or return;
 
         my $str = git($self)->cat_file($blob, $ref);
         $$str =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s if $str;
diff --git a/lib/PublicInbox/Mbox.pm b/lib/PublicInbox/Mbox.pm
index c14037f4..381bcada 100644
--- a/lib/PublicInbox/Mbox.pm
+++ b/lib/PublicInbox/Mbox.pm
@@ -41,7 +41,6 @@ sub getline {
         }
         for (; !defined($cur) && $head != $tail; $head++) {
                 my $smsg = PublicInbox::SearchMsg->get($head, $db, $ctx->{mid});
-                next if $smsg->type ne 'mail';
                 my $mref = $ctx->{-inbox}->msg_by_smsg($smsg) or next;
                 $cur = Email::Simple->new($mref);
                 $cur = msg_str($ctx, $cur);
@@ -66,7 +65,6 @@ sub emit_raw {
                         for (; !defined($first) && $head != $tail; $head++) {
                                 my @args = ($head, $db, $mid);
                                 my $smsg = PublicInbox::SearchMsg->get(@args);
-                                next if $smsg->type ne 'mail';
                                 my $mref = $ibx->msg_by_smsg($smsg) or next;
                                 $first = Email::Simple->new($mref);
                         }
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 5fb2b31c..133c30a8 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -63,7 +63,6 @@ sub msg_page {
                         for (; !defined($first) && $head != $tail; $head++) {
                                 my @args = ($head, $db, $mid);
                                 my $smsg = PublicInbox::SearchMsg->get(@args);
-                                next if $smsg->type ne 'mail';
                                 $first = $ibx->msg_by_smsg($smsg);
                         }
                         if ($head != $tail) {
@@ -85,7 +84,6 @@ sub msg_html_more {
                 my $mid = $ctx->{mid};
                 for (; !defined($smsg) && $head != $tail; $head++) {
                         my $m = PublicInbox::SearchMsg->get($head, $db, $mid);
-                        next if $m->type ne 'mail';
                         $smsg = $ctx->{-inbox}->smsg_mime($m);
                 }
                 if ($head == $tail) { # done