spring4175

Results 20 issues of 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...

t-docs
t-feature
c-cache
c-model
c-gateway
m-breaking change
c-lavalink
c-standby
c-all
c-gateway-queue
t-refactor
t-perf
c-book

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...

c-gateway
t-refactor

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...

c-model
m-breaking change
t-refactor

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...

t-feature
c-gateway

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...

t-feature
c-gateway

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...

t-feature
c-gateway

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` - [...

c-model
t-refactor

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...

t-bug
c-cache

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...

t-feature
c-cache

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...

m-breaking change
t-refactor
c-http-ratelimiting