fix: crash on invalid displaynames
This commit is contained in:
parent
8baf9d44c7
commit
d2e7de4702
|
|
@ -144,11 +144,13 @@ abstract class EventLocalizations {
|
||||||
text = i18n.joinedTheChat(targetName);
|
text = i18n.joinedTheChat(targetName);
|
||||||
}
|
}
|
||||||
} else if (newMembership == 'join') {
|
} else if (newMembership == 'join') {
|
||||||
final newAvatar = event.content['avatar_url'] ?? '';
|
final newAvatar = event.content.tryGet<String>('avatar_url') ?? '';
|
||||||
final oldAvatar = event.prevContent?['avatar_url'] ?? '';
|
final oldAvatar = event.prevContent?.tryGet<String>('avatar_url') ?? '';
|
||||||
|
|
||||||
final newDisplayname = event.content['displayname'] ?? '';
|
final newDisplayname =
|
||||||
final oldDisplayname = event.prevContent?['displayname'] ?? '';
|
event.content.tryGet<String>('displayname') ?? '';
|
||||||
|
final oldDisplayname =
|
||||||
|
event.prevContent?.tryGet<String>('displayname') ?? '';
|
||||||
final stateKey = event.stateKey;
|
final stateKey = event.stateKey;
|
||||||
|
|
||||||
// Has the user avatar changed?
|
// Has the user avatar changed?
|
||||||
|
|
|
||||||
|
|
@ -368,6 +368,46 @@ void main() {
|
||||||
'Removed by Example');
|
'Removed by Example');
|
||||||
expect(event.isEventTypeKnown, true);
|
expect(event.isEventTypeKnown, true);
|
||||||
|
|
||||||
|
event = Event.fromJson({
|
||||||
|
'content': {
|
||||||
|
'avatar_url':
|
||||||
|
'mxc://pixelthefox.net/bmGuC44Eeb3BomfkZTP02DVnGaRp4dek',
|
||||||
|
'displayname': [
|
||||||
|
[
|
||||||
|
[[]]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'membership': 'join'
|
||||||
|
},
|
||||||
|
'origin_server_ts': 1636487843183,
|
||||||
|
'room_id': '!watercooler-v9:maunium.net',
|
||||||
|
'sender': '@nyaaori:pixelthefox.net',
|
||||||
|
'state_key': '@nyaaori:pixelthefox.net',
|
||||||
|
'type': 'm.room.member',
|
||||||
|
'unsigned': {
|
||||||
|
'prev_content': {
|
||||||
|
'avatar_url':
|
||||||
|
'mxc://pixelthefox.net/bmGuC44Eeb3BomfkZTP02DVnGaRp4dek',
|
||||||
|
'displayname': 1,
|
||||||
|
'membership': 'join'
|
||||||
|
},
|
||||||
|
'prev_sender': '@nyaaori:pixelthefox.net',
|
||||||
|
'replaces_state': '\$kcqn2k6kXQKOM45t_p8OA03PQRR3KB2N_PN4HUq1GiY'
|
||||||
|
},
|
||||||
|
'event_id': '\$21DJjleMGcviLoT4L9wvxawMlOXSQ9yW6R8mrhlbhfU',
|
||||||
|
'user_id': '@nyaaori:pixelthefox.net',
|
||||||
|
'replaces_state': '\$kcqn2k6kXQKOM45t_p8OA03PQRR3KB2N_PN4HUq1GiY',
|
||||||
|
'prev_content': {
|
||||||
|
'avatar_url':
|
||||||
|
'mxc://pixelthefox.net/bmGuC44Eeb3BomfkZTP02DVnGaRp4dek',
|
||||||
|
'displayname': 1,
|
||||||
|
'membership': 'join'
|
||||||
|
}
|
||||||
|
}, room);
|
||||||
|
expect(
|
||||||
|
event.getLocalizedBody(MatrixDefaultLocalizations()) is String, true);
|
||||||
|
expect(event.isEventTypeKnown, true);
|
||||||
|
|
||||||
event = Event.fromJson({
|
event = Event.fromJson({
|
||||||
'content': {
|
'content': {
|
||||||
'body': 'Landing',
|
'body': 'Landing',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue