Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Structure to string #1752

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ jobs:
run: chmod -R 777 *

- name: Init gradle project
run: ./gradlew clean --scan
run: ./gradlew clean --scan "-Porg.gradle.parallel=true" "-Porg.gradle.daemon=false"

- name: Build all
run: ./gradlew assemble --scan
run: ./gradlew assemble --scan "-Porg.gradle.parallel=true" "-Porg.gradle.daemon=false"

- name: All Tests
run: >
./gradlew check --scan
./gradlew check --scan "-Porg.gradle.parallel=true" "-Porg.gradle.daemon=false"
"-Dmirai.network.show.all.components=true"
"-Dkotlinx.coroutines.debug=on"
"-Dmirai.network.show.packet.details=true"

- name: Ensure KDoc valid
run: ./gradlew dokkaHtmlMultiModule
run: ./gradlew dokkaHtmlMultiModule "-Porg.gradle.parallel=true" "-Porg.gradle.daemon=false"
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ kotlin.code.style=official
# config
kotlin.incremental.multiplatform=true
kotlin.parallel.tasks.in.project=true
org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8
org.gradle.jvmargs=-Xmx6g -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.vfs.watch=true
kotlin.mpp.enableGranularSourceSetsMetadata=true
Expand Down
4 changes: 2 additions & 2 deletions mirai-core/src/commonMain/kotlin/contact/AbstractUser.kt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import net.mamoe.mirai.internal.network.protocol.packet.chat.image.LongConn
import net.mamoe.mirai.internal.network.protocol.packet.sendAndExpect
import net.mamoe.mirai.internal.utils.AtomicIntSeq
import net.mamoe.mirai.internal.utils.C2CPkgMsgParsingCache
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.message.MessageReceipt
import net.mamoe.mirai.message.data.*
import net.mamoe.mirai.utils.*
Expand Down Expand Up @@ -112,7 +112,7 @@ internal sealed class AbstractUser(
} else {
throw contextualBugReportException(
"Failed to compute friend image image from resourceId: ${resp.resourceId}",
resp._miraiContentToString(),
resp.structureToString(),
additional = "并附加此时正在上传的文件"
)
}
Expand Down
4 changes: 2 additions & 2 deletions mirai-core/src/commonMain/kotlin/message/imagesImpl.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ import net.mamoe.mirai.contact.ContactOrBot
import net.mamoe.mirai.contact.Group
import net.mamoe.mirai.contact.User
import net.mamoe.mirai.internal.network.protocol.data.proto.*
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.serialization.loadAs
import net.mamoe.mirai.internal.utils.io.serialization.toByteArray
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.message.data.*
import net.mamoe.mirai.message.data.Image.Key.IMAGE_ID_REGEX
import net.mamoe.mirai.utils.*
Expand Down Expand Up @@ -109,7 +109,7 @@ OnlineFriendImage() {
Image.logger.warning(
contextualBugReportException(
"Failed to compute friend imageId: resId=${delegate.resId}",
delegate._miraiContentToString(),
delegate.structureToString(),
additional = "并描述此时 Bot 是否正在从好友或群接受消息, 尽量附加该图片原文件"
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import net.mamoe.mirai.internal.getGroupByUinOrCodeOrFail
import net.mamoe.mirai.internal.network.protocol.data.proto.ImMsgBody
import net.mamoe.mirai.internal.network.protocol.data.proto.MsgComm
import net.mamoe.mirai.internal.network.protocol.data.proto.SourceMsg
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.serialization.toByteArray
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.message.data.MessageChain
import net.mamoe.mirai.message.data.MessageSourceKind
import net.mamoe.mirai.message.data.OnlineMessageSource
Expand Down Expand Up @@ -177,10 +177,10 @@ internal class OnlineMessageSourceFromGroupImpl(

override val subject: GroupImpl by lazy {
val groupCode = msg.first().msgHead.groupInfo?.groupCode
?: error("cannot find groupCode for OnlineMessageSourceFromGroupImpl. msg=${msg._miraiContentToString()}")
?: error("cannot find groupCode for OnlineMessageSourceFromGroupImpl. msg=${msg.structureToString()}")

val group = bot.getGroup(groupCode)?.checkIsGroupImpl()
?: error("cannot find group for OnlineMessageSourceFromGroupImpl. msg=${msg._miraiContentToString()}")
?: error("cannot find group for OnlineMessageSourceFromGroupImpl. msg=${msg.structureToString()}")

group
}
Expand All @@ -192,7 +192,7 @@ internal class OnlineMessageSourceFromGroupImpl(
if (member != null) return@lazy member

val anonymousInfo = msg.first().msgBody.richText.elems.firstOrNull { it.anonGroupMsg != null }
?: error("cannot find member for OnlineMessageSourceFromGroupImpl. msg=${msg._miraiContentToString()}")
?: error("cannot find member for OnlineMessageSourceFromGroupImpl. msg=${msg.structureToString()}")

anonymousInfo.run {
group.newAnonymous(anonGroupMsg!!.anonNick.decodeToString(), anonGroupMsg.anonId.encodeBase64())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgOnlinePush
import net.mamoe.mirai.internal.network.protocol.data.proto.OnlinePushTrans
import net.mamoe.mirai.internal.network.protocol.data.proto.Structmsg
import net.mamoe.mirai.internal.network.protocol.packet.chat.NewContact
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.utils.*

internal class UnconsumedNoticesAlerter(
Expand Down Expand Up @@ -81,7 +81,7 @@ internal class UnconsumedNoticesAlerter(
logger.debug(
contextualBugReportException(
"解析 OnlinePush.PbPushTransMsg, msgType=${data.msgType}",
data._miraiContentToString(),
data.structureToString(),
null,
"并描述此时机器人是否被踢出, 或是否有成员列表变更等动作.",
)
Expand Down Expand Up @@ -127,7 +127,7 @@ internal class UnconsumedNoticesAlerter(
data.msg?.context {
throw contextualBugReportException(
"解析 NewContact.SystemMsgNewGroup, subType=$subType, groupMsgType=$groupMsgType",
forDebug = this._miraiContentToString(),
forDebug = this.structureToString(),
additional = "并尽量描述此时机器人是否正被邀请加入群, 或者是有有新群员加入此群",
)
}
Expand All @@ -139,7 +139,7 @@ internal class UnconsumedNoticesAlerter(
if (logger.isEnabled && logger.isDebugEnabled) {
throw contextualBugReportException(
"decode SvcRequestPushStatus (PC Client status change)",
data._miraiContentToString(),
data.structureToString(),
additional = "unknown status=${data.status}",
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ import net.mamoe.mirai.internal.network.protocol.data.jce.MsgType0x210
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x122
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x27
import net.mamoe.mirai.internal.network.protocol.data.proto.TroopTips0x857
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.serialization.loadAs
import net.mamoe.mirai.internal.utils.parseToMessageDataList
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.utils.*

internal class GroupNotificationProcessor(
Expand Down Expand Up @@ -362,7 +362,7 @@ internal class GroupNotificationProcessor(
else -> {
markNotConsumed()
logger.debug {
"Unknown Transformers528 0x14 template\ntemplId=${grayTip?.templId}\nPermList=${grayTip?.msgTemplParam?._miraiContentToString()}"
"Unknown Transformers528 0x14 template\ntemplId=${grayTip?.templId}\nPermList=${grayTip?.msgTemplParam?.structureToString()}"
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgComm
import net.mamoe.mirai.internal.network.protocol.data.proto.OnlinePushTrans
import net.mamoe.mirai.internal.network.protocol.data.proto.Structmsg
import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0x44
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.serialization.loadAs
import net.mamoe.mirai.internal.utils.parseToMessageDataList
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.internal.utils.toMemberInfo
import net.mamoe.mirai.utils.MiraiLogger
import net.mamoe.mirai.utils.context
Expand Down Expand Up @@ -212,7 +212,7 @@ internal class GroupOrMemberListNoticeProcessor(
} else {
throw contextualBugReportException(
"解析 NewContact.SystemMsgNewGroup, subType=5, groupMsgType=$groupMsgType",
data._miraiContentToString(),
data.structureToString(),
null,
"并描述此时机器人是否被邀请加入群等其他",
)
Expand Down Expand Up @@ -244,7 +244,7 @@ internal class GroupOrMemberListNoticeProcessor(
}
else -> throw contextualBugReportException(
"parse SystemMsgNewGroup, subType=1",
this._miraiContentToString(),
this.structureToString(),
additional = "并尽量描述此时机器人是否正被邀请加入群, 或者是有有新群员加入此群"
)
}
Expand Down Expand Up @@ -287,7 +287,7 @@ internal class GroupOrMemberListNoticeProcessor(
else -> {
throw contextualBugReportException(
"解析 NewContact.SystemMsgNewGroup, subType=5, groupMsgType=$groupMsgType",
this._miraiContentToString(),
this.structureToString(),
null,
"并描述此时机器人是否被踢出群等",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.Submsgtype0xb3.SubMs
import net.mamoe.mirai.internal.network.protocol.packet.chat.NewContact
import net.mamoe.mirai.internal.network.protocol.packet.list.FriendList.GetFriendGroupList
import net.mamoe.mirai.internal.network.protocol.packet.sendAndExpect
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.ProtoBuf
import net.mamoe.mirai.internal.utils.io.serialization.loadAs
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.utils.*

/**
Expand Down Expand Up @@ -216,7 +216,7 @@ internal class FriendNoticeProcessor(
}
}
if (body.msgProfileInfos.isEmpty() || containsUnknown) {
logger.debug { "Transformers528 0x27L: ProfileChanged new data: ${body._miraiContentToString()}" }
logger.debug { "Transformers528 0x27L: ProfileChanged new data: ${body.structureToString()}" }
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ import net.mamoe.mirai.internal.network.handler.logger
import net.mamoe.mirai.internal.network.protocol.data.jce.RequestPushStatus
import net.mamoe.mirai.internal.network.protocol.data.proto.MsgComm
import net.mamoe.mirai.internal.network.protocol.data.proto.SubMsgType0x7
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.serialization.loadAs
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.message.data.PlainText
import net.mamoe.mirai.message.data.buildMessageChain
import net.mamoe.mirai.utils.context
Expand Down Expand Up @@ -70,9 +70,9 @@ internal class OtherClientNoticeProcessor : MixedNoticeProcessor() {
bot.network.logger.warning(
contextualBugReportException(
"SvcRequestPushStatus (OtherClient online)",
"packet: \n" + data._miraiContentToString() +
"packet: \n" + data.structureToString() +
"\n\nquery: \n" +
Mirai.getOnlineOtherClientsList(bot)._miraiContentToString(),
Mirai.getOnlineOtherClientsList(bot).structureToString(),
additional = "Failed to find corresponding instanceInfo.",
),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgTransmit
import net.mamoe.mirai.internal.network.protocol.data.proto.MultiMsg
import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory
import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf
import net.mamoe.mirai.internal.utils.io.serialization.toByteArray
import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.message.data.ForwardMessage
import net.mamoe.mirai.message.data.MessageSource
import net.mamoe.mirai.message.data.toMessageChain
Expand Down Expand Up @@ -120,7 +120,7 @@ internal class MultiMsg {
) : Response() {
override fun toString(): String {
if (PacketCodec.PacketLogger.isEnabled) {
return _miraiContentToString()
return structureToString()
}
return "MultiMsg.ApplyUp.Response.RequireUpload"
}
Expand Down Expand Up @@ -168,7 +168,7 @@ internal class MultiMsg {
//1 -> Response.OK(resId = response.msgResid)
else -> {
error(kotlin.run {
println(response._miraiContentToString())
println(response.structureToString())
}.let { "Protocol error: MultiMsg.ApplyUp failed with result ${response.result}" })
}
}
Expand Down Expand Up @@ -221,7 +221,7 @@ internal class MultiMsg {
//1 -> Response.OK(resId = response.msgResid)
else -> throw contextualBugReportException(
"MultiMsg.ApplyDown",
response._miraiContentToString(),
response.structureToString(),
additional = "Decode failure result=${response.result}"
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.StatSvcGetOnline
import net.mamoe.mirai.internal.network.protocol.data.proto.StatSvcSimpleGet
import net.mamoe.mirai.internal.network.protocol.packet.*
import net.mamoe.mirai.internal.utils.NetworkType
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.io.serialization.*
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.internal.utils.toIpV4Long
import net.mamoe.mirai.utils.*

Expand Down Expand Up @@ -369,7 +369,7 @@ internal class StatSvc {

else -> throw contextualBugReportException(
"decode SvcReqMSFLoginNotify (OtherClient status change)",
notify._miraiContentToString(),
notify.structureToString(),
additional = "unknown notify.status=${notify.status}"
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ import net.mamoe.mirai.internal.network.protocol.packet.*
import net.mamoe.mirai.internal.network.protocol.packet.login.wtlogin.WtLoginExt
import net.mamoe.mirai.internal.network.protocol.packet.login.wtlogin.analysisTlv0x531
import net.mamoe.mirai.internal.network.protocol.packet.login.wtlogin.orEmpty
import net.mamoe.mirai.internal.utils._miraiContentToString
import net.mamoe.mirai.internal.utils.crypto.TEA
import net.mamoe.mirai.internal.utils.soutv
import net.mamoe.mirai.internal.utils.printStructure
import net.mamoe.mirai.internal.utils.structureToString
import net.mamoe.mirai.utils.*

internal class WtLogin {
Expand Down Expand Up @@ -163,7 +163,7 @@ internal class WtLogin {
val tlvMap: TlvMap = this._readTLVMap()

if (SHOW_TLV_MAP_ON_LOGIN_SUCCESS) {
tlvMap.smartToString().soutv("tlvMap outer")
tlvMap.smartToString().printStructure("tlvMap outer")
}

// tlvMap.printTLVMap()
Expand All @@ -185,7 +185,7 @@ internal class WtLogin {
// 1, 15 -> onErrorMessage(tlvMap) ?: error("Cannot find error message")
else -> {
onErrorMessage(type.toInt(), tlvMap, bot)
?: error("Cannot find error message, unknown login result type: $type, TLVMap = ${tlvMap._miraiContentToString()}")
?: error("Cannot find error message, unknown login result type: $type, TLVMap = ${tlvMap.structureToString()}")
}
}
}
Expand Down Expand Up @@ -242,7 +242,7 @@ internal class WtLogin {
// } else error("UNKNOWN CAPTCHA QUESTION: ${question.toUHexString()}, tlvMap=" + tlvMap.contentToString())
}

error("UNKNOWN CAPTCHA, tlvMap=" + tlvMap._miraiContentToString())
error("UNKNOWN CAPTCHA, tlvMap=" + tlvMap.structureToString())
}

fun onLoginSuccess(subCommand: Int, tlvMap: TlvMap, bot: QQAndroidBot): LoginPacketResponse.Success {
Expand All @@ -266,7 +266,7 @@ internal class WtLogin {
val tlvMap119 = this._readTLVMap()

if (SHOW_TLV_MAP_ON_LOGIN_SUCCESS) {
tlvMap119.smartToString().soutv("TlvMap119")
tlvMap119.smartToString().printStructure("TlvMap119")
}

tlvMap119[0x106]?.let { client.analyzeTlv106(it) }
Expand Down Expand Up @@ -366,7 +366,7 @@ internal class WtLogin {
} ?: emptyMap()

if (SHOW_TLV_MAP_ON_LOGIN_SUCCESS) {
changeTokenTimeMap._miraiContentToString().soutv("tokenChangeTime")
changeTokenTimeMap.structureToString().printStructure("tokenChangeTime")
}

val outPSKeyMap: PSKeyMap?
Expand Down
Loading