Skip to content

collab: Bump axum #30509

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

Closed
wants to merge 2 commits into from
Closed

collab: Bump axum #30509

wants to merge 2 commits into from

Conversation

tidely
Copy link
Contributor

@tidely tidely commented May 11, 2025

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 its Utf8Bytes implementation. There is work trying to unify this common abstraction tokio-rs/bytes#783 However it is not in use today

Release Notes:

  • N/A

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label May 11, 2025
@tidely tidely marked this pull request as draft May 11, 2025 15:07
@maxdeviant maxdeviant self-assigned this May 27, 2025
@maxdeviant
Copy link
Member

Thanks for the PR!

We have some upcoming work around our backend that we're starting soon that will revisit a bunch of this stuff, so I don't think we're going to upgrade axum before then.

@maxdeviant maxdeviant closed this May 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed The user has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants