advplyr
84839bea44
Cleanup audiobookcovers.com addition
2023-04-21 16:17:52 -05:00
Spenser Bushey
1342897858
Removed useless comments
2023-04-20 16:39:04 -07:00
Spenser Bushey
f9ed412e4e
Add AudiobookCovers.com metadata provider
...
AudiobookCovers.com acts as a cover-only metadata provider, therefore will only show up in the covers selector.
2023-04-19 22:13:52 -07:00
advplyr
0bb1cf002d
Fix:Crash when podcasts put empty spaces with episode file path in RSS feed #1650
2023-04-17 17:03:58 -05:00
advplyr
e4961feffb
Update:Remove item metadata path when removing item #1561
2023-04-16 16:23:13 -05:00
advplyr
eb5f257b8c
Merge pull request #1680 from lukeIam/region_authors
...
Use region for author queries
2023-04-16 15:54:49 -05:00
advplyr
e271e89835
Author API requests to use region from library provider
2023-04-16 15:53:46 -05:00
advplyr
f5009f76f4
Update proper lockfile settings #1326
2023-04-16 15:21:04 -05:00
advplyr
8d0064763c
Merge branch 'master' into auth_passportjs
2023-04-16 10:08:17 -05:00
advplyr
7010a13648
Fixes for passport local and allow empty password
2023-04-16 10:08:13 -05:00
lukeIam
a3e63e03d2
Use region for author queries
2023-04-16 13:36:50 +02:00
advplyr
179f11f55d
Add:Delete library items from file system #1439
2023-04-14 16:44:41 -05:00
lukeIam
812395b21b
Merge remote-tracking branch 'origin/master' into auth_passportjs
2023-04-14 20:27:43 +02:00
lukeIam
62b0940766
Added passport-openidconnect implementation
2023-04-14 20:26:29 +02:00
advplyr
5a21e63d0b
Add:Delete library files, condense item options in more menu #1439
2023-04-13 18:03:39 -05:00
advplyr
24ef105732
Fix:Empty podcasts marked as missing & removing episodes when deleted in folder #1671
2023-04-12 17:20:11 -05:00
advplyr
589c4f73d2
Cleanup scanner
2023-04-12 16:45:52 -05:00
Divyang Joshi
122ec140e8
Add sortBy Last Book Added and Updated to series
2023-04-11 23:18:25 -04:00
advplyr
c1b2aaec9f
Fix:Set tone path for debian tone usage #1643
2023-04-11 16:55:22 -05:00
advplyr
718890cfad
Add:Download button to download full library item #580
2023-04-09 17:05:35 -05:00
advplyr
22b8622c67
Fix:Crash for invalid payload to update cover endpoint #1644
2023-04-09 15:01:14 -05:00
advplyr
3dc9416da6
Add:Chapters to podcast episodes #1646
2023-04-09 14:32:51 -05:00
advplyr
5e5b674c17
Add:Remove all chapters button in chapter editor #1603
2023-04-09 12:47:36 -05:00
advplyr
3656eab8bf
Update:Add audible_asin meta tag #1640
2023-04-09 11:23:02 -05:00
advplyr
25ca950dd0
Update listening sessions per device and show open sessions
2023-04-08 18:01:24 -05:00
advplyr
4d110ebe7e
Fix:Podcast RSS feed parse when element has attributes #1650
2023-04-05 17:40:40 -05:00
advplyr
d7f18bdd8b
Remove deprecated user settings
2023-04-03 17:41:03 -05:00
advplyr
05b102722b
Remove unused ebook routes
2023-04-03 17:33:02 -05:00
advplyr
ef954ee68f
Remove downloads folder in metadata dir
2023-04-03 17:28:55 -05:00
advplyr
034b8956a2
Add:Batch embed metadata and queue system for metadata embedding #700
2023-04-02 16:13:18 -05:00
advplyr
1a3f0e332e
Fix download podcast episode that is not mp3
2023-04-01 16:31:04 -05:00
advplyr
9fdc8df8bc
Update:API endpoint for updating book media does not require an id for new series/authors #1540
2023-03-31 17:04:26 -05:00
advplyr
212b97fa20
Add:Parsing meta tags from podcast episode audio file #1488
2023-03-30 18:04:21 -05:00
advplyr
704fbaced8
Update:Download podcast episodes and embed meta tags #1488
2023-03-29 18:05:53 -05:00
advplyr
575a162f8b
Update:API endpoint for get all users to use minimal payload
2023-03-29 14:56:50 -05:00
advplyr
e248b6d8d8
Fix:Parsing id3 tags case insensitive
2023-03-25 16:09:41 -05:00
advplyr
a99257e758
Fix getAllLibraryItemsInProgress route
2023-03-25 14:07:35 -05:00
advplyr
c89d77dd06
Merge pull request #1627 from vincentscode/epub-reader
...
Save Progress for EPUBs
2023-03-24 18:01:13 -05:00
lukeIam
08676a675a
Fix: small problem with this context in Auth.js
2023-03-24 18:31:58 +01:00
lukeIam
be53b31712
Merge remote-tracking branch 'origin/master' into auth_passportjs
2023-03-24 18:23:08 +01:00
lukeIam
e1ddb95250
Inital passportjs integration
2023-03-24 18:21:25 +01:00
Vincent Schmandt
4d29ebd647
Save Locations locally, add separate progress tracker
2023-03-23 08:45:00 +01:00
advplyr
fd58df4729
Add:Abridged book detail, parse from audible, abridged book filter #1408
2023-03-22 18:05:43 -05:00
Vincent Schmandt
5078818295
Add MediaProgress fields
...
Add Table of Contents
2023-03-22 11:16:01 +01:00
advplyr
146093d81e
Add:Support for .awb AMR-WB audio file #1565
2023-03-17 16:52:07 -05:00
advplyr
11ccbf1913
Merge pull request #1609 from Linden-Ryuujin/feature/semicolonSeperators
...
Support for scanning semicolon seperated author and narator lists.
2023-03-16 17:06:22 -05:00
Linden Ryuujin
a4a334a18a
Support for scanning semicolon seperated author and narator lists.
2023-03-16 21:44:03 +00:00
advplyr
387a37e4da
Fix:Download podcast episodes that are not mp3 #1513
2023-03-15 18:04:31 -05:00
advplyr
ebad304aa9
Remove filePerms log
2023-03-14 15:38:53 -05:00
advplyr
8b557a0cb9
Fix:Private Patreon feed URLs getting encoded twice #1600
2023-03-14 15:38:19 -05:00
advplyr
40b808e73d
Update:Use title ID3 tag on tracks when setting chapters and prefer audio metadata setting is enabled #679
2023-03-13 17:56:16 -05:00
advplyr
a8b57a1ce9
Cleanup rebuild tracks/set chapters
2023-03-13 17:45:44 -05:00
advplyr
27b9d3b94f
Update:Add support for MKA audio files #1597
2023-03-12 15:52:49 -05:00
advplyr
db1ca08c2e
Update scanner logs to show inode value on path changes and missing items #1447
2023-03-05 15:38:21 -06:00
advplyr
557d3243c3
Fix:Series & collection rss feeds repeating first book #1531
2023-03-05 15:26:18 -06:00
advplyr
785942b94f
Update:Series books page fallback to sort by title/collapsed series name when no sequence #1503
2023-03-05 14:48:20 -06:00
advplyr
3df7caa838
Fix:OPF parser crash when no narrators #1578
2023-03-05 12:40:21 -06:00
advplyr
aef2c52630
Merge pull request #1581 from mfcar/improvePodcastEditing
...
Improve podcast editing
2023-03-05 12:28:12 -06:00
advplyr
dccad3055b
Remove library item listener from edit episode modal
2023-03-05 12:28:20 -06:00
advplyr
c629923a80
Merge pull request #1562 from mfcar/addNextScheduleInfo
...
Improve dates, times and schedule backup info
2023-03-05 11:44:59 -06:00
advplyr
022bf9d0ef
Show current episode download on init and download queue page updates
2023-03-05 10:35:34 -06:00
mfcar
61c759e0c4
Add tasks queue dropdown
2023-03-05 11:15:36 +00:00
mfcar
cfb3ce0c60
Merge branch 'master' into addDownloadQueue
2023-03-04 22:00:18 +00:00
mfcar
72396c5a98
Add Prev/Next buttons on podcast editing
2023-03-04 19:04:55 +00:00
mfcar
d8b6e09bc0
Merge branch 'master' into addNextScheduleInfo
2023-03-04 11:09:35 +00:00
advplyr
d95975cade
Fix:Series page progress filter #1577
2023-03-03 17:35:14 -06:00
advplyr
c847aea0a4
Merge pull request #1556 from Weldawadyathink/public_rss_feeds
...
Fix incorrect tags when blocking public feeds
2023-02-27 16:40:18 -06:00
mfcar
071444a9e7
Improve dates, times and schedule backup info
2023-02-27 18:04:26 +00:00
mfcar
34ac972130
Add download queue
2023-02-27 02:56:07 +00:00
advplyr
0d50d730d9
Update:Html sanitizer to allow br tag
2023-02-25 15:05:44 -06:00
Spenser Bushey
3a7fd0bcc9
Fix incorrect tags when blocking public feeds
2023-02-25 09:00:26 -08:00
advplyr
caacf461ab
Open rss feed metadataDetails optional
2023-02-25 08:53:09 -06:00
mfcar
0d3e6b1d0a
Add rss details configuration
2023-02-25 13:20:26 +00:00
advplyr
2db4dd6a40
Merge pull request #1539 from Linden-Ryuujin/feature/coverImage
...
Prefer cover images called cover
2023-02-23 17:55:05 -06:00
advplyr
f58e2b6dce
Update cover image set on first scan
2023-02-23 17:55:11 -06:00
mfcar
ad0edc6329
Fix merge conflicts and add language information on the feed rss
2023-02-23 00:33:04 +00:00
Linden Ryuujin
002fb7a35e
When setting the cover image prefer images called "cover", otherwise fallback to original behaviour of first in the list.
2023-02-23 00:09:05 +00:00
mfcar
cc62a20a5d
Merge branch 'master' into addSeasonInfo
...
# Conflicts:
# client/components/modals/podcast/NewModal.vue
2023-02-23 00:06:21 +00:00
mfcar
9a51c3be0f
Add dropdown to the episode type
2023-02-22 18:48:36 +00:00
mfcar
b1ee54522a
Add support to podcast type
2023-02-22 18:22:52 +00:00
mfcar
c14d13440f
Add explicit info
2023-02-22 12:48:12 +00:00
advplyr
5c250da388
Merge pull request #1518 from mfcar/addSizeStats
...
Add largest item stats
2023-02-20 17:41:20 -06:00
mfcar
08d7a9aa14
Add size stats
2023-02-19 21:39:28 +00:00
Dan Tong
956678c08c
Encode podcast url when downloading episode
2023-02-18 14:21:45 +13:00
advplyr
4039dc7968
Podcast episode download notification adding variables for mediaTags, podcastAuthor, podcastDescription, podcastGenres, episodeTitle, episodeSubtitle, episodeDescription
2023-02-15 15:57:04 -06:00
Philipp Rintz
e345c4cc9e
Correct the libraryTags variable
2023-02-15 00:00:34 +01:00
Philipp Rintz
a08cfa436e
Fix code formatting
2023-02-14 16:51:20 +01:00
Philipp Rintz
7207efb4da
Add library tags variable to podcast notifications
2023-02-14 16:41:58 +01:00
advplyr
23f2c8a251
Fix:Replacing item cover remove old covers case insensitive #1391
2023-02-11 15:56:18 -06:00
advplyr
dcfbed5f30
Update:Add inode value to log #1447
2023-02-11 15:39:34 -06:00
advplyr
8b5d05739f
Fix:Adding new podcast when folder already exists #1462
2023-02-11 15:25:54 -06:00
advplyr
5d40fdf277
Merge pull request #1487 from Nab0y/master
...
FantLab.ru BookFinder
2023-02-11 14:29:38 -06:00
advplyr
f35c96e118
FantLab minor refactor
2023-02-11 14:25:25 -06:00
advplyr
8f8d6f81ab
Fix:Upload API endpoint crashing on invalid request with no files #1473
2023-02-10 17:25:19 -06:00
advplyr
e195eec1c5
Fix:OPF parser supporting attributes on tags #1478
2023-02-10 17:22:23 -06:00
advplyr
33846e46fa
Fix:Handle podcast RSS feeds with iso-8859-1 encoding #1489
2023-02-10 17:07:25 -06:00
advplyr
2ad03bcb9a
Fix:Bad backup files and backing up playlists, feeds #1485
2023-02-10 15:33:42 -06:00
Dmitry
371cd3b2e5
Update server/providers/FantLab.js
...
Co-authored-by: advplyr <67830747+advplyr@users.noreply.github.com>
2023-02-09 23:09:44 +03:00
Dmitry Naboychenko
b9307143bd
FantLab match provider fixes after code review
2023-02-08 22:32:27 +03:00
Dmitry
36e44e902a
Merge branch 'advplyr:master' into master
2023-02-08 17:31:19 +03:00
gefan
ba07761de3
Revert "kill zombie processes to reduce memory usage"
...
This reverts commit 19e39f6321
.
2023-02-07 12:33:33 +08:00
Dmitry
3b7ce69327
Merge branch 'advplyr:master' into master
2023-02-07 00:25:45 +03:00
Dmitry Naboychenko
cf927f61a0
Add FantLab.ru Book Finder
2023-02-07 00:25:18 +03:00
gefan
61c32d99e7
scan media files in batches
2023-02-07 00:18:57 +08:00
gefan
19e39f6321
kill zombie processes to reduce memory usage
2023-02-07 00:18:48 +08:00
advplyr
f9e6655359
Update:API endpoint for syncing multiple local sessions. New API endpoint to get current user. Deprecate /me/sync-local-progress endpoint
2023-02-05 16:52:17 -06:00
advplyr
3383ec2046
Add logs to playback session manager
2023-02-04 13:23:13 -06:00
advplyr
b957e1a36b
Update:API endpoints for library and library item scan updated to POST requests
2023-02-03 17:50:42 -06:00
advplyr
d1b25da408
Merge pull request #1469 from yuuzhan/adding-tags-to-metadata.abs
...
Adding tags to metadata.abs
2023-02-02 17:19:30 -06:00
advplyr
08f765fa51
Update parsing and using tags from abmetadata file
2023-02-02 17:13:22 -06:00
advplyr
337cf90c4b
Add debug logs to playback sessions
2023-02-02 16:24:34 -06:00
yuuzhan
639b600570
Updated parseAndCheckForUpdates to pass in LibraryItem instead of Metadata Object
2023-02-02 12:47:12 -05:00
yuuzhan
7a751b8f91
Updated function parseAndCheckForUpdates to pass Library Item rather then just the metadata object
2023-02-02 12:46:22 -05:00
yuuzhan
68621e0c07
Update abmetadataGenerator.js
2023-02-02 12:43:48 -05:00
advplyr
5bde320ac7
Update:Remove X-Powered-By express response headers
2023-02-01 14:34:01 -06:00
advplyr
d8753aafb9
Fix:Series collapse series filter out empty sequences #1450
2023-01-31 15:53:04 -06:00
advplyr
ba5ad228cc
Merge pull request #1456 from jramer/master
...
Fixes m4b chapters only taken from first file.
2023-01-30 17:53:48 -06:00
advplyr
0203f9cc1b
Update server/objects/mediaTypes/Book.js
2023-01-30 17:50:50 -06:00
advplyr
4770be5a39
Update server/objects/mediaTypes/Book.js
2023-01-30 17:50:45 -06:00
Joakim Ramer
5d96b2cc6e
Logs correctly and simplifies for single audio file.
2023-01-30 12:56:22 +01:00
Joakim Ramer
72d0b097ab
Reverts change of file ending
2023-01-30 12:48:50 +01:00
Joakim Ramer
36d2957fb4
Adds check for duplicated chapter data
2023-01-30 12:46:41 +01:00
Joakim Ramer
80ef8ee890
Fixes m4b chapters only taken from first file.
2023-01-30 00:42:02 +01:00
Lars Kiesow
a65859f575
One Default Bookshelf View
...
This patch updates the default value of the home page bookshelf view so
that it is identical to the default library view. Having different
styles by default seems odd. I picked the non-wooden view as default
based on the recent discussion on Matrx/Discord that that one looks more
modern.
2023-01-28 23:17:31 +01:00
advplyr
8908aa7a82
Fix:Podcast RSS feeds update on new/updated episodes #1435
2023-01-28 14:58:10 -06:00
advplyr
f83dd29213
Update:syncLocalMediaProgress API response payload
2023-01-28 14:46:01 -06:00
advplyr
49279430fc
Add:Recommended book home page shelf
2023-01-27 17:59:06 -06:00
advplyr
9ebe4b55dd
Merge pull request #1431 from lkiesow/x-accel
...
Implement X-Accel Redirect
2023-01-23 17:27:23 -06:00
advplyr
f7a3dbf209
Fix:Embed metadata tool embeds cover image
2023-01-22 18:02:57 -06:00
advplyr
d900093976
Fix:Make m4b embed cover image
2023-01-22 18:00:35 -06:00
Lars Kiesow
08250e266e
Implement X-Accel Redirect
...
This patch implements [X-Accel](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/ )
redirect headers as an optional way for offloading static file delivery
from Express to Nginx, which is far better optimized for static file
delivery.
This provides a really easy to configure way for getting a huge
performance boost over delivering all files through Audiobookshelf.
How it works
------------
The way this works is basically that Audiobookshelf gets an HTTP request
for delivering a static file (let's say an audiobook). It will first
check the user is authorized and then convert the API path to a local
file path.
Now, instead of reading and delivering the file, Audiobookshelf will
return just the HTTP header with an additional `X-Accel-Redirect`
pointing to the file location on the file syste.
This header is picked up by Nginx which will then deliver the file.
Configuration
-------------
The configuration for this is very simple. You need to run Nginx as
reverse proxy and it must have access to your Audiobookshelf data
folder.
You then configure Audiobookshelf to use X-Accel by setting
`USE_X_ACCEL=/protected`. The path is the internal redirect path used by
Nginx.
In the Nginx configuration you then configure this location and map it
to the storage area to serve like this:
```
location /protected/ {
internal;
alias /;
}
```
That's all.
Impact
------
I just did a very simple performance test, downloading a 1170620819
bytes large audiobook file from another machine on the same network
like this, using `time -p` to measure how log the process took:
```sh
URL='https://url to audiobook…'
for i in `seq 1 50`
do
echo "$i"
curl -s -o /dev/null "${URL}"
done
```
This sequential test with 50 iterations and without x-accel resulted in:
```
real 413.42
user 197.11
sys 82.04
```
That is an average download speed of about 1080 MBit/s.
With X-Accel enabled, serving the files through Nginx, the same test
yielded the following results:
```
real 200.37
user 86.95
sys 29.79
```
That is an average download speed of about 2229 MBit/s, more than
doubling the previous speed.
I have also run the same test with 4 parallel processes and 25 downloads
each. Without x-accel, that test resulted in:
```
real 364.89
user 273.09
sys 112.75
```
That is an average speed of about 2448 MBit/s.
With X-Accel enabled, the parallel test also shows a significant
speedup:
```
real 167.19
user 195.62
sys 78.61
```
That is an average speed of about 5342 MBit/s.
While doing that, I also peaked at the system load which was a bit lower
when using X-Accel. Even though the system was delivering far more data.
But I just looked at the `load1` values and did not build a proper test
for that. That means, I cant provide any definitive data.
Supported Media
---------------
The current implementation works for audio files and book covers. There
are other media files which would benefit from this mechanism like feed
covers or author pictures.
But that's something for a future developer ;-)
2023-01-23 00:02:27 +01:00
advplyr
da2d1455d7
Merge pull request #1420 from Bostrolicious/master
...
Fix HTTP links not working in podcast show notes.
2023-01-22 08:07:55 -06:00
advplyr
10677d6fb0
Merge pull request #1421 from lkiesow/fingerprinting
...
Reduce Fingerprinting
2023-01-22 08:03:17 -06:00
Lars Kiesow
274b0e48be
Skip AUDIOBOOKSHELF_UID/GID if undefined
...
This patch slightly changes the behavior of the `AUDIOBOOKSHELF_UID` and
`AUDIOBOOKSHELF_GID` options. Instead of defining a default user and
group, trying to modify files and silently failing if the filesystem
mode cannot be changed, this patch will just skip the entire process in
the first place.
If these options are defined, Audiobookshelf should behave exactly as
before. If they are not defined, Audiobookshelf will now cause fewer
file modifications (or less failures when trying to modify files).
If this patch gets applied, it should probably be highlighted in the
release notes. This usually shouldn't cause problems for migrations
since the Docker guides explicitly configure the options and the
package installations do not seem to use this at all, but there is still
a change that it will and users should be aware of that.
If a problem arises, users can easily fix the problem by either setting
the permissions once manually to the audiobookshelf user or by simply
defining the `AUDIOBOOKSHELF_UID/GID` options.
2023-01-22 12:30:36 +01:00
Lars Kiesow
a1b49f5fcf
Reduce Fingerprinting
...
As DieselTech#6997 pointed out in Matrix, it is a good idea to reduce
fingerprinting by removing the `X-Powered-By` response header as pointed
out by the Express security best practices:
See http://expressjs.com/en/advanced/best-practice-security.html#reduce-fingerprinting
2023-01-21 23:18:06 +01:00
Martin Boström
89d497a305
Fix mailto links not working in podcast show notes.
2023-01-21 22:46:38 +01:00
Martin Boström
9e095a4bc1
Fix HTTP links not working in podcast show notes.
2023-01-21 21:51:05 +01:00
advplyr
6dec750d3e
Fix:Close open playback session on server when local playback session syncing from mobile
2023-01-15 15:00:18 -06:00
Lars Kiesow
aaede2752c
Don't list book twice in continue series
...
Sometimes, a book belongs to more than one series. If you listen to and
finish such a book, Audiobookshelf will list the next book in “Continue
Series” twice, right next to each other. That is not helpful.
This patch fixes the problem by not adding books to the list if they are
already in the list.
2023-01-13 00:50:04 +01:00
Lars Kiesow
02c4b21d3f
Show next book only if previous book is finished
...
This patch changes the books displayed in “Continue Series”, avoiding
books if another book from the series is played back right now. This
prevents Audiobookshelf suggesting books to which users will not listen
to because they are still listening to the last one.
Once a book is finished, the next book in the series will pop still be
suggested to the user.
This fixes #1382
2023-01-10 21:50:33 +01:00
advplyr
62aec63d1d
Fix:Backups to not backup temp db files
2023-01-08 09:59:24 -06:00
advplyr
08d16ce7c2
Silence remove invalid sessions debug log
2023-01-08 09:15:11 -06:00
advplyr
2cb3808326
Fix:Loading backups catching failed backups
2023-01-08 09:11:55 -06:00
advplyr
bdb6f0c0aa
Update:Sync session API endpoint to not respond with a payload
2023-01-07 17:33:05 -06:00
advplyr
3588e1e8d3
Update:Handle badly formatted series sequence from Audible #1339
2023-01-07 16:33:20 -06:00
advplyr
ff10287d05
Fix:Force AAC when transcoding ALAC audio file streams #1372
2023-01-07 15:58:57 -06:00
advplyr
5a26704c32
Add:Option to disable backup of audio files in embed metadata tool #1370
2023-01-07 15:16:52 -06:00
advplyr
2cd9079692
Add MusicBrainz provider
2023-01-07 13:05:33 -06:00
advplyr
3e4b1652fc
Fix disc/track metadata mapping
2023-01-06 17:39:15 -06:00
advplyr
878330b4fb
Fix filePathToPOSIX used in scan, updates for music track page
2023-01-06 17:10:55 -06:00
advplyr
9a85ad1f6b
Fix:Check if Windows before cleaning file path for POSIX separators #1254
2023-01-05 17:45:27 -06:00
advplyr
3426832f2b
Fix for windows, update regex to only include line number, move to end of log
2023-01-05 16:44:34 -06:00
Lars Kiesow
10fd51498c
Add Source to Logging
...
The Audiobookshelf logs sometimes contain information about the source
of the log statement, but sometimes they don't This really depends on
developers adding these information to the log messages.
But even then, the information is usually just a hint about the module
logging this, like `[Db]` or [Watcher]`, and finding the exact line can
be hard.
This patch automatically adds the source of the log statement to the
logs. This means if someone calls `Logger.info(…)` in line `22` of
`foo.js`, the log statement will contain this file and line:
```
[2023-01-05 19:04:12[ (LogManager.js:85:18) DEBUG: Daily Log file found 2023-01-05.txt
[2023-01-05 19:04:12] (LogManager.js:59:12) INFO: [LogManager] Init current daily log filename: 2023-01-05.txt
```
This should make it much easier to identify the code where the log
statement originated from.
Long-term, this also means that we can probably remove the manually set
identifiers contained in the log messages, like the `[LogManager]` in
the example above.
2023-01-05 19:13:31 +01:00
advplyr
49c581ed35
Add:Podcast option to quick match all unmatched episodes
2023-01-04 18:13:46 -06:00
advplyr
1609f1a499
Add:Global library search also searches on podcast episode titles #1363
2023-01-04 17:43:15 -06:00
advplyr
74388fe0b9
Fix:Series sequence parsed from metadata.abs allow non-numerical characters #1128 #1360
2023-01-04 15:55:02 -06:00
advplyr
7f5356100d
Bookshelf updates for music tracks
2023-01-03 18:00:01 -06:00
advplyr
d6da161b13
Music albums grouping and page
2023-01-02 18:02:04 -06:00
advplyr
9de7be1cb4
Update scanner, music meta tags and fix issue with force update
2023-01-02 16:35:39 -06:00
advplyr
5410aae8fc
Remove old scanner setting from ServerSettings
2023-01-02 12:07:26 -06:00
advplyr
86bf6bfc62
Remove scannerMaxThreads from ServerSettings
2023-01-02 12:05:58 -06:00
advplyr
0807146aab
Cleanup scanner
2023-01-02 12:05:07 -06:00
advplyr
591d8a8ab1
Add:OPF file pulls ASIN and subtitle #1330
2023-01-02 10:47:13 -06:00
advplyr
44363f05ac
Start of new epub reader
2023-01-01 18:09:00 -06:00
advplyr
70ba2f7850
Add:RSS feed for series & cleanup empty series from db #1265
2022-12-31 16:58:19 -06:00
advplyr
d8ee61bfab
Update:Personalized API endpoint include query string to add rssFeed to entities
2022-12-31 14:31:38 -06:00
advplyr
c6763dee2d
Remove invalid RSS feeds on init and remove feeds when associated entity is removed
2022-12-31 14:08:34 -06:00
advplyr
0e6b0d3eff
Update:Remove RSS feeds from login response payload and include feeds from library items request
2022-12-31 10:59:12 -06:00
advplyr
8bbfee334c
Update:Show RSS feed icon on collection card & update API endpoint for fetching collections
2022-12-31 10:33:38 -06:00
Naleo
6ee06d5dae
Fix incorrent series and seriespart tag codes, they were swapped
2022-12-29 08:41:46 -10:00
advplyr
315c83e4c3
RSS feed for collection to update when any item in the collection is updated #606
2022-12-28 18:08:03 -06:00
advplyr
308ccf470f
Add:Open RSS feed for collection #606 #1265
2022-12-27 18:03:31 -06:00
advplyr
061695f922
Add:API endpoint for opening RSS feed for collection #606 #1265
2022-12-26 17:48:39 -06:00
advplyr
e803dcd325
Update:RSS feed API routes
2022-12-26 16:58:36 -06:00
advplyr
775dedc338
Cleanup and remove more vars
2022-12-26 16:08:53 -06:00
advplyr
45c9038954
Fix:Manually updating author image path & realtime update author image #1317
2022-12-26 15:45:42 -06:00
advplyr
8acf962864
Update:Remove relImagePath from Author entity
2022-12-26 15:29:45 -06:00
advplyr
0717ae39db
Fix music fine file with inode
2022-12-24 11:12:39 -06:00
advplyr
b516019ddd
Merge branch 'socket-fixes' of https://github.com/k9withabone/audiobookshelf into socket-fixes
2022-12-23 07:34:15 -06:00
advplyr
e4c20d677c
Update server/controllers/SeriesController.js
...
Co-authored-by: Paul Nettleton <paulnett7@hotmail.com>
2022-12-23 07:33:33 -06:00
advplyr
33e183b802
Merge branch 'master' into socket-fixes
2022-12-23 07:27:14 -06:00
advplyr
b884f8fe11
Laying the groundwork for music media type #964
2022-12-22 16:38:55 -06:00
Paul Nettleton
2cba83f1dd
Server socket event fixes
2022-12-22 16:26:11 -06:00
Paul Nettleton
a9ee9031c3
Add rss feed minified
2022-12-22 16:04:42 -06:00
advplyr
657d4dd705
Update:Trim whitespace from audio file meta tag values #1305
2022-12-21 07:13:28 -06:00
advplyr
3e15e09c07
Fix:Get libraries endpoint #1296
2022-12-19 17:46:32 -06:00
advplyr
616ffb8f79
Add:M4b tool configurable options bitrate/channels/codec #1029 #1257
2022-12-19 17:13:04 -06:00
advplyr
bc771a3a44
Delete DownloadManager.js
2022-12-19 16:20:18 -06:00
advplyr
e1397a6dda
Update:Author cover image API endpoint to get raw cover image #1291
2022-12-19 15:06:43 -06:00
advplyr
8f49aae979
Fix:Adding podcast and filename sanitize func #1290
2022-12-19 15:02:31 -06:00
Lars Kiesow
90299e348c
Fix Sub-path Detection
...
If the scanner detects new files with a path containing part of the name
of an already existing library item, the new item will incorrectly be
detected as being a parent directory of the already existing item and
the import will be aborted.
You can follow these steps to reproduce the issue:
```
❯ mkdir audiobooks/author/
❯ mv title\ 10 audiobooks/author
[2022-12-18 22:14:12] DEBUG: [Watcher] File Added /home/lars/dev/audiobookshelf/audiobooks/author/title 10/dictaphone.mp3
[2022-12-18 22:14:16] DEBUG: [DB] Library Items inserted 1
❯ mv title\ 1 audiobooks/author
[2022-12-18 22:15:03] DEBUG: [Watcher] File Added /home/lars/dev/audiobookshelf/audiobooks/author/title 1/dictaphone.mp3
[2022-12-18 22:15:07] WARN: [Scanner] Files were modified in a parent directory of a library item "title 10" - ignoring
```
Since `'title 10'.startsWith('title 1')` is `true`, the current code
makes this false assumption.
This patch fixes the issue by requiring a path separator to be part of
the matching path. This should ensure that only true parent directories
are detected.
This patch requires audiobookshelf to always use Unix file separators.
But that shouldn't be a problem since audiobookshelf always seems to use
these kinds of separators. Even on Windows.
2022-12-18 22:23:50 +01:00
advplyr
4971787482
Add:Manage genres #1163
2022-12-18 14:52:53 -06:00
advplyr
106ddc9541
Fix scan log path #1285
2022-12-18 14:26:15 -06:00
advplyr
4d93e39fa9
Add:Item metadata utils config page for managing tags #1163
2022-12-18 14:17:52 -06:00
advplyr
54b41b15c2
Merge pull request #1282 from lkiesow/google-books-https
...
Use HTTPS for Google Books Images
2022-12-17 17:59:44 -06:00
advplyr
5165f11460
Add:Create playlist from a collection #1226
2022-12-17 17:31:19 -06:00
Lars Kiesow
b47ce4fb24
Use HTTPS for Google Books Images
...
The API for Google Books will return HTTP image URLs when matiching any
books using it as a search provider. In a secure environment, this
causes browser warnings.
All Google image links support HTTPS and we can safely switch to HTTOS
to avoid these warnings.
2022-12-18 00:18:11 +01:00
advplyr
10295b000a
Update:Remove HOST default to allow for ipv6 #1256
2022-12-17 15:55:53 -06:00
advplyr
49a69193d8
Comments where user settings needs to be removed
2022-12-17 14:52:10 -06:00
advplyr
7852804a9c
Update:Remove call to server for user settings, user settings stored locally
2022-12-17 14:50:01 -06:00
advplyr
a68ade2b3d
Update:Select largest cover image from Google Books provider #1244
2022-12-15 17:54:02 -06:00
advplyr
4fcdeda447
Add:Book library filter for missing cover image #1243
2022-12-15 17:46:27 -06:00
advplyr
50430e6b27
Update:Audiobook RSS feed track episode pub dates #1253
2022-12-15 17:36:29 -06:00
advplyr
d130dd6d5e
Fix:Setting file ownership for /config and /metadata/logs #584
2022-12-15 17:30:45 -06:00
advplyr
4d8e2a1279
Update:Max filename to 255 bytes in utf-16 #1261
2022-12-13 17:46:18 -06:00
advplyr
41e192c6a5
Update more vars
2022-12-12 17:52:20 -06:00
advplyr
2d9035d90b
Update get tags route and revert podcast/books search route
2022-12-12 17:45:51 -06:00
advplyr
0ae853c119
Update library items batch get route
2022-12-12 17:36:53 -06:00
advplyr
eede2bbd46
Update for filesystem and libraries api update and revert personalized shelves route
2022-12-12 17:29:56 -06:00
advplyr
5c31687a0f
Merge branch 'master' into server/respond-with-objects
2022-12-12 17:20:14 -06:00
advplyr
6b654d3c2d
Update:Starting session for finished item sets the user start time back to 0
2022-12-12 17:18:56 -06:00
advplyr
67db41a525
Update:Get item cover API endpoint to allow for returning the raw cover image
2022-12-04 16:23:15 -06:00
advplyr
0e292c64c4
Update:Only emit library socket events to users with access to lib
2022-11-30 17:32:59 -06:00
advplyr
7ed5b1744f
Var cleanup
2022-11-29 18:03:50 -06:00
Paul Nettleton
c9ab2a242d
Update MiscController.js to respond with objects
...
Changes:
- `getAllTags` (GET /api/tags)
2022-11-29 12:26:59 -06:00
Paul Nettleton
13532cba14
Update SearchController.js to respond with objects
...
Changes:
- `findCovers` (GET /api/search/covers)
- `findBooks` (GET /api/search/books)
- `findPodcasts` (GET /api/search/podcast)
2022-11-29 12:23:02 -06:00
Paul Nettleton
3fb2bd3362
Update SeriesController.js to respond with objects
...
Changes:
- `search` (GET /api/series/search)
2022-11-29 12:08:40 -06:00
Paul Nettleton
e80c3a1c5a
Update AuthorController.js to respond with objects
...
Changes:
- `search` (GET /api/authors/search)
2022-11-29 12:04:45 -06:00
Paul Nettleton
e04d26307e
Update FileSystemController.js to respond with objects
...
Changes:
- `getPaths` (GET /api/filesystem)
2022-11-29 11:55:22 -06:00
Paul Nettleton
b8f74e1c98
Update CollectionController.js to respond with objects
...
Changes:
- `findAll` (GET /api/collections)
2022-11-29 11:48:21 -06:00
Paul Nettleton
0851050392
Update UserController.js to respond with objects
...
Changes:
- `findAll` (GET /api/users)
2022-11-29 11:43:39 -06:00
Paul Nettleton
b84882d9d1
Update LibraryItemController.js to respond with objects
...
Changes:
- `batchGet` (POST /api/items/batch/get)
2022-11-29 11:37:45 -06:00
Paul Nettleton
cd37a7618e
Update LibraryController.js to respond with objects
...
Changes:
- `findAll` (GET /api/libraries)
- `getLibraryUserPersonalizedOptimal` (GET /api/libraries/<ID>/personalized)
- `getAuthors` (GET /api/libraries/<ID>/authors)
- `reorder` (POST /api/libraries/order)
2022-11-29 11:30:25 -06:00
advplyr
d41366a417
Fix:Playlist API endpoint permissions
2022-11-28 16:29:04 -06:00
advplyr
4541e9ddc3
Fix:Library filters when using other language #1166
2022-11-27 17:54:40 -06:00
advplyr
972271a1a9
Add:Library filter for single & multi-track audiobooks #1213
2022-11-27 17:42:02 -06:00
advplyr
08f09f81fa
Fix:Updating authors image
2022-11-27 15:35:47 -06:00
advplyr
eb2ea9950a
Remove playlists for user when removing user
2022-11-27 14:54:17 -06:00
advplyr
e307ded192
Remove item from playlist when removing item, update PlaylistController socket events to emit to playlist userId
2022-11-27 14:49:21 -06:00
advplyr
083f8faa46
Update:Fetch library API to return numUserPlaylists, only display playlists in siderail if user has playlists
2022-11-27 14:34:27 -06:00
advplyr
0fcf978ffe
Add /playlist/:id to dynamic routes
2022-11-27 14:23:28 -06:00
advplyr
531f947754
Update:Remove playlist if all items are removed
2022-11-27 12:04:49 -06:00
advplyr
7e171576e0
Update:Add libraries playlists API endpoint, add lazy playlists card
2022-11-26 17:24:46 -06:00
advplyr
0979b3e03d
Update:Playlist cover & json expanded
2022-11-26 16:45:54 -06:00
advplyr
f9b87b94bf
Add:Playlist API endpoints
2022-11-26 15:14:45 -06:00
advplyr
7aa0ddb71f
Merge branch 'master' into playlists
2022-11-25 08:09:46 -06:00
advplyr
df7e331605
Update server/objects/FeedEpisode.js
2022-11-25 06:21:50 -06:00
Spenser Bushey
8c23704e17
Merge branch 'advplyr:master' into master
2022-11-24 23:12:55 -08:00
Spenser Bushey
12abb1731c
Single file audiobook rss feed naming logic moved to FeedEpisode.js
2022-11-24 23:10:20 -08:00
advplyr
180293ebc1
Update:Cleanup socket usage & add func for emitting events to admin users
2022-11-24 16:35:26 -06:00
advplyr
e2af33e136
Update:Refactor socket connection management into SocketAuthority
2022-11-24 15:53:58 -06:00
advplyr
47e732c213
Merge branch 'master' of https://github.com/advplyr/audiobookshelf
2022-11-24 13:51:53 -06:00
advplyr
77a86d92f4
Update:Socket event for getting online users & test event for messaging all online users
2022-11-24 13:51:41 -06:00
advplyr
64a8a046c1
Update:Backups API endpoints, add get all backups route, update socket init event payload
2022-11-24 13:14:29 -06:00
Spenser Bushey
1f02cbddd3
Merge branch 'advplyr:master' into master
2022-11-23 22:37:02 -08:00
Spenser Bushey
5e7bca02b3
RSS feeds for single file audiobooks now use book title
2022-11-23 22:36:07 -08:00
Lars Kiesow
45434b16e0
Fix startedAt in progress API
...
If no progress had been set before, setting `startedAt` did not work and
it would always been set to `finishedAt` or `Date.now()`. Settings this
if any progress had already been recorded did work.
This fixes the problem so that setting `startedAt` it properly works in
both cases.
2022-11-24 00:16:20 +01:00
advplyr
34ff7efa27
Merge pull request #1205 from lkiesow/api-start-end-date
...
Allow specifying start and end of progress via API
2022-11-23 16:07:53 -06:00
advplyr
ecefb30f3d
Merge pull request #1206 from lkiesow/400-bad-request
...
Respond with bad request to unvalid request data
2022-11-23 07:27:18 -06:00
Lars Kiesow
a8162b57ba
Respond with bad request to unvalid request data
...
This patch updates the batch progress update endpoint to respond with a
`400 Bad Request` instead of a `500 Internal Server Error` if a user
sends an invalid request with no body. This is a user error after all.
```
❯ curl -i -X PATCH \
'http://127.0.0.1:3333/api/me/progress/batch/update ' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5Q_MoRptP0oI' \
-H 'Content-Type: application/json'
HTTP/1.1 400 Bad Request
…
Missing request payload
```
2022-11-23 02:15:36 +01:00
Lars Kiesow
b0edac4234
Allow specifying start and end of progress via API
...
This patch is a minor extension to the update progress and batch update
progress API and allows you to specify `finishedAt` and `startedAt` when
updating a progress.
If not specified, both values are still automatically set to the current
time. If just `finishedAt` is specified, `startedAt` is set to the same
value.
Example API request:
```
❯ curl -i -X PATCH \
'http://127.0.0.1:3333/api/me/progress/li_ywupqxw5d22adcadpa ' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJyb290IiwidXNlcm5hbWUiOiJyb290IiwiaWF0IjoxNjY4OTYxNjAxfQ._NbilCoFy_hfoqy7uvbV4E_0X6qgLYapQ_MoRptP0oI' \
-H 'Content-Type: application/json' \
--data-raw '{"isFinished":true, "finishedAt": 1668556852000, "startedAt": 1668056852000}'
```
2022-11-23 01:32:52 +01:00
advplyr
98c4045a71
Setting up Playlist model
2022-11-22 18:08:11 -06:00
advplyr
0aa2723063
Update:API status codes and update server settings response payload
2022-11-21 07:52:33 -06:00
advplyr
e33104fa2b
Merge pull request #1193 from lkiesow/no-feed-no-error
...
No feed log level
2022-11-21 06:40:38 -06:00
advplyr
a2f1723642
Update log level for RSS feed requests
2022-11-21 06:39:32 -06:00
Lars Kiesow
c307b1e6fb
No feed log level
...
This patch drops the log level for logging requests to non-existing
feeds from error to debug. The reasoning behind this is that this is a
client error and a client error is returned and can be handled by the
client.
Otherwise anyone can easily spam the logs with error messages by just
requesting non-existing feeds.
2022-11-21 01:54:25 +01:00
advplyr
c285dd666d
Fix:Australian audible TLD #1191
2022-11-20 17:17:25 -06:00
advplyr
70d887bada
Update:API status codes and default provider for findCovers route
2022-11-20 16:12:30 -06:00
advplyr
e3ba739db5
Update:Encode & embed metadata API endpoints, separate cache & search endpoints into controllers
2022-11-19 13:28:06 -06:00
advplyr
7485cf1a26
Add:Batch select audiobook play button, item page mobile screen size cleanup
2022-11-19 10:20:10 -06:00
advplyr
892fb6410c
Update:Add client ip address in server log for failed auth attempts #1172
2022-11-17 18:04:11 -06:00
advplyr
7008267e42
Fix:Mobile series books sortBy filter #1152
2022-11-17 17:09:27 -06:00
advplyr
2e5e02472c
Update:Playback session sync local status codes
2022-11-17 17:00:37 -06:00
advplyr
c7794e00f6
Update:Author image from cache API status codes
2022-11-16 15:32:32 -06:00
advplyr
3316394f5c
Add:Button on series books page to re-add series to continue listening #1159
2022-11-15 17:20:57 -06:00
advplyr
4d2bcfd167
Fix:Revert calculating total entities
2022-11-13 16:46:43 -06:00
advplyr
8f83752abc
Fix:Get library items endpoint limit & total entities count
2022-11-13 13:25:20 -06:00
advplyr
31be2ba4fb
Update:User getMostRecentItemProgress method to support podcast episode progress
2022-11-13 09:03:16 -06:00
advplyr
dc156a2eac
Update:api/users/online API endpoint unauth status code
2022-11-13 08:26:32 -06:00
advplyr
42050a5f17
Fix:User toJSONForPublic method
2022-11-13 08:25:51 -06:00
advplyr
3357ccfaf3
Add:Buttons to add/remove podcast episodes from player queue
2022-11-12 15:41:41 -06:00
advplyr
92e3e0ef6e
Update collection id prefix
2022-11-12 14:31:45 -06:00
advplyr
7d569e1e3e
Update:Some incorrect status codes returned from API
2022-11-12 09:36:00 -06:00
advplyr
28feed6ea2
Fix:Remove collections when removing library
2022-11-11 17:44:19 -06:00
advplyr
6f901defd6
Fix:Show only collections for selected library #1130
2022-11-11 17:28:05 -06:00
advplyr
4cbc8676c6
Update:Rename UserCollections to Collections
2022-11-11 17:13:10 -06:00
advplyr
fdf67e17a0
Add:API endpoint to get users online and open listening sessions #1125
2022-11-10 17:42:20 -06:00
advplyr
abb4137d4c
Fix:Set library item updatedAt when scan has updates, fixes updating an open RSS feed #1131
2022-11-10 17:25:17 -06:00
advplyr
b083f6ab96
Fix:Podcast quick match genres
2022-11-09 16:50:26 -06:00
advplyr
946e4f39cc
merge translations
2022-11-08 18:11:03 -06:00
advplyr
6e064eeafb
Add:Server setting for default language #1103
2022-11-08 18:09:07 -06:00
advplyr
400e34a4c7
Update:More localization strings #1103
2022-11-08 17:10:08 -06:00
Scott Ruoti
0643116e9b
Fixing range generation in series labels
2022-11-07 09:24:48 -05:00
advplyr
3282ac67e4
Fix:Podcast pubDate parsing #1116
2022-11-06 15:43:17 -06:00
Scott Ruoti
b1111912f7
Added sorting by sequence for series and collapsing series in series view
2022-11-05 20:30:13 -04:00
Scott Ruoti
c1035d97e8
Show book sequences for collapsed series when filtering by series
2022-11-05 20:01:01 -04:00
Scott Ruoti
b322d0207b
Fixed sorting to be more consistent for multiple series (and generally)
2022-11-05 20:01:01 -04:00
Scott Ruoti
d64932dad7
Fixes bug when titles are in multiple series being collapsed
2022-11-05 20:01:01 -04:00
advplyr
9627f58541
Merge pull request #1110 from keaganhilliard/tone-json
...
Added tone json file support
2022-11-05 13:13:49 -05:00
advplyr
1118b8b782
Metadata embed and m4b merge fixes and cleanup
2022-11-05 13:13:52 -05:00
Keagan Hilliard
3824154c15
Forgot to update the merge
2022-11-03 10:20:32 -06:00
Keagan Hilliard
586c8a550a
Removed a noisy log and limit chapter embedding to items with only 1 audiofile
2022-11-03 10:09:49 -06:00
Keagan Hilliard
d57effe97c
Fixed a couple of issues, should be working well now
2022-11-03 09:32:50 -06:00
Scott Ruoti
473257f65e
Makes it so the when sorting and ignoring prefixes, they are actually ignored
2022-11-03 00:14:07 -04:00
Keagan Hilliard
c1938f78c2
Added json file support
2022-11-02 19:40:50 -06:00
advplyr
765a11f135
Update:Increase db lockfile stale time to 2 mins #1095
2022-10-29 17:37:56 -05:00
advplyr
fbbcbb4af1
Add:Series filters #712
2022-10-29 15:33:38 -05:00
advplyr
ce133cd6f2
Add:Series sort #712
2022-10-29 11:17:51 -05:00
advplyr
1a35def375
Update:default sorting ignore prefixes to just be the #869
2022-10-27 17:50:56 -05:00
advplyr
efecf7ed82
Update:Podcast episode auto download schedule setting for max new episodes to download #1091
2022-10-26 16:55:16 -05:00