Fehlerkorrekturen und Erweiterungen

This commit is contained in:
Sven committed 2025-01-29 11:07:37 +01:00
1 parent 584f7dc8f7
commit 81133905de
38 files changed
+1003 -222

No files matched your search

+27 -5
View File
@@ -4,13 +4,13 @@ import 'package:flutter/material.dart';
import 'package:flutter_chat_ui/flutter_chat_ui.dart';
import 'package:flutter_chat_types/flutter_chat_types.dart' as types;
import 'package:isar/isar.dart';
import 'package:mqtt5_client/mqtt5_client.dart';
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
import 'package:stadtbote/main.dart';
import 'package:stadtbote/messages/pop_content_view_message.dart';
import 'package:stadtbote/model/chat_message.dart' as sbmessage;
import 'package:stadtbote/model/chat_message.dart';
import 'package:stadtbote/model/session_status.dart';
import 'package:stadtbote/protocoll_messages/messages_showed.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
@@ -53,6 +53,8 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
var status = await MyApp.isarInstance.sessionStatus.where().findFirst();
_sid = status != null ? status.sid : 'Unbekannt';
_sendMessagesReceivedMessage();
await _fetchMessages();
_initCompleted = true;
@@ -99,14 +101,11 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
await MyApp.isarInstance.chatMessages.put(message);
});
// TODO MESSAGING
sendMessage(
routingKey: Constants.messageTopicPublishPayload,
payload: PublishPayloadMessage(topic: "message", message: message.toJson(), qos: MqttQos.exactlyOnce),
payload: PublishPayloadMessage(topic: "message", message: message.toJson(), acknowledgeRequired: true),
);
//await MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "message", message: message.toJson(), qos: MqttQos.exactlyOnce));
_messages.insert(0, types.TextMessage(
author: _user,
createdAt: now.millisecondsSinceEpoch,
@@ -191,6 +190,29 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
);
});
}
void _sendMessagesReceivedMessage() async {
var unreadChatMessages = await MyApp.isarInstance.chatMessages
.filter()
.readEqualTo(false)
.findAll();
if (unreadChatMessages.isNotEmpty) {
List<String> chatMessageIds = [];
for(var message in unreadChatMessages) {
chatMessageIds.add(message.id.toString());
}
var chatMessagesReceived = ChatMessagesReceived();
chatMessagesReceived.ids = chatMessageIds;
chatMessagesReceived.time = DateTime.now().toUtc().toIso8601String();
sendMessage(
routingKey: Constants.messageTopicChatMessagesReceived,
payload: chatMessagesReceived,
);
}
}
}
class _HeaderWidget extends StatefulWidget {