Files
duplicati/Duplicati/Library/Interface
JamBalaya56562andClaude Opus 4.8 1470b05a4b Address PR review: async parity API, opt-in module, per-operation instance, tests
Responds to the review on #7020:
- IParity Create/Verify/Repair are now async (CancellationToken); the par2
  runner uses WaitForExitAsync and awaits the output reads directly.
- Removed ParityBase; Par2Parity implements IParity directly.
- parity-redundancy-level is parsed via Utility.ParseIntOption and validated as
  positive, and moved into the par2 module's own options. no-parity removed;
  parity-module now defaults to empty (opt-in) and is the sole toggle.
- The availability probe and "not found" warning are per-instance; BackendManager
  holds one shared parity instance per operation (SharedParityProvider), disposed
  with the manager, instead of constructing one per volume.
- The download repair path guards on Blocks/Files volume type; a successful parity
  repair now logs a warning; the test/verification flow disables repair
  (allowParityRepair=false) so damage is reported rather than masked.
- Added a full backup -> corrupt -> detect -> restore/recover integration test.
- Fix: par2cmdline 0.8.1 aborts on single-character protected filenames, so the
  working-copy base name is now "data" instead of "d". Verified end-to-end against
  real par2 in a Linux container (all parity tests pass).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 00:57:54 +09:00
..
2026-07-05 11:33:09 +02:00
2026-06-26 11:45:56 +02:00