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 PacketFactory
s
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
Him188
b5db147985
Remove debugConf
2021-06-07 12:57:00 +08:00
Him188
e9c53eb5db
Always close netty connection if StateLoading completed with an exception
2021-06-06 16:56:19 +08:00
Him188
91b5a5da58
Disable mirai.debug.network.state.observer.logging
in tests
2021-06-06 16:35:56 +08:00
Him188
679e61e4d0
Use collectThrow
instead of throw
in SsoProcessor.SlowLoginImpl.login
2021-06-06 16:34:35 +08:00
Him188
756c805460
Fix typo
2021-06-06 16:21:50 +08:00
Him188
e7521028d1
Fix tests
2021-06-06 13:58:46 +08:00
Him188
dadff42718
Unwrap NetworkException on logon failure
2021-06-06 13:58:46 +08:00
Him188
7739c4db80
Close network in MessageSvcPushForceOffline properly by throwing ServerClosedException
2021-06-06 13:58:46 +08:00
Him188
0d28772275
Do not listen BotOfflineEvent to close network
2021-06-06 13:58:45 +08:00
Him188
137e1a1235
Fix network scopes and exception handling. Support recovering after system hibernation and network failure.
2021-06-05 16:05:41 +08:00
Him188
e788aa09f7
Add awaitStateChange
2021-06-05 16:05:41 +08:00
Him188
c6075ec299
Refine state observer for events
2021-06-05 16:05:41 +08:00
Him188
061023bc4d
Rearrange NetworkHandlerSupport
2021-06-05 16:05:41 +08:00
Him188
8ae2e04f02
Improve implementation docs
2021-06-05 16:05:41 +08:00
Him188
083a3a1e00
Prefer value class
2021-06-05 16:05:41 +08:00
Him188
b7527a1b56
Extract HeartbeatScheduler and add HeartbeatFailedException and NetworkException
2021-06-05 16:05:41 +08:00
Him188
9f466c882e
Improve syncMessageSvc
:
...
- do not suspend logon and postpone suspension until sending message
- add MessageSvcSyncer
Fix #1253
2021-06-02 17:24:46 +08:00
Him188
4fd1b25838
Close network in-place in BotOfflineEventMonitorImpl.onEvent
on BotOfflineEvent.Active
2021-05-31 17:05:20 +08:00
Him188
0c0c9d5dc2
Replace stateChanged
with stateChannel
for better performance and easier testing;
...
Add tests for `sendPacketImpl`;
2021-05-31 15:58:44 +08:00
Him188
00e2d2b77f
Support refreshing instance in NetworkHandlerSelector
2021-05-31 15:03:12 +08:00
Him188
8c0f245da1
Simplify awaitState
2021-05-31 13:39:21 +08:00
Him188
db98862712
Initialize classes before tests
2021-05-31 13:38:21 +08:00
Him188
bdd390e774
Unify logging in ContactCacheService
2021-05-31 13:38:04 +08:00
Him188
9dfb46d704
Make tests faster
2021-05-31 01:46:02 +08:00
Him188
266d73f8a1
Improve SelectorNetworkHandler lifecycle: do not tolerant any exception thrown by states
2021-05-31 01:33:00 +08:00
Him188
0505dc41fa
Stop SelectorNetworkHandler
after manual close
2021-05-31 01:12:08 +08:00
Him188
e0c0a189dc
Make NettyUtilsTest faster
2021-05-31 00:31:54 +08:00
Him188
ff6c63fafc
EventDispatcher: launch Jobs UNDISPATCHED-ly
2021-05-31 00:15:02 +08:00
Karlatemp
76eaa34917
Fix tests
...
tests
Fix StateObserver error
2021-05-31 00:15:02 +08:00
Karlatemp
6f8d15ed37
Add test timeout
2021-05-31 00:15:02 +08:00
Karlatemp
7e94eb66d4
Fix StackOverflowError
2021-05-31 00:15:02 +08:00
Him188
b5f47d5f91
Fix network:
...
- fix `awaitState`
- improve `EventDispatcher`
- use `EventDispatcher` in components
- use `eventDispatcher.joinBroadcast()` in tests to remove delays and make tests stable
2021-05-31 00:15:01 +08:00
Him188
c93d6aa608
Add ForwardRefineTest
2021-05-30 22:51:26 +08:00
Him188
301deadbd1
Add test for #1273
2021-05-30 21:16:43 +08:00
Him188
bcdff1336b
Kotlin 1.5 and dependencies updates ( #1246 )
...
* Kotlin 1.5 and dependencies updates
* Update mirai-console ref
* Use Kotlin 1.5.10
* 2.7-M1-dev-3
* Update console ref
2021-05-27 14:39:13 +08:00
Him188
5e25c0e25b
Remove bintray
2021-05-25 12:25:53 +08:00
Him188
3584ca1e71
Improve performance of CombinedComponentStorage.size
2021-05-24 13:21:38 +08:00
Him188
e769130829
Improve ComponentStorage.plus: accept nullable arguments
2021-05-11 09:01:12 +08:00
Him188
1d2b2377cf
Add ConcurrentComponentStorage.creationStacktrace
2021-05-10 13:13:58 +08:00
Him188
f7f4ccf4f5
Correct state transition logic:
...
- Linear lifecycle for NetworkHandler: no chance to change state back to previous ones
- No reconnection attempts in NetworkHandler but in NHSelector
- Ensure clashing checks performed in setState
- Print closure exception in TestNettyNH.setStateOK
2021-05-09 21:05:32 +08:00
Him188
d43a77b590
Update docs and improve source code readability
2021-05-09 15:31:50 +08:00
Him188
6bc5c1204e
Use withExceptionCollector
in sendAndExpect
2021-05-09 13:12:34 +08:00
Him188
c9a3bb23ee
Minor improvements after rebase
2021-05-09 00:54:48 +08:00
Him188
e60dd20d7b
Add AbstractNettyNHTest.setSsoProcessor
2021-05-09 00:54:48 +08:00
Him188
0584b44823
Fix imports
2021-05-09 00:54:48 +08:00
Karlatemp
b31ef37c8d
Exception Handling; Normal login tests
2021-05-09 00:54:48 +08:00
Him188
d2f600f9bb
Fix docs
2021-05-09 00:54:48 +08:00
Him188
e58db121dc
Remove redundant properties
2021-05-09 00:54:48 +08:00
Karlatemp
361304b9f2
Fix NPE in StateConnecting
2021-05-09 00:54:48 +08:00
Him188
b53e546743
Prototype EventDispatcher
2021-05-09 00:54:48 +08:00
Him188
5d3130448c
Add NHSupport.setState safe overload and fix tests
2021-05-09 00:54:48 +08:00
Him188
1bb1b18f98
Improve logging in components
...
- Fix duplicated event logs
- Specify logger name for AccountSecretsManager
- Fix OtherClientUpdater logger
- Unify ServerList logger
- SubLogger.isEnabled
2021-05-09 00:54:48 +08:00
Him188
060004644e
Add writeAndFlushOrCloseAsync to handle exception on send properly
2021-05-09 00:54:48 +08:00
Him188
a77b52e7d3
Add bot argument to PushReqResponse and filter in ConfigPushProcessorImpl
2021-05-09 00:54:48 +08:00
Him188
d14ed0cecd
Dispatch events in Bot scope
2021-05-09 00:54:48 +08:00
Him188
b62e39b4d1
Set state to CLOSED on failure during connecting
2021-05-09 00:54:48 +08:00
Him188
f684b148d3
Remove notes that was for rewrite
2021-05-09 00:54:48 +08:00
Him188
61bc657417
Extract some logic out of QQAndroidBot
2021-05-09 00:54:48 +08:00
Him188
35884182af
Fix and improve event logging
2021-05-09 00:54:48 +08:00
Him188
d73f5a2692
Review BotConfiguration and implement relevant configs, implement alive heartbeat, fix behavior on resume
2021-05-09 00:54:48 +08:00
Him188
6e06406a3a
Support network selector retry
2021-05-09 00:54:48 +08:00
Him188
83a81961ca
Properly suspend coroutine is not available for send
2021-05-09 00:54:48 +08:00
Him188
eb80a4836b
Remove all unstable kotlin.Duration usages
2021-05-09 00:54:48 +08:00
Him188
a7a4879d05
Improve logging
2021-05-09 00:54:48 +08:00
Him188
5fa54114c1
Fix sso and event logging
2021-05-09 00:54:48 +08:00
Him188
971685a2b0
Fix state resume
2021-05-09 00:54:48 +08:00
Him188
95d634233c
Close bot if first login failed
2021-05-09 00:54:48 +08:00
Him188
35a6d12dde
Test: network scope closed on bot close
2021-05-09 00:54:48 +08:00
Him188
062492c546
Test: NettyEndlessReconnectionTest
2021-05-09 00:54:48 +08:00
Him188
e584bc8ee8
Test: state tests
2021-05-09 00:54:48 +08:00
Him188
8db8e2fb03
Implement lifecycle management for network
2021-05-09 00:54:48 +08:00
Him188
f9ddf74d8e
Extract sync logic
2021-05-09 00:54:48 +08:00
Him188
076cd4997d
BotOfflineEventMonitor
2021-05-09 00:54:48 +08:00
Him188
3806d7ce78
fix componentName and smartToString
2021-05-09 00:54:48 +08:00
Him188
c35c2c97c8
CombinedStorageTest
2021-05-09 00:54:48 +08:00
Him188
b91bbfd2b8
Add NetworkHandlerFactory and tests for NetworkHandler
2021-05-09 00:54:48 +08:00
Him188
4f77abca87
Components misc implementations including (ABI changes):
...
- ComponentStorage and its impls
- ContactCacheService
- ContactUpdater
- HeartbeatProcessor
- SsoProcessor
- QQABot
2021-05-09 00:54:48 +08:00
Him188
7f2f1e9759
Rearrange network tests
2021-05-09 00:54:48 +08:00
Him188
9286d2124e
Add utils for tests
2021-05-09 00:54:48 +08:00
Him188
035085cf45
Remove state CONNECTION_LOST
2021-05-09 00:54:48 +08:00
Him188
84fa460b32
BotOnlineEvent, BotReloginEvent, BotOfflineEvent
2021-05-09 00:54:48 +08:00
Him188
d70475b8ba
Do not resume state while it is already closed
2021-05-09 00:54:48 +08:00
Him188
0e1b9da5e4
Fix test KeepAliveNetworkHandlerSelectorTest
2021-05-09 00:54:48 +08:00
Him188
79112bc98d
Fix LongMessageInternal missing parameter (due to merge)
2021-05-09 00:54:48 +08:00
Him188
35b80dc700
Processors
2021-05-09 00:54:48 +08:00
Him188
dd1b7404ea
IDEA removed my import
2021-05-09 00:54:48 +08:00
Him188
9db3a5ef4f
Rearrange packages for component system
2021-05-09 00:54:48 +08:00
Him188
0443fe4576
Prefer generified outgoing packets in all factories
2021-05-09 00:54:48 +08:00
Him188
82ad953b2b
Continuing implement states for NetworkHandler
2021-05-09 00:54:48 +08:00
Him188
03e12eb287
fix build
2021-05-09 00:54:48 +08:00
Him188
9ac0a8715c
Integrate ServerList into component system
2021-05-09 00:54:48 +08:00
Him188
3ec8a94096
ContactUpdater and ContactCacheService
2021-05-09 00:54:48 +08:00
Him188
51c1450202
ComponentStorage
2021-05-09 00:54:48 +08:00
Him188
05b2bfe059
Rearrange packages
2021-05-09 00:54:48 +08:00
Him188
70551167ba
States and connection impl
2021-05-09 00:54:48 +08:00
Him188
1fef89cf1c
Add state observer
2021-05-09 00:54:48 +08:00
Him188
8786f12d5d
Add NetworkHandler.isOk to avoid state == OK
2021-05-09 00:54:48 +08:00
Him188
4446479e80
Make QQAndroidClient lighter
2021-05-09 00:54:48 +08:00
Him188
f2b236341a
Decouple SSO login processor
2021-05-09 00:54:48 +08:00
Him188
997ad1eb63
Rearrange QQAndroidBot
2021-05-09 00:54:48 +08:00