spring4175
spring4175
Refactor and restructure the `twilight-gateway` crate from the ground up, providing a simpler implementation that is easier to follow the implementation details of and easier to use. There are two...
Refactor the internals of the gateway crate to be easier to read and to increase our [bread truck scenario](https://en.wikipedia.org/wiki/Bus_factor). The goal is to refactor our *internals*; the API should stay...
When a new API feature is released involving a new enum variant the deserialization of any parent struct will fail due to the unknown variant. This can be seen with...
Adding and removing of shards to a cluster. This can be useful when migrating shards from one process to another, instead of calling `down_resumable` on the cluster and shutting down...
Reconnecting a specific shard (with optional resuming). This is to trigger the ready event and get a clean state for the shard. In the design of a standalone gateway which...
Resuming a shard on creation, as linked with the previous point. Currently, the only way of resuming is to use `resume_sessions` from the cluster builder. To support adding a shard...
There are probably some types that we manually implement `serde::Deserialize` and `serde::Serialize` on that we can defer to proc macro derives. - [x] `PermissionOverwrite` #1521 - [x] `model::channel::Reaction` - [...
The way that the cache uses resource types is not consistent. Most event update implementations are only operating over a single resource; take [`RoleUpdate`] as an example of this. It...
It may be useful to have some sort of debugger / scanner of the cache to find unresolved references which are indicative of bugs. As a potential part of this...
The `http` crate is being exposed by the `twilight-http-ratelimiting` crate via [`request::Method::to_http`](https://docs.rs/twilight-http-ratelimiting/0.8.3/twilight_http_ratelimiting/request/enum.Method.html#method.into_http). This method must have made it through the refactor out to another crate, and we can instead have...