Commit Graph

8307 Commits

Author SHA1 Message Date
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
ba03bd472c
typo: 群参数说明 (#2577) 2023-03-16 17:31:27 +08:00
cssxsh
b6b1059107
update: MiraiProtocol IPAD MACOS (#2575) 2023-03-15 14:15:34 +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
ヒューマンワーキン
2f154b6807
[core] 增加 TxCaptchaHelper 可用性无法保证的警告 (#2564)
* Update LoginSolver.jvm.kt

* revert
2023-03-10 20:00:23 +00: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
7aGiven
1e4250a125
修改BotNudgedEvent为NudgeEvent (#2547) 2023-03-05 10:57:26 +00:00
赵怡然
cb78ed34a5
[console] 修复在Android系统运行时,被杀后台时抛出的 InterruptedException 导致崩溃 (#2474)
* 修复在Android系统运行时,被杀后台时抛出的 InterruptedException 导致崩溃

* Update mirai-console/backend/mirai-console/src/MiraiConsoleImplementation.kt

Co-authored-by: Him188 <Him188@mamoe.net>

---------

Co-authored-by: Him188 <Him188@mamoe.net>
2023-03-01 17:57:57 +00:00
NoMathExpectation
a6afd9540c
[console] Fixed reaching UNREACHABLE_CLAUSE when running extensions with non-null function results. (#2528) 2023-02-24 02:15:43 +00:00
Him188
48d674b383
[build] Actions v3 (#2518)
* [build] Update to `actions/checkout@v3` and `actions/setup-java@v3`

* v3
2023-02-20 23:56:20 +00:00
Karlatemp
3ba53ee4c2
[mock] Update tests 2023-02-20 22:09:43 +08:00
Karlatemp
4d9f6e88f9
[core] Fix polymorphic serialization 2023-02-20 22:09:39 +08:00
Him188
1acf51e308
Update copyright in README and code template to 2023 2023-02-20 11:04:07 +00: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
cssxsh
38e03fdc00
[console] Add StartupEvent and AutoLoginEvent (#2446)
* add: console event impl

* add: internal annotation

* add: since 2.15
2023-02-19 11:48:28 +00:00
Him188
26a3ddd505
[core] Improve docs on queryProfile, close #2460 2023-02-19 11:46:35 +00:00
Him188
5cad8aad8d
[docs] Fix reference to images in docs/UsingSnapshots.md 2023-02-19 11:43:35 +00:00
Him188
f6dc4c6b55
[build] 使用自增序号作为预览版本号 (#2516)
* [build] Use numerical build index numbers for snapshot versions

* use warning

* Use same index for all machines

* fix get

* different indexes for branches

* add docs
2023-02-18 23:22:03 +00:00
Eritque arcus
cc22174e64
[mock] add size into MockImage (#2515) 2023-02-18 20:32:21 +00: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
Karlatemp
e686a23f40
[core] Fix offline message source quote replying; fix #2501 2023-02-16 23:06:23 +08:00
7aGiven
d8ef9ad282
修改执行指令部分 (#2506)
将PluginManager修改为CommandManager
2023-02-16 02:52:06 +00:00
Him188
aec5e21dda
[core] Fix docs for RoamingMessages 2023-02-11 13:08:47 +00:00
EnchStudio
c96275892c
[console] typo: 将 consosle 改为 console (#2491) 2023-02-10 16:20:29 +00:00
NKXingXh
4d41e53bf3
[docs] Rename miraiez to MiraiEz (#2479) 2023-02-09 11:59:24 +00:00
Karlatemp
1d515b92c3
Prepare for 2.15.0 dev 2023-02-06 12:24:13 +08:00
Karlatemp
7180d53e46
[docs] Changelog for 2.14.0 2023-02-06 12:21:07 +08:00
Him188
d7a7a5044b
[build] Delete unused Groovy code 2023-01-29 08:33:54 +00:00
Him188
940e76aa95
[core] Fix AbstractProcessorPipeline.registerBefore, do addFirst instead of add 2023-01-29 08:33:54 +00:00
RTAkland
e5668fa5a9
update highlighted text (#2464)
获取应该再 `Kotlin`那里高亮而不是 `是让开发人员更快乐的一门现代编程语言`
2023-01-28 10:22:53 +00:00
char46
fa734ce2ff
[docs] 将 TempCommandSender 替换为 GroupTempCommandSender (#2457)
根据后文代码注释'mirai 正计划支持其他渠道发起的临时会话, 届时此事件会变动. 原 TempCommandSender 已更改为 GroupTempCommandSender'修改。
2023-01-25 15:18:23 +00:00
Him188
8f32e40d77
[docs] Add changelog for 2.13.4 2023-01-21 11:16:05 +00:00
Him188
edddfe262e
[docs] Refine changelog for 2.14.0-RC 2023-01-21 11:16:05 +00:00
XieXuan
453ad6bb11
[docs] Add MiraiTravel SDK (#2435)
* Update README.md

* 添加了链接

添加了项目仓库链接
2023-01-20 09:00:16 +00:00
Karlatemp
68e1cc45b3
Fix console not stopped when plugin failed to load 2023-01-19 00:03:27 +08:00
Karlatemp
c468570ee1
[docs] Add changelog for 2.14.0-RC 2023-01-18 18:26:34 +08:00
Eritque arcus
0a7ebb7b4a
add implement of md5 and sha1 for MockAbsoluteFile (#2436)
* add impl of md5 and sha1

* add tests

* modify as required
2023-01-18 17:42:56 +08: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
Eritque arcus
56dea84336
[mock] Fix message recalling (#2421)
* Fix message recalling

Co-authored-by: Karlatemp <kar@kasukusakura.com>

* Message recalling tests

Co-authored-by: Karlatemp <kar@kasukusakura.com>
2023-01-18 17:39:40 +08:00
Eritque arcus
aa84e6d337
fix MockNormalMember modify admin (#2420)
* fix MockNormalMember modify admin (untested)

* modify as required

* fix changeOwner (tested)

* update test

* update tests
2023-01-17 13:12:31 +00:00
Him188
56bfc65d82
[docs] Add missing author in changelog for 2.13.3 2023-01-14 13:53:19 +00:00
Him188
0f56dcf94b
[docs] Add missing information in changelog for 2.13.3 2023-01-14 13:51:38 +00:00
Him188
f5e4465da7
[docs] Add changelog for 2.13.3 2023-01-13 23:43:43 +00: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
974be88410
[core] Remove SwingSolver and SeleniumLoginSolver. Always use StandardCharImageLoginSolver on desktop JVM. Close #2410 2023-01-11 21:31:46 +00:00