🐛 Dozens of bug fixes

This commit is contained in:
2025-09-28 01:39:07 +08:00
parent fffca4a78c
commit b1326d8f04
4 changed files with 26 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
import "dart:async";
import "dart:convert";
import "package:flutter/material.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:island/models/chat.dart";
import "package:island/pods/lifecycle.dart";
import "package:island/pods/chat/messages_notifier.dart";
@@ -11,6 +12,8 @@ import "package:riverpod_annotation/riverpod_annotation.dart";
part 'chat_subscribe.g.dart';
final currentSubscribedChatIdProvider = StateProvider<String?>((ref) => null);
@riverpod
class ChatSubscribeNotifier extends _$ChatSubscribeNotifier {
late final String _roomId;
@@ -55,6 +58,10 @@ class ChatSubscribeNotifier extends _$ChatSubscribeNotifier {
),
);
Future.microtask(
() => ref.read(currentSubscribedChatIdProvider.notifier).state = roomId,
);
// Send initial read receipt
sendReadReceipt();
@@ -123,6 +130,7 @@ class ChatSubscribeNotifier extends _$ChatSubscribeNotifier {
// Cleanup on dispose
ref.onDispose(() {
ref.read(currentSubscribedChatIdProvider.notifier).state = null;
wsState.sendMessage(
jsonEncode(
WebSocketPacket(