fix: Joining room aliases not published into the room directory

This commit is contained in:
Sorunome 2021-08-15 09:14:23 +02:00
parent 91b29f7b70
commit dbadbc59e2
No known key found for this signature in database
GPG Key ID: B19471D07FC9BE9C
2 changed files with 6 additions and 7 deletions

View File

@ -23,7 +23,6 @@ class SearchController extends State<Search> {
String lastServer; String lastServer;
Timer _coolDown; Timer _coolDown;
String genericSearchTerm; String genericSearchTerm;
String alias;
void search(String query) async { void search(String query) async {
setState(() => null); setState(() => null);

View File

@ -32,21 +32,21 @@ class SearchView extends StatelessWidget {
genericSearchTerm: controller.genericSearchTerm, genericSearchTerm: controller.genericSearchTerm,
) )
.catchError((error) { .catchError((error) {
if (controller.alias == null) { if (!(controller.genericSearchTerm?.isValidMatrixId ?? false)) {
throw error; throw error;
} }
return PublicRoomsResponse.fromJson({ return PublicRoomsResponse.fromJson({
'chunk': [], 'chunk': [],
}); });
}).then((PublicRoomsResponse res) { }).then((PublicRoomsResponse res) {
if (controller.alias != null && if (controller.genericSearchTerm != null &&
!res.chunk.any((room) => !res.chunk.any((room) =>
(room.aliases?.contains(controller.alias) ?? false) || (room.aliases?.contains(controller.genericSearchTerm) ?? false) ||
room.canonicalAlias == controller.alias)) { room.canonicalAlias == controller.genericSearchTerm)) {
// we have to tack on the original alias // we have to tack on the original alias
res.chunk.add(PublicRoom.fromJson(<String, dynamic>{ res.chunk.add(PublicRoom.fromJson(<String, dynamic>{
'aliases': [controller.alias], 'aliases': [controller.genericSearchTerm],
'name': controller.alias, 'name': controller.genericSearchTerm,
})); }));
} }
return res; return res;