For /$INBOX/$MSGID/ pages, we need to point all nav bar links
../ regardless of whether ->over exists.  I've also verified
this doesn't affect /$INBOX/new.html at all.
---
 lib/PublicInbox/View.pm | 2 +-
 t/plack.t               | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 2e5228e1..11a94ba9 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -678,7 +678,7 @@ sub _msg_page_prepare_obuf {
                $ctx->{chash} = content_hash($eml) if $ctx->{smsg}; # reused MID
                $rv .= "<pre\nid=b>"; # anchor for body start
        }
-       $ctx->{-upfx} = '../' if $have_over;
+       $ctx->{-upfx} = '../';
        my @title; # (Subject[0], From[0])
        for my $v ($eml->header('From')) {
                my @n = PublicInbox::Address::names($v);
diff --git a/t/plack.t b/t/plack.t
index 32209c7d..3ba2e6fb 100644
--- a/t/plack.t
+++ b/t/plack.t
@@ -1,5 +1,5 @@
 #!perl -w
-# Copyright (C) 2014-2021 all contributors <[email protected]>
+# Copyright (C) all contributors <[email protected]>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use v5.10.1;
@@ -154,6 +154,7 @@ my $c1 = sub {
        $res = $cb->(GET($pfx . $path));
        is(200, $res->code, "success for $path");
        my $html = $res->content;
+       like($html, qr!\bhref="\Q../_/text/help/"!, 'help available');
        like($html, qr!<title>hihi - Me</title>!, 'HTML returned');
        like($html, qr!<a\nhref=raw!s, 'raw link present');
        like($html, qr!&gt; quoted text!s, 'quoted text inline');

Reply via email to