Fix saved messages not loading on app restart

- Load saved messages for saved rooms during app initialization
- Messages are now restored when reopening the app
- Rooms marked as saved will show their message history immediately
This commit is contained in:
jack
2025-07-05 19:35:37 +02:00
parent f7ebcd6032
commit 81f0022dbc
+12 -2
View File
@@ -71,6 +71,7 @@ class ChatViewModel: ObservableObject {
loadFavorites()
loadJoinedRooms()
loadRoomData()
// Load saved rooms state
savedRooms = MessageRetentionService.shared.getFavoriteRooms()
meshService.delegate = self
@@ -117,8 +118,8 @@ class ChatViewModel: ObservableObject {
}
private func loadJoinedRooms() {
if let savedRooms = userDefaults.stringArray(forKey: joinedRoomsKey) {
joinedRooms = Set(savedRooms)
if let savedRoomsList = userDefaults.stringArray(forKey: joinedRoomsKey) {
joinedRooms = Set(savedRoomsList)
// Initialize empty data structures for joined rooms
for room in joinedRooms {
if roomMessages[room] == nil {
@@ -127,6 +128,15 @@ class ChatViewModel: ObservableObject {
if roomMembers[room] == nil {
roomMembers[room] = Set()
}
// Load saved messages if this is a saved room
if MessageRetentionService.shared.getFavoriteRooms().contains(room) {
let savedMessages = MessageRetentionService.shared.loadMessagesForRoom(room)
if !savedMessages.isEmpty {
roomMessages[room] = savedMessages
bitchatLog("Loaded \(savedMessages.count) saved messages for room \(room) on startup", category: "retention")
}
}
}
}
}