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