SpaceManiac / discord-rs

Rust library for the Discord chat client API
MIT License
385 stars 94 forks source link

Use newer version of websocket #152

Closed iitalics closed 4 years ago

iitalics commented 6 years ago

websocket 0.17 is out of date. More specifically, it pulls in an out of date dependency openssl 0.7.14, which for some awful reason isn't compatible with later openssl implementation (openssel 1.1.0).

saethlin commented 6 years ago

The problem is actually much worse than that; just upgrading to weboscket 0.20 will prevent the project from building because we have both an explicit and transitive dependency on an old version of hyper, which depends on openssl 1.0. And since that's a native library, there can only be one version of it in the project.

To fix this, we'd have to move to the latest versions of websocket, hyper, and multipart. The patch that fixes this will be hundreds of lines. I don't know how to break up the patch, because cargo completely refuses to do anything as soon as it detects a dependency on two versions of openssl.

saethlin commented 6 years ago

To clarify, I'm going to do the upgrade at least on my own branch of the project. I need these dependencies upgraded so I can link discord-rs in the same binary as slack-rs.

fizyk20 commented 6 years ago

Exactly the same as my use case ;) I looked into updating this quickly myself, but this seems to be such a deep problem that I gave up. If you succeed, do ping me, please!

saethlin commented 6 years ago

This branch of a fork is darned close. I submitted a PR to start working, but the maintainer of the fork seems to think they'll have this done in a few days. https://github.com/tinaun/discord-rs/tree/async_internals

humb1t commented 4 years ago

Up to date fork https://github.com/vityafx/discord-rs

SpaceManiac commented 4 years ago

vityafx's fork has been merged