Commit Graph

2724 Commits

Author SHA1 Message Date
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