2023-04-04 16:42:20 +02:00
[ package ]
name = "chorus"
2023-08-27 01:00:43 +02:00
description = "A library for interacting with multiple Spacebar-compatible Instances at once."
2024-04-16 15:13:27 +02:00
version = "0.15.0"
2024-01-30 10:03:14 +01:00
license = "MPL-2.0"
2023-04-04 16:42:20 +02:00
edition = "2021"
2023-08-27 01:00:43 +02:00
repository = "https://github.com/polyphony-chat/chorus"
readme = "README.md"
keywords = [ "spacebar" , "discord" , "polyphony" ]
2023-08-27 12:49:58 +02:00
website = [ "https://discord.com/invite/m3FpcapGDD" ]
2024-04-16 15:13:27 +02:00
rust-version = "1.67.1"
2023-08-27 01:00:43 +02:00
2023-04-04 16:42:20 +02:00
2023-05-26 16:09:55 +02:00
[ features ]
2023-11-13 15:29:37 +01:00
default = [ "client" , "rt-multi-thread" ]
2024-06-04 19:41:50 +02:00
backend = [ "poem" , "sqlx" ]
2023-11-13 15:29:37 +01:00
rt-multi-thread = [ "tokio/rt-multi-thread" ]
rt = [ "tokio/rt" ]
2023-05-26 16:09:55 +02:00
client = [ ]
Primitive voice implementation (feature/voice) (#457)
* Add Webrtc Identify & Ready
* Add more webrtc typings
* Attempt an untested voice gateway implementation
* fmt
* Merge with main
* Same allow as for voice as normal gateway
* Test error observer
* Minor updates
* More derives
* Even more derives
* Small types update
* e
* Minor doc fixes
* Modernise voice gateway
* Add default impl for voicegatewayerror
* Make voice event fields pub
* Event updates via the scientific method
* ??
* Fix bad request in voice gateway init
* Voice gateway updates
* Fix error failing to 'deserialize' properly
* Update voice identify
* Clarify FIXME related to #430
* Update to v7
* Create seperate voice_gateway.rs and voice_udp.rs
* Restructure voice to new module
* fix: deserialization error in speaking bitflags
* feat: kinda janky ip discovery impl
* feat: return ip discovery data + minor update
* feat: packet parsing!
* fix: voice works again
* feat: add voice_media_sink_wants
(comitting uncommited changes to merge)
* chore: rename events/webrtc to events/voice_gateway
* Add UdpHandle
* chore: clippy + other misc updates
* fix: attempt to fix failing wasm build
* chore: yes clippy, that is indeed an unneeded return statement
* feat: add VoiceData struct
* feat: add VoiceData reference to UdpHandler
* feat: decryption?
* chore: formatting
* feat: add ssrc definition (op 12)
* feat: add untested sending & asbtract nonce generation
* feat: Public api! (sorta)
* small updates
* feat: add sequence number
* chore: yes
* feat: merge VoiceHandler into official development
* chore: yes clippy, you are special
* fix: duplicated gateway events
* feat: first try at vgw wasm compat
* fix: blunder
* fix: gateway connect using wrong url
* fix: properly using encrypted data, bad practice for buffer creation
* chore: split voice udp
* feat: udp error handling, create udp/backends
* fix: its the same
* chore: clarify UDP on WASM
* api: split voice gateway and udp features, test for voice gateway in WASM
* feat: new encryption modes, minor code quality
* docs: document voice encryption modes
* chore: unused imports
* chore: update getrandom version to match wasm version
* chore: update on packet size FIXME
* drop buf asap
* Okay can't do that actually
* tests: add nonce test
* normal tests work?
* docs: fix doc warning, fix incorrect refrences to 'webrtc'
* chore: json isn't a doc test
* tests: better gateway auth test
* testing tests
* update voice heartbeat, fix the new test issue
* committed too much
* fix: unused import
* fix: use ip discovery address as string, not as Vec<u8>
* chore: less obnoxious logging
* chore: better unimplemented voice modes handling
* chore: remove unused variable
* chore: use matches macro
* add voice examples, make gateway ones clearer
* rename voice example
* chore: remove unused VoiceHandler
* fix: implement gateway Reconnect and InvalidSession
* Typo
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* Fix a bunch of typos
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* fix: error handling while loading native certs
* fix: guh
* use be for nonce bytes
* fix: refactor gw and vgw closures
* remove outdated docs
---------
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
2024-04-16 17:18:21 +02:00
voice = [ "voice_udp" , "voice_gateway" ]
voice_udp = [ "dep:discortp" , "dep:crypto_secretbox" ]
voice_gateway = [ ]
2023-05-26 16:09:55 +02:00
2023-04-04 16:42:20 +02:00
[ dependencies ]
2024-01-11 19:36:36 +01:00
tokio = { version = "1.35.1" , features = [ "macros" , "sync" ] }
serde = { version = "1.0.195" , features = [ "derive" , "rc" ] }
serde_json = { version = "1.0.111" , features = [ "raw_value" ] }
serde-aux = "4.3.1"
serde_with = "3.4.0"
serde_repr = "0.1.18"
2024-01-30 10:03:14 +01:00
reqwest = { features = [ "multipart" , "json" ] , version = "0.11.23" }
2024-01-11 19:36:36 +01:00
url = "2.5.0"
chrono = { version = "0.4.31" , features = [ "serde" ] }
regex = "1.10.2"
2023-04-25 17:21:27 +02:00
custom_error = "1.9.2"
2024-01-11 19:36:36 +01:00
futures-util = "0.3.30"
http = "0.2.11"
base64 = "0.21.7"
bitflags = { version = "2.4.1" , features = [ "serde" ] }
2023-05-25 21:11:08 +02:00
lazy_static = "1.4.0"
2024-06-04 19:41:50 +02:00
poem = { version = "3.0.1" , optional = true }
2024-01-11 19:36:36 +01:00
thiserror = "1.0.56"
2023-11-13 13:55:55 +01:00
jsonwebtoken = "8.3.0"
log = "0.4.20"
2024-01-11 19:36:36 +01:00
async-trait = "0.1.77"
2024-06-18 17:48:57 +02:00
chorus-macros = { path = "./chorus-macros" , version = "0" } # Note: version here is used when releasing. This will use the latest release. Make sure to republish the crate when code in macros is changed!
2024-01-11 19:36:36 +01:00
sqlx = { version = "0.7.3" , features = [
2023-11-13 15:29:37 +01:00
"mysql" ,
"sqlite" ,
"json" ,
"chrono" ,
"ipnetwork" ,
"runtime-tokio-native-tls" ,
"any" ,
] , optional = true }
Primitive voice implementation (feature/voice) (#457)
* Add Webrtc Identify & Ready
* Add more webrtc typings
* Attempt an untested voice gateway implementation
* fmt
* Merge with main
* Same allow as for voice as normal gateway
* Test error observer
* Minor updates
* More derives
* Even more derives
* Small types update
* e
* Minor doc fixes
* Modernise voice gateway
* Add default impl for voicegatewayerror
* Make voice event fields pub
* Event updates via the scientific method
* ??
* Fix bad request in voice gateway init
* Voice gateway updates
* Fix error failing to 'deserialize' properly
* Update voice identify
* Clarify FIXME related to #430
* Update to v7
* Create seperate voice_gateway.rs and voice_udp.rs
* Restructure voice to new module
* fix: deserialization error in speaking bitflags
* feat: kinda janky ip discovery impl
* feat: return ip discovery data + minor update
* feat: packet parsing!
* fix: voice works again
* feat: add voice_media_sink_wants
(comitting uncommited changes to merge)
* chore: rename events/webrtc to events/voice_gateway
* Add UdpHandle
* chore: clippy + other misc updates
* fix: attempt to fix failing wasm build
* chore: yes clippy, that is indeed an unneeded return statement
* feat: add VoiceData struct
* feat: add VoiceData reference to UdpHandler
* feat: decryption?
* chore: formatting
* feat: add ssrc definition (op 12)
* feat: add untested sending & asbtract nonce generation
* feat: Public api! (sorta)
* small updates
* feat: add sequence number
* chore: yes
* feat: merge VoiceHandler into official development
* chore: yes clippy, you are special
* fix: duplicated gateway events
* feat: first try at vgw wasm compat
* fix: blunder
* fix: gateway connect using wrong url
* fix: properly using encrypted data, bad practice for buffer creation
* chore: split voice udp
* feat: udp error handling, create udp/backends
* fix: its the same
* chore: clarify UDP on WASM
* api: split voice gateway and udp features, test for voice gateway in WASM
* feat: new encryption modes, minor code quality
* docs: document voice encryption modes
* chore: unused imports
* chore: update getrandom version to match wasm version
* chore: update on packet size FIXME
* drop buf asap
* Okay can't do that actually
* tests: add nonce test
* normal tests work?
* docs: fix doc warning, fix incorrect refrences to 'webrtc'
* chore: json isn't a doc test
* tests: better gateway auth test
* testing tests
* update voice heartbeat, fix the new test issue
* committed too much
* fix: unused import
* fix: use ip discovery address as string, not as Vec<u8>
* chore: less obnoxious logging
* chore: better unimplemented voice modes handling
* chore: remove unused variable
* chore: use matches macro
* add voice examples, make gateway ones clearer
* rename voice example
* chore: remove unused VoiceHandler
* fix: implement gateway Reconnect and InvalidSession
* Typo
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* Fix a bunch of typos
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* fix: error handling while loading native certs
* fix: guh
* use be for nonce bytes
* fix: refactor gw and vgw closures
* remove outdated docs
---------
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
2024-04-16 17:18:21 +02:00
discortp = { version = "0.5.0" , optional = true , features = [ "rtp" , "discord" , "demux" ] }
crypto_secretbox = { version = "0.1.1" , optional = true }
2023-11-13 15:38:20 +01:00
rand = "0.8.5"
2023-11-13 13:55:55 +01:00
[ target . 'cfg(not(target_arch = "wasm32"))' . dependencies ]
2024-01-11 19:36:36 +01:00
rustls = "0.21.10"
2023-11-13 13:55:55 +01:00
rustls-native-certs = "0.6.3"
2023-11-14 16:30:24 +01:00
tokio-tungstenite = { version = "0.20.1" , features = [
2023-11-13 13:55:55 +01:00
"rustls-tls-native-roots" ,
"rustls-native-certs" ,
] }
native-tls = "0.2.11"
2023-11-13 15:29:37 +01:00
hostname = "0.3.1"
Primitive voice implementation (feature/voice) (#457)
* Add Webrtc Identify & Ready
* Add more webrtc typings
* Attempt an untested voice gateway implementation
* fmt
* Merge with main
* Same allow as for voice as normal gateway
* Test error observer
* Minor updates
* More derives
* Even more derives
* Small types update
* e
* Minor doc fixes
* Modernise voice gateway
* Add default impl for voicegatewayerror
* Make voice event fields pub
* Event updates via the scientific method
* ??
* Fix bad request in voice gateway init
* Voice gateway updates
* Fix error failing to 'deserialize' properly
* Update voice identify
* Clarify FIXME related to #430
* Update to v7
* Create seperate voice_gateway.rs and voice_udp.rs
* Restructure voice to new module
* fix: deserialization error in speaking bitflags
* feat: kinda janky ip discovery impl
* feat: return ip discovery data + minor update
* feat: packet parsing!
* fix: voice works again
* feat: add voice_media_sink_wants
(comitting uncommited changes to merge)
* chore: rename events/webrtc to events/voice_gateway
* Add UdpHandle
* chore: clippy + other misc updates
* fix: attempt to fix failing wasm build
* chore: yes clippy, that is indeed an unneeded return statement
* feat: add VoiceData struct
* feat: add VoiceData reference to UdpHandler
* feat: decryption?
* chore: formatting
* feat: add ssrc definition (op 12)
* feat: add untested sending & asbtract nonce generation
* feat: Public api! (sorta)
* small updates
* feat: add sequence number
* chore: yes
* feat: merge VoiceHandler into official development
* chore: yes clippy, you are special
* fix: duplicated gateway events
* feat: first try at vgw wasm compat
* fix: blunder
* fix: gateway connect using wrong url
* fix: properly using encrypted data, bad practice for buffer creation
* chore: split voice udp
* feat: udp error handling, create udp/backends
* fix: its the same
* chore: clarify UDP on WASM
* api: split voice gateway and udp features, test for voice gateway in WASM
* feat: new encryption modes, minor code quality
* docs: document voice encryption modes
* chore: unused imports
* chore: update getrandom version to match wasm version
* chore: update on packet size FIXME
* drop buf asap
* Okay can't do that actually
* tests: add nonce test
* normal tests work?
* docs: fix doc warning, fix incorrect refrences to 'webrtc'
* chore: json isn't a doc test
* tests: better gateway auth test
* testing tests
* update voice heartbeat, fix the new test issue
* committed too much
* fix: unused import
* fix: use ip discovery address as string, not as Vec<u8>
* chore: less obnoxious logging
* chore: better unimplemented voice modes handling
* chore: remove unused variable
* chore: use matches macro
* add voice examples, make gateway ones clearer
* rename voice example
* chore: remove unused VoiceHandler
* fix: implement gateway Reconnect and InvalidSession
* Typo
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* Fix a bunch of typos
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
* fix: error handling while loading native certs
* fix: guh
* use be for nonce bytes
* fix: refactor gw and vgw closures
* remove outdated docs
---------
Co-authored-by: Flori <39242991+bitfl0wer@users.noreply.github.com>
2024-04-16 17:18:21 +02:00
getrandom = { version = "0.2.12" }
2023-11-13 13:55:55 +01:00
[ target . 'cfg(target_arch = "wasm32")' . dependencies ]
2024-01-11 19:36:36 +01:00
getrandom = { version = "0.2.12" , features = [ "js" ] }
2023-11-18 19:18:55 +01:00
ws_stream_wasm = "0.7.4"
2024-01-11 19:36:36 +01:00
wasm-bindgen-futures = "0.4.39"
2024-01-19 14:55:23 +01:00
wasmtimer = "0.2.0"
2023-05-20 21:04:03 +02:00
[ dev-dependencies ]
2023-05-25 21:11:08 +02:00
lazy_static = "1.4.0"
2024-06-04 19:41:50 +02:00
wasm-bindgen-test = "0.3.42"
wasm-bindgen = "0.2.92"