Merge branch 'main' into 559-role-play-mode

pull/1384/head
ggurdin 1 year ago committed by GitHub
commit 3f7c154d2e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -277,7 +277,11 @@ class MyAnalyticsController {
// get the timelines for each chat
final List<Future<Timeline>> timelineFutures = [];
for (final chat in chats) {
timelineFutures.add(chat.getTimeline());
timelineFutures.add(
chat.timeline == null
? chat.getTimeline()
: Future.value(chat.timeline),
);
}
final List<Timeline> timelines = await Future.wait(timelineFutures);
final Map<String, Timeline> timelineMap =

@ -3,7 +3,7 @@ part of "client_extension.dart";
extension GeneralInfoClientExtension on Client {
Future<List<String>> get _teacherRoomIds async {
final List<String> adminRoomIds = [];
for (final Room adminSpace in (await _spacesImTeaching)) {
for (final Room adminSpace in (_spacesImTeaching)) {
adminRoomIds.add(adminSpace.id);
final List<String> adminSpaceRooms = adminSpace.allSpaceChildRoomIds;
adminRoomIds.addAll(adminSpaceRooms);
@ -59,7 +59,7 @@ extension GeneralInfoClientExtension on Client {
final Event? originalEvent = await room!.getEventById(edittedEventId);
if (originalEvent == null) return [];
final Timeline timeline = await room.getTimeline();
final Timeline timeline = room.timeline ?? await room.getTimeline();
final List<Event> editEvents = originalEvent
.aggregatedEvents(
timeline,

@ -320,7 +320,7 @@ extension EventsRoomExtension on Room {
"In messageListForChat with room that is not a chat",
);
}
final Timeline timeline = await getTimeline();
final Timeline timeline = this.timeline ?? await getTimeline();
while (timeline.canRequestHistory && numberOfSearches < 50) {
await timeline.requestHistory(historyCount: 100);
@ -433,7 +433,7 @@ extension EventsRoomExtension on Room {
}) async {
try {
int numberOfSearches = 0;
final Timeline timeline = await getTimeline();
final Timeline timeline = this.timeline ?? await getTimeline();
List<Event> relevantEvents() => timeline.events
.where((event) => event.senderId == sender && event.type == type)

@ -166,7 +166,7 @@ class ConstructListViewState extends State<ConstructListView> {
if (_timelinesCache.containsKey(use.chatId)) {
timeline = _timelinesCache[use.chatId];
} else {
timeline = await msgRoom.getTimeline();
timeline = msgRoom.timeline ?? await msgRoom.getTimeline();
_timelinesCache[use.chatId] = timeline;
}

@ -36,9 +36,10 @@ class GetChatListItemSubtitle {
eventContextId = null;
}
final Timeline timeline = await event.room.getTimeline(
eventContextId: eventContextId,
);
final Timeline timeline = event.room.timeline != null &&
event.room.timeline!.chunk.eventsMap.containsKey(eventContextId)
? event.room.timeline!
: await event.room.getTimeline(eventContextId: eventContextId);
if (moveBackInTimeline(event)) {
event = timeline.events.firstWhereOrNull((e) => !moveBackInTimeline(e));

Loading…
Cancel
Save