unofficial mirror of meta@public-inbox.org
 help / color / mirror / Atom feed
From: Eric Wong <e@80x24.org>
To: meta@public-inbox.org
Subject: [PATCH 5/7] view: avoid attempting to find "subject dummy"
Date: Fri,  4 Sep 2015 02:18:09 +0000	[thread overview]
Message-ID: <1441333091-32421-6-git-send-email-e@80x24.org> (raw)
In-Reply-To: <1441333091-32421-1-git-send-email-e@80x24.org>

This is an internal Message-ID used by Mail::Thread, to group
messages with identical subjects but common parent.  Don't
attempt to redirect users to external sites when we cannot
find it.
---
 lib/PublicInbox/View.pm | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 68adbd7..65ef1e7 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -591,6 +591,17 @@ sub pre_anchor_entry {
 	$seen->{$id} = "#$id"; # save the anchor for children, later
 }
 
+sub ghost_parent {
+	my ($upfx, $mid) = @_;
+	# 'subject dummy' is used internally by Mail::Thread
+	return '[no common parent]' if ($mid eq 'subject dummy');
+
+	$mid = PublicInbox::Hval->new_msgid($mid);
+	my $href = $mid->as_href;
+	my $html = $mid->as_html;
+	qq{[parent not found: &lt;<a\nhref="$upfx../$href/">$html</a>&gt;]};
+}
+
 sub __thread_entry {
 	my ($cb, $git, $state, $mime, $level) = @_;
 
@@ -607,15 +618,10 @@ sub __thread_entry {
 	if (my $ghost = delete $state->{ghost}) {
 		# n.b. ghost messages may only be parents, not children
 		foreach my $g (@$ghost) {
-			my $mid = PublicInbox::Hval->new_msgid($g->[0]);
-			my $pfx = INDENT x $g->[1];
-			my $href = $mid->as_href;
-			my $html = $mid->as_html;
-			$$cb->write("<table><tr><td>$pfx</td><td>" .
-					PRE_WRAP .
-					'[parent not found: &lt;' .
-					qq{<a\nhref="../../$href/">}.
-					"$html</a>&gt;]</pre></td></table>");
+			$$cb->write("<table\nsummary=ghost><tr><td>" .
+				(INDENT x $g->[1]) . "</td><td>" .
+				PRE_WRAP . ghost_parent('', $g->[0]) .
+				'</pre></td></table>');
 		}
 	}
 	index_entry($$cb, $mime, $level, $state);
@@ -736,12 +742,7 @@ sub inline_dump {
 		_inline_header($dst, $state, $upfx, $mime, $level);
 	} else {
 		my $pfx = INDENT x $level;
-		my $v = PublicInbox::Hval->new_msgid($node->messageid, 1);
-		my $html = $v->as_html;
-		my $href = $v->as_href;
-		$$dst .= $pfx . '` [parent not found: &lt;' .
-				qq{<a\nhref="$upfx../$href/">}.
-				"$html</a>&gt;]\n";
+		$$dst .= $pfx . '` ' . ghost_parent($upfx, $node->messageid);
 	}
 	inline_dump($dst, $state, $upfx, $node->child, $level+1);
 	inline_dump($dst, $state, $upfx, $node->next, $level);
-- 
EW


  parent reply	other threads:[~2015-09-04  2:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-04  2:18 [PATCH 0/7] new index and misc fixes Eric Wong
2015-09-04  2:18 ` [PATCH 1/7] doc: design_www: more accessibility guidelines Eric Wong
2015-09-04  2:18 ` [PATCH 2/7] index: use message threading if search is available Eric Wong
2015-09-04  2:18 ` [PATCH 3/7] consolidate thread sorting in view Eric Wong
2015-09-04  2:18 ` [PATCH 4/7] extmsg: close HTML tag in response Eric Wong
2015-09-04  2:18 ` Eric Wong [this message]
2015-09-04  2:18 ` [PATCH 6/7] SearchMsg: avoid encoding Message-IDs Eric Wong
2015-09-04  2:37   ` Eric Wong
2015-09-04  2:18 ` [PATCH 7/7] view: do not generate anchors in thread views Eric Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1441333091-32421-6-git-send-email-e@80x24.org \
    --to=e@80x24.org \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).