Commit Graph

122 Commits

Author SHA1 Message Date
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
Deluan 1a4f783669 Some refactoring 2016-02-29 13:56:09 -05:00
Deluan 1c47b7b8ef Added empty tests in each package, to get the more precise coverage percentage 2016-02-29 13:38:41 -05:00
Deluan 14e52576a7 Scanning artists and albums too 2016-02-28 14:21:12 -05:00
Deluan 08f035d99b reduced overhead of mapping models to ledis, I don't think we will need nested structs 2016-02-28 02:07:52 -05:00
Deluan c659b70cd0 removed tiedot, introduced ledisdb 2016-02-28 00:55:36 -05:00