Commit Graph

3149 Commits

Author SHA1 Message Date
Him188
55fe85473a Remove unused variables 2021-12-23 01:37:11 +00:00
Him188
7faf630454 Update kotlin-jvm-blocking-bridge to 2.0.0-160.2 2021-12-23 01:37:11 +00:00
Him188
46865721b0 Use new Duration methods 2021-12-23 01:37:11 +00:00
Him188
0f1227d401 Use Mutex than @Synchronized 2021-12-23 01:37:11 +00:00
Him188
df92607841 Use Mutex than @Synchronized 2021-12-23 01:37:11 +00:00
Him188
10af69f05e Filter out duplicated GroupTalkativeChangeEvent and relevant events with same subject. Fix #1707 2021-12-21 22:55:54 +00:00
Him188
aa53d92fbe Fix Desensitizer for NestedStructure 2021-12-21 22:22:15 +00:00
Him188
83d7c0d3d1 Add test for MemberJoinEvent.Active when request was accepted by bot 2021-12-21 22:21:41 +00:00
Him188
282f0b212c Ignore local test files 2021-12-21 19:19:17 +00:00
Him188
eb0bf21505 Fix FriendMessageSyncEvent, fix #1624 2021-12-21 19:18:57 +00:00
Him188
3a2663104b Rewrite and generalize ConstructorCallCodegen for multipurpose usage. 2021-12-21 18:46:25 +00:00
Him188
bf98ab7858 Move _contentToString outside mirai-core main sourceSets, and rename it to structureToString 2021-12-21 18:46:25 +00:00
Him188
68ec6d52e7 Fix FriendMessageSyncEvent, fix #1624 2021-12-21 03:32:27 +00:00
Him188
e202149c3a Improve AbstractNoticeProcessorTest 2021-12-21 03:32:27 +00:00
Him188
a7e0f1b288 Initialize ecKf before static-init for ECDH on Android, #1732 2021-12-15 21:14:29 +00:00
Him188
2367ee0fd9
Revert prohibition of sending file message: (#1716)
* Revert prohibition of sending file message:
- close #1715
- Report a warning in logging with stacktrace
- Show stacktrace only once

* Update util.kt
2021-12-06 15:32:51 +00:00
Him188
bc1cce313f
Support AbsoluteFolder.resolveFolderById (#1712)
* Support `AbsoluteFolder.resolveFolderById`

* resolveFolderById: Always return null when receiver is not root and id is not root
2021-12-06 15:23:27 +00:00
Karlatemp
561d333cc7
NetInternalKit 2021-12-05 18:28:44 +08:00
Him188
74fc5a5037 Throw specific SendMessageFailedException when reaching group chat limit, close #1220 2021-11-30 13:06:01 +00:00
Him188
a989ea9db1 Add SendMessageFailedException, change supertypes of MessageTooLargeException and BotIsBeingMutedException to the new exception 2021-11-30 13:06:01 +00:00
Him188
5b16414e9e Add note to NormalMemberImpl.kick 2021-11-26 18:21:48 +00:00
Him188
ca80f5285f Throw specific ISE when kicking members too fast, close #1503 2021-11-26 18:04:35 +00:00
Him188
8e8dd0e26b minor: Do not use Member but required properties in TroopManagement.Kick 2021-11-26 18:04:35 +00:00
Him188
25970cbf56 minor: move NormalMember.kick overloads from mirai-core to mirai-core-api 2021-11-26 17:59:07 +00:00
Him188
64920a399e Throw a specific exception when reaching maximum AtAll times limit, fix #1201 2021-11-26 17:31:35 +00:00
Him188
7c550bff7d
Add Image.Factory and Image.Builder for constructing Image inst… (#1673)
* Add `Image.Factory` and `Image.Builder` for constructing `Image` instances with specific properties. close #1672

* Remove redundant `create`s

* Add docs for `Image.Builder`

* Remove Image.Factory, use Image.Builder in all places.

* Fix cache & parameters

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-11-20 23:36:14 +00:00
Karlatemp
a35a19ffcc
Fix LightApp refining; fix #1660 2021-11-20 18:15:09 +08:00
Karlatemp
511d1fa4f8
Fix NetReplayHelper [no ci] 2021-11-20 17:40:58 +08:00
Karlatemp
3da565ab02
AbstractRealTimeActionTestUnit 2021-11-19 23:12:09 +08:00
Karlatemp
813d8485b6 Fix AbsoluteFileFolder resolving with absolute path 2021-11-19 15:06:41 +00:00
sandtechnology
4e3873c3d3
Fix #1674, apply right nick and remark impl to contact design (#1678)
* Fix #1674, apply right nick and remark impl for contact design

* Fix build, add missed member impl

* Fix wrong delegate in AbstractMember impl

Co-authored-by: sandtechnology <a1294790523@hotmail.com>

Co-authored-by: Him188 <him188@mamoe.net>
2021-11-16 14:54:39 +00:00
Karlatemp
736f52275f
Drop InternalFlag in MessageReceipt 2021-11-16 22:12:02 +08:00
Him188
bd041e43d1
Support Image.isUploaded, (#1671)
* Support `Image.isUploaded`,
add member `Image.md5`,
add `Image.calculateImageMd5ByImageId`,
close #1401

* Update docs
2021-11-16 10:50:17 +00:00
Karlatemp
79d92a0114
Fix old RemoteFile uploading logic 2021-11-16 18:21:55 +08:00
Karlatemp
cf2b4a193c
Fix bytecode analyze 2021-11-16 18:13:22 +08:00
Karlatemp
42510d7c1c
Fix UserProfile.sign, fix #1620 2021-11-16 12:32:55 +08:00
Karlatemp
2422aa34b5
Add image caches; Fix deserialized image not rendering in ForwardMessage; fix #1507, fix #1636 2021-11-16 12:32:28 +08:00
Karlatemp
b5d8c708bd
Redesign MultiMsg; Support nested ForwardMessage sending; close #1198 2021-11-16 12:32:28 +08:00
Karlatemp
b42a57736d
Fix ServiceMessage not refined in ANDROID_WATCH; fix #1652 2021-11-16 12:29:11 +08:00
Karlatemp
4db04e2a76
Fix group detection; fix #1661 2021-11-12 21:35:41 +08:00
Eritque arcus
12e3c4fa90
check permission before recall (#1662)
* recall check(owner sender)

* recall check

* test

* fix permission check and test

* update test

* add one more test
2021-11-10 14:39:18 +00:00
sandtechnology
57a20ea08c
Handle service unavailable case when sending message, thanks to EDG (#1659)
* Handle server busy case in sending message, thanks to EDG

* Rename to ServiceUnavailable and throw ServiceUnavailableException

* Rename to ServiceUnavailable

* Remove ServiceUnavailableException, replace with IllegalStateException
2021-11-09 22:54:19 +00:00
Him188
cb4fb495a3 Rename ByteArray.encodeToString to .decodeToString 2021-11-09 22:12:11 +00:00
Karlatemp
e1ca6dd6c9
Avoid user injection 2021-11-09 18:20:56 +08:00
Karlatemp
fa364b4b45
Reject sending FileMessage (#1657)
* Reject sending `FileMessage`

* Update docs

* Update mirai-core-api/src/commonMain/kotlin/contact/file/AbsoluteFile.kt

Co-authored-by: Him188 <Him188@mamoe.net>

Co-authored-by: Him188 <Him188@mamoe.net>
2021-11-07 10:55:02 +00:00
Karlatemp
76d23c5b0c
NetReplayHelper 2021-11-07 12:33:02 +08:00
Karlatemp
0403de2b39
Improve error message of downloadLongMessage&ForwardMessage 2021-11-06 23:24:09 +08:00
Karlatemp
69931538f5
Fix QuoteReply without msgHead, fix #1641 2021-11-06 23:20:48 +08:00
Karlatemp
8870558d4c
Fix message logging 2021-11-06 19:15:30 +08:00
Albert
3f51867f52
删除多余登录服务器 (#1634) 2021-10-30 16:06:16 +01:00
Him188
9e151e7026
Redesign group files (#1589)
* Prototype new `RemoteFiles` design

* add `@JavaFriendlyAPI`

* remove `quietly`

* move `moveTo` to `AbsoluteFile`

* Add java friendly apis

* Remove `condoneMissing`

* Change `renameTo`

* Extract interface declarations

* update docs

* Add `AbsoluteFileFolder.exists`

* Add common ProgressionCallback

* Implement `RemoteFiles` and relevant `Absolute*`

* Implement `refresh` and `refreshed`

* Update docs

* Forbid blank paths

* Update docs

* Deprecate `RemoteFile` and implement `FileMessage.toAbsoluteFile`

* Change corresponding properties on operations

* Deprecate more old declarations

* Update docs

* Add check for permission

* Allow relative paths and fix upload

* fix absolutePath

* doc update

* api dump

* `Result<R>.onSuccessCatching`

* return null when file not exists

* Fix file uploading

* Fix folder.absolutePath

* add `resolveFileById`

* Implement toString

* Add `nameWithoutExtension` and `extension`

* Add `deep` to resolveFileById

* Implement permission check

* Remove notes

* Fix `resolveFileById`

* Fix `extension`

* add docs

* Improve docs

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-10-30 16:05:57 +01:00
Him188
767475f9ab Deprecate IMirai.calculateGroupUinByGroupCode, and migrate usages to getUin. Close #1479 2021-10-30 13:44:49 +01:00
Albert
790f37ce05
修复群联系人保存 (#1633) 2021-10-30 13:38:35 +01:00
Karlatemp
217907c58a
Support sending MusicShare to friends. (#1615)
* Support sending `MusicShare` to friends.

- Also fix a potential data out-of-bounds issues

* `TypeSafeMap.get` with default values

* Fix tests
2021-10-28 13:44:18 +01:00
Karlatemp
e61fbbcc70
Fix getRawGroupHonorListData, getRawGroupActiveData (#1616) 2021-10-28 13:44:00 +01:00
Karlatemp
527fe08446
Redesign MessageChain.cleanupRubbishMessageElements() (#1607)
* Redesign `MessageChain.cleanupRubbishMessageElements()`

* Fix logic

* `CleanupRubbishMessageElementsTest`

* Fix testing unit

* more testing
2021-10-28 13:43:41 +01:00
sandtechnology
3d502a496e
Handle other cases in jpeg header (#1611)
* Handle other cases in jpeg header

Co-authored-by: sandtechnology <a1294790523@hotmail.com>

* Add unit tests

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-10-28 13:43:31 +01:00
Karlatemp
d0171878ff
Fix GroupAllowConfessTalkEvent; fix #1622 2021-10-26 22:53:51 +08:00
Karlatemp
938e7eae57
Fix ImageDecoder of JPEG format; fix #1610 2021-10-17 17:11:34 +08:00
Karlatemp
ace32caa28
Fix cross images downloading url; fix #1600 2021-10-16 16:54:15 +08:00
Karlatemp
b31f7b1ba7
AudioToSilkService (#1591)
* AudioToSilkService

* Update mirai-core-api/src/commonMain/kotlin/utils/ExternalResource.kt

Co-authored-by: Eritque arcus <1930893235@qq.com>

* `@since`; `@Experimental`

Co-authored-by: Eritque arcus <1930893235@qq.com>
2021-10-09 09:21:58 +01:00
Karlatemp
b027c6c7b7
Allow load settings from file 2021-10-07 12:04:43 +08:00
Karlatemp
0b2a759028
Image.isEmoji() (#1596)
- Also remove image regex inlining
2021-10-05 22:01:14 +08:00
Karlatemp
3e19e4b22a
Improve error message of ImageDecoder; #1593 2021-10-03 15:11:08 +08:00
Karlatemp
b1ad60fc11
Fix ForwardMessage length check; fix #1590 2021-10-02 19:03:30 +08:00
Karlatemp
c1932559a7
ssoVersion 2021-10-02 18:25:11 +08:00
lliiooll
d3425a7566
Add mac and ipad protocol from miraiGo (#1523)
* add mac and ipad protocol

* Update BotConfiguration.kt

* Update MiraiProtocolInternal.kt

* api

* Update mirai-core-api/src/commonMain/kotlin/utils/BotConfiguration.kt

Co-authored-by: Him188 <Him188@mamoe.net>
2021-10-01 22:38:04 +01:00
Him188
b0e25a5cb9 Fix FriendNickChangedEvent, fix #1536 2021-09-30 22:40:54 +01:00
Him188
6b63c323e5 Improve desensitizer: generate .serializer() for .toByteArray 2021-09-30 22:40:54 +01:00
Karlatemp
5fe9ad0658
Refine MessageSource (#1568)
* Refine MessageSource

* comments
2021-09-27 16:27:22 +01:00
Him188
cb3d4362ba Prefer using group code 2021-09-27 16:27:10 +01:00
Him188
9756a8dfa8 Fix duplicated BotJoinGroupEvent when BotInvitedJoinGroupRequestEvent is accepted by bot. Fixes #1213 2021-09-27 16:09:49 +01:00
sandtechnology
7ac65df02d
Update struct data (#1530) 2021-09-27 15:39:24 +01:00
sandtechnology
00ecf86094
Clarify specialTitle docs and support to detect specialTitle changes (#1531) 2021-09-27 15:39:11 +01:00
sandtechnology
c09f8ab192
Support for switching anonymousChat settings (#1522)
* Support for switching anonymousChat settings

* apiDump

* Applied suggestion from him188
2021-09-27 15:39:01 +01:00
Him188
ef301cc6e5
支持获取消息记录 (漫游消息) (#1520)
* Support roaming messages for friend

* Remove `RoamingMessage.getMessage`

* Remove `RoamingAuthenticator`

* Mark `@JavaFriendlyAPI`

* apiDump

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-09-18 19:37:13 +08:00
sandtechnology
4ce57f52a8
Add height, width, size and imageType attribute to Image class (#1548)
* Add height, width, size and imageType attribute to Image class
Close #1543 #1204 #1032

* Let ImageType enum code before the `Internals`, Also add @JvmStatic and OrNull version for match method

* Use runBIO and throws annotation for getImageInfo

* Add .kt suffix for MPP imagesImpl

* Return empty imageInfo for unsupported images

* Fix wrong file name

* apiDump

* Renaming MPP file instead of adding JvmName annotation

* Optimize readability and only use BIO at call-site

* Fix bug for detecting image type

* Detecting javax module for java 9+

* Clean up

* Disable some image types which not supported

* Use cross platform code to read images, readd support for apng

* Fix bug in reading image

* apiDump

* Fix bug in image reading and write unite test

* Fix wording

* Remove webp support and throws IllegalArgumentException for unsupported format

* Remove WEBP enum type

* Add unit test for unsupported image and correct comments

* Fix buffer input stream error when reading images

* Applying suggestions and fix jpg reading

* Add complete SOF decoding for jpg and clean up

* Caching jpg sof byte ranges

* Save `values()` as IMAGE_TYPE_ENUM_LIST for preventing clone operation

* Remove duplicated it
2021-09-16 04:38:59 +08:00
Him188
63fc45edd6 Try fix EventLaunchUndispatchedTest 2021-09-12 22:39:44 +08:00
Him188
062b8766a2 Raise deprecation levels:
- RichMessageOrigin
- SingleMessage.Serializer
- ForceOfflineException
- MessageSubscribersBuilder.sentByTemp
- subscribeTempMessages
- TempMessageSubscribersBuilder
- TempMessageEvent
- TempMessagePostSendEvent
- TempMessagePreSendEvent

close #1296
2021-09-12 20:57:04 +08:00
Him188
21513a92e4 Improve Bot.isOnline: do not initialize network 2021-09-12 20:42:03 +08:00
sandtechnology
e3fd680a2c
Fix #1546, revert wrong changes and request system messages (#1549)
* Fix #1546, revert wrong changes and request system messages when getting stranger

* Use faster long array

Co-authored-by: Him188 <Him188@mamoe.net>

Co-authored-by: Him188 <Him188@mamoe.net>
2021-09-12 16:51:17 +08:00
Karlatemp
d1b5c94231
Fix OnlineAudio.urlForDownload not exists when using pad with private chatting (#1551) 2021-09-12 13:17:48 +08:00
sandtechnology
394012ec3e
Support group disband kind decoding (#1525)
* Support group disband kind decoding

* Update mirai-core-api/src/commonMain/kotlin/event/events/group.kt

* Add useless comment for triggering build

Co-authored-by: Him188 <Him188@mamoe.net>
2021-09-11 14:29:39 +08:00
sandtechnology
25c489d238
#1536 Try to fix image sending error 2021-09-09 17:48:40 +08:00
Karlatemp
6cd7fa9709
#1509 try to fix bot is closed manually 2021-09-05 22:39:54 +08:00
RainChan
93fad9ee1c
#1509 try to fix bot is closed manually 2021-09-05 17:23:50 +08:00
Him188
b34dec29ca Fix serverTime diff: use currentTimeSeconds 2021-09-05 14:05:33 +08:00
Him188
2247543f65 Fix serverTime diff: ignore serverTime when it is zero 2021-09-05 13:57:58 +08:00
Him188
238ec52eea Adapt for server time difference, let MessageSource.time refer to server time. Fixes 1519 2021-09-04 21:31:10 +08:00
Him188
5188d88483 Improve CheckableResponse 2021-09-04 19:36:16 +08:00
Him188
a8acc4f4d9 Add androidMain/src/package.kt 2021-09-02 13:18:59 +08:00
Him188
7cef6277cd Rename ECDHJvmDesktop.kt in androidMain to ECDHAndroid.kt 2021-09-02 13:18:24 +08:00
Him188
4d0afc27dc Introduce auto close for ExternalResource 2021-09-01 20:05:05 +08:00
Him188
4e021d3b3e Fix cache service failure caused by users named "null" 2021-09-01 19:28:48 +08:00
Him188
66999aadaf Migrate to Kotlin 1.5.30 and review dependencies:
- Remove redundant atomicfu-common
- Do not expose kotlinx-io and atomicfu
2021-09-01 18:52:36 +08:00
Karlatemp
88b66d7863
Decode packets in netty event loop group (#1500)
* Decode packets in netty event loop group

* Update mirai-core/src/commonTest/kotlin/network/framework/AbstractNettyNHTest.kt

Co-authored-by: Him188 <Him188@mamoe.net>

Co-authored-by: Him188 <Him188@mamoe.net>
2021-09-01 14:00:27 +08:00
Him188
4d76aa82b0 Fix FriendAvatarChangedEvent
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-09-01 13:55:39 +08:00
Him188
de07e0eeb8 Use getGroupByUinOrCodeOrFail in OnlineMessageSourceFromTempImpl for tests 2021-09-01 13:55:39 +08:00
Him188
15ad3fbda6 Add BotInvitedJoinTest 2021-09-01 13:55:39 +08:00
Him188
c36d1b15f4 Remove more verbose default values in ConstructorCallCodegen 2021-09-01 13:55:39 +08:00
Him188
ec9ad7f0f1 Support nested structures in desensitizer 2021-09-01 13:55:39 +08:00
Him188
82719d6018 Ignore NewContact.SystemMsgNewGroup, subType=5, groupMsgType=16, fix #1467 2021-09-01 13:55:39 +08:00
Him188
f38089be78 Ignore NewContact.SystemMsgNewGroup, subType=0, groupMsgType=8, fix #1388 2021-09-01 13:55:39 +08:00
Him188
0ccb9c94e7 Handle possible MemberLeaveEvent.Kick for NewContact.SystemMsgNewGroup, subType=5, groupMsgType=6, fix #1171 2021-09-01 13:55:39 +08:00
Him188
cd8665b440 Add comments for kick event 2021-09-01 13:55:39 +08:00
Him188
1f2ff04c45 Get group by uin in OnlineMessageSourceFromTempImpl, fix the problem that some temp messages could not be received, fix #1410 2021-09-01 13:55:39 +08:00
Him188
9247c8b0fd Fix RecordingNoticeProcessorTest 2021-09-01 13:55:39 +08:00
Him188
86b3bbf3fb Add test for message events 2021-09-01 13:55:39 +08:00
Him188
4b4e7e1dcc Fix MemberJoinEvent processing and add MemberJoinTest 2021-09-01 13:55:39 +08:00
Him188
f51e721649 Fix group transfer and retrieve, add tests for notice events:
- GroupRetrieveTest
- GroupTransferTest
- MemberAdminChangeTest
- MemberQuitTest
- MuteTest
2021-09-01 13:55:39 +08:00
Him188
76e2b6c64c Redesign packet recording 2021-09-01 13:55:39 +08:00
Him188
c4939a7446 Add ConstructorCallCodegen 2021-09-01 13:55:39 +08:00
Him188
49c6734722 Fix ParseErrorPacket not logged 2021-09-01 13:55:39 +08:00
Him188
8663978d65 Add RecordingNoticeProcessor 2021-09-01 13:55:39 +08:00
Him188
a86c0384d4 Add AbstractPipelineContext 2021-09-01 13:55:39 +08:00
Him188
93ae89500a Fix EventBroadcasterPacketHandler.impl 2021-09-01 13:55:39 +08:00
Him188
4efbec6570 Make UnconsumedNoticesAlerter disabled by default 2021-09-01 13:55:39 +08:00
Him188
edb1713f91 Add TraceLoggingNoticeProcessor 2021-09-01 13:55:39 +08:00
Him188
2696f0b95e Remove .debug in mirai.network.debug.notice.pipeline.log.full 2021-09-01 13:55:39 +08:00
Him188
61c764bfe0 Ensure all items in MultiPacket are visited 2021-09-01 13:55:39 +08:00
Him188
9c272ebf1e Migrate more transformers to NoticeProcessorPipeline 2021-09-01 13:55:39 +08:00
Him188
edf1bc9a2e Migrate more transformers to NoticeProcessorPipeline 2021-09-01 13:55:39 +08:00
Him188
e097c5ab9d Add MutableProcessResult; remove locks 2021-09-01 13:55:39 +08:00
Him188
d15767fa9b Remove outdated todo in FriendNoticeProcessor 2021-09-01 13:55:39 +08:00
Him188
39773cd763 Move bkn from QQAndroidBot to WLoginSigInfo 2021-09-01 13:55:39 +08:00
Him188
8e947cd4e0 Delete empty ProtoBuf.kt 2021-09-01 13:55:39 +08:00
Him188
1b80fbc1e6 Redesign notice handling and introduce NoticeProcessorPipeline part 3:
- Extract `SyncController`;
- Add super type `ProtocolStruct` to `ProtoBuf` and `JceStruct` to standardize `NoticeProcessorPipeline.process`
- and other implementations for pipeline
2021-09-01 13:55:39 +08:00
Him188
be4423c993 Fix ByteArray.loadAs 2021-09-01 13:55:39 +08:00
Him188
d6b4bb9fb5 Remove Group.newAnonymousMember 2021-09-01 13:55:39 +08:00
Him188
089d0eed8c Improve performance 2021-09-01 13:55:39 +08:00
Him188
09265190e9 Add UnconsumedNoticesAlerter and cleanup
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-09-01 13:55:39 +08:00
Him188
56cbe2d8a2 Redesign notice handling and introduce NoticeProcessorPipeline part 2
Do not broadcast StrangerAddedEvent if added twice, fix stranger scope not closed

Do not add new instance if there is already one

Close and remove corresponding stranger instance if there is new friend.
2021-09-01 13:55:39 +08:00
Him188
e1ffaa5410 Fix incorrect coroutine scope created for contacts in IMirai.newFriend and IMirai.newStranger 2021-09-01 13:55:39 +08:00
Him188
dc54679acb Redesign notice handling and introduce NoticeProcessorPipeline 2021-09-01 13:55:39 +08:00
Him188
d7b493cd34 Use internal types in implementations of properties in Bot 2021-09-01 13:55:39 +08:00
Him188
975dd8e50b Use NormalMemberImpl for properties of GroupImpl 2021-09-01 13:55:39 +08:00
Him188
9590abd702
Try to fix network when sending lots of packets 2021-08-27 15:40:53 +08:00
Him188
7358d00bcf Allow NetworkHandler.State.LOADING in SelectorRecoveryTest 2021-08-26 08:01:35 +08:00
RainChan
06c1652d53
Bypass BC deprecation check on Android (#1481)
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-08-25 15:07:56 +08:00
Karlatemp
fe89533aed
Drop unnecessary anonGroupMsg 2021-08-24 21:34:37 +08:00
Karlatemp
beb83885c8
Simplify logic 2021-08-24 21:31:13 +08:00
Karlatemp
b3112dada3
Right exception when bot was muted 2021-08-23 10:59:23 +08:00
Karlatemp
fc8fd70014
Optimized IMirai.getUin() 2021-08-20 01:15:16 +08:00
Him188
98bca6ae44 Allow NetworkHandler.State.LOADING in SelectorRecoveryTest 2021-08-17 20:24:06 +08:00
Him188
13484c7a7a Remove redundant TODOs and unused classes 2021-08-13 16:21:46 +08:00
Him188
5950e9e1e8 Improve logging: use Log4j internally and support markers
Migrate usages of `MiraiLogger.create` to new API
apiDump for new logging
2021-08-11 15:24:32 +08:00
Him188
2562099884 Ensure backward-compatibility for AudioExtraData 2021-08-08 15:44:53 +08:00
Him188
40bbab4b5e Use mirai TestOnly annotation in ServerListImpl.<init> 2021-08-08 15:09:21 +08:00
Him188
8d8aca3f1c Introduce Audio for new API, revert changes on Voice 2021-08-05 21:48:20 +08:00
RainChan
bd61c1e80d
支持在踢出群成员时选择是否拉黑 (#1457)
* 支持在踢出群成员时选择是否拉黑

* fix binary-compatibility for kick NormalMember

* change doc
2021-08-03 22:20:53 +08:00
RainChan
615092e80b
修复默认情况下移除群成员即拉黑的问题 2021-08-03 20:06:12 +08:00
Karlatemp
6079cbb6e0
Fix ForwardMessage not rendering when message contains & 2021-08-02 23:16:27 +08:00
Him188
d8819bd615 Add tests for AccountSecrets 2021-08-02 14:46:55 +08:00
Him188
2ae12f4d37 Hold strong reference in RemoteFileImpl.contact 2021-08-02 13:52:48 +08:00
Karlatemp
f95482989d
Fix message rendering error with not-head QuoteReply; fix #1451 2021-07-31 19:20:09 +08:00
Him188
4a2b8ac92c Fix cancellation check in AbstractKeepAliveNetworkHandlerSelector 2021-07-31 17:50:56 +08:00
Him188
c19265b954 Inline NetworkHandler.isOk 2021-07-31 17:50:23 +08:00
Him188
3fc6fbed85 Change all system property names mirai.debug.network.* to mirai.network.* 2021-07-28 11:45:43 +08:00
Him188
24d52bbe90 Convert ComponentKey.componentName and .smartToString to extension 2021-07-28 11:04:32 +08:00
Him188
2d5c434146 Delete package context 2021-07-28 10:58:04 +08:00
Him188
3772861e17 Move AccountSecrets from package context to components 2021-07-28 10:57:39 +08:00
Him188
2995e47f40 Move SsoProcessorContext from package context to components 2021-07-28 10:55:26 +08:00
Him188
0e45deef68 Move SsoSession from package context to components 2021-07-28 10:53:03 +08:00
Him188
4f1a22cd20 Move BdhSession from package context to components 2021-07-28 10:52:02 +08:00
Him188
3b5ec941b3 Always throw MaxAttemptsReachedException when for consistency;
Correctly count failure attempts;
Tolerant `NetworkException` thrown while `resumeInstanceCatchingException`, fix #1361
2021-07-23 13:19:28 +08:00
Karlatemp
2a641415a7 Fix network not reconnect when received ReqMSFOffline 2021-07-21 00:54:49 +08:00
Karlatemp
b74b6da8a3 Add testing 2021-07-21 00:54:49 +08:00
Karlatemp
6ab2d7e4c0 Flatten NetworkException 2021-07-21 00:54:49 +08:00
Karlatemp
2730c80d2d
Fix logging of MessageSyncEvent, fix #1380 2021-07-19 09:38:29 +08:00
Karlatemp
3a9889b8c0 Decode html entities when polling announcements 2021-07-16 14:52:09 +08:00
Karlatemp
d40b74b311
Fix announcement publishing with sendToNewMember=true 2021-07-15 22:26:09 +08:00
sandtechnology
95a36443fe Fix #1192 again, taken suggestion from @AdoptOSS and @takayama-lily 2021-07-12 02:46:40 +08:00
sandtechnology
69a48987e7 Revert "Fix #1192, request admin when loading groups (#1257)"
This reverts commit ad7f95d0
2021-07-12 02:46:40 +08:00
sandtechnology
b2d6e7423a
Fix #1405, before it is a compiler undefined behavior (#1408) 2021-07-11 10:07:41 +08:00
Him188
dd606c3022 Improve performance of hexToBytes and simplify similar extensions 2021-07-07 15:00:28 +08:00
Him188
a0baa65193 Announcement API: Refine naming of properties:
- pinned -> isPinned
- popup -> showPopup
- needConfirm -> requireConfirmation

- readMemberNumber -> confirmedMembersCount
- publishTime -> publicationTime
- isAllRead -> allConfirmed
2021-07-06 19:45:51 +08:00
Him188
9d9b9ce7e2 Change AnnouncementImage's width and height to Int 2021-07-06 19:12:45 +08:00
Him188
51d354c5e9 Improve Announcement logging 2021-07-06 19:12:45 +08:00
Him188
d10cd270e8 Make AnnouncementParameters better for Java 2021-07-06 19:12:45 +08:00
Him188
5c89645056 Add a stable factory-method for AnnouncementImage 2021-07-06 19:12:45 +08:00
Him188
b239c57679 Re-order parameters of AnnouncementImage 2021-07-06 19:12:45 +08:00
Him188
47192f3ee3 Make Announcements.asStream not suspend 2021-07-06 19:12:45 +08:00
Him188
cf7b2a14a1 Catch exceptions when fetching group announcements and log with logger 2021-07-06 19:12:45 +08:00
Him188
b319e2bc5c Remove parameter title of Announcement 2021-07-06 19:12:45 +08:00
Him188
4a2b510a70 Remove announcements' low-level API and bundle them into AnnouncementProtocol, improve code style and maintainability 2021-07-06 19:12:45 +08:00
Him188
f5ce64ba4f Redesign Announcement API
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-07-06 19:12:45 +08:00
Him188
d6c4b5456f Remove inappropriate weak references 2021-07-06 19:12:10 +08:00
Him188
ddcac473dd Improve logging on updating account secrets 2021-07-05 17:50:38 +08:00
sandtechnology
b7869888f0
StatSvc.Register: Provide SSO Ip and correct logic (#1240)
* StatSvc.Register: Provide SSO Ip and correct logic

* Remove unnessacy launch

Co-authored-by: Him188 <Him188@mamoe.net>

* Test for last polled ip

* Normal login test for last ip

* Fix test failed and remove debug code

* Fix unit test and build

* Optimize pollCurrent and pollAny method

* Use uOldSSOIp and uNewSSOIp only when protocol is PHONE

* Fix bug in toIpV4Long

* Fix new line in NettyBotNormalLoginTest.kt

* Using Inet4Address and toInt method for toIpV4Long

* Return Unsigned Long for toIpV4Long

* Remove unnessacy synchronized annotation

Co-authored-by: Him188 <Him188@mamoe.net>

* Using createAddress method instead of address

* Moving lastDisconnectedIp and lastConnectedIp to Server
List

* Fix build

* Fix build and remove empty line

* Keeping naming consistent

* Use bot.components instead of overrideComponents

Co-authored-by: Him188 <Him188@mamoe.net>

* Revert overrideComponents changes and add comment for overrideComponents

Co-authored-by: Him188 <Him188@mamoe.net>
2021-07-03 22:04:49 +08:00
Him188
2713127466 Fix reconnection on Heartbeat timeout: add PacketTimeoutException 2021-07-03 21:57:12 +08:00
Him188
7b42fc6888 Fix recalling friend message, fix #1293 2021-07-02 22:36:24 +08:00
Him188
6b18a6fea9 Improve PbMessageSvc.PbMsgWithDraw logging, helps #1293 2021-07-02 22:18:15 +08:00
Him188
ec5ad17ac4 Improve ForceOfflineException.message: use canonical message tips 2021-07-02 21:43:48 +08:00
Him188
8647d38b34 Add MessageReceiptTest for #1371 2021-07-02 21:06:31 +08:00
Him188
a59d7208cb Add getMiraiImpl to replace direct calls of MiraiImpl.INSTANCE 2021-07-02 21:06:31 +08:00
Him188
91a9e63877 Do light refine after constructing MessageReceipt, fix #1371 2021-07-02 21:06:31 +08:00
Karlatemp
a4b62b0909
Voice serialization (#1368)
* Voice serialization

* Implement `hashCode` and `equals` for `Voice`

* Update test

* Update test

* Add note of `PttMessage.pttInternalInstance`

* Fix logic of `Voice.equals`
2021-07-02 12:10:20 +08:00
Him188
5aae46218f Do not throw exception from PacketCodec but log with CoroutineExceptionHandler 2021-07-02 01:18:40 +08:00
Him188
b90f86258c Add property recoverable to HeartbeatFailedException, to control recoverability.
Fix `SelectorRecoveryTest`
2021-07-02 01:18:40 +08:00
Him188
adc39a93b5 Update copyright 2021-07-02 00:39:10 +08:00
Him188
b9eb654a51 Reformat and cleanup code 2021-07-02 00:39:10 +08:00
Him188
d114d0a2e6 Optimize BotInitProcessor and add tests 2021-07-02 00:39:10 +08:00
Him188
b78c276aef ChunkedFlowSession: Ensure channel is closed on completion 2021-07-02 00:39:10 +08:00
Him188
fa9d236949 Avoid using TopLevel logger in tests 2021-07-02 00:39:10 +08:00
Him188
f379a617fd NetworkHandlerSupport: catch all exceptions in coroutine scope and direct it to network logger 2021-07-02 00:39:10 +08:00
Him188
6012f33574 Add selector logging, helps #1361 2021-07-02 00:39:10 +08:00
Him188
4d3a9e7cc5 Add SynchronizedStdoutLogger for tests 2021-07-01 11:06:58 +08:00
Him188
0d339c7303 Remove redundant suspension in BotOfflineEventMonitorImpl 2021-06-30 23:01:42 +08:00
Him188
e10155a7b3 AbstractKeepAliveNetworkHandlerSelector do not yield() but check for cancellation manually. 2021-06-30 23:01:22 +08:00
Him188
c4d129542f Unwrap CancellationException on JobAttachStateObserver.stateChanged0 2021-06-29 23:10:06 +08:00
Him188
f1bb7c566f Add generic type to SelectorNetworkHandler, improve test framework:
- Make `AbstractRealNetworkHandlerTest` sealed with subtypes;
  - `AbstractNettyNHTest`
  - `AbstractNettyNHTestWithSelector`
- Set `mirai.event.launch.undispatched` to `true` for network tests
- Use real `BotOfflineEventMonitor` in tests with selector
2021-06-29 22:47:56 +08:00
sandtechnology
2ce549e56f
Fix #1322, remove redundant cookie (#1372)
* Fix #1322, removed useless parms

* Add missed perms

* Remove redundant cookie
2021-06-28 19:19:18 +08:00
Karlatemp
eb5c7414d7
Add hashCode and equals for Image, close #1302 2021-06-26 16:29:40 +08:00
Karlatemp
f7170f2052
Delete unused internal AbstractImage 2021-06-26 16:17:53 +08:00
Karlatemp
ae54a5fb41
Private voice support (#1310)
* Support voice for private messaging

* typo

* Add extension functions for `uploadAsVoice`; Update KDocs

* Update KDoc

* Update error message

* Fix `C2CPttStoreBDH` error

* Deprecated `ExternalResource.uploadAsVoice(Contact): Voice`

* Update mirai-core-api/src/commonMain/kotlin/utils/ExternalResource.kt

* apiDump

Co-authored-by: Him188 <Him188@mamoe.net>
2021-06-26 10:02:23 +08:00
sandtechnology
d349c19c2e
StatSvc.SimpleGet: Decode the resp (#1241)
* StatSvc.SimpleGet: Decode the resp

* Close network on `StatSvc.SimpleGet.Response.Error`

* Use new `IncomingPacket`

Co-authored-by: Him188 <Him188@mamoe.net>
2021-06-25 20:29:28 +08:00
Him188
ce4373a322 Use Either for IncomingPacket.result 2021-06-25 20:11:41 +08:00
Him188
11ffb324c9 Add Either 2021-06-25 20:05:28 +08:00
Him188
b02fa15b33 Broadcast BotReloginEvent stably 2021-06-24 01:04:39 +08:00
Noire
b8de3f77ff
GroupAnnoucement (#1141)
* Add more comment about GroupAnnouncement.kt

* Edit comment about GroupAnnouncement.kt
Provide experimental api

* Api Dump

* After review

* Change to interface and API dump

* More change

* More change

* More more change

* Some change

* api dump

* Fix name

* Redesign Announcement public api

* Edit comment about GroupAnnouncement.kt
Provide experimental api

* After review

* Change to interface and API dump

* More change

* Modify to extension fun

* Fix sendAnnouncement and change place

* Change Group.deleteAnnouncement to group companion

* fix publish

* Api dump

* Reformat code

* Add `@since 2.7`

* Fix build

Co-authored-by: Him188 <Him188@mamoe.net>
2021-06-24 00:59:53 +08:00
Him188
a8dbd761eb Use start=UNDISPATCHED in launchRecovery 2021-06-24 00:42:57 +08:00
Him188
47f1ae8134 Enable tests NettyHandlerEventTest #1311 2021-06-23 15:44:52 +08:00
Him188
2e47740b1b Move setState from coroutine scope completion handler to network.close, fix #1311 2021-06-23 15:44:52 +08:00
Him188
8d4eb45386 Rearrange functions in NettyNetworkHandler 2021-06-23 15:44:52 +08:00
sandtechnology
636584cdd1
ECDH: Replacing old curve, thanks to MiraiGo (#1237)
* ECDH: Replacing old curve, thanks to MiraiGo

* Move ecdhWithPublicKey to EcdhInitialPublicKeyUpdater

* Making ECDHInitialPublicKey internal

* Remove useless log

* Improve message

Co-authored-by: Him188 <Him188@mamoe.net>

Co-authored-by: Him188 <Him188@mamoe.net>
2021-06-23 14:59:12 +08:00
sandtechnology
ad7f95d0f0
Fix #1192, request admin when loading groups (#1257)
* Fix #1192, request admin when loading groups

* Improve message

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>

Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-06-23 14:58:56 +08:00
Karlatemp
509be910c0
Avoid resource leak 2021-06-22 18:14:29 +08:00
Karlatemp
d1fdddf9e6
Break network when received LoginFailedException; fix #1352 2021-06-22 13:37:54 +08:00
Him188
f2ca8e1eff Revert "Fix kt compiler errors (#1159)"
This reverts commit b227f719
2021-06-19 23:58:27 +08:00
Him188
c37457cafb Cleanup and move local serializable classes to top-level 2021-06-19 18:28:21 +08:00
Him188
813ef2b1e6 Remove redundant tests 2021-06-19 17:41:32 +08:00
Him188
b4b25be626 Simplify setState 2021-06-19 17:16:07 +08:00
Him188
f229757395 Redesign BotInitProcessor to adjust force offline adjacently after login 2021-06-19 15:20:49 +08:00
Him188
3cc0973edd Revert "Add PacketInterceptor"
This reverts commit 04656d7a
2021-06-19 14:52:26 +08:00
Him188
d654e95f0f Revert "Fix fast login"
This reverts commit 77e5e91f
2021-06-19 14:52:23 +08:00
Karlatemp
77e5e91fc4
Fix fast login 2021-06-19 02:30:06 +08:00
Karlatemp
04656d7a03
Add PacketInterceptor 2021-06-19 02:28:16 +08:00
Karlatemp
e816755414
Fix state switching when switching to CLOSED 2021-06-19 02:26:47 +08:00
Karlatemp
627e9baa6f
Fix NettyNetworkHandler debug message 2021-06-19 02:25:38 +08:00
Karlatemp
8b5b76e32e
Run BaseStateImpl.setState with lock 2021-06-19 02:24:59 +08:00
Him188
b33d1edf03 Add SingleEntrantLock 2021-06-19 00:29:54 +08:00
Him188
833c9d2c97 Do not turn state into Connecting in handlePipelineException 2021-06-19 00:06:14 +08:00
Him188
faed38da9e Do not set state to CLOSED multiple times on close 2021-06-19 00:06:14 +08:00
Him188
99d232efe8 Remove redundant synchronization in NetworkHandlerSupport.setState 2021-06-19 00:05:50 +08:00
Him188
eba6706b47 Allow to change whether LoggingStateObserver is enabled in runtime 2021-06-19 00:04:39 +08:00
Him188
997c3ea2cf Remove SsoProcessor.createObserverChain 2021-06-19 00:04:32 +08:00
Him188
b8b8cb1fad Make LoggingStateObserver into use 2021-06-19 00:04:24 +08:00
Him188
44bfe3dbb6 Make NetworkHandlerFactory fun interface 2021-06-19 00:04:22 +08:00
Him188
c6d9825cf6 Add name to StateObverse 2021-06-19 00:04:20 +08:00
Him188
fbf7142eaf Improve performance of StateObserver.chainOfNotNull 2021-06-19 00:04:10 +08:00
Him188
f1d58c4953 Fix CombinedStateObserver.beforeStateChanged 2021-06-19 00:04:05 +08:00
Him188
951f3b2bc4 Reduce CombinedStateObserver hierarchy: use List 2021-06-19 00:03:45 +08:00
sandtechnology
48f9ca0d48
Fix #1334, update pb and fix private image upload issue (#1335)
* Fix #1334, update pb and fix private image upload issue

* Keeping consistent in annotation

* Restore old comment

* Let extendinfo default to null
2021-06-19 00:00:16 +08:00
Him188
4d10338815 Do not add BotOfflineEventMonitor in SetStateTest 2021-06-17 00:20:41 +08:00
Him188
5efced6167 Move RECONNECT_DELAY to AbstractKeepAliveNetworkHandlerSelector and set it to 0 in tests 2021-06-16 19:49:17 +08:00
Him188
cde13062d9 Ensure network closed on initialization failure 2021-06-16 19:42:58 +08:00
Him188
fc477e0122 Do not wrap exception into ISE on reaching max attempts 2021-06-16 17:26:57 +08:00
Him188
a38f24cbe5 Redesign connection maintenance mechanism:
Reconnection is directed by `BotOfflineEvent`.

### Event Broadcasting

- PacketFactory `MessageSvcPushForceOffline` closes network with `ForceOfflineException`.
 - `network.close(cause)` pass the cause to state observer from `QQAndroidBot.stateObserverChain`, the observer broadcasts as follows:
   - Nothing if `cause` is `ForceOfflineException` or `BotClosedByEvent`(which is broadcast by user)
   - `BotOfflineEvent.Dropped` if cause is NetworkException and is recoverable(which is from Netty handlers)
   - `BotOfflineEvent.Force` if cause is `ForceOfflineException` is from the factory mentioned above.
   - `BotOfflineEvent.Active` otherwise(any other unexpected exceptions considered as an error)

### Deciding whether to reconnect

User can listen and change `BotOfflineEvent.reconnect` to decide. Default values are determined by `BotConfiguration`.

### Event listening

- Component `BotOfflineEventMonitor` listens `BotOfflineEvent`, logs the event for users, and launches a coroutine to do `network.resumeConnection` to notify the selector to renew an instance.
- `BotOnlineWatchdog` in `SelectorNetworkHandler` is removed.
- Selector now handles `maxAttempts` correctly in such a way that `awaitResumeInstance` does not throw exception until maximum attempts reached.
- On every attempt, new exceptions are logged to provide debugging information, and further duplications are ignored.
2021-06-16 16:58:20 +08:00
Him188
45ba713f73 Optimize HeartbeatFailedException.toString: show information of its cause 2021-06-16 03:09:21 +08:00
Him188
ab7c49a0d5 Remove log in BotClientHolderImpl 2021-06-16 03:06:54 +08:00
Him188
b219ba986e Review network ComponentStorage framework and improve connection logics, support reconnection on force offline (closes #1330, close #1331), and on bad network.
- Remove `FactoryKeepAliveNetworkHandlerSelector` and add `KeepAliveNetworkHandlerSelector`;
- Review the storage of `QQAndroidBotClient`, extract it as a `BotClientHolder`;
- Introduce bot-level components that lasts with the lifecycle of `Bot`, and network-level components accordingly;
- Dynamically re-create the context given to `NetworkHandler` in selector, to use network-level components, including `BotClientHolder`, that allows a simple reinitialization of `BotClient`;
- Handles the situation when physical network broken on logging in, giving a hint to user and halts the log-in process and transfer the responsibility of reconnecting to selector;
- Send logout only in `Bot.close` (manual close).
2021-06-16 03:00:50 +08:00
Him188
e65593b2af Add BeforeStateChangedObserver 2021-06-16 02:37:06 +08:00
Him188
23c1a67479 Add naming notes for StatSvc.Register in logging 2021-06-16 02:29:05 +08:00
Him188
ad4f7a6232 Show OutgoingPacket.displayName in logging 2021-06-16 02:28:51 +08:00
Him188
24ac4ffa95 Add ConcurrentComponentStorage builder 2021-06-16 01:52:42 +08:00
Him188
e6119e6301 Throw NoSuchComponentException with full details in CombinedComponentStorage.get 2021-06-16 01:52:27 +08:00
Him188
9933fab4c5 Add ComponentStorage?.withPrimary 2021-06-16 01:51:50 +08:00
Him188
f4ec905aff Make CombinedStateObserver.toString more readable 2021-06-16 01:51:26 +08:00
Him188
750ab0db37 Fix StackOverflowError on calling bot.client in tests with TestSsoProcessor, fix #1332 2021-06-15 20:47:50 +08:00
Him188
bebb786b9a Fix build 2021-06-13 11:10:12 +08:00
Him188
c9f98e46d7 Implement heartbeat periods and timeouts correctly, #1255 2021-06-13 10:59:11 +08:00
Him188
43b13d158f Implement HeartbeatStrategy, #1226 2021-06-13 10:50:55 +08:00
Karlatemp
e9d9d56489
Avoid network congestion 2021-06-11 21:19:35 +08:00
Karlatemp
05a8419fb7
Fix internal error in uploading private images; fix #1317 2021-06-10 22:49:24 +08:00
Him188
1e2ab736c2 Use bot.closeAndJoin() in tests 2021-06-08 17:13:37 +08:00
Him188
81258488cb Check isActive in BotOnlineWatchdog 2021-06-08 17:13:25 +08:00
Him188
300882ea18 Redesign ComponentStorage initialization for clearer tests 2021-06-08 17:13:15 +08:00
Him188
f9da72c136 Convert DEFAULT_BLACKLIST to function and initialize the immutable set only once 2021-06-08 16:16:01 +08:00
Him188
65a3ffc147 Rename ComponentScope.plus to .withFallback 2021-06-08 16:14:23 +08:00
Him188
c8def70594 Add bot.job as parent of NetworkHandlerSupport 2021-06-08 16:14:23 +08:00
Him188
5f7f350eb5 Close PacketDecodePipeline.channel on scope closure 2021-06-08 16:14:23 +08:00
Him188
038be54444 Remote pcap4j from jvmTest 2021-06-08 16:14:23 +08:00
Him188
19bc781854 Add kotlinx-coroutines-debug to jvmTest 2021-06-08 16:14:23 +08:00
Him188
ad3bd4cc0d Stop BotOnlineWatchdog if bot is closed 2021-06-08 12:19:05 +08:00
Him188
54a78313c8 Improve logging on exceptions and correctly handle CancellationException when Bot.close is invoked. 2021-06-08 12:18:40 +08:00
Him188
3e8fc8e1ec Do not pass failed IncomingPacket to PacketFactorys 2021-06-08 12:16:26 +08:00
Him188
725b502d9e Add notes for blacklist 2021-06-08 12:04:54 +08:00
Him188
a53f97cb6f Add OnlinePush.ReqPush to blacklist 2021-06-08 12:00:35 +08:00
Him188
56165c82aa Fix ignored friend message event logging, fix #1312 2021-06-08 12:00:20 +08:00
Him188
091906577a Add StatSvc.SimpleGet to DEFAULT_BLACKLIST 2021-06-08 11:25:36 +08:00
Him188
8312a5bc98 Temporarily disable NettyHandlerEventTest to make build success #1311 2021-06-07 22:03:12 +08:00
Him188
e0f9c311f2 Temporarily disable tests BotOffline from OK TO CLOSED and BotOfflineEvent after successful reconnection to make build success #1311 2021-06-07 22:00:22 +08:00
Him188
684b844b44 Move implementation of EventDispatcher.joinBroadcast to tests and mark it @TestOnly 2021-06-07 18:46:40 +08:00
Him188
9619338d5b Catch and forward event broadcasting to EventDispatcher 2021-06-07 18:18:07 +08:00
Him188
9cf45bd9ca Ignore MessageSvc.PushNotify in logging 2021-06-07 18:14:24 +08:00
Him188
271759b4c6 Fix ignorance of MultiPacket using blacklist 2021-06-07 18:14:10 +08:00
Him188
84fb928764 Add check for arguments of NetworkHandlerSupport.sendAndExpect 2021-06-07 17:47:40 +08:00
Him188
5ebd65e78d Change setStateImpl in the ordering:
1. Update current state
2. Close old state
3. Notify observer
4. Notify selector
2021-06-07 17:05:34 +08:00
Him188
02c9fd2fb0 Add SetStateTest 2021-06-07 13:36:27 +08:00
Him188
02681428c9 Review and migrate deprecated calls 2021-06-07 12:57:01 +08:00