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
ArgonarioD
4f0f733f4d
修复JvmPlugin无法通过自己的classLoader以getResource的方法获取全局依赖的class文件 ( #2536 )
...
* [console] Fixed classLoaders of JvmPlugin cannot getResource(classes of global dependencies), fix #2535
* [core/utils/jvm] new fun: addAll(Enumeration)
* [console] modify DynLibClassLoader.tryFastOrStrictResolveResource to tryFastOrStrictResolveResources
* [console] remove allClassesAsResources field
* [console] add var to control whether class files of mirai dependencies could be load as resources
* [console/integration-test] modify loader test
* [console] dump new apis
* [console] rename JvmPluginClasspath.openMiraiDependenciesClassResource and standardize its KDoc
* [console] modify the KDoc of JvmPluginClasspath.shouldResolveConsoleSystemResource
* [console/integration-test] improve resources loading test cases
* [console/integration-test] modify assert to assertTrue
2023-03-12 22:37:47 +08: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
cssxsh
9f36eff070
[core] Support loading service from classloaders other than current ( #2428 )
...
* fix: load service, close #2268 #2427
* fix: check empty
2023-02-17 09:57:12 +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
Karlatemp
c77ed79b12
[core] Encode html entities for forward message; fix #2241
2022-12-11 22:26:06 +08:00
Him188
f24ca9628f
[core] Optimize array expansions
2022-11-02 19:29:02 +00:00
微莹·纤绫
4abb3e3703
[core] Introduce Flow<T>.toStream()
for simply implement Streamable
( #2259 )
...
* [core] Introduce `Flow<T>.toStream()` for simply implement `Streamable`
* Drop `unintercepted` support
* fix ci
* update test
2022-10-31 13:09:58 +00:00
Him188
564a7ce8f8
[core] Review atomic calls and enable atomicfu compiler. Close #2315
2022-10-29 13:04:37 +01:00
Him188
1f8524fb04
Fix all compiler warnings throughout the project
2022-10-21 17:00:37 +01:00
Him188
4d80e0e6d3
[core] Improve documentation on processor pipeline system.
2022-10-12 14:38:17 +01: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
微莹·纤绫
2db9804cf2
Mock Testing Framework ( #1521 )
...
Co-authored-by: Eritque arcus <1930893235@qq.com>
Co-authored-by: Him188 <Him188@mamoe.net>
2022-09-10 12:49:13 +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
Him188
965ab57aaa
[core] Move StructureToStringTransformer to mirai-core-utils, and use legacy implementation as fallback. close #2097 .
2022-08-26 18:42:56 +08:00
Him188
fb3f39e328
[core] Improve NetworkHandler exception handling and optimize exception logging:
...
- close #2175
- close #2148
- Fix `Throwable.findCause`
- Rename `mirai.network.handle.selector.logging` to `mirai.network.handler.selector.logging`
- Hide rather long and complicated `CancellationException`s, use `mirai.network.handler.cancellation.trace` to re-enable it
2022-08-26 15:20:04 +08:00
Him188
8dcc93089c
[core] Optimize ExceptionCollector, flatten suppressed exceptions and add them only to the last exception
2022-08-26 15:20:04 +08:00
Him188
5358b3e4d0
[core] slightly improve performance of toUHexString
2022-08-25 13:20:09 +08:00
Him188
eeb10cc89a
[core] Update docs for implementations
2022-07-31 15:44:48 +08:00
Him188
f962618bee
Fix compiler warnings
2022-07-20 00:30:16 +08:00
Him188
21c4a5ba04
Use kotlinx-coroutines-test
2022-07-20 00:30:16 +08:00
Him188
4c6b879873
Upgrade to Ktor 2.0.2, use CIO engine for linux targets; Remove ktor-client-okhttp from mirai-core-api jvmBaseMain
...
Use Input.readAllText instead of Input.readText, because readText only reads one buffer.
#2084
2022-07-20 00:30:16 +08:00
Him188
21d883b630
Introduce higher performance compression/decompression methods for different purposes for common
2022-07-20 00:30:16 +08:00
Him188
4f61417af6
Use Zlib for compression/decompression on native
2022-07-20 00:30:16 +08:00
Him188
13dadd5a95
Implement mirai-core for native
2022-07-20 00:30:16 +08:00
Him188
ff2a8acb0c
Implement multiplatform modules
2022-07-20 00:30:16 +08:00
Him188
ce87400998
Use ktor-io to replace kotlinx-io
2022-07-20 00:30:16 +08:00
Him188
0571be1a55
Commonize projects: mirai-core series, and mirai-console-compiler-annotations
2022-07-20 00:30:16 +08:00
Him188
d96641dedb
Configure HMPP project structure
2022-07-20 00:30:16 +08:00
Him188
c8fb354d13
Add LongMessageProtocolTest and various improvements:
...
Change attributes carrying helper objects to components
Make ClockHolder open
Use originalMessage for MessageReceipt
2022-05-25 22:39:53 +01:00
Him188
c1a7dd9843
Add some capability for delegation for TypeSafeMap
2022-05-25 22:39:53 +01:00
Him188
90deacb692
Fix imageType sent from macOS client, fix #1111
2022-05-25 22:39:53 +01:00
Him188
089b403a06
Allow nulls in TypeSafeMap
2022-05-25 22:39:53 +01:00
Him188
a89f6aeaef
Integrate new MessageProtocol with existing code
2022-05-25 22:39:53 +01:00
Him188
c47779c726
MessageProtocol implementations
2022-05-25 22:39:53 +01:00
Him188
a9516b401b
Generalize chineseLength
to mirai-core-utils
2022-05-25 22:39:53 +01:00
Him188
3be16c4644
Code cleanup. Remove duplicated internal utilities.
2022-04-25 14:15:29 +01:00
Him188
e7dcf676fc
Handle leading length for ByteArray.loadAs, fix deserialization problem with RequestPush. Fix #1991 , #1899 .
2022-04-25 14:06:31 +01:00
Him188
499f7beb1d
Add DeprecatedSinceMirai.internalSince
2022-04-13 12:34:30 +01:00
Him188
e78074c1a1
TypeSafeMap: allow using supertypes in get
with default value
2022-04-06 15:50:37 +01:00
Karlatemp
cf39a628a2
Drop emoji when rendering at; fix #1938
2022-03-27 21:49:04 +08:00
Him188
603e29d739
Add Either.flatMapNull
2022-03-16 15:27:11 +00:00
Him188
351357a8e0
Add ExceptionCollector.compressExceptions
2022-03-16 15:27:10 +00:00
Him188
7d3971259d
Review deprecation for 2.10. close #1742 ( #1774 )
2022-01-14 18:26:44 +00:00
Him188
662fbf8d1e
Deprecate experimental CoroutineScopeUtils
2022-01-10 23:27:23 +00:00
Karlatemp
6d16d77dad
Secrets Protection
2022-01-03 17:38:34 +00:00
Him188
ecc4425463
Move KClass.createInstance to mirai-core-utils and optimize TestPointPluginImpl.<init>
2021-12-23 01:37:11 +00:00
Him188
0711b5ae2e
Add TypeSafeMap.toMutableTypeSafeMap
2021-12-21 03:32:27 +00:00