in frontend/frontend-flutter/lib/screens/bot.dart [481:531]
Future<String> waitForFirstSSEData(
Stream<BaseChunk<Object>> stream, EventSource eventSource) async {
int count = 0;
print('Bot : waitForFirstSSEData() : START');
stream.listen(
(event) {
if (eventSource.isWeb) {
print('Bot : waitForFirstSSEData(): eventSource.isWeb');
print('Bot : waitForFirstSSEData(): count = $count');
print('Bot : waitForFirstSSEData(): event.chunk = ${event.chunk}');
responsePalMBody = responsePalMBody + event.chunk.toString();
var answerPlainTextChunck =
pickFromJson(event.chunk.toString(), 'response').asStringOrNull();
print(
'Bot : waitForFirstSSEData(): answerPlainTextChunck = ${answerPlainTextChunck}');
setState(() {
streamingText = streamingText + answerPlainTextChunck!;
});
if (count == 0) {
final textMessage = types.TextMessage(
author: _user1,
createdAt: DateTime.now().millisecondsSinceEpoch,
id: randomString(),
text: streamingText,
type: types.MessageType.text,
metadata: {"dataSource": null});
_addMessage(textMessage);
}
count++;
} else {
print('Bot : waitForFirstSSEData(): eventSource.isNotWeb');
final encoding = event.getEncoding();
print(
'Bot : waitForFirstSSEData(): eventSource.isNotWeb : encoding.decode(event.chunk as List<int>) = ${encoding.decode(event.chunk as List<int>)}');
}
},
onError: (err) => print('Bot : waitForFirstSSEData(): err = $err'),
onDone: () {
eventSource.close;
streamingText = "";
},
);
return "";
}