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"]
|
2023-11-13 12:57:17 +01:00
|
|
|
backend = ["dep:poem", "dep: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-01-11 19:36:36 +01:00
|
|
|
poem = { version = "1.3.59", optional = true }
|
|
|
|
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"
|
2023-11-13 13:55:55 +01:00
|
|
|
chorus-macros = "0.2.0"
|
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-01-11 19:36:36 +01:00
|
|
|
wasm-bindgen-test = "0.3.39"
|
|
|
|
wasm-bindgen = "0.2.89"
|