Commit Graph

69 Commits

Author SHA1 Message Date
bitfl0wer 0bfab58f2f
Use cargo nextest 2024-07-24 14:00:40 +02:00
kozabrada123 89333d6353
Implement gateway options, zlib-stream compression (#508)
* feat: add GatewayOptions

* feat: implement zlib-stream compression

This also changes how gateway messages work.
Now each gateway backend converts its message into an
intermediary RawGatewayMessage, from which we inflate
and parse GatewayMessages.

Thanks to ByteAlex and their zlib-stream-rs crate, which
helped me understand how to parse a compressed websocket stream
2024-06-23 17:23:13 +02:00
kozabrada123 d4377c5280
Ci improvements (#498)
* bump wasm-bindgen version to 0.2.92

* change wasm-gecko to using ubuntu-latest, since geckodriver is not supported on macos-latest

* check some common non-default feature configurations

* add experimental semver checks
2024-06-02 19:28:02 +02:00
kozabrada123 0cbc88503b Limit test actions to 30 minutes (#489)
fix: limit all tests to 30 minutes
2024-04-16 17:40:38 +02:00
kozabrada123 74d6785e50 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
kozabrada123 45f07e0510 Update github/codeql-action to v3 (#476) 2024-01-31 23:15:08 +01:00
Dirk Stolle 862ed9195f Replace unmaintained actions-rs/toolchain by dtolnay/rust-toolchain (#473) 2024-01-31 23:02:10 +01:00
Dirk Stolle 750cc21b0a Bump actions/setup-node in GHA workflow to v4 (#472) 2024-01-31 22:43:54 +01:00
bitfl0wer 2c0f71793d wasm-safari CI seems to be bugged - disabling for now 2023-12-03 15:57:03 +01:00
bitfl0wer 3a4fd470df Try giving macos-safari its own cache key to fix CI 2023-12-03 15:06:09 +01:00
bitfl0wer c0004d732c Change macOS Safari test strategy to no-fail-fast 2023-12-03 14:18:14 +01:00
bitfl0wer 84f8fc0fa4 Update branch filter for push event 2023-11-22 16:43:48 +01:00
bitfl0wer f973c55952 Prevent CI from running twice on PR to main 2023-11-22 16:43:03 +01:00
bitfl0wer 56e02960ea Split up wasm-tests into 3 seperate tests 2023-11-22 15:13:26 +01:00
bitfl0wer c7ff1724e6 Revert "Try out combined coverage report"
This reverts commit d34a813d8a.
2023-11-20 13:33:45 +01:00
bitfl0wer 07c8c16496 Revert "try different strategy to skip coverage on forks"
This reverts commit fb46ab83ac.
2023-11-20 13:33:40 +01:00
bitfl0wer fb46ab83ac try different strategy to skip coverage on forks 2023-11-20 13:22:23 +01:00
bitfl0wer d34a813d8a Try out combined coverage report 2023-11-20 13:16:49 +01:00
bitfl0wer ced83c2a57 Rename macOS test step for clarity 2023-11-20 12:51:55 +01:00
bitfl0wer e73ad1d965 Move all wasm related tests to macos 2023-11-20 12:38:39 +01:00
bitfl0wer ebd64f0e25 remove geckodriver 2023-11-20 12:32:48 +01:00
bitfl0wer 0f09cb8fb1 Try using only one browser 2023-11-20 12:29:20 +01:00
bitfl0wer 5c48cdfb5e Add cargo-binstall installation script for
wasm-bindgen-cli
2023-11-20 12:11:30 +01:00
bitfl0wer 47ecd5ae9f Move wasm-bindgen-cli install 2023-11-20 12:08:40 +01:00
bitfl0wer 81289ff92b maybe this will fix ci :clueless: 2023-11-20 12:04:56 +01:00
bitfl0wer f26d0474ac Run wasm tests first 2023-11-20 11:59:37 +01:00
bitfl0wer 10adb12298 Attempt to locate correct geckodriver 2023-11-20 11:57:31 +01:00
bitfl0wer e142fec9f6 Correct "vers" to "version" 2023-11-20 11:46:10 +01:00
bitfl0wer 18abf66f44 Add wasm-bindgen-cli to macos 2023-11-20 11:43:08 +01:00
bitfl0wer b7eeb0dc8c Install wasm-bindgen-cli on linux 2023-11-20 11:42:07 +01:00
bitfl0wer dd2b29622f Move wasm-pack installation before test execution 2023-11-20 00:07:09 +01:00
bitfl0wer a00ec555d0 Add wasm32 target 2023-11-19 23:18:58 +01:00
bitfl0wer 505abdb82d Add macos safari wasm test 2023-11-19 23:15:12 +01:00
bitfl0wer 5fdac6d48f Build & Test for wasm 2023-11-19 23:04:25 +01:00
bitfl0wer 2edab4cc99 include "dev" branch in actions executions 2023-11-12 17:32:57 +01:00
bitfl0wer fac543bf5a bump actions version
- bump checkout to @v4
- bump rust-toolchain to @v1
2023-11-12 17:30:49 +01:00
Flori 10b623dbf6 Update build_and_test.yml 2023-09-03 20:00:45 +02:00
Flori c822dc84bb Update rust-clippy.yml 2023-09-03 20:00:23 +02:00
bitfl0wer c4bd33205c Conditional skip of code coverage 2023-08-26 18:02:21 +02:00
Flori 19fc0b4746 Remove CI env 2023-08-26 15:08:47 +02:00
bitfl0wer 7f4aad891c Remove tarpaulin rustflags, add --tests 2023-08-26 14:15:31 +02:00
bitfl0wer 34ee9f7d6d as if forcing it does the trick here 2023-08-26 14:05:34 +02:00
bitfl0wer bf9233fef2 Add --no-confirm flag 2023-08-26 13:48:15 +02:00
bitfl0wer 62fccd1305 Maybe cargo binstall can help here 2023-08-26 13:45:44 +02:00
bitfl0wer bf2b8a856b Try removing explicit cargo install call to see what happens 2023-08-26 13:43:00 +02:00
bitfl0wer b06880b181 Remove .cargo/bin as it is redundant
.cargo is already being cached by rust-cache
2023-08-26 13:37:42 +02:00
bitfl0wer 88a15a05fe Configure rust-cache 2023-08-26 13:32:35 +02:00
bitfl0wer 408caec31a Bump Node version to 18 2023-08-25 21:30:07 +02:00
bitfl0wer 09a70a087e Add CI environment 2023-08-25 21:07:16 +02:00
bitfl0wer cbb24549d2 Add code coverage using coveralls and tarpaulin 2023-08-25 20:58:46 +02:00