Allow permanently trusting unofficial extensions by version code + signature

Closes #10290

(cherry picked from commit 6510a9617a2b5b5389cb5776a2fb91019206f6fc)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt
This commit is contained in:
arkon
2024-01-07 13:35:44 -05:00
committed by Jobobby04
parent 28ca7efdca
commit 56b565cc51
9 changed files with 76 additions and 54 deletions
+8 -12
View File
@@ -591,18 +591,6 @@ object EXHMigrations {
logcat(LogPriority.WARN, e) { "Failed to remove file from cache" }
}
}
preferenceStore.getAll()
.filter { it.key.startsWith("pref_mangasync_") || it.key.startsWith("track_token_") }
.forEach { (key, value) ->
if (value is String) {
preferenceStore
.getString(Preference.privateKey(key))
.set(value)
preferenceStore.getString(key).delete()
}
}
}
if (oldVersion under 59) {
val prefsToReplace = listOf(
@@ -657,6 +645,14 @@ object EXHMigrations {
sourcePreferences.extensionRepos().getAndSet {
it.map { "https://raw.githubusercontent.com/$it/repo" }.toSet()
}
replacePreferences(
preferenceStore = preferenceStore,
filterPredicate = { it.key.startsWith("pref_mangasync_") || it.key.startsWith("track_token_") },
newKey = { Preference.privateKey(it) },
)
prefs.edit {
remove(Preference.appStateKey("trusted_signatures"))
}
}
// if (oldVersion under 1) { } (1 is current release version)