about summary refs log tree commit homepage
path: root/lib/PublicInbox/RepobrowseBase.pm
DateCommit message (Collapse)
2017-02-09repobrowse: shorten internal names
We'll still be keeping "repobrowse" for the public API for use with .psgi files, but shortening the name means less typing and we may have command-line tools, too.
2017-02-09repobrowse: avoid slurping lines
"foreach (<$fh>)" in Perl requests lines in array context, so use "while" instead for lazy reading. This follows ba4c50c20b95679580beba1ef290a4281d5285b7 in master ("config: do not slurp lines into memory")
2016-12-22repobrowse: remove Plack::Request dependency
This does not make installation easier, but lightens runtime a bit. Plack::Request is unnecessary bloat and indirection which does things behind our back. $env has all the stuff we need.
2016-04-05repobrowse: snapshot support for cgit compatibility
We currently do not display links to snapshots, but may in the future (optionally, like cgit). However, support snapshots for compatibility reasons in case people had cached URLs or auto-generated them somewhere. We won't natively support xz and bzip2 just yet, but will document (at least in comments) how to enable these expensive compression schemes via git-config(1). Also, support disabling certain archive types to twart URL guessing or old cached links from spiders burning bandwidth. In retrospect, enabling snapshots for my own cgit views was a bad idea since it wastes bandwidth from crawlers and is is often not useful for users with maintainer-built files (e.g. "configure" from "configure.ac" for autoconf, where only the latter is stored in git and the former is generated in release tarballs).
2016-04-05repobrowse: drop CGI support
We already dropped CGI from the master branch, drop it from repobrowse as well to simplify code.
2016-04-05repobrowse: commits with path redirect to root with anchor
We shall save clients the overhead of making extra HTTP requests to follow partial paths. This ought to improve cache hit effectiveness on both the server and client side by reducing the potential different pages we may set.
2016-04-05repobrowse: nofollow and noindex tree links
It is expensive and of dubious usefulness to have tree content auto-followed and indexed by search engines. Reduce the links we recommend to crawlers so they don't waste resources of users running our code or waste the time of search engine users finding low-value content. We will allow indexing blobs, however, as they may contain useful information for others to refer to. Of course, I definitely want search engines to index commit messages; as I consider those to be the most important data served.
2016-04-05repobrowse: allow serving PDF files from the 'plain' endpoint
PDFs are no more harmful than images or audio files (they're not innocuous, but they're more difficult to use as an XSS vector). This prepares us to allow access the MIME_TYPE_WHITELIST for serving random file types. But perhaps this will become object-local to allow serving multiple, independent repobrowse instances within one process...
2016-04-05repobrowse: queries are VCS-specific
While we want to keep a consistent set of parameters across different VCSes, we cannot expect users of non-git VCSes to use the same parameter names which make sense for git users.
2016-04-05repobrowse: change Perl capitalization to "Repobrowse"
We mainly call it "repobrowse" (all lowercase), so do not imply it is two separate words by capitalizing "Browse".