Commit Graph

1495 Commits

Author SHA1 Message Date
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
Quat3rnion b4a8082f29
Update and add some types in support of the backend (#507) 2024-06-19 19:59:39 +02:00
kozabrada123 a7fc00df29
Bump chorus macros to 0.4.0 (#506)
- Bumps chorus macros to 0.4.0, followup to #505
- Makes builds within the repo use the local path and published releases
use a set version of the macros crate
2024-06-18 17:59:41 +02:00
kozabrada123 b3e62b2c33 always update to latest release of macros 2024-06-18 17:48:57 +02:00
kozabrada123 8d56259eac chorus macros 0.4.0 2024-06-18 17:35:39 +02:00
kozabrada123 3aec5881e5
Merge Quat3rnion/backend/messages (#505)
- Adds a multitude of new Types, Flags, and a few Objects relating to
sending and managing messages.
- Adds new SqlxBitFlag macro, which handles BitFlag objects being read
from/written to the database.
- Modifies some entities to use (new) Distinct Types instead of
primitives
2024-06-18 17:30:50 +02:00
kozabrada123 4430a7c4e6
Fix deserialization error w/ guild features list 2024-06-18 17:18:20 +02:00
Quat3rnion a8b7d9dfb3 u8 -> u64 2024-06-18 10:07:56 -04:00
Quat3rnion e553d10f25 Add new SerdeBitFlags derive macro, to help reduce repetitive code 2024-06-18 10:04:00 -04:00
Quat3rnion c9a36ce725 Maybe fix tests, make UserFlags able to be deserialized from String or u64 2024-06-18 08:46:07 -04:00
Quat3rnion d7de1d2fb7 Fix compilation for real, no dirty hack 2024-06-18 05:46:27 -04:00
Quat3rnion c27bc8d575 Fix test
I feel silly.
2024-06-18 05:34:03 -04:00
Quat3rnion abc4608be5 Dirty hack 2024-06-18 05:32:27 -04:00
Quat3rnion 77004abcfa Feature lock the macro 2024-06-18 05:24:42 -04:00
Quat3rnion 06b4dc3abd forgot a file :( 2024-06-18 05:19:51 -04:00
Quat3rnion 3810170400 Remove unused imports, feature locks in macro 2024-06-18 05:14:28 -04:00
Quat3rnion dfffcf4313 Add forgotten feature locks 2024-06-18 05:09:00 -04:00
Quat3rnion 6261cebfdf Fix test 2024-06-18 05:03:55 -04:00
Quat3rnion d8560093f5 Use chorus_macros from path, since it's there anyway 2024-06-18 04:48:50 -04:00
Quat3rnion bec0269e70 Add partial emoji and custom reaction types, refine SQLx mapping 2024-06-17 15:22:58 -04:00
Quat3rnion 590a6d6828 Make UserFlags deserialize from string 2024-06-07 14:08:47 -04:00
Quat3rnion 9bd55b9b5f Fix error in macro 2024-06-07 14:08:24 -04:00
Quat3rnion d3e2ef947c Add distinct MessageType enum 2024-06-07 13:14:25 -04:00
Quat3rnion d89975819a Utilize new macros and use distinct Flag types 2024-06-07 13:13:27 -04:00
Quat3rnion 656e5e31c0 Add SqlxBitFlags derive macro 2024-06-07 13:03:44 -04:00
Quat3rnion c2035585ae Update Cargo.lock 2024-06-07 13:02:17 -04:00
Quat3rnion 96c3f53961 Merge branch 'dev' into backend/messages 2024-06-07 13:00:04 -04:00
Quat3rnion ed5365ade4 Fix inverted type wrapping 2024-06-07 02:08:41 -04:00
Quat3rnion 0468292ec6 Add type locks 2024-06-07 02:08:21 -04:00
kozabrada123 3237db708c
Backend/invites (#503)
- Adds implementation to convert `Guild` to `InviteGuild`
- Adds GetInviteSchema
- Replaces primitives with distinct types on `InviteGuild`
2024-06-07 06:54:33 +02:00
Quat3rnion 83a8f080b7
Update docs aesthetics
Co-authored-by: kozabrada123 <59031733+kozabrada123@users.noreply.github.com>
2024-06-07 00:46:53 -04:00
Quat3rnion a0cddbf3ae Fix compile error 2024-06-05 21:10:29 -04:00
Quat3rnion 556fbb9ded Add forgotten import and pub use. 2024-06-05 14:50:38 -04:00
Quat3rnion eb87bd6ffc Add `GetInvitesSchema` 2024-06-05 14:50:10 -04:00
Quat3rnion 5110e9bfdb Implement `From<Guild> for InviteGuild` 2024-06-05 14:49:34 -04:00
Quat3rnion c8bde0c9ec Use distinct types in `InviteGuild` object. 2024-06-05 14:49:17 -04:00
kozabrada123 5154d04d4a
Invites (#502)
- Modify Invite entity to work with symfonia
- Adds custom deserialization to InviteFlags
2024-06-05 19:57:26 +02:00
Quat3rnion dfd6b371f3 Merge branch 'dev' into backend 2024-06-05 13:25:44 -04:00
Quat3rnion 0d01536f59 Remove double bound for E 2024-06-05 00:46:29 -04:00
Quat3rnion c34b1da8d0 Add InviteFlags::VIEWED 2024-06-04 23:53:21 -04:00
Quat3rnion 0f1e693d60 Clear warnings 2024-06-04 23:45:22 -04:00
Quat3rnion cab4cb1ce6 Write custom serialize/deserialize impl's for InviteFlags 2024-06-04 23:43:12 -04:00
Quat3rnion 9f281879a9 Update derive for backend/sqlx compatibility. 2024-06-04 22:24:28 -04:00
Quat3rnion 450aa9f440 Update fields for backend/sqlx compatibility. 2024-06-04 22:24:03 -04:00
Quat3rnion 133b03f1c8 Use distinct type `DefaultReaction` 2024-06-04 22:22:39 -04:00
Quat3rnion 6c1493f362 Add sqlx Type, Encode, Decode impl for InviteFlags bitflag object. 2024-06-04 22:21:48 -04:00
Quat3rnion c96dcd5c33 Distinguish InviteType and InviteTargetType 2024-06-04 22:19:48 -04:00
Quat3rnion a5a0459d70
Backend related updates (#501)
(by Quat3rnion)

Some updates relating to usage with Symfonia:
* Using distinct types instead of primitives on some objects
* Add sqlx derives and implementations
* Make a facade type for Shared to be used in non-client contexts
2024-06-04 19:41:50 +02:00
Quat3rnion 0bf5091f3c Fix oversight for premium_since 2024-06-04 13:35:28 -04:00
Quat3rnion cb905d0a83 Expand documentation to explain facade type 2024-06-04 13:34:58 -04:00