Commit Graph

89 Commits

Author SHA1 Message Date
kozabrada123 56b2381716
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
bitfl0wer f8ba59c43e
bump version, add rust-version 2024-04-16 15:13:27 +02:00
bitfl0wer 3700347503
Change license to Mozilla Public License v2.0 2024-01-30 10:03:14 +01:00
bitfl0wer 59b6907481
Merge branch 'main' of https://github.com/polyphony-chat/chorus 2024-01-19 21:50:44 +01:00
bitfl0wer f7d31fe57b
bump version to 0.14.0 2024-01-19 21:50:42 +01:00
kozabrada123 8a2bc8287e Revert "Mess w/ the tests to see if it really works"
This reverts commit 8243f103f9.
2024-01-19 16:05:34 +01:00
kozabrada123 8243f103f9 Mess w/ the tests to see if it really works 2024-01-19 15:53:24 +01:00
kozabrada123 34cc344c8d feat: switch safina_timer for tokio, fix sleep duration overflow in examples 2024-01-19 15:48:59 +01:00
kozabrada123 d37415fc13 feat: fix heartbeat time on WASM 2024-01-19 14:55:23 +01:00
bitfl0wer 7fdb4bae49
bump package versions 2024-01-11 19:36:36 +01:00
bitfl0wer de42299fd0
bump reqwest to 0.11.23 2024-01-11 19:30:40 +01:00
bitfl0wer bbdcd35b60
Bump version 2023-12-03 22:35:45 +01:00
bitfl0wer eb71a77a2c
Update reqwest dependency to version 0.11.22 2023-11-22 17:32:22 +01:00
bitfl0wer 8a5537606a
Bump version, explain why custom `reqwest` 2023-11-22 16:14:47 +01:00
bitfl0wer 1c7e318201
Add wasm-bindgen-futures 2023-11-22 14:24:01 +01:00
bitfl0wer c456d65c2f
Add wasm-bindgen to Cargo.toml 2023-11-20 11:41:32 +01:00
bitfl0wer dc0c2ee430
add wasm-bindgen-test 2023-11-19 22:49:41 +01:00
bitfl0wer 129e72dbf0
TEMP: Compile wasm dependencies&code per default
TODO: Check todos before merging into dev
2023-11-19 12:52:11 +01:00
bitfl0wer 9d88f50bf7
start implementing wasm gateway 2023-11-19 01:31:04 +01:00
bitfl0wer fc6a45b4fc
Apparently, the conditional dependency now works again. lol 2023-11-18 19:18:55 +01:00
bitfl0wer b03d6b45a4
Use upstream ws_stream_wasm 2023-11-18 19:13:26 +01:00
bitfl0wer 43a692b37a
Use ws_stream_wasm fork 2023-11-18 15:27:22 +01:00
bitfl0wer cda9bd35b0
Move ws_stream_wasm to shared dependencies
Avoids conditional compiling bug i haven't yet fully found out. See:
https://cloud.bitfl0wer.de/s/KEcZs7PtQ3JZo8x
2023-11-16 16:28:55 +01:00
bitfl0wer 3f66006a45
Merge branch 'main' into feature/wasm32-unknown 2023-11-14 16:30:24 +01:00
Flori bd8bf80fde
Bump version 2023-11-14 16:02:51 +01:00
Flori ff504b454c
Manually bump tungstenite to 0.20.1 in cargo.toml 2023-11-14 12:33:12 +01:00
bitfl0wer 1450546429
Replace tokio::time with safina-timer 2023-11-13 19:20:38 +01:00
bitfl0wer cafd645dd3
Use patched reqwest with multipart-headers support 2023-11-13 17:34:16 +01:00
bitfl0wer 3124c452d8
Include `rand` crate in all targets 2023-11-13 15:38:20 +01:00
bitfl0wer 5fff060f4b
remove sqlx from wasm-exclusion, add futures-timer 2023-11-13 15:29:37 +01:00
bitfl0wer 6ad5a5851f
compile-lock most wasm32 incompatibilities 2023-11-13 13:55:55 +01:00
bitfl0wer 15b5eab08c
Format changes 2023-11-13 12:57:17 +01:00
bitfl0wer b0b9729662
+ ws_stream_wasm, - dev-dependency on tokio/full 2023-11-13 12:43:00 +01:00
bitfl0wer cc252ddefc
HOTFIX: remove openssl, like it was intended 2023-11-12 18:04:47 +01:00
bitfl0wer c67ce5cc2d
Remove openssl-dependency fully 2023-11-12 18:04:15 +01:00
bitfl0wer 88958b1a2b
Bump version for chorus 2023-11-12 17:41:59 +01:00
bitfl0wer 57a83bdd88
Remove openssl, use rustls and rand instead 2023-11-12 17:20:32 +01:00
bitfl0wer a8496548d9
Add source url field trait 2023-09-03 21:00:48 +02:00
bitfl0wer 11e949c824
Make Errors Hash and Eq, bump version 2023-09-03 16:55:19 +02:00
bitfl0wer 58284aeaaa
Bugfix time 2023-09-01 15:02:57 +02:00
bitfl0wer 82cc1ff0ea
Bump version 2023-09-01 13:02:11 +02:00
bitfl0wer 665ebfa4fe
Bump version 2023-09-01 00:49:42 +02:00
fowb 6b35b3ee56 Bump Version 2023-08-30 15:29:14 +02:00
bitfl0wer cf9bd6328e
Bump version 2023-08-29 14:45:10 +02:00
bitfl0wer dcf2809678
Fix typo 2023-08-29 00:08:59 +02:00
bitfl0wer bdd6e9b5dd
Bump version 2023-08-29 00:06:17 +02:00
Flori f313b8af81
Update Cargo.toml 2023-08-28 18:23:30 +02:00
bitfl0wer f296a900c0
Bump version to 0.2 2023-08-28 12:39:16 +02:00
bitfl0wer 07538cb2c7
Add website 2023-08-27 12:49:58 +02:00
bitfl0wer 306e27c1c2
Merge branch 'enhancement/bump-deps' of https://github.com/polyphony-chat/chorus into enhancement/bump-deps 2023-08-27 01:11:52 +02:00