X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FFeed.pm;h=b2219dad9955005c2cb97d0fe3d47b710d617837;hb=af0b0fb7a454470a32c452119d0392e0dedb3fe1;hp=bf095a2cc8e3f7540e4baa66a792781956617431;hpb=ba212558b86874d197c86e2acd0776b5b095ee5b;p=public-inbox.git diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index bf095a2c..b2219dad 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2020 all contributors +# Copyright (C) 2013-2021 all contributors # License: AGPL-3.0+ # # Used for generating Atom feeds for web-accessible mailing list archives. @@ -24,7 +24,7 @@ sub generate { sub generate_thread_atom { my ($ctx) = @_; - my $msgs = $ctx->{msgs} = $ctx->{-inbox}->over->get_thread($ctx->{mid}); + my $msgs = $ctx->{msgs} = $ctx->{ibx}->over->get_thread($ctx->{mid}); return _no_thread() unless @$msgs; PublicInbox::WwwAtomStream->response($ctx, 200, \&generate_i); } @@ -34,7 +34,7 @@ sub generate_html_index { # if the 'r' query parameter is given, it is a legacy permalink # which we must continue supporting: my $qp = $ctx->{qp}; - my $ibx = $ctx->{-inbox}; + my $ibx = $ctx->{ibx}; if ($qp && !$qp->{r} && $ibx->over) { return PublicInbox::View::index_topics($ctx); } @@ -79,8 +79,8 @@ sub _no_thread () { sub recent_msgs { my ($ctx) = @_; - my $ibx = $ctx->{-inbox}; - my $max = $ibx->{feedmax}; + my $ibx = $ctx->{ibx}; + my $max = $ibx->{feedmax} // 25; return PublicInbox::View::paginate_recent($ctx, $max) if $ibx->over; # only for rare v1 inboxes which aren't indexed at all @@ -88,7 +88,7 @@ sub recent_msgs { my $hex = '[a-f0-9]'; my $addmsg = qr!^:000000 100644 \S+ (\S+) A\t${hex}{2}/${hex}{38}$!; my $delmsg = qr!^:100644 000000 (\S+) \S+ D\t(${hex}{2}/${hex}{38})$!; - my $refhex = qr/(?:HEAD|${hex}{4,40})(?:~[0-9]+)?/; + my $refhex = qr/(?:HEAD|${hex}{4,})(?:~[0-9]+)?/; # revision ranges may be specified my $range = 'HEAD'; @@ -126,14 +126,17 @@ sub recent_msgs { if ($last) { local $/ = "\n"; while (my $line = <$log>) { - if ($line =~ /^(${hex}{7,40})/) { + if ($line =~ /^(${hex}{7,})/) { $last_commit = $1; last; } } } - $ctx->{next_page} = "r=$last_commit" if $last_commit; + $last_commit and + $ctx->{next_page} = qq[] . + 'next (older)'; + [ map { bless {blob => $_ }, 'PublicInbox::Smsg' } @oids ]; }