mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 21:05:20 +00:00
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:
@@ -71,6 +71,7 @@ class ChatViewModel: ObservableObject {
|
|||||||
loadFavorites()
|
loadFavorites()
|
||||||
loadJoinedRooms()
|
loadJoinedRooms()
|
||||||
loadRoomData()
|
loadRoomData()
|
||||||
|
// Load saved rooms state
|
||||||
savedRooms = MessageRetentionService.shared.getFavoriteRooms()
|
savedRooms = MessageRetentionService.shared.getFavoriteRooms()
|
||||||
meshService.delegate = self
|
meshService.delegate = self
|
||||||
|
|
||||||
@@ -117,8 +118,8 @@ class ChatViewModel: ObservableObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func loadJoinedRooms() {
|
private func loadJoinedRooms() {
|
||||||
if let savedRooms = userDefaults.stringArray(forKey: joinedRoomsKey) {
|
if let savedRoomsList = userDefaults.stringArray(forKey: joinedRoomsKey) {
|
||||||
joinedRooms = Set(savedRooms)
|
joinedRooms = Set(savedRoomsList)
|
||||||
// Initialize empty data structures for joined rooms
|
// Initialize empty data structures for joined rooms
|
||||||
for room in joinedRooms {
|
for room in joinedRooms {
|
||||||
if roomMessages[room] == nil {
|
if roomMessages[room] == nil {
|
||||||
@@ -127,6 +128,15 @@ class ChatViewModel: ObservableObject {
|
|||||||
if roomMembers[room] == nil {
|
if roomMembers[room] == nil {
|
||||||
roomMembers[room] = Set()
|
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")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user