* add miscellaneous fixes
* Fixed connecting to server when compression threshold is set to 0
The client assumes that 0 means disabled, when on a notchian (vanilla) server, it is possible to set the compression threshold to 0 (compress all packets).
* Try to capture all exceptions through Sentry
No exceptions are being logged through Sentry, so be more aggressive when sending exceptions
(cherry picked from commit eb1c2f5e771760fb3be32ffea79f8292adca92f1)
* Call OnSpawnPlayer packet when a player is spawned using the SpawnEntity packet
references #2721
(cherry picked from commit ef28ae09ac89e8988dd612de61f2849a9f0e528c)
* Add Sentry Error Tracking
* Omit personally identifiable information and add additional sentry context
* Remove debug message
* Make sentry opt-out and add related notices and strings
Also add Minecraft Version to error context
* Update build to send release info to sentry
* Adjust sentry error tracking
- Send the user-friendly Minecraft Version in the error logs
- Capture exceptions in more parts of the application
We now capture exceptions from the following locations:
- Protocol18 (1.8+) Packet errors
- Errors during client initialization phase (When client is about to start, session keys are NEVER sent to sentry)
* Make Sentry DSN configurable and repository-specific
The Sentry DSN will automatically be filled out on the main repository through the Github Actions build.
* Update build-and-release.yml
Update sed command
* style: change variable name
nitpick, just to make it a little bit more descriptive
* Add Sentry branding in README.
* remove old code (merge conflict)
The fix is to remove the ParseText call from the OnConnectionLost call, as the ReadNextChat function already calls ParseText. Calling ParseText on an unparsable string returns an empty string, therefore the disconnect message never gets propagated to the user.
When try to send message in yggdrasil-auth server with `enforce-secure-profile=true`
and `online-mode=true` enabled, will fail with message in red:
Chat disabled due to missing profile public key. Please try reconnecting.
So yggdrasil-auth-client also has to encrypt chat messages like Microsoft-auth-client
to send out messages.
```
Login failed : Invalid server response.
```
Print the raw response which is `result` in [/MinecraftClient/Protocol/ProtocolHandler.cs#L554](f6797cb4b5/MinecraftClient/Protocol/ProtocolHandler.cs (L554))
(Every test shows like this)
```
HTTP/1.1 200 OK
...
1e1
{"accessToken":"...","clientToken":"...","availableProfiles":[{"id":"..","name":".."},{"id":"..","na
f
me":"ok_bot"}]}
0
```
After splited by line:
- 1e1
- {"accessToken": ... ,"na
- f
- me":"ok_bot"}]}
- 0
The response when Login with 'littleskin.cn' which works fine is:
```
HTTP/1.1 200 OK
...
1e1
{"accessToken":"...","clientToken":"...","availableProfiles":[{"id":"..","name":".."},{"id":"..","name":"ok_bot"}]}
0
```
After splited by line:
- 1e1
- {"accessToken": ... ,"name":"ok_bot"}]}
- 0
-
-
So adding [1] and [3] will make both 'hitmc.cc' and 'littleskin.cn' work fine.