Commit Graph

907 Commits

Author SHA1 Message Date
bitfl0wer cf12923e99
Update Gateway types based on target architecture
and feature
2023-11-18 20:02:34 +01:00
bitfl0wer 92113f3f3e
Implement MessageCapable trait methods in gateway
default module
2023-11-18 20:02:28 +01:00
bitfl0wer fc6a45b4fc
Apparently, the conditional dependency now works again. lol 2023-11-18 19:18:55 +01:00
bitfl0wer 08e7bc53c2
Rename `get_handle` to `spawn` 2023-11-18 19:07:56 +01:00
bitfl0wer 70b6f3f6d1
Remove unused code 2023-11-18 18:50:47 +01:00
bitfl0wer 33d8adc2f8
Fixed most errors, simplified new generic traits 2023-11-18 18:39:01 +01:00
bitfl0wer e20da509bf
checkpoint 2023-11-18 18:08:12 +01:00
bitfl0wer 6e43b1f344
pub use 2023-11-18 12:27:50 +01:00
bitfl0wer 595832ef63
Make heartbeathandler shared struct 2023-11-16 20:02:01 +01:00
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
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
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