about summary refs log tree commit homepage
path: root/lib
DateCommit message (Collapse)
2016-01-04listener: pass accepted address to post_accept
We can avoid making getpeername syscalls this way.
2016-01-04view: label "relevance" in threaded search view
The threaded search view is somewhat alien to new users, so ensure we label the word "relevance" for them.
2016-01-03www: comments for denoting Plack::Request vs CGI
We'll probably want to continue supporting CGI for mod_perl compatibility.
2016-01-02www: redirect with query string
We use query strings for search and index pages, so we should not drop them if somebody types a URL by hand and omits the trailing slash.
2015-12-31view: fixup indentation nesting in search
Oops, the rarely-accessed threaded search view was completely broken. Additionally, the normal threading depths were broken when we attempted to go up-thread and replies got nested improperly Followup to commit be984ce279776d4513b4ca1bff05ebecafdd1bad ("view: thread using <ul> instead of <table>")
2015-12-30view: "thread" in per-message view goes back to /t/
Linking to the expanded thread page probably makes more sense as it avoid unnecessary scanning for the thread summary.
2015-12-30view: avoid excessive indentation in thread summary
We already use "` " (backtick + space) to denote one indentation level, so do not excessively indent and always pad with one level less of spaces. The 'x' operator in Perl handles negative values, so subtracting one from level=0 will result in an empty string without spaces.
2015-12-30view: thread using <ul> instead of <table>
On second viewing, this does render small cues which makes the output more pleasant for lynx users. We avoid injecting the root (level=0) message into a list since it still wastes precious horizontal whitespace on small displays. This also results in small reductions in bandwidth usage as it takes fewer tags/whitespace to render unordered lists.
2015-12-26use "Atom feed" consistently in headers/footers
While having the extra " feed" is noisy in the main topic landing page, it is useful in headers/footers which have plenty of space to be more descriptive.
2015-12-26searchview: fix unclosed tags in threaded search results
Oops, we've had this forever and we also lacked a space between the this was noticed while adding an extra line between the "Search results ordered by" header and actual messages.
2015-12-26view: reduce main landing page weight
Hopefully, "mbox.gz" is sufficiently understandabe that we can get rid of the "title" attribute in <a> tags (we already omitted the title in other pages). Additionally, drop the '@' in front of the date. The date should be obvious and is not necessary for headers without author attribution.
2015-12-26searchview: fix up Atom feed in search results
Oops :x We need better testing... Fixes: commit 4c2c2325d2948ec5340e2fcafbee798cf568f5fd ("rename 'GitCatFile' package to 'Git'")
2015-12-26searchview: fixup stupid syntax error
Fixes: commit 398e29344ecc43548a7d3998bb5d2fcee62d66cd ("view: favor whitespace wrap in <head>") Oops.
2015-12-25view: favor whitespace wrap in <head>
If we bite the bullet and rely on inline CSS, we might as well only specify it once per page instead of inline in every <pre> tag which may handle UGC. So this actually saves us a small amount of bandwith on most pages which have multiple <pre> start tags.
2015-12-25view: fixup ghost message errors from threading tweaks
Ghost message links didn't show up too well after commit bc067a7562a586bed92401fe1084bbe423b9451a ("view: move thread info near top of single view") Additionally, attribution lacked a space when subjects changed mid-thread.
2015-12-25extmsg: fixup comparison for unknown message types
Fixes commit 4c2c2325d2948ec5340e2fcafbee798cf568f5fd ("rename 'GitCatFile' package to 'Git'")
2015-12-25view: move thread info near top of single view
Most framed mail viewing software has message ancestry information near the top instead of bottom (mutt, gmane, sylpheed, thunderbird) as it can help improve context. Traditional netiquette also favors writing replies below quoted (older) text for this reason; so move the thread summary to the top of the message for context. Since threads may be long, add a "skip" anchor link to jump to the message body quickly, and align the date to the left column so it's easier to tell the relative age of messages. While we're at it, remove quotes from "id" attributes to improve ease-of-grep-ability.
2015-12-24view: fix wording for empty topics display
Users may be iterating through lists and come up with nothing
2015-12-22rename 'GitCatFile' package to 'Git'
We'll be using it for more than just cat-file. Adding a `popen' API for internal use allows us to save a bunch of code in other places.
2015-12-22git: cat-file wrapper enhancements
The "cat_file" sub now allows a block to be passed for partial processing. Additionally, a new "check" method is added to retrieve only object metadata: (SHA-1 identifier, type, size)
2015-12-22hval: move PRE constant for wrapping UGC here
User-generated content (UGC) may have excessively long lines which screw up rendering. This is the only bit of CSS we use.
2015-12-22config: hoist out common functions
These will be reused elsewhere.
2015-12-08extmsg: try to fixup common errors
Sometimes users (me :x) blindly append "raw" to a /t/ URL...
2015-12-06view: fix message truncation logic
Avoid truncating messages if we requested the root anchor. This regression appeared in commit 62ee3cb36dd08f17e444e96dc80108464ee10cba ("view: do not shorten top-level messages in thread view") Also, make the "More..." link more prominent, as readers should be made aware they're not reading the full message.
2015-12-05*view: avoid leading zero in time display of the hour
Avoid the visual noise entirely by using a space instead. I sometimes have difficulty distinguishing '0' from '8' while other users may mistake it for an 'O' character. Most digital clocks I've seen will omit displaying a leading zero for the hour, too. This may also save transfer time by allowing better compression (since there is a space between the date and time anyways) and perhaps reduce client rendering time on some displays. We'll leave the leading zero for minutes since that seems pretty standard for digital clocks.
2015-12-04view: avoid truncating topic at 30 chars
It's potentially unsafe (leading to hidden messages) at any level.
2015-12-02view: consistent links for per-message views
Just because a message is currently alone does not mean the links won't be valid in the future when more messages show up.
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-21config: allow underscore in section names
Apparently git allows them, and they're definitely alright in email addresses.
2015-11-20various internal documentation updates
Hopefully this gives new hackers a better overview of how the components relate to each other.
2015-11-18nntp: fix printf warnings
Error messages and request lines may contain '%' which would throw off Perl printf.
2015-11-18feed: capitalize "Atom" consistently
This is the official name of the spec, so refer to it as such despite the file extension being lower-cased
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-15filter: fix handling of bad attachments
Improve error messages and use a better regexp for detecting printable characters in attachments.
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-04mbox: generate Archived-At, List-Post, List-Archive headers
Downloaded mboxen can be archived/stored indefinitely, try to make it easy for future archaelogists to find the online archive location.
2015-10-04mbox: kill Bytes meta-header, too
It may be present in messages imported from NNTP.
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-03mda: support a 'filter=scrub' option for external lists
For list where we are not the primary archival entry point, defaulting to filter=scrub makes sense since their list conventions may be more tolerant of HTML and other crap than we are.
2015-10-03drop Message-IDs longer than 244 bytes
Xapian has this limit for terms, and there are likely no legitimate Message-IDs (or single header lines) this long; so there's no need to workaround this limit.
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-02Msgmap: pass ReadOnly DBI flag for non-writable opens
This doesn't seem to do anything on my older system, but maybe it will in newer or future versions of DBD::SQLite. Anyways it can be helpful for documentation purposes, too.
2015-10-01searchidx: subject is not a term
Sometimes subjects are excessively long and hit Xapian's 245-byte term limit. We can still perform subject-only searches with a probabilistic prefix.
2015-10-01nntp: better delimit error message
It may be hard to tell what command triggered an error, otherwise.
2015-10-01nntp: remove reference to non-existent function
Oops
2015-10-01nntp: implement idle time expiration
We don't want to waste precious server memory on clients which have been idle for longer than 3 minutes.
2015-10-01filter: more consistent labeling of rejections
While we're at it, reject non-plain-text top-level messages, too. They probably do not exist in practice, but we cannot afford to scrub given policies implemented by overzealous mail providers. While we're at it, update the comment for strip_multipart.
2015-10-01searchview: fix syntax error
Oops, I forgot to run the syntax check for this.