Merge branch 'soru/join-rooms' into 'main'

fix: Joining room aliases not published into the room directory

Closes #514

See merge request famedly/fluffychat!486
This commit is contained in:
Krille Fear 2021-08-16 06:19:59 +00:00
commit 68a29007a6
2 changed files with 6 additions and 7 deletions

View File

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

View File

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