fix: websocket disconnect due to missing field
used to crash because status was claimed to not be optional (when status = "None" is is however absent) Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
f680ad9a7c
commit
5724680c54
|
|
@ -454,11 +454,11 @@ object RealtimeSocket {
|
|||
if (existing == null && userRelationshipFrame.user.id != null) {
|
||||
RevoltAPI.userCache[userRelationshipFrame.user.id] =
|
||||
userRelationshipFrame.user.copy(
|
||||
relationship = userRelationshipFrame.status
|
||||
relationship = userRelationshipFrame.status ?: "None"
|
||||
)
|
||||
} else if (existing != null && userRelationshipFrame.user.id != null) {
|
||||
val merged = existing.mergeWithPartial(userRelationshipFrame.user).copy(
|
||||
relationship = userRelationshipFrame.status
|
||||
relationship = userRelationshipFrame.status ?: "None"
|
||||
)
|
||||
RevoltAPI.userCache[userRelationshipFrame.user.id] = merged
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,14 @@
|
|||
package chat.revolt.api.realtime.frames.receivable
|
||||
|
||||
import chat.revolt.api.schemas.*
|
||||
import chat.revolt.api.schemas.Channel
|
||||
import chat.revolt.api.schemas.Embed
|
||||
import chat.revolt.api.schemas.Emoji
|
||||
import chat.revolt.api.schemas.Member
|
||||
import chat.revolt.api.schemas.Message
|
||||
import chat.revolt.api.schemas.Role
|
||||
import chat.revolt.api.schemas.Server
|
||||
import chat.revolt.api.schemas.ServerUserChoice
|
||||
import chat.revolt.api.schemas.User
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
|
|
@ -222,7 +230,7 @@ data class UserRelationshipFrame(
|
|||
val type: String = "UserRelationship",
|
||||
val id: String,
|
||||
val user: User,
|
||||
val status: String
|
||||
val status: String? = null
|
||||
)
|
||||
|
||||
typealias EmojiCreateFrame = Emoji
|
||||
|
|
|
|||
Loading…
Reference in New Issue