Replace boolean pipeline phase returns with explicit PipelineFlow enum
to improve readability and clarify control flow intent. The primary fix
addresses incorrect phase execution order by adding
`OrderByRegistration()` to ensure phases run in the sequence they were
registered.
This change fixes an issue where pipelines weren't executing properly
due to phase ordering problems. Additional improvements include:
- Move warning about invalid custom formats to transaction logging
- Make error handling more consistent across pipeline phases
- Improve pipeline termination logic for preview and empty scenarios
Release notes not updated because this bug was not delivered to a stable
release.
Fixes#442
Exceptions thrown related to `!secret` and other YAML features now
provide more useful error messages.
This commit changes ConfigParser to log the inner exception directly
instead of the wrapper exception, providing more useful error
information.
- Made lots of classes internal & sealed as needed
- Removed Cli.TestLibrary project. TestLibrary projects are only useful
if they're going to be reusable in other tests. The Cli project is at
the bottom of the dependency chain and doesn't need to be reusable.
- Remove integration test projects and fold their tests into Core.Tests
and Cli.Tests
- Rename Recyclarr.Tests to Recyclarr.Core.Tests
- Rename TestLibrary to Core.TestLibrary to clarify ownership
- Remove InternalsVisibleTo references for integration tests
- Remove unnecessary project references
- Dedicated "Filter" system for YAML configuration that selectively
excludes instances with issues such as duplicate, invalid, or split
instances.
- Greatly improved console output for configuration errors.
- Recyclarr is now better about not completely exiting when there's an
issue in a single configuration instance.
Fixes#396