From 1f5f0e269cc44d4080f6f8da7a3d2cf0ec6610f0 Mon Sep 17 00:00:00 2001
From: Karlatemp <karlatemp@vip.qq.com>
Date: Thu, 28 Jan 2021 21:06:54 +0800
Subject: [PATCH] Fix MessageSource.ensureSequenceIdAvailable()

fix #930
---
 .../kotlin/message/incomingSourceImpl.kt      | 20 +++++--------------
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt b/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt
index 5ca0011d2..d3f1c6486 100644
--- a/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt
+++ b/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt
@@ -49,25 +49,15 @@ internal interface MessageSourceInternal {
 }
 
 @Suppress("RedundantSuspendModifier", "unused")
-internal suspend inline fun MessageSource.ensureSequenceIdAvailable() {
-    // obsolete but keep for future
-    return
-    /*
-    if (this is MessageSourceToGroupImpl) {
-        this.ensureSequenceIdAvailable()
-    }*/
+internal suspend fun MessageSource.ensureSequenceIdAvailable() {
+    if (this is OnlineMessageSourceToGroupImpl) {
+        ensureSequenceIdAvailable()
+    }
 }
 
 @Suppress("RedundantSuspendModifier", "unused")
 internal suspend inline fun Message.ensureSequenceIdAvailable() {
-    // no suspend.
-
-    // obsolete but keep for future
-    return
-    /*
-    if (this is MessageSourceToGroupImpl) {
-        this.ensureSequenceIdAvailable()
-    }*/
+    (this as? MessageChain)?.sourceOrNull?.ensureSequenceIdAvailable()
 }
 
 @Serializable(OnlineMessageSourceFromFriendImpl.Serializer::class)