Simplify entity equality code and enfore db/metadata split
Use a nuget package to remove boilerplate code that needs careful
update when adding/removing fields. Add tests to enforce that all
fields are allocated to 'UseMetadataFrom' or 'UseDbFieldsFrom' to make
metadata refresh more foolproof.
Fix NRE when tracks are merged because artist wasn't set.
Fix NRE when tracks are merged and the merge target wasn't yet in the database.
* New: Swap to ImageSharp for image resizing to avoid leaks
Stop resizing album images also
* Fixed: MediaCoverModule falls back to fullsize for png and gif too
* Fixed: Look for all image extensions in DeleteBadMediaCovers.cs
* New: Unmapped files view
Displays all trackfiles that haven't been matched to a track.
Generalised the file details component and adds it to the album
details screen.
* Add sorting by quality
* New: MediaServiceTests & MediaRepoTests
For MP3's, the official separator is " / " and this also works for FLAC. Some applications like Kodi, do not recognize ", " as a separator, but changing it to " / " resolves that...
* Set up CI with Azure Pipelines
[skip ci]
* Remove Travis, Build Multiple Environments
* Change Task Type to Bash
* Checkout submodules
* Remove Appveyor Tests, Add Azure Tests
* Oops Forget Steps
* bad name
* test script fixes
* add tests to build job
* fixup tests
* name test runs
* fpcalc and artifacts
* Try to fix installer
* Publish separately
* Try publish
* Another go at artifacts
* Tidy up
* Add sentry, assembly info patching and bump version
* Only patch one AssemblyInfo; set node version 10
* Try pipeline artifacts again
* Tidy up - pipeline artifact seems to be way forward
* Fix installer publish
* first go at test job seperation
* job names and depends/consitions for tests
* pusblish single file test artifact
* pipeline artifact for test
* blitz the pattern filter
* windows test jobs
* mac tests, checkout on test jobs
* try to download build artifact to test job
* download and extract artifact
* Set LD_LIBRARY_PATH and print some sqlite debug info on mac tests
* fixup! tests
* integration test fixes
* fixup! integration test fixes
* fixup! integration test fixes
* more fixup
* use bash cp
* test fixups
* mkdir before copy
* linux works! add osx integration tests
* im tooo tired
* coverage attempt
* coverage seperate stage
* windows paths for integration test
* switch coverage to windows where opencover actually works
* fix test script
* one last go
* Simplify installer, try to fix name
* Try to parallelize backend and frontend build
* Try adding a matrix
* Try matrix jobs not stages
* Try to fix package step
* Remove opencover install
* Try to fix tests
* coverage fixes
* revert build.sh changes
* triggers so we don't double build
* Publish coverage package so we can debug
* try coverage no build, output artifact
* use the full pipeline workspace from build job
* fix automation tests for new ui
* Assorted fix attempts
* Another go
* MacOS debug
* Tidy up, try to fix mac
* Fix mac fpcalc, add mac integration tests
* Add cross platform automation tests
* Fix packages
* Try to fix Automation tests
* Don't wait on the installer to create standard packages
* Fixes
* delete logentries reference
* run automation tests in headless mode
* try install firefox mac
* Revert "try install firefox mac"
This reverts commit 4684bb1901.
* test sonarcloud prepare outputs
* basic analyze and upload
* don't limit fetch depth on analyze
* manual scanner do front and backend?
* full analyize with tests, coverage
* should depend on tests, coverage
* no need for condition on coverage
* Fix up build numbering
* Try to fix sonar
* Separate coverage calculation and publication
* Try to fix coverage upload
On import the album release is adjusted, which triggers an
AlbumEditedEvent which in turn coverts media cover urls to local
urls. The addition of ?lastWrite=xxx broke the calculation of
extenions from the URL. To fix, only set the extension and don't
update the extension if url is changed.
As far as I can tell you wouldn't expect this to pass. Setting the
path is handled by AddArtistService, not ArtistService. This file is
present in the Sonarr tree but not included in the project.
GetFilesByAlbum performs a join on the album releases under the hood,
which won't be populated once the album is deleted. Fix by providing
a special delete method which omits the join and just looks at albumId.
* Add: option to skip automatic redownload when removing from queue
* Add tests for RedownloadFailedDownloadService
* Fix formatting
* Make re-download dialog conditional
* New: Only scan files that are new or updated
Pass through filter correctly
Add more tests
Add tests for migration 30
* Fix windows disk provider
* Don't publish deleted event for unmapped file
* Fix test on windows
* Retrieve all albums from metadata and filter client-side
Should significantly increase the proportion of artist requests hitting
cloudflare cache
* Add tests for album filtering
* Added support for Gotify notifications
* Removed non-supported features and adjusted priorities
* Use string interpolation to build url
* Rename a few variables and improve Url validation
* Improve building of the Url, move validation to Gotify.cs (adapting changes by markus101 over at Sonarr)
* Move validation from GotifyProxy.cs to here (adapting changes by markus101 over at Sonarr)
* Fixed: Artist only marked as refreshed if Albums/Tracks refreshed also
* Fixed: Skip album releases with no valid tracks
* Fixed: Don't add albums with no valid releases
* Fixed: Remove Albums with no valid releases
Wrap any exception thrown in a LidarrStartupException to trigger the
existing bootloop code.
We have to catch the generic Exception class since FluentMigrator
rethrows all exceptions as a generic Exception.