mirror of
https://github.com/yattee/yattee.git
synced 2026-08-06 07:11:28 +00:00
Fix #960: scope subscription counts, import/export to active account
When an Invidious/Piped account is active, several views read the local SwiftData subscription store instead of the account, so counts contradicted each other (Home tile said 10 while the Channels list showed the server's 2): - Home Channels tile now uses the provider's count via new SubscriptionService.cachedSubscriptionCount (fetched once in the background when the server cache isn't populated yet) - Export footer and export content use the active account's list; export runs async with a spinner and surfaces fetch errors as a toast - CSV/OPML import routes through SubscriptionService.importSubscriptions, subscribing on the server for server accounts instead of silently writing to the invisible local store - ChannelView subscribe-state is corrected via the provider after the optimistic local-store read; unused *Sync write helpers removed - Server-account subscribe/unsubscribe/import now post subscriptionsDidChange so other views refresh - New "Delete Local Subscription Data" section in Subscriptions settings (visible with a server account) clears the local store and queues CloudKit deletions so iCloud doesn't restore it
This commit is contained in:
@@ -14788,6 +14788,17 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.export.error.title" : {
|
||||
"comment" : "Title for export error toast",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Export Failed"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.export.footer %lld" : {
|
||||
"comment" : "Footer showing subscription count for export",
|
||||
"localizations" : {
|
||||
@@ -14898,6 +14909,83 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.localData.delete.button" : {
|
||||
"comment" : "Button to delete locally stored subscriptions",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Delete Local Subscription Data"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.localData.delete.confirmation.action" : {
|
||||
"comment" : "Confirmation action for deleting local subscriptions",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Delete"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.localData.delete.confirmation.message" : {
|
||||
"comment" : "Message explaining what deleting local subscriptions does",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Removes subscriptions stored on this device and synced with iCloud. Subscriptions on your Invidious or Piped account are not affected."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.localData.delete.confirmation.title %lld" : {
|
||||
"comment" : "Confirmation title for deleting local subscriptions",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Delete %lld local subscriptions?"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.localData.deleted.title" : {
|
||||
"comment" : "Toast shown after local subscriptions were deleted",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Local Subscriptions Deleted"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.localData.footer %lld" : {
|
||||
"comment" : "Footer showing how many subscriptions are stored locally",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "%lld subscriptions are stored locally on this device. They are not used while a server account is selected."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.localData.title" : {
|
||||
"comment" : "Header for local subscription data section",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Local Data"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings.subscriptions.title" : {
|
||||
"comment" : "Title for subscriptions settings section",
|
||||
"localizations" : {
|
||||
|
||||
Reference in New Issue
Block a user