Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gateway disconnect opcodes #573

Merged
merged 9 commits into from
Oct 26, 2024
Merged

Gateway disconnect opcodes #573

merged 9 commits into from
Oct 26, 2024

Conversation

bitfl0wer
Copy link
Member

This PR would add VoiceCloseCode and CloseCode to chorus with the ability to convert them from a tungstenite Message, and to a tungstenite CloseFrame.

Copy link
Member

@kozabrada123 kozabrada123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine, two things though:

  • this should be integrated into the current implementation of GatewayMessage and the chorus gateway. I'll be honest, I have no idea what I was cooking when I was writting the gateway error handling code
  • If you want to, it might be helpful to quickly document each close code case, like they are on e.g. discord.sex under explanation. If not it's fine too, since they are pretty self explanatory

src/types/utils/opcode.rs Show resolved Hide resolved
src/types/utils/opcode.rs Show resolved Hide resolved
@kozabrada123
Copy link
Member

Okay yeah my old code literally does not work, and close codes are the proper way to handle this. Rewriting how this works in chorus may be out of scope for this pr, but it should definitely be done

@kozabrada123
Copy link
Member

I think we should merge this and then I can use these enums to fix chorus' implementation

bitfl0wer and others added 2 commits October 26, 2024 13:22
Co-authored-by: kozabrada123 <59031733+kozabrada123@users.noreply.github.com>
Co-authored-by: kozabrada123 <59031733+kozabrada123@users.noreply.github.com>
@bitfl0wer bitfl0wer merged commit cf2b8f1 into dev Oct 26, 2024
9 checks passed
kozabrada123 added a commit that referenced this pull request Nov 24, 2024
Release tracker for v0.18.0 of chorus, set to release on November 24th, 2024.

## Public API changes
- #570: Various entity public api changes
- 644d3be, 85e922b: Add type `OneOrMoreSnowflakes`, allow `GatewayRequestGuildMembers` to request multiple guild and user ids
- f65b9c1: Differentiate `PresenceUpdate` and `GatewayPresenceUpdate`
- 0e5fd86: Temporarily fix `PresenceUpdate` for Spacebar Client by making `user` optional
- 61ac7d1: Updated `LazyRequest` (op 14) to use the `Snowflake` type for ids instead of just `String`

## Additions
- #564: MFA implementation, by @xystrive and @kozabrada123 
- 4ed68ce: Added [Last Messages request](https://docs.discord.sex/topics/gateway-events#request-last-messages) and [response](https://docs.discord.sex/topics/gateway-events#last-messages)
- b23fb68: Add `ReadState` to `GatewayReady`
- #571: Gateway Opcode enum
- #573: Gateway Disconnect Opcode enums

## Bugfixes

- #565: Fix sqlx En-/Decoding of `PremiumType`
- 7460d3f: Fix `GatewayIdentifyConnectionProps` for Spacebar Client by deriving default on all fields, since the client does not send it
-  3d9460f: Derive Default for `MessageReferenceType`, assume default reference_type if none is provided
- 4baecf9: Fixed a deserialization error related to `presences` in `GuildMembersChunk` being an array, not a single value
- 1b20102: Fixed a deserialization error with deserializing `activities` in `PresenceUpdate` as an empty array when they are sent as `null`
- 7feb571: Fixed a deserialization error on discord.com related to experiments (they are not implemented yet, see #578)
- fb94afa: Fixed a deserialization error on discord.com related to `last_viewed` in `ReadState` being a version / counter, not a `DateTime`

## Internal changes
- 40754c5: bump sqlx-pg-uint to v0.8.0
- #575: Refactor of gateway close code handling
- 4ed68ce: Refactored the gateway to fully use the `Opcode` enum instead of constants
- #579

---------

Co-authored-by: bitfl0wer <florian@pro-weber.com>
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
Co-authored-by: xystrive <xys@xystrive.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants