chore: FIx first story invite

This commit is contained in:
Christian Pauly 2021-12-27 08:48:06 +01:00
parent eeb545e24a
commit fb48da8e0e
2 changed files with 11 additions and 5 deletions

View File

@ -31,11 +31,16 @@ class _InviteStoryPageState extends State<InviteStoryPage> {
context: context, context: context,
future: () async { future: () async {
final client = Matrix.of(context).client; final client = Matrix.of(context).client;
final room = await client.getStoriesRoom(context); var room = await client.getStoriesRoom(context);
final inviteList = _invite.toList();
if (room == null) { if (room == null) {
await client.createStoriesRoom(_invite.toList()); room = await client.createStoriesRoom(inviteList.take(10).toList());
if (inviteList.length > 10) {
inviteList.removeRange(0, 10);
} else { } else {
for (final userId in _invite) { inviteList.clear();
}
for (final userId in inviteList) {
room.invite(userId); room.invite(userId);
} }
} }

View File

@ -46,7 +46,7 @@ extension ClientStoriesExtension on Client {
{'users': users}, {'users': users},
); );
Future<void> createStoriesRoom([List<String>? invite]) async { Future<Room> createStoriesRoom([List<String>? invite]) async {
final roomId = await createRoom( final roomId = await createRoom(
creationContent: {"type": "msc3588.stories.stories-room"}, creationContent: {"type": "msc3588.stories.stories-room"},
preset: CreateRoomPreset.privateChat, preset: CreateRoomPreset.privateChat,
@ -68,6 +68,7 @@ extension ClientStoriesExtension on Client {
await onSync.stream await onSync.stream
.firstWhere((sync) => sync.rooms?.join?.containsKey(roomId) ?? false); .firstWhere((sync) => sync.rooms?.join?.containsKey(roomId) ?? false);
} }
return getRoomById(roomId)!;
} }
Future<Room?> getStoriesRoom(BuildContext context) async { Future<Room?> getStoriesRoom(BuildContext context) async {