forked from Henry-Hiles/nexus
wip mentions
This commit is contained in:
parent
819512c737
commit
541933a939
11 changed files with 145 additions and 86 deletions
|
|
@ -10,6 +10,11 @@ import "package:nexus/controllers/secure_storage_controller.dart";
|
|||
import "package:nexus/models/session_backup.dart";
|
||||
|
||||
class ClientController extends AsyncNotifier<Client> {
|
||||
@override
|
||||
bool updateShouldNotify(
|
||||
AsyncValue<Client> previous,
|
||||
AsyncValue<Client> next,
|
||||
) => previous.hasValue != next.hasValue;
|
||||
static const sessionBackupKey = "sessionBackup";
|
||||
|
||||
@override
|
||||
|
|
@ -81,7 +86,7 @@ class ClientController extends AsyncNotifier<Client> {
|
|||
).toJson(),
|
||||
),
|
||||
);
|
||||
ref.invalidateSelf();
|
||||
ref.invalidateSelf(asReload: true);
|
||||
return true;
|
||||
} catch (_) {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -92,11 +92,18 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
|||
Future<void> updateMessage(Message message, Message newMessage) async =>
|
||||
(await future).updateMessage(message, newMessage);
|
||||
|
||||
Future<void> send(String message, {Message? replyTo}) async =>
|
||||
Future<void> send(Message message, {Message? replyTo}) async {
|
||||
final controller = await future;
|
||||
controller.insertMessage(message);
|
||||
|
||||
if (message is TextMessage) {
|
||||
await room.sendTextEvent(
|
||||
message,
|
||||
message.text,
|
||||
inReplyTo: replyTo == null ? null : await room.getEventById(replyTo.id),
|
||||
);
|
||||
}
|
||||
// TODO: Handle other types of message
|
||||
}
|
||||
|
||||
Future<chat.User> resolveUser(String id) async {
|
||||
final user = await room.client.getUserProfile(id);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue