user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: meta@public-inbox.org
Cc: Rob Herring <robh@kernel.org>
Subject: [PATCH] www: note "x=m" and "t=1" (mis)use for GET requests
Date: Wed, 20 Jul 2022 22:57:07 +0000	[thread overview]
Message-ID: <20220720225707.M876218@dcvr> (raw)
In-Reply-To: <20220718234124.M213084@dcvr>

Eric Wong <e@80x24.org> wrote:
> Rob Herring <robh@kernel.org> wrote:
> > Based on what the web interface presents, it sure seems like 't=1' is
> > independent of the query. The results listed are only those that match
> > the query and date range on the match.
> 
> Actually, for the HTML results, t=1 is ignored right now...
> it's only for mboxrd downloads (via POST) at the moment...
> That should be clarified/changed.
> 
> > For example, this query returns 3 matches:
> > 
> > https://lore.kernel.org/all/?x=m&t=1&q=((dfn%3Adrivers+OR+dfn%3Aarch+OR+dfn%3ADocumentation%2F*+OR+dfn%3Ainclude+OR+dfn%3Ascripts)+AND+f%3Arobh%40kernel.org+AND+rt%3A1641934905..)+AND+dt%3A20220630203819..
> > 
> > If I change 'dt' to 1 day earlier, I get 1 more match:
> > 
> > https://lore.kernel.org/all/?x=m&t=1&q=((dfn%3Adrivers+OR+dfn%3Aarch+OR+dfn%3ADocumentation%2F*+OR+dfn%3Ainclude+OR+dfn%3Ascripts)+AND+f%3Arobh%40kernel.org+AND+rt%3A1641934905..)+AND+dt%3A20220629203819..
> > 
> > That 4th match has a reply after 6/30, but the 1st query will not get
> > the reply. This is all reproducible without lei involved at all.
> 
> Right.  t=1 only expands threads if they're linked via
> References/In-Reply-To or (loosely) via matching Subjects.

--------8<--------
Subject: [PATCH] www: note "x=m" and "t=1" (mis)use for GET requests

We require "x=m" (requests for mboxes) to be POST requests to
avoid unnecessary traffic from crawlers.  "t=1" only collapses
threads in the summary view, which isn't normally accessible
from <form> elements.

This also fixes the missing "[summary|nested]" element when
"x=m" is used.
---
 lib/PublicInbox/SearchView.pm | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/lib/PublicInbox/SearchView.pm b/lib/PublicInbox/SearchView.pm
index b1cdb480..b025ec96 100644
--- a/lib/PublicInbox/SearchView.pm
+++ b/lib/PublicInbox/SearchView.pm
@@ -1,4 +1,4 @@
-# Copyright (C) 2015-2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 #
 # Displays search results for the web interface
@@ -193,18 +193,24 @@ sub search_nav_top {
 
 	my $x = $q->{x};
 	my $pfx = "\t\t\t";
-	if ($x eq '') {
-		my $t = $q->qs_html(x => 't');
-		$rv .= qq{<b>summary</b>|<a\nhref="?$t">nested</a>}
-	} elsif ($x eq 't') {
+	if ($x eq 't') {
 		my $s = $q->qs_html(x => '');
 		$rv .= qq{<a\nhref="?$s">summary</a>|<b>nested</b>};
 		$pfx = "thread overview <a\nhref=#t>below</a> | ";
+	} else {
+		my $t = $q->qs_html(x => 't');
+		$rv .= qq{<b>summary</b>|<a\nhref="?$t">nested</a>}
 	}
 	my $A = $q->qs_html(x => 'A', r => undef);
-	$rv .= qq{|<a\nhref="?$A">Atom feed</a>]};
+	$rv .= qq{|<a\nhref="?$A">Atom feed</a>]\n};
+	$rv .= <<EOM if $x ne 't' && $q->{t};
+*** "t=1" collapses threads in summary, "full threads" requires mbox.gz ***
+EOM
+	$rv .= <<EOM if $x eq 'm';
+*** "x=m" ignored for GET requests, use download buttons below ***
+EOM
 	if ($ctx->{ibx}->isrch->has_threadid) {
-		$rv .= qq{\n${pfx}download mbox.gz: } .
+		$rv .= qq{${pfx}download mbox.gz: } .
 			# we set name=z w/o using it since it seems required for
 			# lynx (but works fine for w3m).
 			qq{<input\ntype=submit\nname=z\n} .
@@ -212,7 +218,7 @@ sub search_nav_top {
 			qq{|<input\ntype=submit\nname=x\n} .
 				q{value="full threads"/>};
 	} else { # BOFH needs to --reindex
-		$rv .= qq{\n${pfx}download: } .
+		$rv .= qq{${pfx}download: } .
 			qq{<input\ntype=submit\nname=z\nvalue="mbox.gz"/>}
 	}
 	$rv .= qq{</pre></form><pre>};

      reply	other threads:[~2022-07-20 22:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-29 16:15 lei missing mails Rob Herring
2022-06-29 16:30 ` Eric Wong
2022-06-29 16:53   ` Rob Herring
2022-06-29 17:27     ` Eric Wong
2022-06-29 22:01       ` Rob Herring
2022-06-30  8:55         ` Eric Wong
2022-07-07  9:48           ` Eric Wong
2022-07-11 21:17             ` Rob Herring
2022-07-11 21:59           ` Rob Herring
2022-07-18 23:41             ` Eric Wong
2022-07-20 22:57               ` Eric Wong [this message]

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=20220720225707.M876218@dcvr \
    --to=e@80x24.org \
    --cc=meta@public-inbox.org \
    --cc=robh@kernel.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

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).