* [core] update protocol
* [core] fix t106 decryption key
* [core] handle t543
* [core] revert t106
* [core] revert native test pow data
* [core] split build version and apk version name
* [core] pass time to t1 instead of time diff
* [core] remove unused t106 writer & rename param ip to ipv4 of t1 and t106
* [core] implement qimei for t545
TODO: aes and rsa crypto for nativeMain
* [core] fix base64 decode for android in rsa
* [core] fix unix timestamp parsing on native and add more tests
* [api] DeviceInfo move `androidId` to main constructor and adjust test.
* [api] do not request qimei when protocol is neither ANDROID_PHONE nor ANDROID_PAD
* [api] implement aes crypto for native target
* [api] rsa crypto for multi-platform
* [api] crypto test
* [api] move freePointer util
* [api] openssl api compatibility
* [core] add explicit `androidId` param
* [core] remove unused `tlvCount`
* [core] optimize crypto
* [core] move Qimei to network package
* [core] move appId to protocol
* [core] lazily initialize qimeiLogger
* [core] write byte array to BIO mem
* [core] move qimei to client, add direct serializer for DeviceInfo
* [core] optimize DeviceInfoDelegateSerializer
* [core] real user-agent when requesting qimei
* [core] use `DeviceInfo.version.release`
* [core] remove unused wtlogin packet
* [core] do what constructor serializer should do
* [core] fix endless cache validation caused by not upgrading device info file.
* [core] request qimei before fast-login
* [core] tlv order
* [core] remove wrong tests and print more detail when deserialize failed.
* [core] device info upgrade for native
* [core] request qimei after validating cache
* [core] DeviceInfo compatibility
* [core] DeviceInfo test name
* [core] compatibility serializer
* [core] disable rsa crypto test on android unit test
* [core] move rsa impl to jvmBase
* action
* import
* api dump
* api dump
* revert wrong api dumps
* [core] Deprecate DeviceInfo constructor and serializer, provide `serializeToString` and `deserializeFromString` for replacement
* rerun ci
* optimize
* use serializer directly
* optimize test
* revert
* [core] CacheValidator use `DeviceInfo.serializeToString()` instead of direct serializer
* Remove `println` in `DeviceInfoManager`
* Add legacy deserialize overload for ABI compatibility
* Remove uncompleted docs for DeviceInfo
* Suppress DeviceInfo deprecation warnings for internal usages
---------
Co-authored-by: Him188 <Him188@mamoe.net>
- Add FileMessage.Serializer
- Add FileMessage.create and IMirai.createFileMessage to construct manually
- Mark FileMessage as stable
- Move TestMiraiCode from mirai-core-api to mirai-core
fix#1082
* Update QQ original faces name
* Add missed channel check
* Change data struct to array
* Revert "Add missed channel check"
This reverts commit e30f97dc
* Remove author
* Make internal
* Update Face implement
* Support decode and encode new system faces
* Correct the magic number
* Lazy name val
* Fix naming inconsistent
* Revert "Fix naming inconsistent"
This reverts commit b7db927f
* Fix naming inconsistent again
- `ConstrainSingle` now extends a more general type `SingleMessage` instead of `MessageMetadata` for extendability
- `Message.Key` moved to `ConstrainSingle.Key`
- Delete `companion object Key`s from duplicable messages