diff --git a/Meshtastic/Views/Messages/ChannelMessageList.swift b/Meshtastic/Views/Messages/ChannelMessageList.swift index aa8cfacc..6146e275 100644 --- a/Meshtastic/Views/Messages/ChannelMessageList.swift +++ b/Meshtastic/Views/Messages/ChannelMessageList.swift @@ -29,7 +29,7 @@ struct ChannelMessageList: View { @State private var deleteMessageId: Int64 = 0 @State private var replyMessageId: Int64 = 0 @State private var sendPositionWithMessage: Bool = false - @State private var refreshId = UUID() + //@State private var refreshId = UUID() var body: some View { NavigationStack { @@ -218,13 +218,13 @@ struct ChannelMessageList: View { .scrollDismissesKeyboard(.immediately) .onAppear(perform: { self.bleManager.context = context - refreshId = UUID() + // refreshId = UUID() if channel.allPrivateMessages.count > 0 { scrollView.scrollTo(channel.allPrivateMessages.last!.messageId) } }) .onChange(of: channel.allPrivateMessages, perform: { messages in - refreshId = UUID() + // refreshId = UUID() if channel.allPrivateMessages.count > 0 { scrollView.scrollTo(channel.allPrivateMessages.last!.messageId) } diff --git a/Meshtastic/Views/Messages/Contacts.swift b/Meshtastic/Views/Messages/Contacts.swift index 1be82171..17afdf04 100644 --- a/Meshtastic/Views/Messages/Contacts.swift +++ b/Meshtastic/Views/Messages/Contacts.swift @@ -86,8 +86,10 @@ struct Contacts: View { .contextMenu { Button { channel.mute = !channel.mute + do { try context.save() + self.context.refresh(channel, mergeChanges: true) } catch { context.rollback() print("💥 Save Channel Mute Error") diff --git a/Meshtastic/Views/Messages/UserMessageList.swift b/Meshtastic/Views/Messages/UserMessageList.swift index 236880fc..12760a29 100644 --- a/Meshtastic/Views/Messages/UserMessageList.swift +++ b/Meshtastic/Views/Messages/UserMessageList.swift @@ -28,7 +28,6 @@ struct UserMessageList: View { @State private var deleteMessageId: Int64 = 0 @State private var replyMessageId: Int64 = 0 @State private var sendPositionWithMessage: Bool = false - @State private var refreshId = UUID() var body: some View { NavigationStack { @@ -220,13 +219,11 @@ struct UserMessageList: View { .scrollDismissesKeyboard(.immediately) .onAppear(perform: { self.bleManager.context = context - refreshId = UUID() if user.messageList.count > 0 { scrollView.scrollTo(user.messageList.last!.messageId) } }) .onChange(of: user.messageList, perform: { messages in - refreshId = UUID() if user.messageList.count > 0 { scrollView.scrollTo(user.messageList.last!.messageId) }