From f5e2daa70e0a1a75d1220d84193f3eeebb799c38 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 10 Sep 2022 20:10:23 +0000 Subject: view: fix solver links with multiple messages For redundant messages sharing Message-IDs, the link to solver (/$INBOX/$OID/s/) was going up too many levels for /$INBOX/$MSGID/ when there were multiple messages sharing the same $MSGID. Unfortunately, redundant messages are common with /all/ due to signature trailers. So dynamically assigning {-spfx} is tricky and error prone from counting `/'. So simplify the code a bit by setting {-spfx} once per HTTP request, instead of every single message. --- lib/PublicInbox/WwwAtomStream.pm | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/PublicInbox/WwwAtomStream.pm') diff --git a/lib/PublicInbox/WwwAtomStream.pm b/lib/PublicInbox/WwwAtomStream.pm index 33da3244..83a8818e 100644 --- a/lib/PublicInbox/WwwAtomStream.pm +++ b/lib/PublicInbox/WwwAtomStream.pm @@ -16,6 +16,7 @@ use PublicInbox::MsgTime qw(msg_timestamp); sub new { my ($class, $ctx, $cb) = @_; $ctx->{feed_base_url} = $ctx->{ibx}->base_url($ctx->{env}); + $ctx->{-spfx} = $ctx->{feed_base_url} if $ctx->{ibx}->{coderepo}; $ctx->{cb} = $cb || \&PublicInbox::GzipFilter::close; $ctx->{emit_header} = 1; bless $ctx, $class; -- cgit v1.2.3-24-ge0c7