|
|
|
@ -18,10 +18,32 @@ class GetChatListItemSubtitle {
|
|
|
|
) async {
|
|
|
|
) async {
|
|
|
|
if (event == null) return L10n.of(context)!.emptyChat;
|
|
|
|
if (event == null) return L10n.of(context)!.emptyChat;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
|
|
|
|
String? eventContextId = event.eventId;
|
|
|
|
|
|
|
|
if (!event.eventId.isValidMatrixId || event.eventId.sigil != '\$') {
|
|
|
|
|
|
|
|
eventContextId = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
final Timeline timeline =
|
|
|
|
|
|
|
|
await event.room.getTimeline(eventContextId: eventContextId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (event.content.tryGet(ModelKey.transcription) != null) {
|
|
|
|
|
|
|
|
int index = timeline.events.indexWhere(
|
|
|
|
|
|
|
|
(e) => e.eventId == event!.eventId,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while (index < timeline.events.length &&
|
|
|
|
|
|
|
|
timeline.events[index].content.tryGet(ModelKey.transcription) !=
|
|
|
|
|
|
|
|
null) {
|
|
|
|
|
|
|
|
index++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (timeline.events.length > index + 1) {
|
|
|
|
|
|
|
|
event = timeline.events[index];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (event.type != EventTypes.Message ||
|
|
|
|
if (event.type != EventTypes.Message ||
|
|
|
|
!pangeaController.permissionsController
|
|
|
|
!pangeaController.permissionsController
|
|
|
|
.isToolEnabled(ToolSetting.immersionMode, event.room) ||
|
|
|
|
.isToolEnabled(ToolSetting.immersionMode, event.room)) {
|
|
|
|
event.content.tryGet(ModelKey.transcription) != null) {
|
|
|
|
|
|
|
|
return event.calcLocalizedBody(
|
|
|
|
return event.calcLocalizedBody(
|
|
|
|
MatrixLocals(L10n.of(context)!),
|
|
|
|
MatrixLocals(L10n.of(context)!),
|
|
|
|
hideReply: true,
|
|
|
|
hideReply: true,
|
|
|
|
@ -33,13 +55,6 @@ class GetChatListItemSubtitle {
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
String? eventContextId = event.eventId;
|
|
|
|
|
|
|
|
if (!event.eventId.isValidMatrixId || event.eventId.sigil != '\$') {
|
|
|
|
|
|
|
|
eventContextId = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
final Timeline timeline =
|
|
|
|
|
|
|
|
await event.room.getTimeline(eventContextId: eventContextId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final PangeaMessageEvent pangeaMessageEvent = PangeaMessageEvent(
|
|
|
|
final PangeaMessageEvent pangeaMessageEvent = PangeaMessageEvent(
|
|
|
|
event: event,
|
|
|
|
event: event,
|
|
|
|
timeline: timeline,
|
|
|
|
timeline: timeline,
|
|
|
|
@ -78,7 +93,7 @@ class GetChatListItemSubtitle {
|
|
|
|
} catch (e, s) {
|
|
|
|
} catch (e, s) {
|
|
|
|
// debugger(when: kDebugMode);
|
|
|
|
// debugger(when: kDebugMode);
|
|
|
|
ErrorHandler.logError(e: e, s: s);
|
|
|
|
ErrorHandler.logError(e: e, s: s);
|
|
|
|
return event.body;
|
|
|
|
return event?.body ?? L10n.of(context)!.emptyChat;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|