Deluan
b6eb60f019
Add new Artwork Cache Warmer
2022-12-28 15:31:56 -05:00
Deluan
8c1cd9c273
Refactor file type functions
2022-12-28 15:31:56 -05:00
Deluan
9ec349dce0
Make sure album is updated if external cover changes
2022-12-28 15:31:56 -05:00
Deluan
73bb0104f0
Cache original images
2022-12-28 15:31:56 -05:00
Deluan
28e7371d93
Moved logic of collapsing songs into albums to model package
...
(it should really be called domain.... maybe will rename it later)
2022-12-28 15:31:56 -05:00
Deluan
e03ccb3166
Replace MinInt/MaxInt with generic versions
2022-12-28 15:31:56 -05:00
Deluan
5943e8f953
Rename log.LevelCritical to log.LevelFatal
2022-12-21 14:53:36 -05:00
Deluan Quintão
24d520882e
Don't cache transcoded files if the request was cancelled ( #2041 )
...
* Don't cache transcoded files if the request was cancelled (or there was a transcoding error)
* Add context to logs
* Simplify Wait error handling
* Fix flaky test
* Change log level for "populating cache" error message
* Small cleanups
2022-12-18 12:22:12 -05:00
Deluan
f206d81afd
Some cleanup, fixes typos and grammar errors
2022-12-06 20:09:03 -05:00
Deluan
950b5dc1ce
Remove `math/rand` and only use `crypto/rand`
2022-11-27 21:53:13 -05:00
Deluan
7bafbce816
Reduce number of goroutines in test, to avoid hitting the hard limit of 8128
2022-11-26 15:28:30 -05:00
Deluan
a69a31a3bf
Use custom atomic.Bool, as it is not supported in Go 1.18
2022-11-26 15:14:19 -05:00
Deluan
f82df70302
Add nilerr linter
2022-09-30 20:18:14 -04:00
Deluan
a7a0e23956
Fix formatting
2022-09-26 21:28:10 -04:00
Deluan
d613b19306
Simplify Singleton usage by leveraging Go 1.18's generics
2022-07-27 12:15:05 -04:00
Deluan
31882abf6f
Upgrade Ginkgo to V2
2022-07-26 16:53:17 -04:00
Deluan
f4bffb1676
Update @djherbis's packages
2022-07-26 15:16:56 -04:00
Deluan
35bec14d4d
Add missing test case for #1778
2022-07-25 23:34:09 -04:00
Deluan
321b3c5a64
Fix fscache key mapping. Closes #1778
2022-07-25 23:01:19 -04:00
Deluan
6a87fc88f7
Ignores invalid timestamps in requests (use current time)
...
Fix this issue: https://www.reddit.com/r/navidrome/comments/ql3imf/scrobbling_fails_when_using_substreamer/
2021-11-02 10:33:40 -04:00
Deluan
66a9cbb7d9
Remove temp folders after tests
2021-10-28 10:40:31 -04:00
Deluan
f645c4769c
Fix double escaped lyrics and comments
2021-10-26 19:33:21 -04:00
Deluan
76fdcd112b
Tweak SimilarSongs algorithm to prioritize the requested main artist
2021-10-24 18:04:40 -04:00
Deluan
1a96e9fe65
Import smart playlists (extension .nsp)
2021-10-23 20:25:28 -04:00
Deluan
dbde0ffa0c
Bump github.com/djherbis/atime to v1.1.0
2021-10-03 22:50:25 -04:00
Deluan
4fcb238295
Fix "too many SQL variables" error in `GetStarred` endpoint
2021-07-21 10:45:52 -04:00
Deluan
eeb14f0243
Removed unused function
2021-07-20 20:50:59 -04:00
Deluan
8afa2cd833
Remove dependency of deprecated `ioutil` package
2021-07-20 20:12:28 -04:00
Deluan
774ad65155
Use fs.FS in MergeFS implementation
2021-07-20 19:54:44 -04:00
Deluan
7cd3a8ba67
Add genre tables, read multiple-genres from tags
2021-07-20 17:45:08 -04:00
Deluan
b0fc684cb6
Fix small lint errors found by gocritic
2021-07-15 13:43:03 -04:00
Deluan
94e36d7f60
Remove old feature flag for cache layout
2021-07-02 10:04:41 -04:00
Deluan
452c8dc44b
Fixed the enduring nasty "too many files open" bug!! Fix #446
2021-07-01 12:07:32 -04:00
Deluan
a7509c9ff7
Send NowPlaying and Scrobbles to Last.fm
2021-06-23 11:01:58 -04:00
Deluan
25db2cb075
Add concurrency test for singleton
2021-06-20 11:51:32 -04:00
Deluan
f8ee6db72a
New implementation of NowPlaying
2021-06-20 10:39:16 -04:00
Deluan Quintão
66b74c81f1
Encrypt passwords in DB ( #1187 )
...
* Encode/Encrypt passwords in DB
* Only decrypts passwords if it is necessary
* Add tests for encryption functions
2021-06-18 18:38:38 -04:00
Deluan
f9eec5e4dc
Refactored agents calling into its own struct
2021-06-08 17:00:02 -04:00
Deluan
e80cf80d05
Move all Spotify and LastFM code into only one folder for each
2021-06-08 11:25:46 -04:00
Steve Richter
65ccd4c99d
Parse ParamBool case-insensitively ( #1151 )
2021-06-04 23:37:01 -04:00
Deluan
91a91f7e06
GetCoverArt returns placeholder if `id` is missing
...
This mimics Subsonic behaviour, even if it contradicts the API documentation, which states `id` is required
Fixes #1139
2021-05-29 11:37:00 -04:00
Deluan
7bbb09e546
Add tests for WeightedRandomChooser
2021-05-28 23:51:56 -04:00
Deluan
a38e478a47
Better SimilarSongs algorithm
2021-05-28 22:55:34 -04:00
Deluan Quintão
89b12b34be
Retry calls to Last.FM without MBIDs when if returns artist invalid ( #1138 )
...
* Call Last.FM's getInfo again without mbid when artist is not found
* Call Last.FM's getSimilar again without mbid when artist is not found
* Call Last.FM's getTopTracks again without mbid when artist is not found
2021-05-27 20:53:24 -04:00
Deluan
d1605dcfbe
Replace `godirwalk` with standard Go 1.16 `filepath.WalkDir`
...
Should fix https://github.com/navidrome/navidrome/issues/1048
2021-04-27 11:28:47 -04:00
Deluan
240de70026
Add tests for SpreadFS
2021-04-22 14:02:42 -04:00
Deluan
467eb345ad
Don't panic if fscache could not be initialized due to a FS error
2021-04-21 23:39:23 -04:00
Deluan
31b553e972
Add missing error log message in fscache initialization
2021-04-21 14:15:42 -04:00
Deluan Quintão
2d528bbc87
Remove dependency of go-bindata ( #818 )
...
* Use new embed functionality for serving UI assets
* Use new embed functionality for serving resources. Remove dependency on go-bindata
* Remove Go 1.15
2021-03-12 11:06:51 -05:00
Deluan
a140c222c2
Fix race condition in test
2021-02-19 19:36:55 -05:00
Deluan
1d681d92d3
Better explanation of NewSpreadFS
2021-02-09 15:33:34 -05:00
Deluan
5fdd8b32d7
Move utilitarian/generic packages to utils: lastfm, spotify, gravatar, cache, and pool
2021-02-09 15:33:33 -05:00
Deluan
6ee45a9ccc
Move project to Navidrome GitHub organization
2021-02-06 21:46:35 -05:00
Deluan
4f90fa9924
Add denormalized list of artist_ids to album, to speed-up artist's albums queries
...
This will be removed once we have a proper many-to-many relationship between album and artist
2020-12-13 14:05:48 -05:00
Deluan
fb1461fd0b
Fix reading dirs from a MergeFS
2020-11-05 13:36:10 -05:00
Deluan
841c1129ff
Break-up album/artist refresh in chunks
2020-09-09 08:57:59 -04:00
Deluan
2d3ed85311
Add bookmark in persistence layer
2020-07-31 17:45:49 -04:00
Deluan
9b1d5c196f
Load cache asynchronously
2020-07-24 16:54:04 -04:00
Deluan
b795ad55a3
Allow SeekStart in a merged dir
2020-07-23 22:00:59 -04:00
Deluan
72efc18158
Allow translations to be overridden in the data folder
2020-07-23 18:11:10 -04:00
Deluan
93626129b6
Also import `.m3u8` playlists
2020-07-23 03:26:39 -04:00
Deluan
feca030c6d
Give warning when playlists are not imported due to not having an admin user
2020-07-19 13:58:46 -04:00
Deluan
3095bee5d9
Fix lint error
2020-07-17 12:16:16 -04:00
Deluan
51c295d1de
Add new scanner algorithm, can be enabled with DevNewScanner config option
2020-07-17 12:06:49 -04:00
Deluan
681849d174
Fix pls ignoring
2020-07-03 21:15:01 -04:00
Deluan
17830d63b4
Ignore m3u files when scanning
2020-07-03 21:06:33 -04:00
Deluan
eb109ebeb4
Remove duplicated helper functions, move them to `utils` package
2020-06-24 20:48:42 -04:00
Deluan
e73b71aaf7
Remove tracks from DB that were deleted while Navidrome was not running. Fixes #151
2020-06-14 03:11:16 -04:00
Deluan
3190611ec8
Call `ffmpeg` in batches
2020-06-14 03:11:16 -04:00
Deluan
331fa1d952
Add ability to reorder playlist items
2020-06-04 19:05:41 -04:00
Deluan
5cd453afeb
Fix all `errcheck` warnings
2020-04-26 15:07:36 -04:00
Deluan
777231ea79
feat: expose album, song and artist annotations in the RESTful API
2020-03-28 19:22:55 -04:00
Deluan
3cba5f70fd
chore: add tests for all utils, removed unused functions
2020-03-24 11:59:10 -04:00
Deluan
f6e448c1ba
refactor: removed unused code, unnecessary typecasts and fixed small warnings
2020-03-20 00:07:36 -04:00
Deluan
8673533cd4
refactor: move request param extractors to utils
2020-02-06 18:55:38 -05:00
Deluan
bff6f3a4bd
Rename env vars prefix to ND_
2020-01-24 01:29:31 -05:00
Deluan
bee55c04c8
Rename project to Navidrome
2020-01-23 19:44:08 -05:00
Deluan
57fcdac428
Initial support for playlists. Missing permissions
2020-01-21 16:39:35 -05:00
Deluan Quintão
be377846a8
Remove Portuguese word, to avoid misspell errors
2020-01-15 15:35:04 -05:00
Deluan
93ab4132fe
Move mapping functions to db_ledis, where it is used
2020-01-11 15:27:32 -05:00
Deluan
b1e58352e9
Restore MediaRetrievalController tests
2020-01-09 22:44:45 -05:00
Deluan
e8a8313b43
Removed `inject` lib, only use `wire` for DI
2020-01-09 22:44:45 -05:00
Deluan
c417a00e62
Renamed project to CloudSonic
2017-04-01 09:47:14 -04:00
Deluan
c2b1f9782b
New configuration system
2016-03-30 00:05:57 -04:00
Deluan
5b2ecc39ca
Longest Common Prefix
2016-03-24 09:51:50 -04:00
Deluan
c87b133071
Polishing
2016-03-23 12:37:03 -04:00
Deluan
4e0a47d2a6
Removed unused code
2016-03-13 23:25:43 -04:00
Deluan
f4c1dbdd3c
Simplified DI resolution
2016-03-11 15:16:17 -05:00
Deluan
df957814a0
Implemented artists indexing, with Gomate
2016-03-10 23:19:13 -05:00
Deluan
e9ab07e4d3
Tests for time conversion utils
2016-03-08 19:29:56 -05:00
Deluan
067517a916
Fixed problem with DI
2016-03-08 18:33:35 -05:00
Deluan
91c660c746
Added a new layer: engine (equivalent to use cases in Clean Architecture). Should make testing things easier
2016-03-07 10:57:32 -05:00
Deluan
7225807bad
Initial work on downsampling
...
The http connection is being closed before sending all data. May have something to do with the Range header
2016-03-04 13:33:09 -05:00
Deluan
f3ba23ef41
Fixed a problem with the injection code
2016-03-03 13:14:05 -05:00
Deluan
4843ccb46c
go fmt
2016-03-02 13:18:39 -05:00
Deluan
cff829fb75
Removed debug prints
2016-03-01 17:57:03 -05:00
Deluan
9d6eb40f6f
Method for parsing Index Groups
2016-03-01 17:07:13 -05:00
Deluan
54460d5860
Empty tests should be skipped
2016-03-01 12:43:55 -05:00
Deluan
2bb4c74ba6
Started implementing getIndex, now with TDD (brought to you by DI)!
2016-03-01 12:36:15 -05:00
Deluan
4df6c43be8
Basic DI (dependency injection) working! Yay!!
2016-03-01 09:38:43 -05:00