Merge branch 'soru/fix-room-suggestions' into 'main'

fix: Suggest correct rooms

See merge request ChristianPauly/fluffychat-flutter!283
This commit is contained in:
Christian Pauly 2020-11-21 19:06:20 +00:00
commit 9022da9394

View File

@ -103,19 +103,24 @@ class InputBar extends StatelessWidget {
if (roomMatch != null) { if (roomMatch != null) {
final roomSearch = roomMatch[1].toLowerCase(); final roomSearch = roomMatch[1].toLowerCase();
for (final r in room.client.rooms) { for (final r in room.client.rooms) {
final state = r.getState('m.room.canonical_alias'); if (r.getState(EventTypes.RoomTombstone) != null) {
if (state != null && continue; // we don't care about tombstoned rooms
((state.content['alias'] is String && }
state.content['alias'] final state = r.getState(EventTypes.RoomCanonicalAlias);
.split(':')[0] if ((state != null &&
.toLowerCase() ((state.content['alias'] is String &&
.contains(roomSearch)) || state.content['alias']
(state.content['alt_aliases'] is List && .split(':')[0]
state.content['alt_aliases'].any((l) => .toLowerCase()
l is String && .contains(roomSearch)) ||
l.split(':')[0].toLowerCase().contains(roomSearch))) || (state.content['alt_aliases'] is List &&
(room.name != null && state.content['alt_aliases'].any((l) =>
room.name.toLowerCase().contains(roomSearch)))) { l is String &&
l
.split(':')[0]
.toLowerCase()
.contains(roomSearch))))) ||
(r.name != null && r.name.toLowerCase().contains(roomSearch))) {
ret.add({ ret.add({
'type': 'room', 'type': 'room',
'mxid': (r.canonicalAlias != null && r.canonicalAlias.isNotEmpty) 'mxid': (r.canonicalAlias != null && r.canonicalAlias.isNotEmpty)