Commit Graph

3203 Commits

Author SHA1 Message Date
Him188
d263a9ee29
[core] MiraiProtocolInternal: Use setters 2023-05-02 21:41:22 +01:00
Him188
84d03c9a71 [core] Set minimum Android API level to 21 2023-05-02 16:17:48 +01:00
Him188
2ef89d2b3f [build] Do not apply Android-relevant plugins if Android target is not enabled 2023-05-02 16:17:48 +01:00
Him188
178ca6c1b5 [build] Rewrite shadow relocation; fix dependency graph issues with Android, and improve build performance:
- Generate relocated JARs with classifier `relocated`, instead of replacing the output of `:jar` task.

- Create `JvmRelocated` publications to publish relocated artifacts.

- Patch Kotlin Metadata and Maven Pom for the added publication.

- Updated deps test to be more strict
2023-05-02 16:17:48 +01:00
Him188
40d4957837 [core/android] Implement mirai-core tests for Android target with AndroidSDK 2023-05-02 16:17:48 +01:00
Him188
4ed551027a [build] Support both configuring Android targets by Android SDK or JVM
- try to fix sdk dir when android is desired
- Do not printAndroidNotInstalled multiple times
2023-05-02 16:17:48 +01:00
Him188
2cf97a181f [build] Use JUnit5 on Android 2023-05-02 16:17:48 +01:00
Him188
a2d50ec03a [build] Relocate ktor only for jvm, not for Android 2023-05-02 16:17:48 +01:00
Him188
164f621427 [build] Fully support Android target; Update to Gradle 8.0 2023-05-02 16:17:48 +01:00
Him188
fc549d380f
[core] Make properties mutable in MiraiProtocolInternal 2023-05-01 23:11:46 +01:00
Him188
a988d442e2
[core] Add PacketReplier DSL for core tests 2023-05-01 22:56:34 +01:00
Him188
f469e889d2
[build] Enable atomicfu compiler plugin for mirai-core and mirai-core-api, but disable transformations for JVM, #2315 2023-05-01 11:09:28 +01:00
Him188
6798de8093
[core] Make ImageUploadedChecker not fun interface since Kotlin doesn't support suspend fun in that 2023-05-01 11:08:21 +01:00
Him188
d2d2f4844d
[core] Fix minor compiler warnings
- unused variables
- requires opt-in
2023-05-01 11:08:04 +01:00
Him188
578d1a9d48
[core] CoroutineOnDemandValueScope: fix exception message when emit/receive while producer is already finished 2023-04-16 10:31:03 +01:00
Him188
a1d8d744d0
[core] CoroutineOnDemandValueScope: fix emit when state is ProducerReady 2023-04-16 10:31:03 +01:00
Him188
1b122190f1
[core] CoroutineOnDemandValueScope: ignore multiple finishImpl 2023-04-16 10:31:03 +01:00
Him188
30b3472460
[build] Fix macOS CI, use pre-installed OpenSSL 2023-04-15 14:58:57 +01:00
cssxsh
71e9de3608
[core] 支持获取群公告图片 URL (#2619)
* fix: announcement protocol

* add: api dump
2023-04-13 11:57:04 +01:00
cssxsh
50d37c484a
[core] Fix group active protocol (#2610) 2023-04-05 11:06:16 +01:00
Him188
c29fe9d244
[core] Remove useless limitation on QR query, fix QR login for overseas users 2023-04-04 21:08:31 +01:00
Karlatemp
ecbb9b2672
[core/logging] Drop control characters in message log 2023-04-04 17:02:25 +08:00
Karlatemp
89fa2f7ffb
[core] Fix private message source target 2023-03-29 22:53:09 +08:00
Karlatemp
b8321870aa
[core] Code style & comments update 2023-03-29 22:53:07 +08:00
Karlatemp
8d9c820a92
[core] Fix group roaming message fetching 2023-03-29 22:53:06 +08:00
Karlatemp
275d9f8f6e
[core] Fix replying unavailable member's message 2023-03-29 22:53:05 +08:00
Karlatemp
07164cc79b
[core] Fix group roaming message fetching 2023-03-29 22:53:04 +08:00
Karlatemp
8c5a22a14e
[core] Try to fix rand id fetching 2023-03-29 22:53:02 +08:00
Karlatemp
00486e7900
[core] Add internal message when failed to transform internal message to facade message 2023-03-29 22:53:01 +08:00
Karlatemp
ec5870e0b3
[core] Get group incoming message source raw data directly 2023-03-29 22:53:00 +08:00
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