fix: issue where messages don't get deleted
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
f9b778e3c4
commit
1e6ded84ed
|
|
@ -13,6 +13,7 @@ import chat.revolt.api.realtime.frames.receivable.ChannelStartTypingFrame
|
|||
import chat.revolt.api.realtime.frames.receivable.ChannelStopTypingFrame
|
||||
import chat.revolt.api.realtime.frames.receivable.ChannelUpdateFrame
|
||||
import chat.revolt.api.realtime.frames.receivable.MessageAppendFrame
|
||||
import chat.revolt.api.realtime.frames.receivable.MessageDeleteFrame
|
||||
import chat.revolt.api.realtime.frames.receivable.MessageFrame
|
||||
import chat.revolt.api.realtime.frames.receivable.MessageReactFrame
|
||||
import chat.revolt.api.realtime.frames.receivable.MessageUpdateFrame
|
||||
|
|
@ -256,6 +257,27 @@ object RealtimeSocket {
|
|||
RevoltAPI.wsFrameChannel.send(messageUpdateFrame)
|
||||
}
|
||||
|
||||
"MessageDelete" -> {
|
||||
val messageDeleteFrame =
|
||||
RevoltJson.decodeFromString(MessageDeleteFrame.serializer(), rawFrame)
|
||||
Log.d(
|
||||
"RealtimeSocket",
|
||||
"Received message react frame for ${messageDeleteFrame.id}."
|
||||
)
|
||||
|
||||
val message = RevoltAPI.messageCache[messageDeleteFrame.id]
|
||||
if (message == null) {
|
||||
Log.d(
|
||||
"RealtimeSocket",
|
||||
"Message ${messageDeleteFrame.id} not found in cache. Will not delete."
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
RevoltAPI.messageCache.remove(messageDeleteFrame.id)
|
||||
RevoltAPI.wsFrameChannel.send(messageDeleteFrame)
|
||||
}
|
||||
|
||||
"MessageReact" -> {
|
||||
val messageReactFrame =
|
||||
RevoltJson.decodeFromString(MessageReactFrame.serializer(), rawFrame)
|
||||
|
|
|
|||
|
|
@ -403,6 +403,10 @@ class ChannelScreenViewModel : ViewModel() {
|
|||
val newRenderableMessages = renderableMessages.filter { currentMsg ->
|
||||
currentMsg.id != it.id
|
||||
}
|
||||
|
||||
renderableMessages.clear()
|
||||
renderableMessages.addAll(newRenderableMessages)
|
||||
|
||||
regroupMessages(newRenderableMessages)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue