kozabrada123
43f77245a1
Small unit test update
2023-05-13 15:36:29 +02:00
kozabrada123
184c12ab46
Remove terrible debug messages
2023-05-13 09:54:23 +02:00
kozabrada123
6c6adabb49
Fix nested task issues
2023-05-13 09:47:12 +02:00
kozabrada123
0e64946428
Deserialization error..
2023-05-13 09:05:20 +02:00
kozabrada123
b6814a3b10
Merge branch 'polyphony-chat:main' into main
2023-05-13 06:11:07 +00:00
bitfl0wer
86b7ee22c8
Change visibility of attachments
2023-05-12 19:18:51 +02:00
bitfl0wer
6953dbb326
add set_id() to FileAttachment
...
This is so that the id of the Attachment to be sent can just be overwritten by the send() method.
2023-05-12 19:18:40 +02:00
bitfl0wer
7984c5d19f
Make attachment sending work!
2023-05-12 19:18:00 +02:00
kozabrada123
5ab07116ec
Merge branch 'polyphony-chat:main' into main
2023-05-12 11:41:53 +00:00
bitfl0wer
00acaf6de9
cargo fix
2023-05-12 12:35:06 +02:00
bitfl0wer
eec54b4ca9
Change send to no longer take static refs
2023-05-12 12:34:27 +02:00
bitfl0wer
06d84af2db
Mark unused var as unused
2023-05-12 12:34:00 +02:00
bitfl0wer
70d7b005d9
impl PartialDiscordFileAttachment
...
Now contains move_$ methods, which can move individual values out of the PartialDiscordFileAttachment while preserving the rest of the object.
2023-05-12 12:33:39 +02:00
bitfl0wer
7eaa8a96b7
work on implementing message attachment sending
2023-05-11 23:35:36 +02:00
kozabrada123
4008d36763
Attempted reimpl
2023-05-11 22:47:31 +02:00
bitfl0wer
4c83e190b8
change message send impl
2023-05-11 22:36:35 +02:00
bitfl0wer
d5048c2ebb
add a todo so i dont forget to not eat all ram
2023-05-11 00:07:45 +02:00
bitfl0wer
175d40209f
cool i have written a memory hog
2023-05-11 00:06:13 +02:00
bitfl0wer
f42b3785f3
Change imports
2023-05-10 18:44:17 +02:00
bitfl0wer
afb5745a74
Change register test
2023-05-10 18:44:10 +02:00
kozabrada123
9962dfdf81
Merge branch 'feature/gateway-observer' into main
2023-05-09 18:35:53 +00:00
bitfl0wer
38d9c3ad03
Change test_registration
2023-05-09 19:30:52 +02:00
bitfl0wer
8b09d16542
Make register and login return UserObject
2023-05-09 17:19:41 +02:00
bitfl0wer
478313507f
Extend UserObject to match with Spacebars' User
2023-05-09 17:19:23 +02:00
bitfl0wer
d8c8cd079b
remove println
2023-05-09 17:19:04 +02:00
bitfl0wer
0ba2f568fd
impl get_settings()
2023-05-09 14:05:36 +02:00
bitfl0wer
5971ce1dbc
Make register and login return User
2023-05-09 14:05:03 +02:00
bitfl0wer
15ee53b5f4
Made modules public, removed 110 warnings
2023-05-09 14:04:46 +02:00
bitfl0wer
59be7b1cde
Removed empty lines of code
2023-05-09 14:04:34 +02:00
bitfl0wer
702cafc0f5
make token pub
2023-05-09 13:10:07 +02:00
kozabrada123
d1e8cb2d5c
Less spam debug log
2023-05-07 12:44:11 +02:00
bitfl0wer
11be031e98
Remove logged_in from User
2023-05-07 12:42:52 +02:00
bitfl0wer
54944fbb0e
Run clippy
2023-05-07 12:41:14 +02:00
bitfl0wer
8f3912c277
Remove unneccessary imports
2023-05-07 12:39:56 +02:00
bitfl0wer
b2fa6db492
Remove lifetime from Instance (see below)
...
Originally, it was planned, that the Instance object would store Users. I have identified, that this was not needed, as it goes beyond the scope of a library; Users of this library are expected to keep track of users themselves. The removal of this user storage also prevented further overcomplications.
2023-05-07 12:39:04 +02:00
kozabrada123
ebab5d4433
Was still a merge conflict there
2023-05-07 12:05:58 +02:00
kozabrada123
f14b7c0e49
Fix merge conflict
2023-05-07 12:04:46 +02:00
kozabrada123
ea6bacd7b8
Rethink websockets, fix thread blocks
2023-05-07 11:58:12 +02:00
bitfl0wer
50ecc78da0
add docs, add instance.get_user()
2023-05-07 11:54:49 +02:00
kozabrada123
d4a546efa3
Fix deserialization error
2023-05-07 11:47:12 +02:00
bitfl0wer
6b4251a3aa
Remove display impl, add default trait
2023-05-07 11:32:25 +02:00
bitfl0wer
014583216a
Impl user::get() function
2023-05-07 11:32:11 +02:00
bitfl0wer
45e8fe6953
add test fn
2023-05-07 00:18:21 +02:00
bitfl0wer
c1bcd169f1
add users to mod.rs
2023-05-07 00:18:14 +02:00
bitfl0wer
621b05570a
remove nesting layer
2023-05-07 00:18:06 +02:00
bitfl0wer
222a552017
Add users to mod.rs
2023-05-07 00:17:54 +02:00
bitfl0wer
46a5f08b33
add pronouns
2023-05-06 22:47:31 +02:00
bitfl0wer
eb131be83b
add mod.rs
2023-05-06 22:47:26 +02:00
bitfl0wer
0e5a9caa44
Implement message sending (without attachments)
2023-05-06 22:24:23 +02:00
bitfl0wer
f067826889
change visibilities
2023-05-06 22:23:48 +02:00
bitfl0wer
c3cab53804
impl SendMessageSchema
2023-05-06 22:23:34 +02:00
bitfl0wer
b1b684e3b5
rename user rate_limits to limits for consistency
2023-05-06 18:52:24 +02:00
bitfl0wer
40bb3c38e9
Construct new message send method basics
2023-05-06 18:52:09 +02:00
bitfl0wer
b041433865
change message to messagesendschema
2023-05-06 18:34:38 +02:00
kozabrada123
4cfcf859a3
Add a debug to heartbeat thread
2023-05-06 11:14:38 +02:00
kozabrada123
4dd44efa38
Pub mod everything so it can be used as a library
2023-05-06 11:13:07 +02:00
kozabrada123
45a2dc0b2b
Update Websocket to fix premature closing w 1006
2023-05-06 10:39:58 +02:00
kozabrada123
1f8a38545b
Update types to fix deserialization errors
2023-05-06 10:39:16 +02:00
kozabrada123
d4be173854
Slight code cleanup
2023-05-06 08:39:41 +02:00
kozabrada123
8414bbb1c2
Fixed instance lifetime parameter
2023-05-05 22:46:00 +02:00
kozabrada123
bc3e93ce5a
Readd gateway to instance
2023-05-05 22:04:57 +02:00
bitfl0wer
fa0d74e9dd
remove redundant code
2023-05-05 22:00:37 +02:00
bitfl0wer
bae45254fe
start re-doing send()
2023-05-05 21:53:23 +02:00
bitfl0wer
1076c23403
Add DiscordFileAttachment, change visibilities
2023-05-05 21:53:00 +02:00
bitfl0wer
7a8eedd4c0
Add MessageSendSchema
2023-05-05 21:52:27 +02:00
kozabrada123
18590ff075
Fix encoding wrong
2023-05-05 20:58:00 +02:00
kozabrada123
867da4fd31
Remove the dumb test stuff I left in
2023-05-05 20:28:47 +02:00
kozabrada123
f612345484
Give websocket a send and receive channel
2023-05-05 20:26:51 +02:00
kozabrada123
ae062dfc17
Add temp debug, remove unused token
2023-05-05 19:42:31 +02:00
kozabrada123
9015538af5
Experimental sending to gateway
2023-05-05 19:23:57 +02:00
kozabrada123
50c4c1a542
Experimental heartbeats
2023-05-05 18:38:04 +02:00
kozabrada123
4446aef8e1
Update integers on some types
2023-05-05 18:37:52 +02:00
kozabrada123
c57122a94b
Add gateway Ready event
2023-05-05 16:08:12 +02:00
kozabrada123
07e500d063
Update data for existing events
2023-05-05 15:46:45 +02:00
kozabrada123
0f4e623acd
No need to serialize this
2023-05-05 15:39:11 +02:00
bitfl0wer
cdc3836177
handle attachment-messages seperately
2023-05-05 14:38:37 +02:00
bitfl0wer
e749251529
change name type from String to i16
2023-05-05 14:38:22 +02:00
bitfl0wer
2940b50f1b
Fix counter not being incremented
2023-05-05 14:19:38 +02:00
bitfl0wer
164bd627b0
Change HashMap to Map
...
Filenames can be non-unique, which could not be accurately represented using a HashMap.
2023-05-05 14:18:59 +02:00
bitfl0wer
5bf09a997c
Add new() DiscordFileAttachment
2023-05-05 14:16:09 +02:00
bitfl0wer
fb6e0a21ec
Rename File to DiscordFileAttachment, work on that
2023-05-04 23:00:48 +02:00
kozabrada123
f3f0619d3f
Add basic event receiving
2023-05-04 20:57:45 +02:00
kozabrada123
f5502a8121
Add WebSocketConnection to Gateway
2023-05-04 20:05:33 +02:00
bitfl0wer
dcee25a2a2
Add bearer auth for message sending
2023-05-03 23:13:12 +02:00
bitfl0wer
ab17d864ba
Add start of attachments implementation
2023-05-03 23:04:32 +02:00
bitfl0wer
c2801acfdb
Remove unused imports
2023-05-03 21:06:01 +02:00
bitfl0wer
fc5a053888
fix build fail by commenting out unused stuff
2023-05-03 21:05:09 +02:00
bitfl0wer
66ab87db30
Merge remote-tracking branch 'origin/feature/sending-messages'
2023-05-03 17:39:57 +02:00
bitfl0wer
809702bc1d
change reference to be mutable
2023-05-03 17:29:32 +02:00
bitfl0wer
98bf70ec5e
add send_message to user
2023-05-03 17:29:20 +02:00
bitfl0wer
5e399dba26
Add get_as_mut to Limits
2023-05-03 17:12:32 +02:00
bitfl0wer
94fa84cabe
Remove blank line
2023-05-03 17:12:23 +02:00
bitfl0wer
d216ef6179
change visibilities to pub
2023-05-03 17:11:48 +02:00
bitfl0wer
685fe3ff1a
cargo clippy --fix
2023-05-03 16:38:42 +02:00
bitfl0wer
7445f1efc7
Add lifetime to Instance
2023-05-03 16:37:10 +02:00
bitfl0wer
13815e73a1
Add Message send()
2023-05-03 16:27:04 +02:00
bitfl0wer
375ea3e035
Start working on message send body
2023-05-03 15:55:01 +02:00
bitfl0wer
f1aef5df02
Add message.rs
2023-05-03 15:45:07 +02:00
Flori
dc57ef7fc5
Merge pull request #25 from polyphony-chat/feature/sending-messages
...
Bring main up to date
2023-05-02 22:51:49 +02:00
bitfl0wer
6015afd49b
Add messages.rs to implement messages features
2023-05-02 22:46:41 +02:00
bitfl0wer
eb98f1374c
add GatewayPayload
2023-04-30 21:54:15 +02:00
bitfl0wer
c6e6f34be3
add example threaded websocketconnection
2023-04-30 14:45:15 +02:00
bitfl0wer
76c4981cf8
Get GatewayHello from Stream
2023-04-30 12:17:35 +02:00
bitfl0wer
19a3e3af20
Add TLS support to WS connection
2023-04-30 11:56:14 +02:00
bitfl0wer
85913ce66d
Add types for Heartbeat and Hello (Gateway)
2023-04-30 11:48:53 +02:00
bitfl0wer
4956e44c0a
implement Gateway::new()
2023-04-28 23:21:55 +02:00
bitfl0wer
8cded33eda
Make GatewatIdentifyPayload pub
2023-04-28 20:30:03 +02:00
bitfl0wer
37ad29f698
Working on Gateway impl
2023-04-28 20:29:40 +02:00
bitfl0wer
82f1b3dcc1
Add Default derives to types
2023-04-28 18:18:32 +02:00
bitfl0wer
530c0deb36
Add documentation comments
2023-04-28 13:40:29 +02:00
bitfl0wer
29a7dba439
renamed mod to example
2023-04-28 12:39:58 +02:00
bitfl0wer
50b6029f54
Implement Observer for WebSocketEvents
2023-04-28 12:31:59 +02:00
bitfl0wer
8f97b48a09
Add error type for Observers
2023-04-27 22:38:57 +02:00
bitfl0wer
656acad356
Indicate that method call can fail
2023-04-27 22:38:41 +02:00
bitfl0wer
77ff7d6510
Update observer implementation
2023-04-27 22:29:07 +02:00
bitfl0wer
155a27d49d
start implementing ovserver
2023-04-27 17:57:10 +02:00
bitfl0wer
8a7d61804f
add GatewayResume
2023-04-25 23:06:16 +02:00
bitfl0wer
534d32b1bc
add more types
2023-04-25 22:34:43 +02:00
bitfl0wer
dee8c0bb4e
add typing start event
2023-04-25 22:08:09 +02:00
bitfl0wer
b8cc81d8c1
Add more Types
2023-04-25 22:03:25 +02:00
bitfl0wer
48add97e79
metric ton of types for message deserialization
2023-04-25 21:42:46 +02:00
bitfl0wer
c7afd81d80
Fix error due to deletion of impl::Display
2023-04-25 21:42:11 +02:00
bitfl0wer
36b6be5788
Merge remote-tracking branch 'origin/main' into feature/gateway-observer
2023-04-25 18:00:44 +02:00
bitfl0wer
7cb77bae0f
Improve readability
2023-04-25 17:41:14 +02:00
bitfl0wer
9dad307b71
Improve readability
2023-04-25 17:33:35 +02:00
bitfl0wer
e52a646054
Split up schemas.rs
2023-04-25 17:32:30 +02:00
bitfl0wer
87d9d14047
Add dependencies
2023-04-25 17:21:27 +02:00
bitfl0wer
792a06f408
separate User and Instance limits.
2023-04-24 20:58:45 +02:00
bitfl0wer
d9857180e9
Give each user their own rate limits
2023-04-24 19:51:35 +02:00
bitfl0wer
c9d5bb8b6e
Merge remote-tracking branch 'origin/main' into improvement/update-rate-limiter-implementation
2023-04-24 19:50:36 +02:00
bitfl0wer
17eab8169e
Change HashMap<> to Limits
2023-04-24 19:49:26 +02:00
bitfl0wer
3e9aebf7ee
Implement Limits::new() and more logic
2023-04-24 19:38:42 +02:00
bitfl0wer
eea118b623
Create internal User and API UserObject
2023-04-23 21:32:48 +02:00
bitfl0wer
2880097cb2
comment out test until spacebar pr is merged
2023-04-23 20:21:36 +02:00
bitfl0wer
f3f70ba131
Implement Login
2023-04-23 20:11:14 +02:00
bitfl0wer
fc4a0a4533
make compiler happy
2023-04-23 14:01:02 +02:00
bitfl0wer
d9c82d5bfa
start working on login
2023-04-23 14:00:27 +02:00
bitfl0wer
cfed349c03
Make send_request return Result
2023-04-23 13:58:17 +02:00
bitfl0wer
82bfec0612
Made test pass
2023-04-23 13:45:52 +02:00
bitfl0wer
d1d8b6f237
Add documentation
2023-04-23 12:06:51 +02:00
bitfl0wer
1e00296dc9
Made AuthEmail, Password and Username reusable
2023-04-23 11:58:45 +02:00
bitfl0wer
2e52fb71d4
Register function with good errors!
2023-04-22 22:12:56 +02:00
bitfl0wer
fbfa4fda94
push progress
2023-04-22 11:32:44 +02:00
bitfl0wer
d67cedc847
Remove boilerplate errors
2023-04-21 23:20:23 +02:00
bitfl0wer
b18e38a5fc
impl register
2023-04-21 18:20:57 +02:00
bitfl0wer
1418b67921
add error
2023-04-21 18:20:49 +02:00
bitfl0wer
f96bcb87f6
Move custom errros to central file
2023-04-21 16:18:20 +02:00
bitfl0wer
552b43f80b
Replace Custom Error boilerplate with macro
2023-04-21 15:04:58 +02:00
bitfl0wer
fff71f0529
create errors.rs
2023-04-21 14:30:10 +02:00
bitfl0wer
950eba2ae7
Add TODO
2023-04-21 14:30:03 +02:00
bitfl0wer
ff6874abcb
Fix bad build
2023-04-21 14:27:56 +02:00
bitfl0wer
4f745c958c
Have AuthRegister and AbsoluteRegister cancel each other out
2023-04-20 20:11:12 +02:00
bitfl0wer
897df7adce
Change comment
2023-04-20 19:47:20 +02:00
bitfl0wer
e43b3934e4
Improve limit check
2023-04-20 19:47:08 +02:00
bitfl0wer
27c111fd99
begin working on register
2023-04-20 00:14:11 +02:00
bitfl0wer
8666aa34e5
add users hashmap
2023-04-19 23:32:02 +02:00
bitfl0wer
9e10ce05a9
add await to fix test error
2023-04-19 20:58:14 +02:00
bitfl0wer
bc3083bcf6
add additional documentation and TODO
2023-04-19 20:42:28 +02:00
bitfl0wer
33b5d6d57c
create new() method
2023-04-19 20:42:11 +02:00
bitfl0wer
1d25fdffcb
Include new file
2023-04-19 20:41:52 +02:00
bitfl0wer
32f1365a54
make progress on instance object creation
2023-04-19 20:41:33 +02:00
bitfl0wer
f45193fc40
implement getting InstancePoliciesSchema
...
Co-authored-by: sky <skyrina@users.noreply.github.com>
2023-04-19 20:41:15 +02:00
bitfl0wer
7528a8eccd
remove token check, add username impl
2023-04-17 22:38:21 +02:00
bitfl0wer
38e3ee3afa
add Token struct and impl
2023-04-17 21:31:15 +02:00
bitfl0wer
0f424a9c53
start working on register
2023-04-16 23:03:24 +02:00
bitfl0wer
5e3fb77911
add gateway object
2023-04-16 23:03:12 +02:00
bitfl0wer
52c2bce5d3
use camel case
2023-04-16 22:50:51 +02:00
bitfl0wer
32ef8ee5b1
remove impl LoginSchema, add InstancePolicies
2023-04-16 22:18:51 +02:00
bitfl0wer
d4bf540203
Add PartialEq and Eq derives
2023-04-16 22:16:39 +02:00
bitfl0wer
4b129ee6a3
Rename client to instance
2023-04-16 22:16:22 +02:00
bitfl0wer
4d10710f4f
add auth module
2023-04-16 15:07:15 +02:00
bitfl0wer
157b351db9
reformat file
2023-04-16 14:55:13 +02:00
bitfl0wer
e919e71819
Added email regex validation and tests
2023-04-16 14:09:23 +02:00
bitfl0wer
76dd665e91
Implement LoginSchema
2023-04-16 13:41:26 +02:00
bitfl0wer
d6ae03b656
add comment
2023-04-16 12:33:57 +02:00
bitfl0wer
746299c029
Write test to check consent validation
2023-04-16 12:32:49 +02:00
bitfl0wer
4e9854d46e
write tests to check username validation
2023-04-16 12:30:30 +02:00
bitfl0wer
062faf8c07
add tests to confirm password validation
2023-04-16 12:26:12 +02:00
bitfl0wer
40425fc282
add "new" method for RegSchema with custom errors
2023-04-15 22:06:18 +02:00
bitfl0wer
28d03b9c9f
Add TotpSchema
2023-04-15 21:20:32 +02:00
bitfl0wer
3957d23c53
Update RegisterSchema, add LoginSchema
2023-04-15 21:16:47 +02:00
bitfl0wer
c5a4a56022
create RegisterSchema
2023-04-15 21:12:33 +02:00
bitfl0wer
ca988d93aa
create schemas.rs
2023-04-15 20:16:18 +02:00
bitfl0wer
673ddd5c8d
add test_send_request
2023-04-15 18:16:26 +02:00
bitfl0wer
e4ba507ace
add limit updates for Error, Global, Ip
...
Despite Error, Global and Ip technically being handled seperately, we still need to update their "reset" and "limit" values to match what the API tells us.
2023-04-15 17:12:33 +02:00
bitfl0wer
77d5349231
remove unneccessary variable
2023-04-15 17:09:42 +02:00
bitfl0wer
992b803548
add add_remaining
...
add_remaining() adds an i64 to the interal "remaining: u64" with underflow protection.
2023-04-15 17:08:19 +02:00
bitfl0wer
427ce0541e
update internal values through mut ref
2023-04-15 17:07:46 +02:00
bitfl0wer
1a398fecd7
add fallback if no rate limit header received
2023-04-15 14:55:50 +02:00
bitfl0wer
384d42e877
Derive PartialEq and Eq to use assertEq in tests
2023-04-15 13:54:57 +02:00
bitfl0wer
a8a4da36c7
add test which checks instance rate limits working
2023-04-15 13:54:33 +02:00
bitfl0wer
5130846c7f
rename tests
2023-04-15 13:27:43 +02:00
bitfl0wer
84258ec8da
Fix incorrect url formatting, add more tests
2023-04-15 13:27:34 +02:00
bitfl0wer
d60711a5d1
Fixed goofy ahh way to remove a slash from the end of the url
2023-04-15 13:03:51 +02:00
bitfl0wer
9855efe15e
Derive Debug, start debugging
2023-04-14 23:38:36 +02:00
bitfl0wer
965308e746
add documentation
2023-04-14 23:01:48 +02:00
bitfl0wer
88987e6bfb
make send_request return Option<Response>
2023-04-14 22:40:13 +02:00
bitfl0wer
ce21a8539d
add send_request method
2023-04-14 22:22:23 +02:00
bitfl0wer
112f44e224
Derive copy trait
2023-04-14 22:22:11 +02:00
bitfl0wer
d8dd2010a3
add new struct, send_request and can_send_request
2023-04-14 18:29:20 +02:00