Commit Graph
621 Commits
Author SHA1 Message Date
François-Xavier Thomas 09808b170e Update dark icons for the 'groove' theme 2019-10-12 00:49:09 +02:00
François-Xavier Thomas 8b72964086 Display file id and path in debug scanning logs 2019-10-11 23:40:19 +02:00
jvoisin b6414ebb6c Simplify a condition 2019-10-11 23:27:53 +02:00
jvoisin 9f027f333e Upgrade PlaylistService to non-deprecated methods
As documented here: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/Assert.html#notNull-java.lang.Object-java.lang.String-
2019-10-11 22:17:42 +02:00
Andrew DeMaria 3fe6e8b267 Add logger name checkstyle
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-10 00:05:35 -06:00
Evan Harris 317b3a44b5 Fixed broken brace and quote splitting in help text
Hopefully fixes #1298.
2019-10-09 14:14:13 -05:00
Evan HarrisandAndrew DeMaria f644f5a1d0 Improved handling of missing/failed transcoder
Fixes #659.

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-08 18:41:55 -06:00
Andrew DeMariaandjvoisin 431b42bfb3 Ensure commons logging is excluded (#1274)
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-08 14:27:56 +00:00
Evan Harris 6783ced897 Removed inability to change roles for admin user 2019-10-08 06:38:57 -05:00
jvoisinandAndrew DeMaria 6f590f7740 Check the return value of delete calls
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-08 00:39:16 -06:00
Kessiler RodriguesandAndrew DeMaria 4b3890f6ec Replace custom circular buffer with Apache commons(CircularFifoQueue)
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-08 00:34:46 -06:00
jvoisinandAndrew DeMaria 42b4aaafc7 Use EnumMap in IndexManager
EnumMap are _much_ more efficient than HashMaps,
so we should use them if we can.

See here for more details: https://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-08 00:29:03 -06:00
Andrew DeMaria 85f85fd88c Make test results quieter
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-07 22:41:12 -06:00
jvoisin 1a7bb68dc6 Remove a leftover of the Radexo removal
This is a followup of 85e0e08d9a
2019-10-07 17:11:42 +02:00
jvoisin da34bf0d3f Improve Windows system detection
Use apache commons instead of terrifyingly fragile black magic.
2019-10-07 01:16:34 +02:00
jvoisinandAndrew DeMaria 85e0e08d9a Remove radeox
Radeox is a rendering engine for an unspecified markup.
Its [website](http://radeox.org/) is dead, the website
of its [authors](http://www.codehaus.org/) is dead too,
its [last commit](https://github.com/codehaus/radeox) was 13 years ago.

It's only used for the welcome and login messages,
as well as comments from users. If we want to have some markup parsing,
we should use something maintained with autoescaping guarantees,
instead of a piece of zombie code prone to $DEITY knows what injections.

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-06 16:02:46 -06:00
jvoisinandAndrew DeMaria e5404648a4 Remove unnecessary exceptions and unused imports
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-06 16:00:29 -06:00
Evan HarrisandAndrew DeMaria 90e6c77563 Fix incorrect absolute paths in css
Fixes #1256

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-06 15:55:19 -06:00
Andrew DeMaria 776bb2cfef Switch to newer modelAttribute
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-06 15:45:32 -06:00
jvoisinandAndrew DeMaria dddf8dc0aa Fix some javadoc comments
- Remove a dangling comment
- Delete half-documented parameters
- Fix some @see/@link

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-06 15:37:54 -06:00
jvoisin 889add6848 More lambdaification 2019-10-06 15:00:34 +02:00
Andrew DeMaria 45d789b64e Option to disable timestamps during scan
I accidentally deleted most of my music directory. The database was
still intact. I recovered the music directory by rolling back to a
previous ZFS snapshot and performed a reindex. However, libresonic did
not mark the deleted files as present. Turns out the file timestamp was
unchanged through the ZFS restore, and so libresonic still thought the
last indexing effort was still "good".

This adds the option to ignore file timestamps when scanning files. This
can be helpful in the case of a restore as described above. There might
be a better way to do this, as this was really a quick effort on my part
to fix my own libresonic.

This does not add a UI, just a single property that can be turned on by
editing the lilbresonic.properties file.

@fxthomas suggested this could instead be a query parameter on the
initial issue #359. That would basically move the potential UI to the
scan page. That would be fine, but I could imagine there might be cases
where people want this setting on all the time.

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 21:25:17 -06:00
Evan HarrisandAndrew DeMaria 41967e76df Media file scan will now heed configured music/video file types
It will also now heed the Media Folders -> Exclude Pattern.  Fixes #1227.

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 21:14:31 -06:00
Evan HarrisandAndrew DeMaria 1b28d2c2fe Handle nulls when processing cover art better
This expands on commit d4487a07a0fcacea1544d61c79a380f2e9bf3087.

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 20:06:09 -06:00
jvoisinandAndrew DeMaria dd1e0181d1 Please checkstyle
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 19:48:00 -06:00
jvoisinandAndrew DeMaria af05b0f45b Use lambdas instead of ghetto nested types
This change was done in an automated fashion
via IntelliJ IDEA

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 19:47:48 -06:00
jvoisinandAndrew DeMaria 9cbcc94b58 Bump ehcache
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 19:44:29 -06:00
jvoisinandAndrew DeMaria 25327c69cc Replace deprecated IOUtils.closeQuietly calls
Use FileUtil.closeQuietly instead, since it's our reimplemented of this deprecated method.
This change was done automatically via IntelliJ IDEA.

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 19:39:10 -06:00
tesshucomandAndrew DeMaria 645fb88c7d Add expunge to IndexManager
When DB expunge is invoked from the management screen,
also indexManager performs expunge.

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 19:19:16 -06:00
jvoisinandAndrew DeMaria c6ae5a1df7 Use computeIfAbsent instead of an if
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 19:01:53 -06:00
jvoisinandAndrew DeMaria 888204ffe7 Remove an unused import
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-10-05 18:58:28 -06:00
jvoisin c0beca6a58 Use removeIf instead of doing this manually 2019-10-05 19:43:47 +02:00
benferreri 13d5426449 escaped artist and album values in links; fixed allmusic link 2019-10-03 19:20:52 -04:00
benferreri 38b602922b Merge remote-tracking branch 'upstream/master' 2019-10-03 17:33:50 -04:00
Jon Borglundandjvoisin f77a0d8b67 fixed 'Settings Saved' notification when saving transcoding settings #1114 (#1269)
Signed-off-by: Jon <jon@powha.net>
2019-10-03 20:13:35 +00:00
Evan Harris 2fa584f81d Merge branch 'origin/pr/1244' 2019-10-02 01:24:51 -05:00
Andrew V. Louisandjvoisin 45c6893f16 Making textareas vertical-align middle allows them to align with adjacent imgs.
Signed-off-by: Andrew V. Louis
2019-10-01 19:13:30 +00:00
benferreri 207ee4569c added discogs search link to main album page
Signed-off-by: benferreri <benferreri11@gmail.com>
2019-10-01 11:29:38 -04:00
jvoisin 5593275a5a Fix the CSS for groove_simple
Previously, the css pointed to a non-existent
file path for the background.
2019-09-30 23:05:07 +02:00
François-Xavier ThomasandGitHub 2b73a82a88 Merge pull request #1254 from fxthomas/1160-fix-mejs-race-condition
Fix remaining race condition in media playback
2019-09-28 16:05:06 +02:00
François-Xavier Thomas 40ef5501ea Fix race condition in MediaElement.js (#685, #1160)
This commit is hopefully the final fix on Airsonic's side for #685.  It
also fixes #1160, which was caused by temporary workarounds introduced
in #1080 while we were looking for a solution.

The root cause of the issue is the fact that, when we go to the next
track in an Airsonic play queue, we change the media source in the
`ended` event.

In MEJS, this translates as the following two things:

* In Airsonic's 'ended' event, we change the media source (set the `src`
  attribute) and call the `load()` method, followed by the `play()`
  method.

* The 'ended' event was also used internally by the MEJS player, and
  one of these internal uses called the `pause()` method (presumably in
  order to make sure that playback was stopped on some media renderers).

Unfortunately, the order in which these events are called depends (in
all modern browsers) on the order in which they are registered.

In our case, the first one is registered inside the `<body>` tag, but
the second one is registered with `$(document).ready(...)`. This means
that the first event handler is called before the second.

This means that, in some cases (when we're unlucky, hence the seemingly
random nature of the bug), `pause()` is called after `load()`
but before the media has finished loading.

Apparently, this causes the `AbortError: The fetching process for the
media resource was aborted by the user agent at the user's request.`
message to appear (which indicates exactly what's described in the last
paragraph), and the playback of the next song is aborted.
2019-09-22 18:48:21 +02:00
jvoisin bc832d0034 Use a constant for encoding
Replace string.getBytes("UTF-8") with
string.getBytes(CONSTANT).
2019-09-21 18:16:40 +02:00
Evan Harris 117e8c7fd1 Improve transcoder info text and formatting 2019-09-20 03:59:14 -05:00
jvoisinandGitHub 3d8f3ed21d Gracefully handle failed version check attempts
This issue what found by darkling, and reported on irc
2019-09-19 19:54:58 +00:00
jvoisin 53d835e6ed Make the logout icon/image cliquable
This should close #1178
2019-09-19 20:49:45 +02:00
Evan Harris d4aff1dca5 Added checkstyle to prohibit windows line endings
Suggestion taken from jvoisin in #1121.
2019-09-13 13:11:01 -05:00
tesshucomandAndrew DeMaria 5c3c558923 Update Lucene from 3.0.3 to the current version 8.2.0
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-09-12 16:33:44 -06:00
CeledhrimandAndrew DeMaria c16fa9d159 Update db-changelog.xml to support mariadb
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-09-10 14:22:43 -06:00
jvoisinandAndrew DeMaria c6540d707e Simplify a bit the annotations
There is no need to specify `value` every single time

Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
2019-09-10 13:51:35 -06:00
Evan Harris 83ca97e21c Improve error handling for jaudiotaggerParser artwork fetch 2019-09-01 13:24:26 -05:00