chore: Improve via calculation

pull/2403/head
Christian Kußowski 2 months ago
parent dc64d1679b
commit 2c4a16d608
No known key found for this signature in database
GPG Key ID: E067ECD60F1A0652

@ -1114,19 +1114,29 @@ class ChatController extends State<ChatPageWithRoom>
}
void goToNewRoomAction() async {
final newRoomId = room
.getState(EventTypes.RoomTombstone)!
.parsedTombstoneContent
.replacementRoom;
final result = await showFutureLoadingDialog(
context: context,
future: () => room.client.joinRoom(
room
.getState(EventTypes.RoomTombstone)!
.parsedTombstoneContent
.replacementRoom,
via: [newRoomId.domain!],
),
future: () async {
final users = await room.requestParticipants(
[Membership.join, Membership.leave],
true,
false,
);
users.sort((a, b) => a.powerLevel.compareTo(b.powerLevel));
final via = users
.map((user) => user.id.domain)
.whereType<String>()
.toSet()
.take(10)
.toList();
return room.client.joinRoom(
room
.getState(EventTypes.RoomTombstone)!
.parsedTombstoneContent
.replacementRoom,
via: via,
);
},
);
if (result.error != null) return;
if (!mounted) return;

Loading…
Cancel
Save