Implement provider uninstallation process#34
Conversation
Added functionality to uninstall a provider by removing it from the Mihon bridge and the database.
|
I think the issue is that ReconcileLocalAsync is bringing providers back to life because the routine is half-assed. I’m writing this not only to explain the reasoning, but also to have it documented , so we don’t have to rethink it every time. We should also stick to a single source of truth, the database, not the Mihon extensions, for determining which providers are installed and their current state. Proposed semantics: IsEnabled: Installed / uninstalled Install → IsEnabled = true IsBroken: Marked as broken by the system (future enhancement; e.g., failing calls for a few days) ReconcileLocalAsync should never set IsEnabled = true again automatically. Anywhere we currently check only IsEnabled, we should also account for IsBroken and IsDead. We also cannot delete providers from the database, because some series may still be linked to them via SeriesProviderEntity. This keeps the database state consistent and prevents mismatches between extension state and linked series. |
Added functionality to uninstall a provider by removing it from the Mihon bridge and the database
Fix #28