Commit Graph

3214 Commits

Author SHA1 Message Date
Him188
b82e938b2c
[build] Fix checkAndroidApiLevel tasks when building without ADK 2023-05-06 11:20:49 +01:00
Him188
363d1f7ece
Remove module-level opt-ins, add @OptIn explicit in use-sites;
added some opt-in markers on API which should have:

- `appendMiraiCodeTo`

Made API stable (otherwise they require too heavy opt-ins):
- MiraiConsoleImplementation$ConsoleLaunchOptions
- LowLevelApi
2023-05-06 11:04:31 +01:00
Him188
bda5d54bd3 [core/auth] Wrap exception from BotAuthorization as BotAuthorizationException; add tests 2023-05-04 16:36:28 +01:00
Him188
b18e62b3b6 [core] SsoProcessor.loginSuccess: use sendRegister to allow being overriden for tests 2023-05-04 16:36:28 +01:00
Him188
0e625d3368 [core] OnDemandChannel: Ensure scope is closed on exceptional cases:
[core] OnDemandChannel: Ensure channel close and emit shares same behavior

[core] OnDemandChannel: Ensure channel is closed properly when producer throws an exception

[core] OnDemandChannel: Ensure coroutine scope cancelled when producer coroutine throws exception,

also added more tests
2023-05-04 16:36:28 +01:00
Him188
87fbaa4fb2 [core] Revise OnDemandChannel, improve state abstraction:
[core] Start producer coroutine immediately on `expectMore` and yield

Improve docs for OnDemandChannel

Rename factory function `OnDemandReceiveChannel` to  `OnDemandChannel` to better cover its meaning

Create deferred lazily in Producing state

Rename ProducerState to ChannelState

fix atomicfu bug receiveOrNull

Add docs (WIP, to be rebased)

[core] OnDemandChannel: Catch Throwable in `receiveOrNull` to prevent possible failures
2023-05-04 16:36:28 +01:00
Him188
99f592d614 [core] Move Latch and OnDemandValueScope to mirai-core-utils,
and rename OnDemandValueScope to OnDemandSendChannel and OnDemandReceiveChannel
2023-05-04 16:36:28 +01:00
Him188
36d90c57fe [core] Add UtilsLogger in mirai-core-utils module to bridge logging,
also added delegations in mirai-core and mirai-core-api.
2023-05-04 16:36:28 +01:00
Him188
26ea98db6a [core] Extract SafeBotAuthSession implementation from AuthControl 2023-05-04 16:36:28 +01:00
Him188
0c24053198 [core] AuthControl: require explicit .start() instead of launching job in constructor 2023-05-04 16:36:28 +01:00
Him188
10e731f260 [core] CoroutineOnDemandValueScope: remove CreatingProducer state 2023-05-04 16:36:28 +01:00
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