In case of exceptions, Airsonic logs the full URL that triggered it
since 417583cc, including possibly sensitive query parameters such as
the authentication password/tokens passed to the Subsonic API.
This replaces the value set for this parameter in the URL by the
"<hidden>" string.
When Tomcat is not available (for example, when using Jetty), the
ClientAbortException is not available either, causing an error when
starting the server.
This commit fixes that, and instead catches that exception (or its Jetty
equivalent) via reflection.
When streaming, log messages now show the URL and IP of the originating
request, so that it's easier to determine what client is listening to
something on the server.
The `ClientAbortException` exception indicates that the connection was
closed by the client, usually for something the server can do nothing
about (e.g. navigating outside of the page while it's loading).
Since this error happens often, this commit displays shorter error
messages when it does, without a large stack trace.
All other exceptions are handled just as before.
The FILES DEFRAG / FILES LOG SIZE properties are kept when upgrading to
2.x; it's enough that they were set once on 1.8. For new installations
the migration will still run with the correct SQL statements.
This will only affect the (embedded/legacy) HSQLDB driver. Even though
cff97ea9 should prevent the db log from getting uncontrollably large,
the 'Clean-up database' and 'Scan' actions will additionally force a
checkpoint to ensure this happens on big operations.
For convenience, shuffle radio filters were saved and restored when
loading the `more.view` page. This also happened for the `_csrf` field,
which caused it to take an old and invalid value.
This commit does the following things :
* Increase Tomcat resource cache size to be able to actually store
something in there.
* Increase Tomcat resource cache TTL to avoid costly evictions
* Put Jasper in production mode to avoid recompiling JSPs
This commit also replaces Lucene with an SQL query when looking for
random songs. This should improve performance quite a bit and allows us
to use more complex filters on columns that are not indexed by Lucene.
Cover art images whose height is larger than their width overflow their
containing div and are superposed with the name of the album, and
sometimes other albums below.