mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-25 03:30:15 +08:00
Fix: MultiFilePluginDataStorageImpl (#393)
* fix: builtins config use ReadOnlyPluginConfig * fix: remove BINTRAY_REPOSITORY * merge: mamoe * use: mavenCentral * feat: handle UTF8-BOM remove: mainLogger
This commit is contained in:
parent
03ebfd2278
commit
1e158a93ce
@ -10,7 +10,6 @@
|
||||
package net.mamoe.mirai.console.internal.data
|
||||
|
||||
import kotlinx.serialization.json.Json
|
||||
import net.mamoe.mirai.console.MiraiConsole
|
||||
import net.mamoe.mirai.console.data.*
|
||||
import net.mamoe.mirai.console.util.ConsoleExperimentalApi
|
||||
import net.mamoe.mirai.utils.MiraiLogger
|
||||
@ -33,7 +32,8 @@ internal open class MultiFilePluginDataStorageImpl(
|
||||
public override fun load(holder: PluginDataHolder, instance: PluginData) {
|
||||
instance.onInit(holder, this)
|
||||
|
||||
val text = getPluginDataFile(holder, instance).readText()
|
||||
// 0xFEFF is BOM, handle UTF8-BOM
|
||||
val text = getPluginDataFile(holder, instance).readText().removePrefix("\uFEFF")
|
||||
if (text.isNotBlank()) {
|
||||
logger.warning { "Deserializing $text" }
|
||||
Yaml.decodeFromString(instance.updaterSerializer, text)
|
||||
@ -78,8 +78,7 @@ internal open class MultiFilePluginDataStorageImpl(
|
||||
yaml.decodeAnyFromString(it) // test yaml
|
||||
}
|
||||
}.recoverCatching {
|
||||
// Just use mainLogger for convenience.
|
||||
MiraiConsole.mainLogger.warning(
|
||||
logger.warning(
|
||||
"Could not save ${instance.saveName} in YAML format due to exception in YAML encoder. " +
|
||||
"Please report this exception and relevant configurations to https://github.com/mamoe/mirai-console/issues/new",
|
||||
it
|
||||
|
Loading…
Reference in New Issue
Block a user