Hotfix: account_data stored incorrectly in the database
This commit is contained in:
parent
ab812e0da2
commit
163cbdb923
|
@ -752,7 +752,7 @@ class Client {
|
|||
await database.storeAccountData(
|
||||
id,
|
||||
newAccountData.type,
|
||||
jsonEncode(newAccountData.toJson()),
|
||||
jsonEncode(newAccountData.content),
|
||||
);
|
||||
}
|
||||
accountData[newAccountData.type] = newAccountData;
|
||||
|
|
|
@ -176,7 +176,14 @@ class Database extends _$Database {
|
|||
final newAccountData = <String, api.BasicEvent>{};
|
||||
final rawAccountData = await getAllAccountData(clientId).get();
|
||||
for (final d in rawAccountData) {
|
||||
final content = sdk.Event.getMapFromPayload(d.content);
|
||||
var content = sdk.Event.getMapFromPayload(d.content);
|
||||
// there was a bug where it stored the entire event, not just the content
|
||||
// in the databse. This is the temporary fix for those affected by the bug
|
||||
if (content['content'] is Map && content['type'] is String) {
|
||||
content = content['content'];
|
||||
// and save
|
||||
await storeAccountData(clientId, d.type, jsonEncode(content));
|
||||
}
|
||||
newAccountData[d.type] = api.BasicEvent(
|
||||
content: content,
|
||||
type: d.type,
|
||||
|
|
Loading…
Reference in a new issue