Fix backup loop, phone count invariant, and auto-start behaviour
- LocalPhotoIndex: add count(filter:) so fast-path reconcile uses the filtered asset count as phoneTotal instead of the unfiltered totalCount; fixes the broken alreadySafe + needBackup == phoneTotal invariant - BackupStatusService: fast-path uses count(filter:) instead of totalCount; writeManifest falls back to NASManifestCache when NAS download fails so accumulated history is never silently discarded on a flaky connection - ConnectionStore: autoBackupEnabled defaults false; new autoBackupOnOpen (default false) separates LAN-join auto-backup from app-open auto-backup - AutoBackupCoordinator: onActive(lanTriggered:) tracks trigger source; handleReconciliationComplete gates on autoBackupEnabled for LAN joins and autoBackupOnOpen for app-open — prevents backup starting on every launch - SettingsView: split auto-backup into two toggles with accurate descriptions Co-Authored-By: Kutesir <kutesir@provoc.ug> Co-Authored-By: Sentry <sentry@provoc.ug>
This commit is contained in:
@@ -50,6 +50,10 @@ actor LocalPhotoIndex {
|
||||
|
||||
var totalCount: Int { records.count }
|
||||
|
||||
func count(filter: BackupFilter) -> Int {
|
||||
records.values.filter { passes($0, filter: filter) }.count
|
||||
}
|
||||
|
||||
func allRecords() -> [Record] { Array(records.values) }
|
||||
|
||||
func countSafe(against index: ManifestIndex, filter: BackupFilter) -> Int {
|
||||
|
||||
Reference in New Issue
Block a user