about summary refs log tree commit homepage
path: root/lib
DateCommit message (Collapse)
2016-06-30view: fix permalink and raw links at the top
Oops :x I really need to whip check-inbox.perl into shape or at least start running it, again. Fixes: e29518088b3f ("view: fix up some HTML injection via Message-ID vectors")
2016-06-30view: move per-message anchor to top in conversation view
This fixes the '^' (up) link in the $INBOX/new.html endpoint for search-less displays.
2016-06-30searchview: show result count in thread index, for now
I'm not sure what to show here, actually; but it's better than triggering an uninitialized variable warning.
2016-06-30view: reference posting style article on Wikipedia
Storage is precious when it is forever and distributed. And public-inbox aims to not only end Eternal September(*), but to build a world less-centralized than Usenet ever was: forkable discussion groups (*) https://en.wikipedia.org/wiki/Eternal_September
2016-06-30view: improve readability of msg_reply with here-doc
This should make formatting more apparent since we can rely on <pre> semantics.
2016-06-30www_stream: add response wrapper sub
This encapsulates an entire PSGI response array, hopefully making it easier to generate responses and avoid typos when setting the Content-Type.
2016-06-30view: fixup bad reference to new_msgid
Oops, this endpoint needs testing :x
2016-06-30Merge branch 'thread-view-skel'
* thread-view-skel: view: show thread size when linking to summary view: default to flat/hybrid thread display view: fix up some HTML injection via Message-ID vectors www: reinstate old thread view as an option view: show more nearby messages in flat thread view view: tweak thread/index header slightly feed: add $INBOX/new.html endpoint view: merge $state hash with existing $ctx view: show thread context in the thread-aware flat view www: use WwwStream for dumping thread and search views www: implement hybrid flat+thread conversation view
2016-06-30view: show thread size when linking to summary
This should give readers a better idea of what to expect.
2016-06-30view: default to flat/hybrid thread display
This is friendlier for people on small screens and usually eliminates the need to scroll horizontally.
2016-06-30view: fix up some HTML injection via Message-ID vectors
Oops, these were only introduced during the hybrid flat thread view reworking and never deployed.
2016-06-30www: reinstate old thread view as an option
This hybrid view is better than the old flat, but can still fall down compared to the old threaded view in some cases.
2016-06-30Revert "view: update git-send-email URL"
This reverts commit a391cf5aaf7181b5e5e20eb240c7ce50cbdf8fa2 as kernel.org is updating again. Ref: http://mid.gmane.org/xmqqpor18a2n.fsf@gitster.mtv.corp.google.com
2016-06-30view: show more nearby messages in flat thread view
Context is important, but so is conserving precious screen space. Decisions :<
2016-06-30view: tweak thread/index header slightly
This makes the top permalink/raw as well as the In-Reply-To show up without search. While we're at it, try to make the links on the thread index from the "X siblings, Y replies" more obvious.
2016-06-30feed: add $INBOX/new.html endpoint
This acts like the Atom feed; but should be viewable directly from browsers.
2016-06-30view: merge $state hash with existing $ctx
This reduces the level of indirection to reach certain objects within the hash and there are no namespace or lifetime conflicts anyways.
2016-06-30view: show thread context in the thread-aware flat view
This lets user have a small window of the context of the current message relative to other threads.
2016-06-30www: use WwwStream for dumping thread and search views
This allows us the HTTP server to react to backpressure from slow clients when writing. As a side effect, this also makes it easier for us to maintain a consistent header/footer across our HTML.
2016-06-30www: implement hybrid flat+thread conversation view
This should be more accessible to readers on narrow terminals (or giant fonts) while providing a chronological view which is also aware of message threading relationships.
2016-06-27view: HTML escape mailto: link
Oops, we cannot have bare '&' in mailto: links, either.
2016-06-27view: attribute in parent link for permalink message
Oops, but apparently this does not trigger errors?
2016-06-26inbox: avoid trying s// on undef
Oops, I guess I'm trigger-happy today. Fixes: 31a6ff1221fe ("inbox: ensure we do not show leading "From " lines")
2016-06-26inbox: ensure we do not show leading "From " lines
Some messages will be misimported due to an old bug, clean them up and ensure we do not propagate the mistake. Followup-to: a0c07cba0e5d ("mda: drop leading "From " lines again")
2016-06-26spamcheck/spamc: fix compatibility with Perl 5.14.2
This is necessary for Debian 7.x (wheezy), since GLOB objects do not seem responsive to the can("fileno") check (we do a similar check in GitHTTPBackend).
2016-06-26watch_maildir: warn on spam check failures
It would be nice to know about spamcheck failures.
2016-06-26www: unescape '+' in query parameter to space
Fixes: fbcb7de93884b ("www: remove a few more Plack::Request dependencies")
2016-06-25www_stream: linkify cloneurl entries if they're HTTP/HTTPS
They may be other public-inbox instances which are browseable, so provide a link to them to encourage their use as clones.
2016-06-25view: safer and optional quoting for --in-reply-to arg
Angle brackets around the --in-reply-to= arg for git send-email has been optional since git v1.5.3.2, so strip them and make the command-line argument easier-to-type.
2016-06-25address: remove Address::from_name
Address::names is sufficient to handle what from_name did.
2016-06-25view: show To/Cc destinations in conversation view
It is important to show the decentralized nature of communication in our web views.
2016-06-25address: beef up the module with name list extaction
We may remove from_name in the future. ...And disallow quotes in email addresses. Technically I believe they're allowed, but they're definitely uncommon and unlikely to show up in legitimate mail.
2016-06-25inbox: do not weaken already-weak refs
This quiets a (hopefully harmless) warning when a ref remains alive through several expiry timeouts.
2016-06-25http: cork chunked responses for small savings
This only affects Linux users with MSG_MORE support. We can avoid extra TCP overhead for sub-optimal chunk sizes by using MSG_MORE even with chunk trailers under Linux. This breaks real-time apps which require <= 200ms latency for streaming small packets (e.g. implementing "tail -F"), but the public-inbox WWW code does not (and will never) do such things.
2016-06-24mbox: reduce small packets for gzipped mboxes
We want to avoid sending 10 or 20-byte gzip headers as separate TCP packets to reduce syscalls and avoid wasting bandwidth.
2016-06-24githttpbackend: shallow clone workaround
Apparently git-http-backend exits with a non-zero status on shallow clones (due to git-upload-pack), so there is a to-be-fixed bug in git.git http://mid.gmane.org/20160621112303.GA21973@dcvr.yhbt.net http://mid.gmane.org/20160621121041.GA29156@sigill.intra.peff.net
2016-06-24evcleanup: micro-optimize asap function
Instead of relying on a timer with immediate callback, arm a pipe to watch for writability, ensuring the callback always fires.
2016-06-24http: always yield on getline/body
We want to maximize fairness for large responses which may download the entire mbox.
2016-06-24watch_maildir: ignore Trash and Drafts, support Dovecot
Trashed messages and drafts are probably not intended for importing, so do not import them. Dovecot uses extra flags via lowercase letters, so we must support those (as that's the server I use).
2016-06-24watch_maildir: implement optional spam checking
Mailing lists I watch and mirror may not have the best spam filtering, and an extra layer should not hurt.
2016-06-24watch_maildir: rename _check_spam => _remove_spam
We do not actually do spam checking, here; but will do spam checking before adding a message in the future.
2016-06-24document Filesys::Notify::Simple dependency
And improve documentation for existing dependencies, too.
2016-06-24split out spamcheck/spamc to its own module.
This should hopefully make it easier to try other anti-spam systems (or none at all) in the future.
2016-06-24implement ListMirror SpamAssassin plugin
When running mailing list mirrors, one needs to be careful spammers do not try to sidestep the list server we want to mirror from and inject email into our mail directly by setting the appropriate list headers (e.g. "X-Mailing-List" or "List-Id"). We trust the top-most Received: header is the one our own mail server got the mail from. Bcc:-ing a public mailing list is a very likely indicator of spam in my experience, so throw in an extra rule mark it. While public-inbox-mda rejects Bcc: entirely, public-inbox-watch needs to mirror lists which allow Bcc. ==> list_mirror.cf <== loadplugin PublicInbox::SaPlugin::ListMirror ifplugin PublicInbox::SaPlugin::ListMirror header LIST_MIRROR_RECEIVED eval:check_list_mirror_received() describe LIST_MIRROR_RECEIVED Received does not match trusted list server score LIST_MIRROR_RECEIVED 10 header LIST_MIRROR_BCC eval:check_list_mirror_bcc() describe LIST_MIRROR_BCC Mailing list was Bcc-ed score LIST_MIRROR_BCC 1 endif ==> ~/.spamassassin/user_prefs <== ifplugin PublicInbox::SaPlugin::ListMirror list_mirror X-Mailing-List git@vger.kernel.org *.kernel.org git@vger.kernel.org endif
2016-06-23view: update git-send-email URL
I've setup my own mirror on https://git-htmldocs.bogomips.org/ since kernel.org is no longer updated, and I don't believe in endorsing commercial hosting sites or interests. Unfortunately, it still contains JavaScript and CSS, but it's generated by AsciiDoc. Oh well, it's all Free Software, at least. Junio C Hamano writes: > On Wed, Jun 22, 2016 at 12:00 PM, Eric Wong <e@80x24.org> wrote: > > Just wondering, who updates > > https://kernel.org/pub/software/scm/git/docs/ > > and why hasn't it been updated in a while? > > (currently it says Last updated 2015-06-06 at the bottom) > > Nobody. It is too cumbersome to use their upload tool to update many > files (it is geared towards updating a handful of tarballs at a time). ref: http://mid.gmane.org/20160622190018.GA786@dcvr.yhbt.net/ http://mid.gmane.org/CAPc5daUiUv-EEv7ouQ=K+Q8S64QVV5wn4H6+TuF0wLeo123K5Q@mail.gmail.com http://mid.gmane.org/20160622214811.GA19633@dcvr.yhbt.net
2016-06-22view: allow thread generation to EOF on errors
We want to ensure the actual message gets shown, and less important info does not destroy things.
2016-06-22view: fix topic threading when ghosts are present
This fixes a bug where a message replying to a ghost would accidentally be added to the wrong topic in the index/topic view. Before commit 76d8f68dc273e54809ad69cfe49e141003f790ef ("view: avoid recursion in topic index"), we would refuse to indent a topic which started with a ghost which hid the problem. Now we inform the user the thread started elsewhere.
2016-06-21view: support non-existent Subjects for permalink titles
Showing "(no subject)" seems like a common fallback for messages without a Subject header.
2016-06-21search: support Subject:-less messages
Some mailing lists allow empty Subject headers and we shall support searching and indexing them.
2016-06-21daemon: disable SIGWINCH unless explicitly daemonized
Checking stdin/stdout/stderr is not sufficient as the daemon without setsid can still be under the control of a terminal. Unfortunately this means systemd users cannot use SIGWINCH, either.