Date | Commit message (Collapse) |
|
Currently, this looks at other public-inbox configurations
served in the same process. In the future, it will generate
links to other Message-ID lookup endpoints.
|
|
Compressed Message-IDs are irreversible and may not be used
at other sites. So avoid compressing Message-IDs we do not
know about so users have a chance of finding the message in
other archives by doing a Message-ID lookup.
|
|
This will allow users to navigate the flat view without making extra
HTTP requests.
|
|
This will make things easier for the next commit to pre-populate
the `$seen' hash for linking within the flat view of a thread.
|
|
Some mail clients do not generate In-Reply-To headers,
but do generate a proper References header.
This matches the behavior of Mail::Thread as well
as our SearchIdx code to link threads in the Xapian DB.
|
|
For still-active threads, it will likely be easier to follow
them chronologically, especially if we have links to parent
messages.
|
|
It's possible that the Xapian index and git HEAD can be out-of-sync
and a message which existed when we did the search is no longer
accessible by the time we get to rendering it.
|
|
We cannot allow memory in the cache to grow at an unbounded
rate in between HTTP requests.
|
|
It makes sense to distinguish the two a little.
|
|
Hopefully make it more obvious we're downloading or following
just one thread and not everything else.
|
|
Fixes commit d44ed46ee92c78aaaed64975c4d6846613963be4
("implement per-thread Atom feeds")
|
|
This fixes a regression introduced in
commit 1b4b2c7b8b2f2df8f114617d2e875eaf5c839ce0
("completely revamp URL structure to shorten permalinks")
|
|
We must avoid double-escaping in cases where we have URLs anchored
by "<>" in the plain-text as is common (and AFAIK recommended)
convention. So we must use a two step linkification process
to prevent double-escaping.
|
|
Oops.
|
|
This allows common /m/ links to be used without a prefix,
saving 2 precious bytes for permalinks and raw messages.
Old URLs continue to redirect.
|
|
The MIME type entry for Atom feed relies on "atom",
so allow properly-configured static file servers to serve
it with the correct Content-Type header.
|
|
No need for 'x' modifier to span more lines, though
|
|
This allows users to subscribe to only a single thread
with their feed reader without subscribing to the rest of
the thread.
Update our endpoint notes while we're at it.
|
|
We'll be using it for per-thread subscriptions
|
|
This will hopefully make life easier for feed readers.
|
|
Like revision control history, older stuff is less relevant,
so favor newer stuff, first.
|
|
This makes dumping recent topics easier, hopefully.
|
|
Redundant document data increases our database size, pull the
smsg->mid off the unique term, the smsg->ts off the value, and
only generate the formatted display date off smsg->ts.
|
|
It fails the syntax check if a user does not have
~/.public-inbox/config setup. Anyways we can safely
use ||= on a global since we do not support threads.
|
|
Broken by commit f24d362fb0959cdfab37a6da0a66a985764a2752
("view: display thread outline in single-message view")
|
|
We're already inside the thread, and our thread summary inside
/m/$MESSAGE_ID/ is already sufficient got navigate back to the
/t/$MESSAGE_ID/ page. So I think it's sufficient to keep the
/t/$MESSAGE_ID/ page lighter with fewer links and avoid
introducing strange terminology.
In contrast, "permalink" is relatively well-known and
not an alien term to readers:
https://en.wikipedia.org/wiki/Permalink
|
|
It's a strange word and I'm not quite comfortable with it
in a message view. Instead, use a descriptive link for
the thread headers.
|
|
We screwed up and needed to fix URL generation with '<>'
in them. Regardless, users may attempt to copy and paste
URLs with '<>' in them, do not punish them for that.
|
|
This regression was accidentally introduced in
commit f24d362fb0959cdfab37a6da0a66a985764a2752
("view: display thread outline in single-message view")
|
|
We no longer need them, as we can rely on index-time thread
resolution and thread merging. This allows us to index less
data and hopefully increase efficiency.
|
|
If Xapian search is available, we can load most of the
entire thread and show a more meaningful navigation tree
than the References: and In-Reply-To: headers. Searching
on those headers themselves is unreliable because it is
possible for clients to omit some references.
|
|
This avoids capturing links such as "http://#{foo}" => "http://#"
inside diffs
|
|
Not needed since commit 9a2931759c3dcbd879728b49151aa3f8a641b506
("wire up to display non-suffixed Message-ID links")
|
|
Perl does not currently optimize for this.
ref (from p5p):
http://mid.gmane.org/D5C27970-9176-4C7A-8B99-7D78360E67A2@pobox.com
|
|
A document may have many terms, so this hurts performance
if we blindly iterate. Unfortunately, we can't rely on the
order of the termlist just yet, either, so we must repeatedly
restart the search for now until we're ready to bump schema
versions.
|
|
Our search query already filters out ghost messages,
so it's wasteful to have type information loaded.
|
|
Unless some idiot raises $^F, we should not have to care about
the close-on-exec flag. Everything since Perl 3.0 seems to set
it by default, and 5.6 got more consistent about it.
|
|
This was broken by commit 9a2931759c3dcbd879728b49151aa3f8a641b506
("wire up to display non-suffixed Message-ID links")
|
|
Might as well be strict about it for new lists.
Importing old archives might be more of a challenge, though.
|
|
We should not break existing URLs. Redirect them to
the newer, less-ambiguous URLs to improve cache hit
ratios.
|
|
These URLs are preferable in case somebody decides to get cute and
use a suffix we would've used to prevent others from linking to
their message. The common /m/$MESSAGE_ID/ URLs are now 4 characters
shorter so may fit better on terminals.
|
|
This is necessary for some mailers which include comment text
in in the In-Reply-To header, merely assuming there is nothing
outside of '<>' as we were doing is not enough.
|
|
We will prefer URLs without suffixes for now to avoid ambiguity
in case a Message-ID ends with ".html", ".txt", ".mbox.gz" or
any other suffix we may use.
Static file compatibility is preserved by using a trailing slash
as most servers can/will fall back to an index.html file in this
case.
For raw text files, we will follow gmane's lead with "/raw"
|
|
Less scrolling is more efficient.
|
|
Less code is easier-to-manage, although we make a few extra
hash insertions now.
|
|
This doesn't seem needed for actual server use, but Plack tests
complain about it
|
|
This fixes a regression introduced in
commit 72c0f7c71ff28de9755dc4aee8b6ce6f0e4f2ed7
(feed: merge subjects regardless of "[PATCH vN]")
|
|
part_type still contains the filename, unfortunately, so
PGP signatures were truly stripped. Oh well, nobody cares
to verify PGP signatures anyways.
|
|
This normalizes rerolled patches with identical topics,
but does not normalize different patches even if they are
in the same thread (for now).
|
|
We ought to summarize subjects to avoid exploding
line lengths in the web interface.
|