about summary refs log tree commit homepage
path: root/lib/PublicInbox/View.pm
DateCommit message (Collapse)
2015-12-02view: don't kill topic summarization for level==0
Unlinked threads with similar (but not identical) subjects could be hidden as a result.
2015-11-20various internal documentation updates
Hopefully this gives new hackers a better overview of how the components relate to each other.
2015-11-18view: further reduce size of attribution/timestamp
The "by" on the message page and "-" in the index are unnecessary and readers should have no trouble figuring out what the attribution/timestamp line means.
2015-11-18view: remove "created" and "updated" noise words
They increase HTML size and add to visual noise without telling enough useful information.
2015-10-08view: fixup bad comparison
Oops, there is no longer a 3rd element. Fixes: 759efc037728a766ee80f1b0d3c1fd7b8c76a05f ("view: remove attribution for topics in top-level view")
2015-10-08view: remove attribution for topics in top-level view
It clutters up the page unnecessarily, as identity of the topic starter/updater probably doesn't matter if there's no exact message to attribute the message to.
2015-10-04view: add links for mbox and atom feeds in homepage
Having per-thread Atom feeds and downloadable mboxen is powerful and should be more easily visible/accessible to casual readers.
2015-10-02rename mid_compress to id_compress
We use it as a general compressor for identifiers such as subject paths, so using the "mid_" prefix probably is not appropriate.
2015-10-01view: correctly pick latest in index anchor links
The last message in a thread _display_ is not necessarily the latest message in the thread. We must go by the Date: header on the messages themselves as a best-guess. Of course Date: headers may lie, but most mail clients trust them by default, so we will, too.
2015-09-30view: use '+' instead of '%20' to escape spaces in mailto:
'+' is more shoter and more readable in query parameters than '%20'
2015-09-16view: do not shorten top-level messages in thread view
The thread root is usually the most important, and should be displayed in full.
2015-09-13view: jump to anchor of current message on References
Otherwise it could be a bit disorienting to jump to the first message in the thread without navigation context.
2015-09-13view: do not show References unless a message has them
It's a waste of space and potentially confusing.
2015-09-13view: use header_obj to avoid extra method calls
Email::MIME will call the header_obj each time anyways, avoid the extra method lookups and hit header_obj directly for the header lookup.
2015-09-13view: extra Atom feed link in standalone message view
It might be helpful if user agents do not display the <link> element in <head>.
2015-09-13view: add Atom links in headers for per-message links
Some user agents will advertise the presence of a feed this way for users to subscribe to individual topics.
2015-09-12searchview: support displaying entire threads
This hopefully makes it easy to perform queries to display an entire thread. Raise the limit in the threaded view to display more results and hopefully improve the output of thread display.
2015-09-12view: more consistent prefix for ghost links
This will be reused for search views.
2015-09-10constent X?HTML MIME type filtering
Filter and View should reject X?HTML the same way.
2015-09-07view: change References link to expand thread
The expanded thread view is generally more useful. Having links to more links at the bottom seems to a waste of navigation time. However, keep the '#r' anchor in case people rely on it for links.
2015-09-06update copyright headers and email addresses
In the future, it should be possible to use this: git ls-files | UPDATE_COPYRIGHT_HOLDER='all contributors' \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ xargs /path/to/gnulib/build-aux/update-copyright
2015-09-04view: fix broken link to ghost fallback
Once again, the regression was introduced in commit 16ca6b7a57266fcb466ffff005bc1d644bad14c1 (view: avoid attempting to find "subject dummy")
2015-09-04view: thread view expands focused message
Non-top-level messages still deserve to be shown in full if they're the message in the URL.
2015-09-04view: indentation adjustments for collapsed headers
This makes the layout between the permalink threads and index threads more consistent; hopefully.
2015-09-04view: reduce redundant attributions in permalink refs
No point in repeating authorship when PATCH messages are threaded and it's obvious from the top message who the author is of the series: [this message] - John Smith @ 2015-09-04 00:04:20 UTC ` [PATCH 1/4] view: eliminate redundant [threaded|flat] link ` [PATCH 2/4] view: one line for thread subjects ` [PATCH 3/4] view: adjust spacing and indentation of index threads ` [PATCH 4/4] view: add missing newline to inline dump
2015-09-04view: add missing newline to inline dump
This fixes a regression introduced in commit 16ca6b7a57266fcb466ffff005bc1d644bad14c1 (view: avoid attempting to find "subject dummy")
2015-09-04view: adjust spacing and indentation of index threads
Avoid wasting precious horizontal space by indenting children excessively relative to the top-level parent.
2015-09-04view: one line for thread subjects
We truncate subjects in the Xapian document anyways, so lines should not be too long and it hopefully won't throw off the vertical display.
2015-09-04view: eliminate redundant [threaded|flat] link
We do not need to waste space with that link when we have it conveniently placed where every message is located.
2015-09-04view: do not generate anchors in thread views
They're unused, and they can have namespace conflicts if there's multiple full messages in the thread view.
2015-09-04view: avoid attempting to find "subject dummy"
This is an internal Message-ID used by Mail::Thread, to group messages with identical subjects but common parent. Don't attempt to redirect users to external sites when we cannot find it.
2015-09-04consolidate thread sorting in view
This is a display subroutine so it should not be in our thread monkey-patching package, but instead in the view package. Hopefully one day in the future, Mail::Thread will be maintained again and we'll no longer need PublicInbox::Thread at all.
2015-09-04index: use message threading if search is available
This lets us merge topics with different subjects with a common parent (common in "[PATCH 0/X]" threads). This also lets us avoid forking for the HTML index page, too.
2015-09-03get rid of Message-ID compression entirely
Provide a fallback for legacy SHA-1 messages, but do not advertise shorter URLs anymore for data portability concerns. This fixes a regression introduced in commit 81a9c1b476987d845b340ab9013d26cf4487cb9a ("search: disable Message-ID compression in Xapian") which ended up breaking thread-related endpoints for large Message-IDs, as lookups on the SHA-1 message no longer worked.
2015-09-03view: include ghost messages in thread views
We'll be expanding our ghost message lookup facilities, so it makes sense to generate links to them even if they are currently unknown.
2015-09-02implement external Message-ID finder
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.
2015-09-02view: avoid links to unknown compressed Message-IDs
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.
2015-09-02view: pre-anchor entries for flat view
This will allow users to navigate the flat view without making extra HTTP requests.
2015-09-02view: simplify parent anchoring code
This will make things easier for the next commit to pre-populate the `$seen' hash for linking within the flat view of a thread.
2015-09-02view: account for missing In-Reply-To header
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.
2015-09-02view: optional flat view for recent messages
For still-active threads, it will likely be easier to follow them chronologically, especially if we have links to parent messages.
2015-09-02view: close possible race condition in thread view
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.
2015-09-01view: purge email address cache after rendering thread
We cannot allow memory in the cache to grow at an unbounded rate in between HTTP requests.
2015-09-01view: change wording to include "thread" in footer
Hopefully make it more obvious we're downloading or following just one thread and not everything else.
2015-09-01view: add missing space
This fixes a regression introduced in commit 1b4b2c7b8b2f2df8f114617d2e875eaf5c839ce0 ("completely revamp URL structure to shorten permalinks")
2015-09-01view: more robust link generation
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.
2015-09-01view: drop extra '</a>' tag
Oops.
2015-09-01completely revamp URL structure to shorten permalinks
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.
2015-09-01implement per-thread Atom feeds
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.
2015-09-01search: reduce redundant doc data
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.