Karlatemp
fe14600018
[core] Private quote reply decode
2023-03-29 22:52:59 +08:00
Karlatemp
648997b545
[core] Fix offline message source ids
2023-03-29 22:52:59 +08:00
Karlatemp
1169d7cf57
[core] Fix quote replying; Fix message source time
2023-03-29 22:52:58 +08:00
Karlatemp
e2d7332ac0
[core] Add QRCodeLoginListener.onCompleted
2023-03-27 00:55:54 +08:00
微莹·纤绫
434ef0cc39
Tlv writer ( #2569 )
...
* [core] TlvMapWriter
* [core] bind tlv writing with writer
* [core] Add checking to avoid wrong nest writing
* [core] Drop Int.invoke
* [core] Merge with dev
* [core] Update style
2023-03-26 23:51:03 +08:00
sandtechnology
0f1bddcb24
[core] Fix token not saving after refresh token ( #2590 )
2023-03-25 14:08:20 +00:00
cssxsh
b37fe6c2ed
update: protocol ANDROID_WATCH 2.0.8 ( #2592 )
2023-03-24 19:10:13 +00:00
sandtechnology
baf9ee4bf7
[core] Add missed refresh token logic for OnlinePush.SidTicketExpired ( #2584 )
2023-03-22 03:01:43 +00:00
Him188
c74e9d2858
[build] Make mirai-core AbstractTest
public, and add dependsOnCoreJvmTest
in buildSrc
2023-03-21 18:12:04 +00:00
sandtechnology
7e20883a08
[core] Fix OnlinePush.SidTicketExpired logic ( #2563 )
...
* Fix OnlinePush.SidTicketExpired logic
* Add missed responseCommandName
2023-03-21 15:00:26 +00:00
cssxsh
f4fa2cabf4
[core] feat: essence message setting ( #2314 )
...
* feat: remove essence message
* feat: Essences
* add: share and remove
* fix: impl
* fix: arguments
* feat: image url to image
* add: doc
* fix: doc
* Copyright: 2023
* remove: method removeEssenceMessage
* feat: lazy load source
* add: no parse
* add: sendAndExpect try
* fix: remove throw
* fix: parse IMAGE_MD5_REGEX
2023-03-21 14:53:23 +00:00
cssxsh
c016b822e7
[core] 修复群公告查询已阅读人员列表只能获取前 50 个的问题 ( #2530 )
2023-03-21 14:45:42 +00:00
sandtechnology
28b1032acd
[core] Handle rare case on packet pipeline ( #2450 )
...
* Handle rare case on packet pipeline
Fix #2449 , should help #1603
* Fix and improve tips and improve the readability of code
* Improve wording of tips
Co-authored-by: Him188 <Him188@mamoe.net>
* Change d2Key error type to PROTOCOL_UPDATED
* Reformat code
---------
Co-authored-by: Him188 <Him188@mamoe.net>
2023-03-21 14:43:48 +00:00
NoMathExpectation
64f80949ac
Fixed message sending ignoring modifies via MessagePreSendEvent. ( #2525 )
2023-03-21 13:10:47 +00:00
Him188
427c37e649
[build] Update to Kotlin 1.8.10
2023-03-19 03:18:34 +00:00
StageGuard
78d0b4fd54
QRCode login support & Introduce new authorization factory ( #2502 )
...
* [core] process `wtlogin.trans_emp` to support qrcode login
* [core] fix `wtlogin.trans_emp` protocol
* [core] optimize QRCodeLoginProcessor logic
* [core] fix `wtlogin.trans_emp` outgoing packet
* [core] cancel login when logging a bot which is inconsistent from bot factory
* [core] ignore `flag3` check on ANDROID_WATCH & name `flag1` and `flag2`
* [core] provide default `QRCodeLoginListener` for jvm
* [core] don't catch IllegalStateException in QRCodeLoginProcessor
* [core] Use `LoginSolver.createQRCodeLoginListener()` instead of property; Rename configuration name
* [core] Code improvement
* [core] remove qrcode state lock
* [core] ignore `flag3` when command is `wtlogin.trans_emp` in packet codec
* [core] enable qrcode login for macos
* [core] remove debug property in log
* [core] reformat code
* [core] rename `TransEmpResponse` to `Response`
* [core] assert `flag3Exception` not null first
* [core] remove arg client
* [core] update qrcode login notes
* [core] set custom qrcode size
* [core] Draft BotAuthorization
* [core] make SecretsProtection mpp
* [core] BotAuthorization.byXXX
* [core] Move QRCodeLoginListener to `.auth`
* [core] Protect data of BotAccount
* [core] Add SelectorRequireReconnectException
* [core] Implementation of BotAuthorization
* Revert changes of BotConfiguration
* api dump
* [core] remove passwordMd5 in `BotAccount`
* [mock] Add new bot factory function to mock bot factory
* Delete LoginCommandTest
* [core] Improve QRCode render
* [core] Introduce UnsupportedCaptchaMethodException & UnsupportedQRCodeCaptchaException
* api dump
* update docs
* [core] update `DebugRunHelper`
* [core] add simple block for BotAuthorization
* api dump
* Rename `canDoQRLogin` to `supportsQRLogin`, and specify argument names for MiraiProtocolInternal
* Remove `phoneNumber` parameter from BotAccount
* Make `BotAccount.<init>` with String password parameter TestOnly
* Rename `InconsistentBotException` to `InconsistentBotIdException`
* Rename `QRCodeLoginListener.onStatusChanged` to `QRCodeLoginListener.onStateChanged`
* Rename `BotAuthorizationResult` to `BotAuthResult`
* Rename BotAuthComponent, move internal APIs to internal module
* Logic fixup
* doc update
* QRCodeLoginListener.qrCodeStateUpdateInterval & onIntervalLoop
* console login with BotAuthorization
* update testing
* Update mirai-core-api/src/jvmMain/kotlin/utils/LoginSolver.jvm.kt
* Move AuthControl outside SsoProcessor
* Redesign auth
* Add initialTicket to producerCoroutine
* Revert protocol changes of MACOS
* Fix latch death locking
* Fix CoroutineOnDemandValueScope.receiveOrNull exceptional finish
* Fix exception collecting
* Fix DefaultBotAuthorizationFactory loading
* [core] qrcode login for IPAD protocol
* Revert "[core] qrcode login for IPAD protocol"
This reverts commit c1136a8798
.
---------
Co-authored-by: Karlatemp <kar@kasukusakura.com>
Co-authored-by: Him188 <Him188@mamoe.net>
2023-03-18 13:52:31 +00:00
cssxsh
e5ff458a5d
fix: address as NettyChannelException message ( #2576 )
...
* fix: address as NettyChannelException message
* fix: message
2023-03-16 22:23:42 +08:00
cssxsh
b6b1059107
update: MiraiProtocol IPAD MACOS ( #2575 )
2023-03-15 14:15:34 +00:00
Eritque arcus
3ff2737b3c
Add fallback solution for Services ( #2511 )
...
* add fallback solution for Services
* use castUp
* throw exception when prop doesn't match
* cannot use castUp
* improve codes
* improve name of functions
* add both
* add override
* solve conflicts
* [core] Move MiraiCoreServices to common
* [core] Improvement
* update var names
* update func names
---------
Co-authored-by: Karlatemp <kar@kasukusakura.com>
2023-03-11 18:12:56 +08:00
ヒューマンワーキン
a0d9047b7b
修复 dumpTlvMap 不正确的返回值 ( #2557 )
...
* 修复 dumpTlvMap 不正确的返回值
* Update WtLogin.kt
* Update WtLogin.kt
注意力涣散.jpg
2023-03-08 11:58:24 +00:00
sandtechnology
01d2851af1
Update android protocol version ( #2551 )
...
Thanks to MiraiGo.
Fixes #2545,#2492,#2453
2023-03-07 12:15:20 +00:00
Karlatemp
4d9f6e88f9
[core] Fix polymorphic serialization
2023-02-20 22:09:39 +08:00
cssxsh
bec756e0bf
[core] fix: announcements cookie ( #2512 )
2023-02-19 11:50:02 +00:00
sandtechnology
f4667fe1ef
[core] Handle TimeoutCancellationException when resuming connection. Fix #2504 , fix #2488 ( #2505 )
...
* #2504,#2488 handle TimeoutCancellationException when resuming connection
* Remove unnecessary code and fix wording
* Use yield() instead of delay
* Use yield() instead of delay
2023-02-19 11:49:41 +00:00
Karlatemp
e686a23f40
[core] Fix offline message source quote replying; fix #2501
2023-02-16 23:06:23 +08:00
Him188
940e76aa95
[core] Fix AbstractProcessorPipeline.registerBefore
, do addFirst
instead of add
2023-01-29 08:33:54 +00:00
sandtechnology
cc7f35519e
Update login protocol ( #2433 )
...
* Update login protocol
Still need testing
* Turn off debug option and make t547 null when failed
* Fix wrong convert method and improve tips
* Remove unused part and improve tips
* Fix typo
* Inline resultStatus for performance
* Rename pow to PoW, the name should be "Proof of Work"
* Add shadow and deps-test for kt-bignum
* Try to fix deps-test
* Fix deps-test again
2023-01-18 17:41:21 +08:00
sandtechnology
53f1971d94
[core] Generate and handle tgtgtKey correctly, fix #2418 ( #2419 )
...
* Generate and handle tgtgtKey correctly, fix #2418
* Optimize the code readability of WtLogin9
* Add utility method to write t106 with A1
2023-01-13 23:36:10 +00:00
sandtechnology
e7bcb190a7
Update ANDROID_PHONE and ANDROID_PAD protocol ( #2423 )
...
Updated From MiraiGo:a30750849d
2023-01-13 12:28:28 +00:00
Him188
f04c623658
[core] Implement a more efficient algorithm to fetch roaming messages for group:
...
- Added `RoamingMessagesImplGroup`.
- Dump API changes for Group RoamingMessages.
- [mock] Fix MockRoamingMessages missing MessageSource
- [core] Convert hierarchical TimeBasedRoamingMessagesImpl to common, to reduce code complexity
2023-01-05 02:33:27 +00:00
Him188
db601928ea
[core] Rename CommonRoamingMessagesImpl to TimeBasedRoamingMessagesImpl. Extract RoamingMessagesImplFriend
2023-01-05 02:33:27 +00:00
StageGuard
2d0b4d470a
[core] Proposal implementation of RoamingSupported
for Group
2023-01-05 02:33:27 +00:00
StageGuard
5a73c75554
[core] decode MessageSvc.PbGetGroupMsg
and OidbSvc.0x88d_0
2023-01-05 02:33:27 +00:00
cssxsh
2cffb7a4a4
[core] feat: RockPaperScissors ( #2220 )
...
* [core] feat: RockPaperScissors
Co-authored-by: Karlatemp <kar@kasukusakura.com>
* docs update
* rename `eliminate` to `eliminates`
Co-authored-by: Karlatemp <kar@kasukusakura.com>
2023-01-03 10:00:32 +08:00
Him188
eea2ef509d
[core] Delete cache file if exception occurred while loading GroupMemberListCache. Fix #2399
2023-01-02 16:13:01 +00:00
微莹·纤绫
553ea9abbc
[core] Introduce CacheValidator for validating caches ( #2388 )
...
* [core] Export DeviceInfo.serializer() to mirai-core
* [core] Introduce CacheValidator for validating caches
2023-01-02 15:39:36 +00:00
Him188
0a7df909ca
[core] AbstractRealNetworkHandlerTest: close bot after each test only if bot was created
2022-12-27 17:39:46 +00:00
Him188
e3e71e1d1f
[core] Do logout only if firstLoginSucceed
2022-12-27 17:39:46 +00:00
Him188
04b16fe2e4
[core] Ensure Bot.login always show actual login cause whenever a failure in Bot.close
happens
2022-12-27 17:29:26 +00:00
Him188
2252683cee
[core] Ensure Bot's CoroutineScope is always cancelled on Bot.close
if network.close
threw an exception
2022-12-27 17:28:52 +00:00
Him188
38162db477
[core] Add test rethrow exception caught during Bot_login
, helps #2338
2022-12-27 16:54:05 +00:00
Him188
2accabef9e
[core] Implement correct TlvMap dump for unrecognized login errors
2022-12-27 16:29:42 +00:00
Him188
7908edb57b
[core+console] Raise deprecation level for 2.14, API including:
...
- EventChannel.asChannel
- (internal) syncFromEventImpl
- EmptyMessageChain
- GroupEntranceAnnouncementChangeEvent
- MiraiConsole.createLogger
- SingletonExtensionPoint
2022-12-27 15:53:12 +00:00
Him188
76a70f596f
[core] Raise deprecation level for RemoteFile to ERROR (for v2.14)
2022-12-27 14:34:41 +00:00
cssxsh
60dd4b5be6
[core] Add friendGroupId default value ( #2403 )
...
Fixes https://mirai.mamoe.net/topic/1895
2022-12-24 14:22:14 +00:00
Karlatemp
d9f3fe616c
[core] Fix ForwardMessage rendering on iOS; fix #1575
2022-12-15 00:22:45 +08:00
Karlatemp
3abef93fd8
[core] Fix jceData of MessageSource from ForwardMessage; fix #2342
2022-12-11 22:29:10 +08:00
Karlatemp
c77ed79b12
[core] Encode html entities for forward message; fix #2241
2022-12-11 22:26:06 +08:00
Karlatemp
c52e99dd87
[core] Include more details in error message to help debug.
2022-12-08 23:44:30 +08:00
Karlatemp
e65f4e65c8
[core] Improve error message of NormalMember.modifyAdmin(); #2370
2022-12-03 19:59:48 +08:00
Karlatemp
b5fcbe99fb
[core] Improve error message of NormalMember.modifyAdmin(); #2370
2022-12-03 19:30:15 +08:00
Him188
60bbcf6e2c
[core] Revert "Review atomic calls and enable atomicfu compiler. Close #2315 ", due to atomicfu does not behave correctly when mirai-console depends on mirai-core-utils. Fixes #2329 .
...
This commit reverts part of commit 564a7ce8f8
2022-11-27 20:08:21 +00:00
Him188
3360347ca2
[build] Fix dependency exclusion for builds when IDEA_ACTIVE
2022-11-27 15:25:18 +00:00
Him188
76cee371a9
[build] Register native binaries for mirai-core only to speed up builds
2022-11-27 15:25:18 +00:00
Him188
c0ccdbe9d3
[build] Rewrite shadow relocation
2022-11-27 15:25:18 +00:00
Karlatemp
372c25024c
[core] Fix temporary buffer acquiring; Fix #2309
2022-11-18 20:41:53 +08:00
Karlatemp
b38687a3ea
[core] Temporary disable Reconnect without slider request
; Reduce device banning caused by loginsolver error
2022-11-15 18:20:33 +08:00
Karlatemp
90f2fee243
[core] Don't reconnect if error in onSolveSliderCaptcha
2022-11-15 18:18:57 +08:00
Karlatemp
85bf607b60
[core] Include login solver information in UnsupportedSliderCaptchaException
2022-11-15 18:15:36 +08:00
Karlatemp
bbf3c09ae4
[core/debug] Fix build
2022-11-14 06:02:46 +08:00
Karlatemp
fe70187881
[core/debug] Add utils for debug running; Update docs for launch debug run
2022-11-14 00:33:07 +08:00
Karlatemp
dd143890cd
[core] Fix bad atomic
2022-11-08 12:41:02 +08:00
cssxsh
1c79da0f38
[core] feat: Announcement confirmed member api ( #2255 )
...
* feat: Announcement confirmed
* add: native
* add: todo
* fix: dump
2022-11-03 10:42:21 +00:00
Him188
f24ca9628f
[core] Optimize array expansions
2022-11-02 19:29:02 +00:00
Him188
9613c9b7e5
[core] Add more information on LIMITED_MESSAGING
2022-10-31 10:44:13 +00:00
Him188
573f08955c
[core] Show specific reason for error 46 while sending message. Close #2127
2022-10-31 10:41:06 +00:00
Him188
7e84330262
[core] Use netty-handler instead of netty-all to reduce size
2022-10-29 13:11:30 +01:00
Him188
564a7ce8f8
[core] Review atomic calls and enable atomicfu compiler. Close #2315
2022-10-29 13:04:37 +01:00
Him188
ab8e53fc76
[core] Suppress NOTHING_TO_INLINE warnings for AtomicIntSeq
2022-10-29 11:57:01 +01:00
Him188
2baba6a1f3
[core] Fix up previous commit 81a09549e7
2022-10-29 11:56:08 +01:00
Him188
d0f825b0b0
[core] Replace AtomicIntSeq
with value class implementations to optimize space. Close #2287
2022-10-29 11:49:30 +01:00
Him188
81a09549e7
[core] Fix potential memory leak with buildPacket
2022-10-29 11:36:41 +01:00
cssxsh
9818c08054
[core] Add sign event ( #2217 )
...
* add: SignEvent
* add: SignEvent
* add: hasRank
* add: api dump
* add: toString
* add: toString
* fix: sign for review
2022-10-29 11:11:20 +01:00
cssxsh
c9d1d386b1
fix: ANDROID_PHONE and ANDROID_WATCH ( #2312 )
...
* fix: ANDROID_PHONE and ANDROID_WATCH
* fix: ANDROID_PHONE
2022-10-28 22:49:09 +01:00
Him188
9c3514dc89
[core] Remove necessary inlining in MessageSvcPbSendMsg to improve debugging experience
2022-10-28 14:46:24 +01:00
Him188
1f8524fb04
Fix all compiler warnings throughout the project
2022-10-21 17:00:37 +01:00
Him188
25e66d19c7
[core] Filter out relocated ktor dependencies in runtime except for mirai-core-utils and mirai-core-all. Fix #2291
2022-10-21 16:09:27 +01:00
Karlatemp
ddfd22e541
[core] [Network] Handle non ipaddress converting caused by some unknown
2022-10-20 12:58:09 +08:00
Karlatemp
58ab562322
[core - JVM] [Network] Wrap exception from connecting to NettyChannelException
to allow selector to reconnect
2022-10-20 12:56:39 +08:00
Karlatemp
5fb1d714f7
[core] Improve exception message of Outdated Version
2022-10-15 22:39:27 +08:00
Him188
4276b67b2b
[core] Fix internal comments in estimateLength
2022-10-13 15:39:00 +01:00
Him188
73293251d1
[core] Improve docs for messages
2022-10-13 15:35:34 +01:00
Karlatemp
dc6f590581
[mock] Fix building
...
- caused by 5ed9dc7e
2022-10-13 00:27:55 +08:00
Him188
5ed9dc7e89
[core] Check service configuration when loading MessageProtocols. Helps #2268
2022-10-12 14:54:47 +01:00
Him188
4d80e0e6d3
[core] Improve documentation on processor pipeline system.
2022-10-12 14:38:17 +01:00
Him188
7c1e468b85
[core] Load FriendGroups separately from Friends. Fix #2274 .
2022-10-12 12:05:31 +01:00
Him188
7fd3234ff3
[core] Fix bot.close
, ensure network is also closed, fix recursion problems. Fix #2266
2022-10-10 22:51:02 +01:00
Karlatemp
eb9143d520
[core] Use ptt codec
2022-10-10 00:34:06 +08:00
Karlatemp
9eef7d3787
[core] Fix group audio url fetching. fix #2269
2022-10-10 00:10:25 +08:00
Him188
16609fb1e0
[core] Introduce Streamable
for simplified multiplatform asFlow
a… ( #2256 )
...
* [core] Introduce `Streamable` for simplified multiplatform `asFlow` and `asStream`. Make `Announcements.asFlow` not suspend.
* Remove `@JvmBlockingBridge` in native
2022-09-25 23:44:18 +08:00
Him188
2da0a2d6d3
[core] Fix relevant uses of Closeable
2022-09-23 23:01:39 +08:00
Him188
9122dddfb7
[core] Add net.mamoe.mirai.utils.Closeable
for MPP use
2022-09-23 21:38:06 +08:00
cssxsh
d000f2ea0f
[core] add group level api ( #2115 )
...
* add: api dump
* feat: Member.level
* add: api dump
* rename: level to rank
* feat: rank show
* feat: honor flag
* fix: honor flag index
* feat: record and chart
* feat: flag and docs
* add: api dump
* fix: active
* fix: honor
* fix: active
* fix: rebase
* fix: docs
* feat: MemberActive
* fix: for review
* feat: other notification
* remove: low level api
* add: since and api dump
* add: since
* for: review
* add: event sync
* fix: name and docs
* fix: api dump
* fix: for review
* add: ActiveRank, MemberMedal close #2233
* fix: active for review
* improve public API for inlined GroupHonorType
* Change `@since 2.13.0` to `@since 2.13`
* dump api changes
* implement mock framework for Active
* change `GroupActive.flush` to `GroupActive.refresh`
* improve docs for GroupActive
* remove unnecessary expect/actual for MemberActive
* change property names in GroupInfo
* check permission in MockGroupActiveImpl
* optimize member names in CommonGroupActiveImpl
* fix error checking
* dump api
Co-authored-by: Him188 <Him188@mamoe.net>
2022-09-21 23:18:50 +08:00
AdoptOSS
397d824d33
[core] enhance(ECDH): reconstruct ECDH ( #2161 )
...
* enhance(ECDH): reconstruct ECDH
common: 移动特定于 QQ 平台的实现到 OicqECDH,重新设计 ECDH,使 ECDH 类只针对算法本身,而不过多包括 QQ 协议的使用细节
jvm: 尝试优先使用平台加密实现,可能改善性能
jvm & android: 使用 curveName `secp256r1` 代替 `prime256v1`,前者在 Java 中更常用,可以被更多的 JCE 实现所识别(虽然都是指同一条曲线)
android: 使用系统自带的实现以减少依赖,并尝试兼容 Android P+ 版本
native: 中间储存时保留OpenSSL内部结构而不反复 new & free,提高性能
(为了实现智能指针,需要用到 `@ExperimentalStdlibApi` 的 `createCleaner`,但这种风险应该可以接受)
native: 直接使用 point/bignum 到 bytes 的转换,避免了 hex string 作为中间层,提高效率
* test(ECDH): fix AndroidTest
* style(Ecdh): obey official Kotlin coding conventions
> When using an acronym as part of a declaration name, capitalize it if it consists of two letters (IOStream); capitalize only the first letter if it is longer (XmlFormatter, HttpInputStream).
> [View origin](https://kotlinlang.org/docs/coding-conventions.html )
Co-authored-by: ArcticLampyrid <arcticlampyrid@outlook.com>
2022-09-11 20:14:39 +08:00
Him188
bfbc6bcb02
[core] Fix selector for CONNECTING state
2022-09-11 19:41:16 +08:00
Him188
eb89b6348d
[core] Support solving device verification request by SMS:
...
- close #2190 , helps #717
- deprecate `LoginSolver.onSolveUnsafeDeviceLoginVerify`, add `.onSolveDeviceVerification`
2022-09-11 19:41:16 +08:00
Him188
951e835a26
[core] Fix sender name in forwarded messages. close #2187
2022-09-07 13:02:48 +08:00
cssxsh
7804ca1d7d
fix: watch and macOS ( #2228 )
2022-09-02 07:45:33 +08:00
Him188
f0651c81c6
[core+console] Improve logging hierarchy: ( #2196 )
...
- always use factory API from mirai-core
- Terminal is still overriding standard outputs
- plugins are forbidden to override logging framework (this was allowed but not working before)
2022-08-27 18:46:16 +08:00
Him188
f4db93745d
[core] Move structureToString from .core.utils.debug
to .core.utils
...
due to compiler bug.
2022-08-27 01:21:14 +08:00