Files
profilarr/docs/todo/4.link-sync-settings.md

1.8 KiB

Link Sync Settings

Status: Planning

Summary

When a user enables quality profile sync, require media management sync to also be enabled. This ensures users get the complete configuration — profiles alone without proper naming formats leads to inconsistent results.

Problem

Users can currently enable quality profile sync without enabling media management sync. This creates issues:

  • Quality profiles define what quality to grab
  • Media management defines how files are named and organized
  • Without both, the naming format may not match what the profile expects
  • Leads to confusion and support requests

Solution

Client-side validation on the sync settings page. Don't let users save if:

  1. Any quality profiles are selected for sync, AND
  2. Media management settings (naming, quality definitions) are not configured

Implementation

Location: src/routes/arr/[id]/sync/+page.svelte

Logic:

// Check if any quality profiles are selected
const hasQualityProfilesSelected = Object.values(qualityProfileState)
  .some(db => Object.values(db).some(selected => selected));

// Check if media management is configured
const hasMediaManagement =
  mediaManagementState.namingDatabaseId !== null ||
  mediaManagementState.qualityDefinitionsDatabaseId !== null;

// Validation
const canSave = !hasQualityProfilesSelected || hasMediaManagement;

UX:

  • Show warning message when quality profiles selected but no media management
  • Disable save buttons on QualityProfiles component until valid
  • Message: "Quality profiles require media management settings. Please configure naming or quality definitions to ensure consistent file naming."

Checklist

  • Add validation logic to +page.svelte
  • Pass canSave state to QualityProfiles.svelte
  • Show warning alert when invalid
  • Disable save button when invalid