Commit Graph

995 Commits

Author SHA1 Message Date
Quat3rnion 0468292ec6 Add type locks 2024-06-07 02:08:21 -04: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
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 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
Quat3rnion 0c9e9cf367 clear warnings 2024-06-04 13:01:51 -04:00
Quat3rnion 32677b8cd9 actually fix linux tests 2024-06-04 13:01:51 -04:00
Quat3rnion 2db91e8538 Fix errors in documentation tests 2024-06-04 13:01:51 -04:00
Quat3rnion fcda4cc2ca Remove final usages of erroneous serde impl 2024-06-04 13:01:51 -04:00
Quat3rnion 119a09ae88 Revert c4452132 2024-06-04 00:38:59 -04:00
Quat3rnion 2b4e9fa149 Remove unused imports 2024-06-04 00:38:49 -04:00
Quat3rnion f178e517d3 Use distinct type for explicit_content_filter 2024-06-04 00:22:52 -04:00
Quat3rnion 2b06742a62 Add feature sqlx locks for user, roles on GuildMember 2024-06-04 00:22:12 -04:00
Quat3rnion 97f10aaa61 Add From<Vec<GuildFeatures>> impl for GuildFeaturesList 2024-06-04 00:21:38 -04:00
Quat3rnion 4d75aa89c9 Remove erroneous serde with attributes 2024-06-03 23:59:21 -04:00
Quat3rnion 40bdafd1a3 Feature lock Shared, so backend feature gets a facade type 2024-06-03 23:56:17 -04:00
Quat3rnion 179b8d228a Use ChannelType enum on ChannelModifySchema 2024-06-03 23:54:17 -04:00
Quat3rnion 7d55bbea4b Use Snowflake in Claims 2024-06-03 23:53:15 -04:00
Quat3rnion 85aa854953 Implement sqlx Encode, Decode, Type for Rights bitflag object. 2024-06-03 22:58:05 -04:00
Quat3rnion 7548f0e592 merge latest dev 2024-06-03 01:55:12 -04:00
Quat3rnion 0bc54ce46f Add sqlx::FromRow derive to GuildMember 2024-06-03 01:41:52 -04:00
kozabrada123 eb087938ed
Fix some iso timestamps being strings, not DateTime<Utc> (#499)
* fix: some iso timestamps being strings

* fix: register uses dates, not datetimes
2024-06-03 07:32:11 +02:00
Quat3rnion eefdd4aebf Remove serde(with) for message timestamps 2024-06-02 20:17:48 -04:00
Quat3rnion a75701d9c6 Allow last_pin_timestamp to default if field is not in responses. 2024-06-02 20:06:01 -04:00
Quat3rnion 8c5d80d3f1 Allow joined_at to default if field is not in responses. 2024-06-02 19:18:43 -04:00
Quat3rnion 7b7294433b Make config register_configuration use Rights bitflag object 2024-06-02 18:11:39 -04:00
Quat3rnion c44521320d Feature lock different types for UserSettings::status 2024-06-02 18:11:07 -04:00
Quat3rnion d1b3a9ad9e Convert timestamp fields to DateTime's 2024-06-02 18:10:09 -04: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 aac31726ec Reuse gateway backends, don't duplicate them for voice gateway (#493) 2024-04-30 16:17:47 +02:00
kozabrada123 b2fd3e18cc Move Shared<T> to types/mod.rs, bump some dependencies (#492)
* deps: bump rustls to 0.21.11

This is done to fix CVE-2024-32650, which practically shouldn't affect
us but it's still better not to use vulnerable dependencies.

* deps: bump h2 to 0.3.26

This is done to fix another vulnerability, which should also not affect
us (non-critical, in h2 servers)

* fix: move Shared<T> to types/mod.rs
2024-04-28 14:15:57 +02:00
kozabrada123 319748c0a7 Use WebSocketEvent derive instead of impl WebSocketEvent for .. (#491)
use derive macro instead of manual impl blocks
2024-04-28 08:32:05 +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 5209348ac1 Fix code scanning alerts on #487 (#488)
fix codescanning alerts on 0.15.0
2024-04-16 15:54:30 +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
Flori 64feb91680 License change (#477) 2024-01-31 23:59:42 +01:00
Dirk Stolle c5bfac66e5 Fix a few typos (#471) 2024-01-31 22:27:53 +01:00
bitfl0wer b8ba92cf07 Include license header everywhere 2024-01-30 17:19:34 +01:00
bitfl0wer 60f55d9d3a exclude trivial id() functions from coverage 2024-01-24 23:26:59 +01:00
bitfl0wer f3771b31ca Remove PartialOrd from Emoji because unneccessary 2024-01-23 23:53:08 +01:00
bitfl0wer 24cec523e0 Remove old/redundant code from attachment.rs 2024-01-23 23:11:37 +01:00
bitfl0wer c13ba6b291 Rename to_public_user into into_public_user 2024-01-23 23:06:14 +01:00
bitfl0wer b24714bc68 Remove Eq fromn Guild as it is not Eq 2024-01-23 21:05:01 +01:00
bitfl0wer 3df3eae7ff APPEND: Remove unused imports 2024-01-23 19:08:35 +01:00
bitfl0wer 5e13f12cbd Replace usage of Arc<RwLock<...>> in public APIs with Shared<...> 2024-01-23 19:07:23 +01:00
bitfl0wer 9d543fcd27 Remove impl Eq from types that didn't qualify for Eq 2024-01-23 18:43:06 +01:00
bitfl0wer c405162372 rustfmt 2024-01-22 20:57:17 +01:00
bitfl0wer a3bae6d312 Fix broken behaviour for ConfigEntity 2024-01-22 20:57:08 +01:00
Flori ed3786c0a6 "Self updating structs" API improvements (#467)
This PR slightly improves the ergonomics of working with self-updating
structs, by making the changes as documented in #466.
2024-01-22 15:19:24 +01:00
bitfl0wer 2209efc6a0 Loosen bounds on IntoShared<T> 2024-01-22 15:00:46 +01:00
bitfl0wer b521928f81 Make IntoShared trait with blanket implementation 2024-01-22 14:56:23 +01:00
bitfl0wer c4bea069b7 Fix errors by moving into_shared out of Composite 2024-01-22 14:50:33 +01:00
bitfl0wer 196a36a5fe Write documentation for observe 2024-01-21 20:13:00 +01:00
bitfl0wer bae0ce8b1f Add documentation for into_shared 2024-01-21 17:15:11 +01:00
bitfl0wer 400d4c74cf Rename to_shared to into_shared 2024-01-21 17:10:24 +01:00
bitfl0wer 22e8ca2a97 Define public method `to_shared` for dyn Composite 2024-01-21 17:07:54 +01:00
bitfl0wer 48fddb7378 rustfmt 2024-01-21 17:07:30 +01:00
bitfl0wer 39b1f1fa72 Replace use of Arc<RwLock<T>> with Shared<T> 2024-01-21 17:07:19 +01:00
bitfl0wer 92654989e8 Define type alias `Shared` 2024-01-21 17:06:43 +01:00
kozabrada123 163db42536 Minor instance updates (#465)
make Instance::from_url_bundle pub, update Instance docs
2024-01-20 13:15:13 +01:00
Flori bc2dbb8017 Version 0.14.0 (#463)
## Fixes

- Fix gateway heartbeat on WASM: #460

## Changes

- Update `GuildDefaults` to use new enums
- Make new enums derive `sqlx::Type`
- Feature lock UpdateMessage implementations

## Package changes

- Bump package version, especially reqwest from 0.11.22->0.11.23 -
removes need for custom git branch in Cargo.toml
2024-01-19 21:50:26 +01:00
kozabrada123 7a878d03ac Revert "Mess w/ the tests to see if it really works"
This reverts commit 7b975e3c95.
2024-01-19 16:05:34 +01:00
kozabrada123 7b975e3c95 Mess w/ the tests to see if it really works 2024-01-19 15:53:24 +01:00
kozabrada123 1f5a6e5266 feat: switch safina_timer for tokio, fix sleep duration overflow in examples 2024-01-19 15:48:59 +01:00
kozabrada123 f97f9dafe5 fix error 2024-01-19 15:06:27 +01:00
kozabrada123 77b3a42b1c feat: fix heartbeat time on WASM 2024-01-19 14:55:23 +01:00
bitfl0wer a7c66ca823 Revert last commit 2023-12-17 22:16:53 +01:00
bitfl0wer db476e94ee Add MANAGE_ENCRYPTION permission 2023-12-17 20:47:52 +01:00
Flori 2fc94c84d5 merge backend branch into dev (#454) 2023-12-15 00:22:46 +01:00
bitfl0wer 1c4721a70f Refactor instance creation 2023-12-15 00:10:33 +01:00
bitfl0wer 40d7da96cd Update documentation and examples 2023-12-10 18:40:03 +01:00
bitfl0wer 39f7aa2a7a Remove limited argument from Instance 2023-12-03 21:44:08 +01:00
bitfl0wer bd1793fdb1 Make get_limits_config part of public api 2023-12-03 21:42:41 +01:00
bitfl0wer 0125c38bd0 Rename from_root_domain to from_root_url 2023-12-03 13:39:23 +01:00
bitfl0wer b5ff7e3347 Add Instance::from_root_domain(), change documentation wording 2023-12-03 13:37:32 +01:00
bitfl0wer c835bf1123 check for dbg! println! eprintln! in production code 2023-12-03 13:28:50 +01:00
bitfl0wer 410eef1edd impl from_api_url 2023-12-03 13:16:34 +01:00
bitfl0wer 97fc99354a add warning lint for usage of todo!() 2023-12-03 13:13:57 +01:00
bitfl0wer c66cc9b16c move WellKnownResponse to src/types/ 2023-12-03 13:04:17 +01:00
bitfl0wer 25a09c3980 Create domains_config, create Domains struct 2023-12-03 13:04:02 +01:00
bitfl0wer 9bec639634 clean up imports 2023-12-03 12:51:34 +01:00
bitfl0wer ceac04201c impl from_root_domain for UrlBundle 2023-12-03 12:49:22 +01:00
bitfl0wer 99155d1e5b impl From reqwest::Error for ChorusError 2023-12-03 12:49:07 +01:00
bitfl0wer 5f41f57e77 impl PartialEq for ChorusUser 2023-12-02 20:30:04 +01:00
bitfl0wer 67cbe5efeb Mark code blocks as no-run 2023-12-02 17:44:24 +01:00