Commit Graph

986 Commits

Author SHA1 Message Date
bitfl0wer 0a8105d7fc
Remove duplicate code 2023-11-16 19:25:55 +01:00
bitfl0wer 36f839b1c0
Revert "Add Adapter GatewayMessageData"
This reverts commit 1f94f294bc.
2023-11-16 19:07:14 +01:00
bitfl0wer da944f729c
Revert "Make GatewayMessage use new Adapter Type"
This reverts commit 033f2fa4b7.
2023-11-16 19:05:36 +01:00
bitfl0wer 033f2fa4b7
Make GatewayMessage use new Adapter Type 2023-11-16 18:30:09 +01:00
bitfl0wer 1f94f294bc
Add Adapter GatewayMessageData
Fits onto tokio_tungstenite Messages and ws_stream_wasm::WsMessage
2023-11-16 18:20:45 +01:00
bitfl0wer 6c2d67213a
Add import 2023-11-16 18:20:11 +01:00
bitfl0wer 7eb5325a41
Make message.rs shared
Make HeartbeatThreadCommunication shared

Move shared code to mod.rs

Export new shared code

Remove useless export
2023-11-16 17:50:04 +01:00
bitfl0wer 5ffd42c1bf
Move events to shared location 2023-11-16 16:24:25 +01:00
bitfl0wer b9281b2300
Create wasm gateway module 2023-11-16 16:24:02 +01:00
bitfl0wer 79b437cd33
Move heartbeat to shared location 2023-11-16 16:23:44 +01:00
kozabrada123 355d3c49b8 Merge dev for #430 fix 2023-11-16 10:31:56 +01:00
kozabrada123 f5c5e1cc5e fix: voice works again 2023-11-16 10:17:45 +01:00
kozabrada123 4faf25165d Merge main 2023-11-16 09:59:09 +01:00
bitfl0wer bacc1bff69
Add wasm gateway submodule 2023-11-15 22:32:31 +01:00
bitfl0wer c50762e92d
Conditionally compile wasm/default 2023-11-15 22:32:13 +01:00
bitfl0wer 7f239d3ed3
Change typedef to only compile with feature client 2023-11-15 22:31:44 +01:00
bitfl0wer 47d09fe822
re-organize files 2023-11-15 22:26:15 +01:00
bitfl0wer 0c6b120edf
Feature lock DefaultGateway+Handle for non-wasm32 2023-11-15 21:09:24 +01:00
bitfl0wer b738f4d543
Refactor project to use chorus::Gateway[...] 2023-11-15 21:03:53 +01:00
bitfl0wer 497c3bda74
Add prefix "Default" To Gateway, -Handler and HeartbeatHandler 2023-11-15 20:58:10 +01:00
bitfl0wer 82dd3d22b3
Remove all imports of Gateway and GatewayHandle 2023-11-15 20:57:06 +01:00
bitfl0wer c6b3a28132
Fix clippy warning 2023-11-15 20:26:47 +01:00
bitfl0wer 0499dac983
Properly extract all extractable methods from GatewayHandle into Trait 2023-11-15 20:18:50 +01:00
bitfl0wer da40d7a4e2
Refactor Gateway module to implement traits and
improve code structure
2023-11-15 18:44:19 +01:00
bitfl0wer 9258e0d93f
Impl base of GatewayCapable for Gateway 2023-11-15 00:04:04 +01:00
bitfl0wer 855518c47f
start converting struct impl into trait impl 2023-11-14 21:14:05 +01:00
bitfl0wer 2f3927d8c4
Add missing, least required methods to traitdef 2023-11-14 20:46:46 +01:00
bitfl0wer 82768c6772
Start impl of Gateway Traits 2023-11-14 20:05:47 +01:00
bitfl0wer 8888b2f060
Use GatewayStore instead of complex typedef 2023-11-14 20:05:21 +01:00
bitfl0wer 80a0ab9fb2
Factor out GatewayStore into own type 2023-11-14 20:04:23 +01:00
bitfl0wer 7ecf44386e
Remove unneeded import 2023-11-14 19:00:43 +01:00
bitfl0wer e9bb19c611
Merge branch 'dev' into feature/wasm32-unknown 2023-11-14 19:00:20 +01:00
bitfl0wer 7b3bb037e7
Make id Optional, custom impl Updateable 2023-11-14 17:31:07 +01:00
kozabrada123 804b5c253f
fix: Voice State session id is a string, not a snowflake 2023-11-14 17:08:46 +01:00
bitfl0wer e0c7af0d45
Generate snowflake if not exists 2023-11-14 16:55:23 +01:00
bitfl0wer 0c0252acd2
I fucked up the merge and merged gateway wrongly 2023-11-14 16:42:01 +01:00
bitfl0wer 3f66006a45
Merge branch 'main' into feature/wasm32-unknown 2023-11-14 16:30:24 +01:00
bitfl0wer 1e0ed31588
Move HEARTBEAT_ACK_TIMEOUT
Delete events.rs

Unify import

Move HEARTBEAT_ACK_TIMEOUT since its not an OPCODE
2023-11-14 15:46:23 +01:00
bitfl0wer e852e6d1b1
Remove redundant `NSFWLevel` structdef 2023-11-14 11:13:21 +01:00
bitfl0wer c2949f8d14
Split up gateway.rs into several files 2023-11-14 11:13:02 +01:00
bitfl0wer 1450546429
Replace tokio::time with safina-timer 2023-11-13 19:20:38 +01:00
bitfl0wer ba3acd8d08
Ensure rt and rt_multi_thread aren't both enabled 2023-11-13 15:26:46 +01:00
bitfl0wer 7f48eedb2c
make SentryConfiguration wasm-compatible
- Moved `hostname` lib behind conditional compiling
- provided alternative implementation of hostname::get for wasm-targets
2023-11-13 15:18:22 +01:00
bitfl0wer 57a83bdd88
Remove openssl, use rustls and rand instead 2023-11-12 17:20:32 +01:00
kozabrada123 9460219d14 feat: packet parsing! 2023-11-12 14:59:28 +01:00
kozabrada123 b973ecb447 feat: return ip discovery data + minor update 2023-11-12 13:33:29 +01:00
kozabrada123 8278cc2162 feat: kinda janky ip discovery impl 2023-11-12 12:54:32 +01:00
kozabrada123 fb42b6b713 fix: deserialization error in speaking bitflags 2023-11-12 10:53:23 +01:00
kozabrada123 b0ae700775 Restructure voice to new module 2023-11-12 10:52:42 +01:00
kozabrada123 ef1d314291 Create seperate voice_gateway.rs and voice_udp.rs 2023-11-12 10:50:07 +01:00
kozabrada123 fad04da125 Update to v7 2023-10-15 11:51:59 +02:00
kozabrada123 feb8d4610c Clarify FIXME related to #430 2023-10-15 09:47:36 +02:00
kozabrada123 fa3c3b76ae Update voice identify 2023-10-15 09:47:08 +02:00
kozabrada123 cf70147500 Fix error failing to 'deserialize' properly 2023-10-14 18:13:09 +02:00
kozabrada123 e5c4cc3df9 Voice gateway updates 2023-10-14 11:51:31 +02:00
kozabrada123 5608d96a5f Fix bad request in voice gateway init 2023-10-14 11:03:50 +02:00
kozabrada123 8ab75e313a ?? 2023-10-14 10:49:51 +02:00
kozabrada123 7b8bcffafa Event updates via the scientific method 2023-10-14 10:43:02 +02:00
kozabrada123 cdcc6a5270 Make voice event fields pub 2023-10-14 10:29:05 +02:00
kozabrada123 1639d4e00f Add default impl for voicegatewayerror 2023-10-14 10:25:28 +02:00
kozabrada123 e4f0a3840a Modernise voice gateway 2023-10-14 09:58:26 +02:00
kozabrada123 68b6ff4ca7 Minor doc fixes 2023-10-14 08:53:31 +02:00
kozabrada123 c732a97da6 275 commits behind ono 2023-10-14 08:41:26 +02:00
zertex f78f869f4c
Feature lock UpdateMessage implementations 2023-09-22 20:45:19 -04:00
zertex 30909212a6
Make new enums derive sqlx::Type 2023-09-22 20:44:56 -04:00
zertex b1f365edbb
Update GuildDefaults to use new enums 2023-09-22 20:44:25 -04:00
bitfl0wer cb82604254
Make events module pub 2023-09-06 01:32:38 +02:00
bitfl0wer 7385dc4be0
Make WebsocketEvent send, Sznc, Debug 2023-09-05 22:29:04 +02:00
bitfl0wer f5569973f7
Implement UpdateMessage for GuildCreate 2023-09-05 14:41:02 +02:00
bitfl0wer b3bbff5c36
Implement UpdateMessage for GuildDelete 2023-09-05 13:35:01 +02:00
bitfl0wer 43f1aa1add
Simplify this loop 2023-09-05 13:34:22 +02:00
bitfl0wer 995ba583df
Make the fields on this type public 2023-09-05 13:33:50 +02:00
bitfl0wer a8496548d9
Add source url field trait 2023-09-03 21:00:48 +02:00
bitfl0wer 09df7a8c7b
Derive Default for Instance 2023-09-03 19:59:03 +02:00
bitfl0wer d0b4c691ba
Impl PartialEq, Eq for Guild 2023-09-03 18:29:33 +02:00
bitfl0wer 2ec6c1d171
impl Hash for Guild 2023-09-03 17:09:44 +02:00
bitfl0wer f11ec1d008
Add semicolon 2023-09-03 16:55:34 +02:00
bitfl0wer 11e949c824
Make Errors Hash and Eq, bump version 2023-09-03 16:55:19 +02:00
kozabrada123 7e4f73b695
Add option to login with only a token (#427)
* Add login with token
2023-09-01 17:17:49 +02:00
bitfl0wer a00ffbf5b2
Make login only take owned values 2023-09-01 13:01:50 +02:00
bitfl0wer 245a7be291
Make auth functions take owned values, similar to the rest of the API 2023-09-01 12:12:07 +02:00
bitfl0wer a2677c6767
Make ChorusError Clone 2023-09-01 01:17:23 +02:00
bitfl0wer 6cf8b6a384
Add Default to LoginSchema 2023-09-01 00:50:19 +02:00
bitfl0wer 10336d7880
Remove borrow 2023-09-01 00:50:07 +02:00
bitfl0wer c7c584c1fa
Make UrlBundle `Hash` 2023-08-30 19:13:46 +02:00
kozabrada123 eb5c9d3ae8
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 352a907845
Error observer (also merge perpetual/gateway-dev) (#425)
* Add Webrtc Identify & Ready

* Test error observer

* Minor updates

* More derives

* Even more derives

* Small types update

* e
2023-08-29 16:38:26 +00:00
kozabrada123 55a5925b4b Make GatewayHandle Clone 2023-08-29 14:24:32 +02:00
bitfl0wer fe7b4eb767
Change gateway to Arc::new(gateway) 2023-08-29 00:05:36 +02:00
bitfl0wer 0e156b9897
Make ChorusUser `Clone` 2023-08-29 00:05:16 +02:00
bitfl0wer 88dfde2dfe
Replace `belongs_to: Rc<RefCell<Instance>>` with `Arc<RwLock<Instance>>` to make `ChorusUser` `Send` 2023-08-28 18:12:17 +02:00
bitfl0wer bdef311300
Clippy rules, docs logo 2023-08-28 12:27:38 +02:00
bitfl0wer f287ac5e5b
Add Debug derives to all structs 2023-08-28 12:27:21 +02:00
bitfl0wer de3ccd7504
Add rustdoc comments 2023-08-26 19:41:00 +02:00
bitfl0wer 708e0d21ff
Fix guild ban test failing 2023-08-26 17:45:27 +02:00
bitfl0wer 1410e3ec13
Add delete_role + test 2023-08-26 16:54:24 +02:00
bitfl0wer 6ba2cd4959
Disambiguate function name 2023-08-26 16:22:18 +02:00
bitfl0wer 41300ba6df
Update GuildBan object 2023-08-26 16:21:47 +02:00
bitfl0wer 5d3fcfc85b
Add delete_guild_ban 2023-08-25 17:28:02 +02:00
bitfl0wer 7b54ff6879
Add Get Guild Ban/s, add audit_log_reason to create_ban 2023-08-25 17:26:01 +02:00
bitfl0wer 050be7b142
Add modify guild member profile route 2023-08-25 17:11:00 +02:00
bitfl0wer 29e0b0e90c
Add modify_current_member route 2023-08-25 16:54:41 +02:00
bitfl0wer b1c352957e
Add modify_member route 2023-08-25 16:47:28 +02:00
bitfl0wer ae0ca42b7a
Add some more routes 2023-08-25 01:35:57 +02:00
bitfl0wer 87fcf2edf1
Remove unneeded function 2023-08-25 01:35:49 +02:00
bitfl0wer 9cb8b29487
Merge branch 'main' into guild-routes 2023-08-25 01:11:28 +02:00
bitfl0wer 6106bdf1cb
Start refactoring ChorusRequest to ChorusRequest::new() 2023-08-25 00:02:26 +02:00
bitfl0wer dd20cb6d9b
start adding auditlogreason to routes that take it 2023-08-24 22:30:13 +02:00
bitfl0wer 0cb2bb6883
Create ChorusRequest-builder function 2023-08-24 22:29:26 +02:00
bitfl0wer f33016fae5
Change UserMeta to ChorusUser 2023-08-24 21:46:02 +02:00
bitfl0wer c4a06de564
Merge branch 'main' into guild-routes 2023-08-24 21:41:22 +02:00
bitfl0wer 51ba271a63
Change `UserMeta` to `ChorusUser` 2023-08-24 21:09:23 +02:00
bitfl0wer 1505ce9c67
Change `UserMeta` to `ChorusUser` 2023-08-24 21:06:28 +02:00
bitfl0wer 5324116b0f
add get guild preview route 2023-08-24 21:05:39 +02:00
bitfl0wer 895dea3780
Add get user guilds endpoint 2023-08-23 00:08:43 +02:00
bitfl0wer 3006a6d860
Fix clippy lint 2023-08-22 22:40:36 +02:00
bitfl0wer d6de981254
Add acknowledge_pinned endpoint 2023-08-22 22:34:37 +02:00
bitfl0wer 10109211a6
add delete and bulk_delete endpoints 2023-08-22 22:32:48 +02:00
bitfl0wer e8a02e57f8
Add Modify Message endpoint 2023-08-22 22:27:09 +02:00
bitfl0wer c9562457d2
Add Hide from guild feed endpoint 2023-08-22 22:16:07 +02:00
bitfl0wer 41bac67d67
Add crosspost endpoint 2023-08-22 22:10:12 +02:00
bitfl0wer c11ab6f727
Add message acknowledge endpoint 2023-08-22 22:06:19 +02:00
bitfl0wer 2352034b82
Create Greet Message 2023-08-22 21:55:24 +02:00
bitfl0wer 3947b04183
Add message: get 2023-08-22 21:27:31 +02:00
bitfl0wer 8cf1f84d73
Closes #269, #268, #270 2023-08-22 20:09:44 +02:00
bitfl0wer 9302fbd42a
Correctify search_message
Fixes Search Messages #258
2023-08-22 19:23:27 +02:00
bitfl0wer ad0d4752f7
Move search_messages to Channel impl 2023-08-22 17:56:13 +02:00
bitfl0wer a22c4c901e
Implement Default for MessageSearchQuery 2023-08-22 17:55:53 +02:00
bitfl0wer dfde96d791
Make channel_type in ChannelCreateSchema of type enum "ChannelType" 2023-08-22 17:55:29 +02:00
bitfl0wer 19335bf83b
Add some missing derives 2023-08-22 14:01:17 +02:00
bitfl0wer 1696cc610d
Add MessageSearchEndpoint Enum and MessageSearchQuery schema struct 2023-08-22 14:01:03 +02:00
bitfl0wer 8143514b6b
Add search() and search_messages() 2023-08-22 14:00:39 +02:00
bitfl0wer c542714f96
Modify Guild Channel Positions
Fixes #229
2023-08-22 01:11:22 +02:00
bitfl0wer a606a31645
Fix deserialize error 2023-08-20 23:24:30 +02:00
bitfl0wer 21b89107a2
Add Guild::modify(); 2023-08-20 23:13:34 +02:00
bitfl0wer 79fd36abb4
Complete GuildModifySchema 2023-08-20 22:52:06 +02:00
bitfl0wer 21e396c8b6
Add GuildModifySchema 2023-08-20 22:46:58 +02:00
bitfl0wer 8b09d52ac8
Add Types 2023-08-20 22:46:44 +02:00
bitfl0wer 7b24fb5cde
Add create_ban
Closes "Create Guild Ban #299"
2023-08-20 18:49:10 +02:00
bitfl0wer d27d7d9796
Create GuildBanCreateSchema, clean up GuildCreateSchema 2023-08-20 18:48:07 +02:00
bitfl0wer 1ad8055406
Start implementing some UpdateMessages 2023-08-19 01:13:07 +02:00
bitfl0wer d7bd96d039
Handle id().is_none() cases 2023-08-18 23:40:01 +02:00
bitfl0wer 86b1149565
Make id(&self) return Option<Snowflake> 2023-08-18 23:34:00 +02:00
bitfl0wer 1144b77fbb
Fix typo 2023-08-18 21:29:34 +02:00
bitfl0wer 4c5a2ca515
Remove prints 2023-08-18 20:20:58 +02:00
bitfl0wer d085e763d5
Add Arc<RwLock<T>> 2023-08-18 20:20:53 +02:00
bitfl0wer a8094da49a
Add Todo to every event which needs UpdateMessage 2023-08-18 20:20:25 +02:00
kozabrada123 c9cd936628
Minor gateway updates (#188)
* Fix TYPING_START not existing

* Fix spacebar READY deserialization error
2023-08-18 14:27:39 +02:00
kozabrada123 9ff3fc3efa Add content type specification 2023-08-18 11:41:06 +02:00
bitfl0wer 0ed417dae6
Change type of Channel::last_pin_timestamp 2023-08-17 22:45:42 +02:00
bitfl0wer 9cdc807651
Change bearer_auth to header("Authorization" 2023-08-17 22:26:07 +02:00
bitfl0wer f047802350
Remove comment 2023-08-17 18:26:34 +02:00
bitfl0wer ad4404fb43
Remove prints 2023-08-17 18:26:14 +02:00
bitfl0wer b768d0f444
Call watch_whole either way 2023-08-17 18:26:06 +02:00
bitfl0wer ebe307aa33
Remove debug prints 2023-08-16 22:04:43 +02:00
bitfl0wer ef7261adf9
I think i found out why shit no work 2023-08-16 22:04:36 +02:00
bitfl0wer 99bdf819a8
Make store pub(crate), other adjustments 2023-08-16 22:04:07 +02:00
bitfl0wer b1d8e40ddd
Make trait Debug 2023-08-16 21:26:27 +02:00
bitfl0wer cc44e77bcc
Remove tokio watch channels 2023-08-16 21:26:19 +02:00
bitfl0wer 7147ac5daf
Rename update to modify 2023-08-16 14:05:51 +02:00
bitfl0wer 9559b15b8a
Make Role Clone 2023-08-16 14:05:44 +02:00
bitfl0wer 8a925631ee
Add GuildRoleCreate and -Update 2023-08-16 14:05:37 +02:00
bitfl0wer eac86b18cd
Rename functions, add observe_and_into_inner 2023-08-16 01:11:26 +02:00
bitfl0wer 497fd56ab0
Revert "Give `GatewayHandle` and `Gateway` common trait to call `watch_whole()` or observe() from a `Gateway`"
This reverts commit 8e2e0d137d.
2023-08-16 00:21:18 +02:00
bitfl0wer 8e2e0d137d
Give `GatewayHandle` and `Gateway` common trait to call `watch_whole()` or observe() from a `Gateway` 2023-08-16 00:18:32 +02:00
bitfl0wer 7fdbe38843
Add back set_json. No idea when it disappeared? 2023-08-15 22:19:47 +02:00
bitfl0wer 9dc86615a4
Merge branch 'feature/update-message-all-events' into enhancement/improved-auto-updating-structs 2023-08-15 20:53:56 +02:00
bitfl0wer 475d285715
Add `Composite` derive to all entities which require it 2023-08-15 20:19:52 +02:00
bitfl0wer 170b3ca8bd
Add `Composite<T>` bound to automatically call `watch_whole()` on caller object. 2023-08-15 20:19:16 +02:00
bitfl0wer 546f925e06
Remove `Send` bound 2023-08-15 20:18:11 +02:00
bitfl0wer 86e8edde27
Make trait pub 2023-08-15 17:54:36 +02:00
bitfl0wer a1a99aff8d
Add Composite to some types 2023-08-15 17:38:53 +02:00
bitfl0wer d30542c783
Implement trait methods 2023-08-15 16:58:20 +02:00
bitfl0wer 69c8b8d076
Try out new macro 2023-08-15 16:58:06 +02:00
bitfl0wer ec20258abe
Add observe_and_get method 2023-08-15 16:57:54 +02:00
bitfl0wer f9b9efffa4
todo 2023-08-15 12:14:03 +02:00
bitfl0wer 05baec3820
derive Updateable for Guild 2023-08-14 17:18:53 +02:00
bitfl0wer ab21dbb90a
Add Composite trait 2023-08-14 17:18:44 +02:00
bitfl0wer 71b1839250
Remove unused import 2023-08-14 00:04:58 +02:00
bitfl0wer 68868e7d35
Remove stupid comment from me 2023-08-14 00:04:53 +02:00
bitfl0wer f0f47315a1
Rename get to get_user 2023-08-14 00:02:30 +02:00
bitfl0wer 888a86903b
Change UserMeta::get() to take self instead of Self 2023-08-14 00:02:03 +02:00
bitfl0wer 9ce575944c
Change UpdateMessage<T> to write into RwLock 2023-08-13 16:46:57 +02:00
bitfl0wer 8ca4ba6e50
Change observe() again, pass Arc<RwLock<T>> into message.update(), Add comment explaining closure 2023-08-13 16:46:21 +02:00
bitfl0wer f5d74c57a4
Remove channel_id argument from modify. WHY WAS IT THERE TO BEGIN WITH LOL 2023-08-13 15:54:25 +02:00
bitfl0wer 041ee223c3
Moddify observe to still store T internally 2023-08-13 15:52:16 +02:00
fowb bca1092dd0 Add fixme comment 2023-08-12 22:40:07 +02:00
fowb d28f19d8ca Change observe() to take Arc<RwLock<T>> 2023-08-12 19:47:11 +02:00
fowb b672dd221c Change Mutex<T> to RwLock<T> 2023-08-12 19:31:31 +02:00
kozabrada123 5faee2cbd1
Fix trailing /s (#180) 2023-08-12 16:48:33 +02:00
kozabrada123 855a4278df
Minor snowflake updates (#179)
* Make snowflake fully public

* Simple into for snowflake
2023-08-07 20:34:58 +02:00
bitfl0wer 207e67396a
Fix unwrap panic on trying to access rate limits 2023-08-07 14:56:10 +02:00
kozabrada123 6d5a1ad295
Minor improvements to message events (#177) 2023-08-07 14:15:23 +02:00
bitfl0wer b2a3294b5d
update mutex to rwlock 2023-08-04 20:08:49 +02:00
bitfl0wer 38a97fc37a
Change Arc<Mutex<T>> components to Arc<RwLock<T>> 2023-08-04 17:57:03 +02:00
bitfl0wer 1eb581c049
Add note about Gateway: store 2023-08-04 16:54:56 +02:00
bitfl0wer 9fe55559c7
Add note about GatewayHandle: `store` 2023-08-04 16:54:03 +02:00
bitfl0wer 1154cc98a1
Make message mut 2023-08-04 16:46:22 +02:00
bitfl0wer 043aaf5e59
Add clone bound to T 2023-08-04 16:46:15 +02:00
bitfl0wer adb5b47bbd
Fix channel.rs 2023-08-04 16:41:57 +02:00