Commit Graph

978 Commits

Author SHA1 Message Date
bitfl0wer a4d5ebb689 Resolve merge conflicts 2023-11-19 19:12:29 +01:00
bitfl0wer 79e70c43a2 Merge branch 'websockets-backend' into feature/wasm32-unknown 2023-11-19 18:35:35 +01:00
bitfl0wer 0e16e55d64 Fix references to heartbeat_thread_communicator 2023-11-19 18:27:49 +01:00
Vincent Junge 5bd8f32a6a remove superfluous return 2023-11-19 17:47:48 +01:00
Vincent Junge c0ce540da6 for got unwrap :3 2023-11-19 17:18:08 +01:00
Vincent Junge dd9945068f removed leftover type aliases 2023-11-19 17:15:00 +01:00
Vincent Junge 0f446f43b4 removed outdated comment 2023-11-19 17:13:52 +01:00
Vincent Junge 4f207d55d9 prepare for platform-dependant websockets backend 2023-11-19 17:08:53 +01:00
bitfl0wer 19f8403bcf Make HBHandler<T,S> struct instead of trait
Make HeartbeatHandler a generic struct instead of a struct with a trait.
Reduces redundant code
2023-11-19 17:07:08 +01:00
bitfl0wer 70812c529a Move Heartbeathandler code together 2023-11-19 16:44:38 +01:00
bitfl0wer f4ae80fee9 temp: impl heartbeathandlercapable 2023-11-19 16:43:21 +01:00
bitfl0wer b3ebdd69fc Add TODO comment 2023-11-19 16:42:48 +01:00
bitfl0wer 50cd93aae1 Add kill send to WasmGateway 2023-11-19 16:42:05 +01:00
bitfl0wer 926a9fc90e TEMP: Compile wasm dependencies&code per default
TODO: Check todos before merging into dev
2023-11-19 12:52:11 +01:00
bitfl0wer 9f45094bd9 Add todos 2023-11-19 12:51:13 +01:00
bitfl0wer 565a0cd745 Impl spawn() for wasm gateway 2023-11-19 12:51:07 +01:00
bitfl0wer 9ae07a15d7 start implementing wasm gateway 2023-11-19 01:31:04 +01:00
bitfl0wer 5aeba447af Remove trait bound: From tungstenite::Message 2023-11-18 21:42:48 +01:00
bitfl0wer a0d14ceaf9 Add MessageCapable trait implementation for
WsMessage
2023-11-18 20:02:50 +01:00
bitfl0wer 6ae715988d Refactor WasmGateway struct and import statements 2023-11-18 20:02:45 +01:00
bitfl0wer 39e61a73e9 Remove is_error method from MessageCapable trait 2023-11-18 20:02:39 +01:00
bitfl0wer f1e3058346 Update Gateway types based on target architecture
and feature
2023-11-18 20:02:34 +01:00
bitfl0wer 287b72c99c Implement MessageCapable trait methods in gateway
default module
2023-11-18 20:02:28 +01:00
bitfl0wer 29efae385e Apparently, the conditional dependency now works again. lol 2023-11-18 19:18:55 +01:00
bitfl0wer 862a846055 Rename `get_handle` to `spawn` 2023-11-18 19:07:56 +01:00
bitfl0wer 964d879e8f Remove unused code 2023-11-18 18:50:47 +01:00
bitfl0wer 16bdd68d98 Fixed most errors, simplified new generic traits 2023-11-18 18:39:01 +01:00
bitfl0wer ce7ff49ee4 checkpoint 2023-11-18 18:08:12 +01:00
bitfl0wer 3d3c61240c pub use 2023-11-18 12:27:50 +01:00
bitfl0wer db80abbf43 Make heartbeathandler shared struct 2023-11-16 20:02:01 +01:00
bitfl0wer cefaa6545f Remove duplicate code 2023-11-16 19:25:55 +01:00
bitfl0wer 339a8f5b7c Revert "Add Adapter GatewayMessageData"
This reverts commit f355837125.
2023-11-16 19:07:14 +01:00
bitfl0wer e38445b644 Revert "Make GatewayMessage use new Adapter Type"
This reverts commit b0b90f094e.
2023-11-16 19:05:36 +01:00
bitfl0wer b0b90f094e Make GatewayMessage use new Adapter Type 2023-11-16 18:30:09 +01:00
bitfl0wer f355837125 Add Adapter GatewayMessageData
Fits onto tokio_tungstenite Messages and ws_stream_wasm::WsMessage
2023-11-16 18:20:45 +01:00
bitfl0wer 6106ac41ae Add import 2023-11-16 18:20:11 +01:00
bitfl0wer f8795adc35 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 1fdb01e846 Move events to shared location 2023-11-16 16:24:25 +01:00
bitfl0wer 739f2c8b71 Create wasm gateway module 2023-11-16 16:24:02 +01:00
bitfl0wer e9bf3b32a0 Move heartbeat to shared location 2023-11-16 16:23:44 +01:00
bitfl0wer 14fa9a929c Add wasm gateway submodule 2023-11-15 22:32:31 +01:00
bitfl0wer d328dcf314 Conditionally compile wasm/default 2023-11-15 22:32:13 +01:00
bitfl0wer b84d4519b7 Change typedef to only compile with feature client 2023-11-15 22:31:44 +01:00
bitfl0wer 5ae0521e8e re-organize files 2023-11-15 22:26:15 +01:00
bitfl0wer 10eafe46cc Feature lock DefaultGateway+Handle for non-wasm32 2023-11-15 21:09:24 +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 9ac36ab8e8 Fix clippy warning 2023-11-15 20:26:47 +01:00
bitfl0wer 20c9066e6f Properly extract all extractable methods from GatewayHandle into Trait 2023-11-15 20:18:50 +01:00
bitfl0wer 5af6d1ce4b Refactor Gateway module to implement traits and
improve code structure
2023-11-15 18:44:19 +01:00
bitfl0wer 06d25d3e50 Impl base of GatewayCapable for Gateway 2023-11-15 00:04:04 +01:00
bitfl0wer 1128502b80 start converting struct impl into trait impl 2023-11-14 21:14:05 +01:00
bitfl0wer ee0169c648 Add missing, least required methods to traitdef 2023-11-14 20:46:46 +01:00
bitfl0wer 2cb35f2f14 Start impl of Gateway Traits 2023-11-14 20:05:47 +01:00
bitfl0wer 03d3c0b112 Use GatewayStore instead of complex typedef 2023-11-14 20:05:21 +01:00
bitfl0wer 199bf91daf Factor out GatewayStore into own type 2023-11-14 20:04:23 +01:00
bitfl0wer 99eb869878 Remove unneeded import 2023-11-14 19:00:43 +01:00
bitfl0wer a67c54168b Merge branch 'dev' into feature/wasm32-unknown 2023-11-14 19:00:20 +01:00
bitfl0wer b4193e2c2e Make id Optional, custom impl Updateable 2023-11-14 17:31:07 +01:00
kozabrada123 2bff2cb8cf fix: Voice State session id is a string, not a snowflake 2023-11-14 17:08:46 +01:00
bitfl0wer 2ee421d57e Generate snowflake if not exists 2023-11-14 16:55:23 +01:00
bitfl0wer 572a586505 I fucked up the merge and merged gateway wrongly 2023-11-14 16:42:01 +01:00
bitfl0wer bdfc261c93 Merge branch 'main' into feature/wasm32-unknown 2023-11-14 16:30:24 +01:00
bitfl0wer 32b163a4c7 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 5243eee256 Remove redundant `NSFWLevel` structdef 2023-11-14 11:13:21 +01:00
bitfl0wer 81447c9dda Split up gateway.rs into several files 2023-11-14 11:13:02 +01:00
bitfl0wer ec8d1c1f90 Replace tokio::time with safina-timer 2023-11-13 19:20:38 +01:00
bitfl0wer aa657d12fc Ensure rt and rt_multi_thread aren't both enabled 2023-11-13 15:26:46 +01:00
bitfl0wer 7f3bb944b7 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 2f559b1397 Remove openssl, use rustls and rand instead 2023-11-12 17:20:32 +01:00
Quaternion 904d54edbe Feature lock UpdateMessage implementations 2023-09-22 20:45:19 -04:00
Quaternion c492875838 Make new enums derive sqlx::Type 2023-09-22 20:44:56 -04:00
Quaternion 8d8b7c0b12 Update GuildDefaults to use new enums 2023-09-22 20:44:25 -04:00
bitfl0wer c4b0891ec8 Make events module pub 2023-09-06 01:32:38 +02:00
bitfl0wer 33b99534ca Make WebsocketEvent send, Sznc, Debug 2023-09-05 22:29:04 +02:00
bitfl0wer 3e86460271 Implement UpdateMessage for GuildCreate 2023-09-05 14:41:02 +02:00
bitfl0wer c037c7907b Implement UpdateMessage for GuildDelete 2023-09-05 13:35:01 +02:00
bitfl0wer 59ab862b17 Simplify this loop 2023-09-05 13:34:22 +02:00
bitfl0wer 242021a50a Make the fields on this type public 2023-09-05 13:33:50 +02:00
bitfl0wer 7938f0295e Add source url field trait 2023-09-03 21:00:48 +02:00
bitfl0wer 78b21e9df3 Derive Default for Instance 2023-09-03 19:59:03 +02:00
bitfl0wer e6300b3e30 Impl PartialEq, Eq for Guild 2023-09-03 18:29:33 +02:00
bitfl0wer 1340a11a65 impl Hash for Guild 2023-09-03 17:09:44 +02:00
bitfl0wer b7ae75f7ce Add semicolon 2023-09-03 16:55:34 +02:00
bitfl0wer db533f9700 Make Errors Hash and Eq, bump version 2023-09-03 16:55:19 +02: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
bitfl0wer 42f2f7bfbe Add Default to LoginSchema 2023-09-01 00:50:19 +02:00
bitfl0wer 9b0567ac9e Remove borrow 2023-09-01 00:50:07 +02:00
bitfl0wer fe8baeb699 Make UrlBundle `Hash` 2023-08-30 19:13:46 +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 141dc32819 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 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 17fe4f004f Make ChorusUser `Clone` 2023-08-29 00:05:16 +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 a8bea5d881 Clippy rules, docs logo 2023-08-28 12:27:38 +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 f120bcd386 Update GuildBan object 2023-08-26 16:21:47 +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 0d93ad8578 Remove unneeded function 2023-08-25 01:35:49 +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 87d325e38f Create ChorusRequest-builder function 2023-08-24 22:29:26 +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 64ba6a657a Change `UserMeta` to `ChorusUser` 2023-08-24 21:09:23 +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 0c62bf9836 Fix clippy lint 2023-08-22 22:40:36 +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
bitfl0wer 852d784bd5 Add crosspost endpoint 2023-08-22 22:10:12 +02:00
bitfl0wer 54c5cc6cc2 Add message acknowledge endpoint 2023-08-22 22:06:19 +02:00
bitfl0wer d751c92778 Create Greet Message 2023-08-22 21:55:24 +02:00
bitfl0wer fd3a3ee836 Add message: get 2023-08-22 21:27:31 +02:00
bitfl0wer 7b5426519d Closes #269, #268, #270 2023-08-22 20:09:44 +02:00
bitfl0wer 36a0730d0b Correctify search_message
Fixes Search Messages #258
2023-08-22 19:23:27 +02:00
bitfl0wer 6e40568b23 Move search_messages to Channel impl 2023-08-22 17:56:13 +02:00
bitfl0wer d913b2d97f Implement Default for MessageSearchQuery 2023-08-22 17:55:53 +02:00
bitfl0wer 9ac5925bf9 Make channel_type in ChannelCreateSchema of type enum "ChannelType" 2023-08-22 17:55:29 +02:00
bitfl0wer 500ab0e3d0 Add some missing derives 2023-08-22 14:01:17 +02:00
bitfl0wer 1984f8c5da Add MessageSearchEndpoint Enum and MessageSearchQuery schema struct 2023-08-22 14:01:03 +02:00
bitfl0wer a13f766758 Add search() and search_messages() 2023-08-22 14:00:39 +02:00
bitfl0wer cfbcb29a95 Modify Guild Channel Positions
Fixes #229
2023-08-22 01:11:22 +02:00
bitfl0wer 5f532eff01 Fix deserialize error 2023-08-20 23:24:30 +02:00
bitfl0wer 7eee08459b Add Guild::modify(); 2023-08-20 23:13:34 +02:00
bitfl0wer 24891b3fd5 Complete GuildModifySchema 2023-08-20 22:52:06 +02:00
bitfl0wer 09a83f1a1f Add GuildModifySchema 2023-08-20 22:46:58 +02:00
bitfl0wer dd04b760a4 Add Types 2023-08-20 22:46:44 +02:00
bitfl0wer cb216c462d Add create_ban
Closes "Create Guild Ban #299"
2023-08-20 18:49:10 +02:00
bitfl0wer b53afe855d Create GuildBanCreateSchema, clean up GuildCreateSchema 2023-08-20 18:48:07 +02:00
bitfl0wer 6cb28dda92 Start implementing some UpdateMessages 2023-08-19 01:13:07 +02:00
bitfl0wer 0b840372e2 Handle id().is_none() cases 2023-08-18 23:40:01 +02:00
bitfl0wer d64004b308 Make id(&self) return Option<Snowflake> 2023-08-18 23:34:00 +02:00
bitfl0wer 82d2151f1b Fix typo 2023-08-18 21:29:34 +02:00
bitfl0wer e1615a4cd3 Remove prints 2023-08-18 20:20:58 +02:00
bitfl0wer 5f0a04c345 Add Arc<RwLock<T>> 2023-08-18 20:20:53 +02:00
bitfl0wer cafa84d41e Add Todo to every event which needs UpdateMessage 2023-08-18 20:20:25 +02:00
kozabrada123 ad58b550fb Minor gateway updates (#188)
* Fix TYPING_START not existing

* Fix spacebar READY deserialization error
2023-08-18 14:27:39 +02:00
kozabrada123 905b7af618 Add content type specification 2023-08-18 11:41:06 +02:00
bitfl0wer c2c1ad93b6 Change type of Channel::last_pin_timestamp 2023-08-17 22:45:42 +02:00
bitfl0wer 0396e318d3 Change bearer_auth to header("Authorization" 2023-08-17 22:26:07 +02:00
bitfl0wer 4424e3f07a Remove comment 2023-08-17 18:26:34 +02:00
bitfl0wer d69a459025 Remove prints 2023-08-17 18:26:14 +02:00
bitfl0wer 711580f270 Call watch_whole either way 2023-08-17 18:26:06 +02:00
bitfl0wer 4210bd6d73 Remove debug prints 2023-08-16 22:04:43 +02:00
bitfl0wer a1df997c9f I think i found out why shit no work 2023-08-16 22:04:36 +02:00
bitfl0wer 29b9050e6d Make store pub(crate), other adjustments 2023-08-16 22:04:07 +02:00
bitfl0wer 887ba4a1b1 Make trait Debug 2023-08-16 21:26:27 +02:00
bitfl0wer fbf72b74d0 Remove tokio watch channels 2023-08-16 21:26:19 +02:00
bitfl0wer 116c829f28 Rename update to modify 2023-08-16 14:05:51 +02:00
bitfl0wer 9ce75482d1 Make Role Clone 2023-08-16 14:05:44 +02:00
bitfl0wer 2af8388947 Add GuildRoleCreate and -Update 2023-08-16 14:05:37 +02:00
bitfl0wer 5f0f19e8ce Rename functions, add observe_and_into_inner 2023-08-16 01:11:26 +02:00
bitfl0wer a9381fec1e Revert "Give `GatewayHandle` and `Gateway` common trait to call `watch_whole()` or observe() from a `Gateway`"
This reverts commit d36b1de170.
2023-08-16 00:21:18 +02:00
bitfl0wer d36b1de170 Give `GatewayHandle` and `Gateway` common trait to call `watch_whole()` or observe() from a `Gateway` 2023-08-16 00:18:32 +02:00
bitfl0wer 2b21933cb3 Add back set_json. No idea when it disappeared? 2023-08-15 22:19:47 +02:00
bitfl0wer b1594cf1e1 Merge branch 'feature/update-message-all-events' into enhancement/improved-auto-updating-structs 2023-08-15 20:53:56 +02:00
bitfl0wer ff77e5a61d Add `Composite` derive to all entities which require it 2023-08-15 20:19:52 +02:00
bitfl0wer bdeaa476e2 Add `Composite<T>` bound to automatically call `watch_whole()` on caller object. 2023-08-15 20:19:16 +02:00
bitfl0wer 32fd918a43 Remove `Send` bound 2023-08-15 20:18:11 +02:00
bitfl0wer 7de3204f59 Make trait pub 2023-08-15 17:54:36 +02:00
bitfl0wer 20baada605 Add Composite to some types 2023-08-15 17:38:53 +02:00
bitfl0wer 509ab578d6 Implement trait methods 2023-08-15 16:58:20 +02:00
bitfl0wer 37d976cd0d Try out new macro 2023-08-15 16:58:06 +02:00
bitfl0wer d66807ed20 Add observe_and_get method 2023-08-15 16:57:54 +02:00
bitfl0wer b2a1122f4a todo 2023-08-15 12:14:03 +02:00
bitfl0wer f49fefb400 derive Updateable for Guild 2023-08-14 17:18:53 +02:00
bitfl0wer 2329cc2243 Add Composite trait 2023-08-14 17:18:44 +02:00
bitfl0wer 6dd9f84573 Remove unused import 2023-08-14 00:04:58 +02:00
bitfl0wer 02be1e786d Remove stupid comment from me 2023-08-14 00:04:53 +02:00
bitfl0wer 45d68b4da4 Rename get to get_user 2023-08-14 00:02:30 +02:00
bitfl0wer 614c7bb2b2 Change UserMeta::get() to take self instead of Self 2023-08-14 00:02:03 +02:00
bitfl0wer 0f00d5d283 Change UpdateMessage<T> to write into RwLock 2023-08-13 16:46:57 +02:00
bitfl0wer 33357db291 Change observe() again, pass Arc<RwLock<T>> into message.update(), Add comment explaining closure 2023-08-13 16:46:21 +02:00
bitfl0wer f9c3f55d95 Remove channel_id argument from modify. WHY WAS IT THERE TO BEGIN WITH LOL 2023-08-13 15:54:25 +02:00
bitfl0wer 73cc139e78 Moddify observe to still store T internally 2023-08-13 15:52:16 +02:00
fowb 63a4141bde Add fixme comment 2023-08-12 22:40:07 +02:00
fowb a0c9f6fb14 Change observe() to take Arc<RwLock<T>> 2023-08-12 19:47:11 +02:00
fowb ff47965e99 Change Mutex<T> to RwLock<T> 2023-08-12 19:31:31 +02:00
kozabrada123 e0d7df417c Fix trailing /s (#180) 2023-08-12 16:48:33 +02:00
kozabrada123 1801d22273 Minor snowflake updates (#179)
* Make snowflake fully public

* Simple into for snowflake
2023-08-07 20:34:58 +02:00
bitfl0wer 07818b2cd6 Fix unwrap panic on trying to access rate limits 2023-08-07 14:56:10 +02:00