Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR moves the collab server from axum 0.6 to axum 0.8. The motivation behind this is to prevent buildup of technical debt by having years outdated dependencies. Axum has non-negligible performance improvements and overall improved the ergonomics of the library.
The PR aims to do the minimal work necessary to move to the new version. It for example doesn't make use of the new State extractors instead of using an Extension to wrap state. However these should be done in a later PR.
I don't necessarily expect this PR to get merged, but this keeps tabs on how much work is necessary for the migration. (which is surprisingly little)
The only part I still find a little iffy is converting between axum and tungstenite WebSocket messages. The
Text
variant of a ws message now requires an additional allocation because axum does not expose the inner workings of itsUtf8Bytes
implementation. There is work trying to unify this common abstraction tokio-rs/bytes#783 However it is not in use todayRelease Notes: