Merge branch 'nico/displayname' into 'main'
fix: crash on invalid displaynames See merge request famedly/company/frontend/famedlysdk!884
This commit is contained in:
		
						commit
						db7d3b652a
					
				|  | @ -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