diff --git a/docs/Collections.md b/docs/Collections.md index f4526ac33..84ca3a08f 100644 --- a/docs/Collections.md +++ b/docs/Collections.md @@ -170,6 +170,8 @@ If media is added to the collection outside of Maintainerr, it will be added to If you delete media from the collection outside of Maintainerr, it will be removed from the corresponding Maintainerr collection. However, if the media still matches your rules, it will be re-added to the collection in subsequent rule processing cycles. +If a media-server add or remove does not return an answer, Maintainerr keeps the change pending and reconciles it later. It does not immediately treat an unanswered add as a manual member. + ### MANUAL membership badge An item shows a **MANUAL** badge when its membership source is manual: it was added by hand in the UI, or it was adopted from a media-server collection whose contents the rule does not own. diff --git a/docs/Migration.md b/docs/Migration.md index 2612b4423..1e2c18f14 100644 --- a/docs/Migration.md +++ b/docs/Migration.md @@ -35,6 +35,7 @@ The database schema includes support for overlays. - a `streamystats_url` setting for the Jellyfin-only Streamystats integration - download-client settings for the qBittorrent cleanup integration: URL, optional username/password, whether download data should be deleted, and the fallback seeding ratio - a `collection_media.ruleEvaluationFailed` state so upgrades can preserve which rule-managed items should be skipped by automatic handling after a rule-evaluation failure; manual collection entries are still handled normally +- a direction on pending collection membership changes so an unanswered add or remove can be reconciled without being mistaken for a manual membership; existing rows default to `remove` - a `NormalizeRuleSectionOperators` migration that backfills legacy null operators without changing existing matches: the first rule of a group stays unset, the first rule of a later section becomes `AND`, and later rules in that section become `OR`. This migration is behavior-preserving and its `down()` is a no-op. - a `tagInArr` collection field plus six Radarr/Sonarr exclusion-tag settings (`radarr_tag_exclusions`, `radarr_exclusion_tag`, `radarr_untag_on_unexclude`, and the Sonarr equivalents) for the \*arr tagging integration. Existing collections default to untagged and exclusion tagging defaults to off, so the upgrade is behavior-preserving. - a `sportarr_settings` table plus optional Sportarr server and quality-profile fields on collections. Existing collections remain unchanged until you configure Sportarr.