Commit Graph

57 Commits

Author SHA1 Message Date
Qstick c02b66ec44 Enforce comment spacing with Stylecop
Fixes #3104
2022-11-21 19:51:00 -06:00
Robin Dadswell 8f6e099794 New: Postgres Database Support
Co-Authored-By: Qstick <376117+Qstick@users.noreply.github.com>
2022-11-20 10:41:48 -06:00
ta264 2318c43536 New: Option to control which new artist albums get monitored
(cherry picked from commit c51ae664aa6e6f5330be67e68476af76c55352f5)
2022-05-02 21:30:09 -05:00
Qstick 1eb0d3b11a Track fully imported downloads in separate history table 2021-12-29 11:47:19 -06:00
Taloth Saldono 4f220d9532 Fixed: Removed hardlink-based transactional file transfer logic (instead relying on explicit copy+delete for cifs) 2020-12-17 08:08:26 -05:00
ta264 2982478dba Trigger fewer signalr broadcasts
(cherry picked from commit b05b7ec4ad9368c8c3ae5ff5316caf5d23e24191)
2020-10-13 23:25:38 -04:00
ta264 53c0ffd129 Swap to dapper with lazyload 2020-10-13 23:19:27 -04:00
ta264 87d29ec978 New: Only refresh items that have updated on metadata server 2020-10-13 23:18:47 -04:00
ta264 4f5a0b7afd Fixed: Update file paths correctly when moving artist
Fixes #1088
2020-10-13 23:18:47 -04:00
ta264 be4e748977 New: Don't require artist mapping 2020-10-13 23:18:45 -04:00
Qstick a4b78b44ce StyleCop (#1058)
* Stylecop Rules and Fixes
2020-10-13 23:18:09 -04:00
ta264 0bde5fd9e5 New: Add/remove individual albums 2020-10-13 23:18:08 -04:00
Qstick 81ffc4e28f Fixed: Artist FindById Should Find OldIds 2020-10-13 23:15:00 -04:00
Qstick 041e28fbb9 New: FluentAssertions to 5.9.0 2020-10-13 23:14:59 -04:00
ta264 2097bfff94 Fixed: Null reference exceptions on update
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.
2019-08-28 19:03:26 +01:00
ta264 e095fe00af Fixed: Delete unreferenced files 2019-08-24 17:31:58 -04:00
ta264 0352f8d3ff
Fixed: Faster artist endpoint (#874)
* Fixed: Speed up AllArtist API endpoint

* New: Display UI before artists have loaded

* Add test of new repository methods
2019-08-17 08:04:59 +01:00
Qstick 8b860bcb82
Changed: Remove Language Profiles (#870)
* Changed: Remove Language Profiles

* fixup! Changed: Remove Language Profiles

* fixup! Changed: Remove Language Profiles

* Remove unused method in FileNameBuilder

* Fixed: Cleanup Int Converter Copy/Paste Issues and Grammar
2019-08-02 07:50:09 -04:00
ta264 814e44b7e4 Fixed: Actually refresh media covers 2019-07-27 07:31:47 +01:00
ta264 61b6572f61 Fixed: Failure re-adding a deleted artist 2019-07-27 07:31:47 +01:00
ta264 8160f3d84a Fixed: Simplify ArtistMetadataRepository 2019-07-24 19:34:27 +01:00
ta264 0b7a42ee3b New: Refactor metadata update 2019-07-24 19:34:27 +01:00
ta264 f5c1858d4c Fixed: UpdateAlbums was a duplicate of UpdateMany 2019-07-24 19:34:27 +01:00
ta264 368363de96 Fixed: Prevent two Artists pointing to same ArtistMetadata 2019-07-20 13:38:07 +02:00
ta264 2c0d272c54 Fixed: Removed failing test no longer in Sonarr
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.
2019-07-17 06:28:30 +01:00
ta264 045a3ce404 Fixed: Skip albums and releases with no valid tracks (#754)
* 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
2019-04-15 20:52:43 -04:00
ta264 580641a600
Fixed: Don't attempt to insert duplicate ids or monitor multiple releases (#684) 2019-03-22 09:33:48 +00:00
ta264 072f772dc8
New: Write metadata to tags, with UI for previewing changes (#633) 2019-03-15 12:10:45 +00:00
Tom Andrews 36f34a4113 Fixed: Don't find album when multiple albums have the same name 2019-03-14 13:14:06 +00:00
Tom Andrews c500f7b943 Fixed: InvalidOperationException when two artists have same name 2019-03-14 13:14:06 +00:00
Qstick 3f064c94b9
New: Release Profiles, Frontend updates (#580)
* New: Release Profiles - UI Updates

* New: Release Profiles - API Changes

* New: Release Profiles - Test Updates

* New: Release Profiles - Backend Updates

* New: Interactive Artist Search

* New: Change Montiored on Album Details Page

* New: Show Duration on Album Details Page

* Fixed: Manual Import not working if no albums are Missing

* Fixed: Sort search input by sortTitle

* Fixed: Queue columnLabel throwing JS error
2019-02-23 17:39:11 -05:00
ta264 bb02d73c42 Whole album matching and fingerprinting (#592)
* Cache result of GetAllArtists

* Fixed: Manual import not respecting album import notifications

* Fixed: partial album imports stay in queue, prompting manual import

* Fixed: Allow release if tracks are missing

* Fixed: Be tolerant of missing/extra "The" at start of artist name

* Improve manual import UI

* Omit video tracks from DB entirely

* Revert "faster test packaging in build.sh"

This reverts commit 2723e2a7b8.

-u and -T are not supported on macOS

* Fix tests on linux and macOS

* Actually lint on linux

On linux yarn runs scripts with sh not bash so ** doesn't recursively glob

* Match whole albums

* Option to disable fingerprinting

* Rip out MediaInfo

* Don't split up things that have the same album selected in manual import

* Try to speed up IndentificationService

* More speedups

* Some fixes and increase power of recording id

* Fix NRE when no tags

* Fix NRE when some (but not all) files in a directory have missing tags

* Bump taglib, tidy up tag parsing

* Add a health check

* Remove media info setting

* Tags -> audioTags

* Add some tests where tags are null

* Rename history events

* Add missing method to interface

* Reinstate MediaInfo tags and update info with artist scan

Also adds migration to remove old format media info

* This file no longer exists

* Don't penalise year if missing from tags

* Formatting improvements

* Use correct system newline

* Switch to the netstandard2.0 library to support net 461

* TagLib.File is IDisposable so should be in a using

* Improve filename matching and add tests

* Neater logging of parsed tags

* Fix disk scan tests for new media info update

* Fix quality detection source

* Fix Inexact Artist/Album match

* Add button to clear track mapping

* Fix warning

* Pacify eslint

* Use \ not /

* Fix UI updates

* Fix media covers

Prevent localizing URL propaging back to the metadata object

* Reduce database overhead broadcasting UI updates

* Relax timings a bit to make test pass

* Remove irrelevant tests

* Test framework for identification service

* Fix PreferMissingToBadMatch test case

* Make fingerprinting more robust

* More logging

* Penalize unknown media format and country

* Prefer USA to UK

* Allow Data CD

* Fix exception if fingerprinting fails for all files

* Fix tests

* Fix NRE

* Allow apostrophes and remove accents in filename aggregation

* Address codacy issues

* Cope with old versions of fpcalc and suggest upgrade

* fpcalc health check passes if fingerprinting disabled

* Get the Artist meta with the artist

* Fix the mapper so that lazy loaded lists will be populated on Join

And therefore we can join TrackFiles on Tracks by default and avoid an
extra query

* Rename subtitle -> lyric

* Tidy up MediaInfoFormatter
2019-02-16 09:49:24 -05:00
ta264 9185223f53 Fix more issues with migration 23 (#577)
* Tests for migration 23

* Make the migration more robust

For duplicate foreign Ids, create dummy id so correlated subquery
doesn't fail.

If we can't parse the release from the database, put in a dummy release.

* Be more careful with metadata refreshes

Make sure we deal with items that are not linked to the correct parent
2019-01-12 11:56:13 -05:00
ta264 c392569a63 New: Update DB to store all releases for an album (#517)
* New: Store all releases for an album and track artists

* Add Overview, links and release date by release

* Tidy up

* Fix metadata refresh errors following musicbrainz edits
2018-12-14 19:02:43 -05:00
ta264 e260a29b57 Improve the fuzzy matching (#522)
* Fixed: improve track matching

* Deal with tracks sequentially numbered across discs
2018-11-16 12:46:46 -05:00
ta264 eadd6996ef Fuzzy matching (#508)
* Fixed: correctly match albums whose title is all special characters

* New: fuzzy matching on album and track names
2018-10-20 18:09:12 -04:00
gismo2004 9b0a7c60ed Fixed: Improve TrackMatching when title is slightly longer/shorter than DB (#491)
* improve TrackMatching

* Add unit test for TrackMatching

* rename NormalizeEpisodeTitle to NormalizeTrackTitle

* correct typo
2018-09-18 21:29:45 -04:00
Qstick 6581b3a2c5
New: UI Updates, Tag manager, More custom filters (#437)
* New: UI Updates, Tag manager, More custom filters

* fixup! Fix ScanFixture Unit Tests

* Fixed: Sentry Errors from UI don't have release, branch, environment

* Changed: Bump Mobile Detect for New Device Detection

* Fixed: Build on changes to package.json

* fixup! Add MetadataProfile filter option

* fixup! Tag Note, Blacklist, Manual Import

* fixup: Remove connectSection

* fixup: root folder comment
2018-08-07 20:57:15 -04:00
Daniel Underwood d7d4f62737 Changed: Force album refresh when artist refresh manually triggered (#374)
* Force album refresh when artist refresh manually triggered

* Refresh albums on single artist refresh
2018-05-28 03:49:34 -04:00
Qstick 2969decf95 Fixed: Tests for refresh intervals 2018-05-22 23:03:31 -04:00
Qstick f9fb33eb08 Added: Additional Album Monitoring Options 2018-04-08 02:25:34 -04:00
Qstick 993355e55a Fixed: ArtistRepositoryFixture Test 2018-04-07 01:09:15 -04:00
Joseph Milazzo e9097b8dc6 Check for MusicBrainz Release Id during Scan (#227) (#277)
* Implemented functionality to find album from DB if a track has album in the MusicBrainz Release Id tag. If tag doesn't exist or album is not found, handle via normal routes.

* Added a test case

* Fixed a bad merge.

* Fixed a bug where a track with an empty Album IDv3 tag always was ignored, even if it had MusicBrainz Release Id hardcoded.

* fixup: Quick fixes to get this merged tonight due to bug in develop
2018-04-07 00:52:28 -04:00
Qstick 8395999696
New: Selectively refresh albums (#215)
* New: Selectively refresh albums

Closes #211
2018-02-13 02:32:18 +01:00
Qstick 6c20832c7f Fixed: Import List Tests 2018-02-09 23:14:15 -05:00
Qstick 5551b2166a
Rework how albums are refreshed/added, add album search route (#190)
Rework how albums are refreshed/added, add album search route
2018-01-28 01:27:33 -05:00
Qstick b0070e0229 Fixed: Last UI reference to nameSlug, remove from model 2018-01-21 23:22:12 -05:00
Qstick ec12bede9d Fixed: Cleanup 11 more tests 2017-12-30 01:09:10 -05:00
Qstick d8c89f5bbd UI Updates (Cancel Import, Move Artist, Manual Import from Artist)
Ability to cancel an import lookup/search at any point.
Ability to move artist path from Artist Edit or bulk move from Mass Editor.
Trigger manual import for Artist path from Artist Detail page.
Pulled from Sonarr
2017-12-29 22:23:04 -05:00
Qstick 5b7339cd73
Add Metadata Profiles (#132)
* Add Metadata Profiles

* fixup! Codacy
2017-11-25 22:51:37 -05:00