kozabrada123
743f106ec6
Miscellaneous fixes ( #514 )
...
- fix `PATCH /users/@me` - It incorrectly returned a required password error, even if the current password was set
- fix `GET /users/@me/guilds` - It incorrectly sent body parameters instead of query ones
- don't log debug! for every successful ratelimited request - use trace! so it's less spamy
- update the max expected compression ratio (several times) from 20 to 200. let's hope that will be enough
- fix deserialization errors relating to guild folders in user settings
- fix a panic in `SqlxBitFlags` if there are extra flags. It now truncates them
- update `chorus_macros` to 0.4.1 (due to the above fix)
- log (trace!) event data if we fail to parse it or it's unrecognised, for debugging purposes
- fix a deserialization error in the `MessageACK` event
- fix `public_flags` in user objects not being `PublicFlags` bitflags
2024-06-28 14:05:59 +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
03f1e7d983
Refactor / fix login and register ( #495 )
...
Change login and register to only use one ChorusUser object, change the
api of related methods which were also somewhat ugly
2024-05-05 14:43:23 +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
9304af2594
Ignore unused imports for pub use ( #484 )
2024-03-15 17:08:46 +01:00
kozabrada123
2d72442522
Minor docs updates, add Get Private Channels ( #483 )
...
* feat: add get_private_channels
* minor docs update and reorder
2024-03-15 16:13:51 +01:00
kozabrada123
5a1931951f
Fix broken luna.gitlab.io links ( #480 )
...
docs: fix broken luna.gitlab.io links
2024-02-25 09:54:06 +01:00
bitfl0wer
b8ba92cf07
Include license header everywhere
2024-01-30 17:19:34 +01:00
bitfl0wer
24cec523e0
Remove old/redundant code from attachment.rs
2024-01-23 23:11:37 +01:00
bitfl0wer
e06edada1e
Change: register/login no longer require ownership
...
Register/login used to require ownership of `instance`. This wasn't really necessary and has been changed.
2023-11-22 18:48:37 +01:00
bitfl0wer
a4d5ebb689
Resolve merge conflicts
2023-11-19 19:12:29 +01:00
bitfl0wer
862a846055
Rename `get_handle` to `spawn`
2023-11-18 19:07:56 +01:00
bitfl0wer
ce7ff49ee4
checkpoint
2023-11-18 18:08:12 +01:00
bitfl0wer
b93b3690da
Refactor project to use chorus::Gateway[...]
2023-11-15 21:03:53 +01:00
bitfl0wer
5bbf1cef1f
Add prefix "Default" To Gateway, -Handler and HeartbeatHandler
2023-11-15 20:58:10 +01:00
bitfl0wer
e4cc201b79
Remove all imports of Gateway and GatewayHandle
2023-11-15 20:57:06 +01:00
bitfl0wer
20c9066e6f
Properly extract all extractable methods from GatewayHandle into Trait
2023-11-15 20:18:50 +01:00
bitfl0wer
06d25d3e50
Impl base of GatewayCapable for Gateway
2023-11-15 00:04:04 +01:00
bitfl0wer
81447c9dda
Split up gateway.rs into several files
2023-11-14 11:13:02 +01:00
kozabrada123
bc5e64b79d
Add option to login with only a token ( #427 )
...
* Add login with token
2023-09-01 17:17:49 +02:00
bitfl0wer
e17fcd9e0f
Make login only take owned values
2023-09-01 13:01:50 +02:00
bitfl0wer
a8bcb58493
Make auth functions take owned values, similar to the rest of the API
2023-09-01 12:12:07 +02:00
bitfl0wer
6e136fba83
Make ChorusError Clone
2023-09-01 01:17:23 +02:00
kozabrada123
0dfd622661
Fix failing build w/o client and move ratelimits ( #426 )
...
* Fix failing build without client feature
* Feature lock Updateable and Composite
2023-08-30 15:26:19 +02:00
kozabrada123
3d8d6b6f3b
Make GatewayHandle Clone
2023-08-29 14:24:32 +02:00
bitfl0wer
00faab4801
Change gateway to Arc::new(gateway)
2023-08-29 00:05:36 +02:00
bitfl0wer
4bbb22eb31
Replace `belongs_to: Rc<RefCell<Instance>>` with `Arc<RwLock<Instance>>` to make `ChorusUser` `Send`
2023-08-28 18:12:17 +02:00
bitfl0wer
02212f95e3
Add Debug derives to all structs
2023-08-28 12:27:21 +02:00
bitfl0wer
2f9936cfd2
Add rustdoc comments
2023-08-26 19:41:00 +02:00
bitfl0wer
ea66edc68d
Fix guild ban test failing
2023-08-26 17:45:27 +02:00
bitfl0wer
aee50036a0
Add delete_role + test
2023-08-26 16:54:24 +02:00
bitfl0wer
116f1312e7
Disambiguate function name
2023-08-26 16:22:18 +02:00
bitfl0wer
1709e85a4b
Add delete_guild_ban
2023-08-25 17:28:02 +02:00
bitfl0wer
07ebaf6119
Add Get Guild Ban/s, add audit_log_reason to create_ban
2023-08-25 17:26:01 +02:00
bitfl0wer
cd70a5b388
Add modify guild member profile route
2023-08-25 17:11:00 +02:00
bitfl0wer
cce5b507bc
Add modify_current_member route
2023-08-25 16:54:41 +02:00
bitfl0wer
7b55590fd0
Add modify_member route
2023-08-25 16:47:28 +02:00
bitfl0wer
516a1467fa
Add some more routes
2023-08-25 01:35:57 +02:00
bitfl0wer
2b69aba2ca
Merge branch 'main' into guild-routes
2023-08-25 01:11:28 +02:00
bitfl0wer
d73c1963fc
Start refactoring ChorusRequest to ChorusRequest::new()
2023-08-25 00:02:26 +02:00
bitfl0wer
e9318ea4dc
start adding auditlogreason to routes that take it
2023-08-24 22:30:13 +02:00
bitfl0wer
eb163d278a
Change UserMeta to ChorusUser
2023-08-24 21:46:02 +02:00
bitfl0wer
facb91fc20
Merge branch 'main' into guild-routes
2023-08-24 21:41:22 +02:00
bitfl0wer
fb7e33c0ec
Change `UserMeta` to `ChorusUser`
2023-08-24 21:06:28 +02:00
bitfl0wer
5ed2f0f2c3
add get guild preview route
2023-08-24 21:05:39 +02:00
bitfl0wer
9db9d2a512
Add get user guilds endpoint
2023-08-23 00:08:43 +02:00
bitfl0wer
9e3bf947c1
Add acknowledge_pinned endpoint
2023-08-22 22:34:37 +02:00
bitfl0wer
a23363e0a3
add delete and bulk_delete endpoints
2023-08-22 22:32:48 +02:00
bitfl0wer
a8f37ea201
Add Modify Message endpoint
2023-08-22 22:27:09 +02:00
bitfl0wer
f85cde71b4
Add Hide from guild feed endpoint
2023-08-22 22:16:07 +02:00