about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-04-18 09:13:05 +0000
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-04-18 09:14:09 +0000
commitbe4d92e74dd0b1c8de85bc08c3c522af2d8d8656 (patch)
tree56c71bf056f227584ff4d4b083eac047aef388d7
parent74b92712fa7a21fe504b9908edebcf11bb9dc170 (diff)
downloadpublic-inbox-be4d92e74dd0b1c8de85bc08c3c522af2d8d8656.tar.gz
Gigantic feeds probably make some clients unhappy,
clamp it to what it was in the past.

Fixes: b9534449ecce2c59 ("view: avoid offset during pagination")
-rw-r--r--lib/PublicInbox/Feed.pm2
-rw-r--r--lib/PublicInbox/View.pm7
2 files changed, 4 insertions, 5 deletions
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm
index 5cb044bd..d7df07ee 100644
--- a/lib/PublicInbox/Feed.pm
+++ b/lib/PublicInbox/Feed.pm
@@ -95,7 +95,7 @@ sub recent_msgs {
                 die "BUG: unsupported inbox version: $v\n";
         }
         if (my $srch = $ibx->search) {
-                return PublicInbox::View::paginate_recent($ctx);
+                return PublicInbox::View::paginate_recent($ctx, $max);
         }
 
         my $hex = '[a-f0-9]';
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 94058ed0..af287b96 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -1049,10 +1049,9 @@ sub index_nav { # callback for WwwStream
         pagination_footer($ctx, '.')
 }
 
-sub paginate_recent ($) {
-        my ($ctx) = @_;
+sub paginate_recent ($$) {
+        my ($ctx, $lim) = @_;
         my $t = $ctx->{qp}->{t} || '';
-        my $lim = 200; # this is our window
         my $opts = { limit => $lim };
         my ($after, $before);
 
@@ -1094,7 +1093,7 @@ sub paginate_recent ($) {
 
 sub index_topics {
         my ($ctx) = @_;
-        my $msgs = paginate_recent($ctx);
+        my $msgs = paginate_recent($ctx, 200); # 200 is our window
         if (@$msgs) {
                 walk_thread(thread_results($ctx, $msgs), $ctx, *acc_topic);
         }