Commit graph

64 commits

Author SHA1 Message Date
b15c406924 Refactor websocket to split it into multiple files 2020-08-31 17:20:13 +02:00
nutomic
d4dccd17ae implement ActivitySender actor (#89)
Merge pull request 'Adding unique ap_ids. Fixes #1100' (#90) from unique_ap_ids into activity-sender

Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/90

Adding back in on_conflict.

Trying to add back in the on_conflict_do_nothing.

Trying to reduce delay time.

Removing createFakes.

Removing some unit tests.

Adding comment jest timeout.

Fixing tests again.

Fixing tests again.

Merge branch 'activity-sender' into unique_ap_ids_2

Replace actix client with reqwest to speed up federation tests

Trying to fix tests again.

Fixing unit tests.

Fixing some broken unit tests, not done yet.

Adding uniques.

Adding unique ap_ids. Fixes #1100

use proper sql functionality for upsert

added logging

in fetcher, replace post/comment::create with upsert

no need to do an actual update in post/comment::upsert

Merge branch 'main' into activity-sender

implement upsert for user/community

reuse http client

got it working

attempt to use background-jobs crate

rewrite with proper error handling and less boilerplate

remove do_send, dont return errors from activity_sender

WIP: implement ActivitySender actor

Co-authored-by: dessalines <dessalines@noreply.yerbamate.dev>
Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/89
2020-08-31 13:48:02 +00:00
Dessalines
2d5a50e80f
Fixing broken websocket sends. Removing WebSocketInfo (#1098) 2020-08-24 11:58:24 +00:00
nutomic
14f2d190e5 Implement context (#86)
Implement context

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/86
2020-08-18 13:43:50 +00:00
Dessalines
1711eb98b4
Removing some unecessary unwrap. Fixes #639 (#1078)
* Removing some unecessary unwrap. Fixes #639

* Changing some location_infos.

Co-authored-by: Felix Ableitner <me@nutomic.com>
2020-08-13 15:46:31 +00:00
Dessalines
8daeba450c
Removing unnecessary oper struct. Fixes #660 (#1077) 2020-08-12 11:31:45 +00:00
Dessalines
49bd28e2d4
Adding visual captchas for register and login. (#1027)
* Adding visual captchas for register and login.

* Adding audio wav file for Captcha using espeak.

* Lots of captcha fixes.

- Removed login captchas.
- Added settings to disable captchas, and change difficulty.
- Captchas can only be checked / used once, front end gives a new one on
  failure.
- Added front end button for regenerating captcha.
- Added a disabled / pause button audio playing.

* Some more fixes.
2020-07-29 09:02:46 -04:00
2eac037408 Adding post delete, remove, lock, and sticky. 2020-07-20 23:46:36 -04:00
fd96dfdb5e Added comment delete, remove, read. 2020-07-20 21:37:44 -04:00
9bc6698f58 Added community delete and remove. 2020-07-20 13:37:39 -04:00
a67f46bec5 EditUserMention changed to MarkUserMentionAsRead. 2020-07-20 10:56:40 -04:00
0a28ffb9c4 Private message delete and read extracted. 2020-07-20 00:29:44 -04:00
a074564458
Federation async (#848)
* Asyncify more

* I guess these changed

* Clean PR a bit

* Convert more away from failure error

* config changes for testing federation

* It was DNS

So actix-web's client relies on TRust DNS Resolver to figure out
where to send data, but TRust DNS Resolver seems to not play nice
with docker, which expressed itself as not resolving the name to
an IP address _the first time_ when making a request. The fix was
literally to make the request again (which I limited to 3 times
total, and not exceeding the request timeout in total)

* Only retry for connecterror

Since TRust DNS Resolver was causing ConnectError::Timeout,
this change limits the retry to only this error, returning
immediately for any other error

* Use http sig norm 0.4.0-alpha for actix-web 3.0 support

* Blocking function, retry http requests

* cargo +nightly fmt

* Only create one pictrs dir

* Don't yarn build

* cargo +nightly fmt
2020-07-01 08:54:29 -04:00
9e61c3be94 Rework imports 2020-05-16 20:04:17 +02:00
6b58080067 Adding websocket blocking. 2020-04-21 17:57:20 -04:00
0d4679a37b Making websocket create community do register rate limit. 2020-04-20 14:55:37 -04:00
904ebf34a5 Guard CreateCommunity, represent impossible error with Infallible 2020-04-20 12:31:22 -05:00
ac43b86b60 Change RateLimit to act as a middleware 2020-04-19 22:59:07 -05:00
f300c67a4d Adding websocket notification system.
- HTTP and APUB clients can now send live updating messages to websocket
  clients
- Rate limiting now affects both HTTP and websockets
- Rate limiting / Websocket logic is now moved into the API Perform
  functions.
- TODO This broke getting current online users, but that will have to
  wait for the perform trait to be made async.
- Fixes #446
2020-04-19 18:08:25 -04:00
bb287cbd07 Adding an admin settings page.
- Fixes #620
- Adding a UserListing component. Fixes #627
2020-04-10 16:55:57 -04:00
62ab68d317 Adding full logging. 2020-03-13 11:08:42 -04:00
ef6df1339f Proper error logging for websocket 2020-03-12 12:03:04 +01:00
9c8fe0379f Adding instant voting / vote animations. Fixes #526 2020-02-09 15:04:41 -05:00
ecd10482a6 Add new comments views to main and community pages. Fixes #480 2020-02-07 23:05:15 -05:00
218653c52f Fixing rate limiting. 2020-02-06 22:48:43 -05:00
1369ad1fbc Fixing rate limit checking to only ping after a success. Fixes #516 2020-02-06 16:07:59 -05:00
96a7e99e57 Removing PostLikeResponse in favor of PostResponse. Consolidating comment and post_sends. 2020-02-02 12:45:41 -05:00
cda1e6e741 Fixing issue with multiple notifications. 2020-02-02 10:09:01 -05:00
8ec104cb76 Mostly done eliminating recurring fetches. 2020-01-31 22:34:08 -05:00
8036474dda Starting to work on user message scope. 2020-01-31 20:02:20 -05:00
aa5a911edc Fixing front end error messages. Fixes #462 2020-01-25 09:58:53 -05:00
ac1d5f2b86 Done merging http-api and private_message 2020-01-23 19:17:42 -05:00
253bc3e0af Adding private messaging, and matrix user ids.
- Fixes #244
2020-01-22 16:38:16 -05:00
4b029865d7 Use generics to reduce code duplication in websocket 2020-01-19 14:25:50 +01:00
05ee5a8b60 simplify json serialization code 2020-01-18 17:25:45 +01:00
9121d74194 small fix 2020-01-18 14:26:04 +01:00
f1035dacc2 working! 2020-01-18 14:26:04 +01:00
81c6d276d5 Fix issue with adding multiple instances of chatserver. 2020-01-15 22:01:14 -05:00
dff8b947bb Trying to add r2d2 connection pooling to websockets. 2020-01-12 10:31:51 -05:00
d8c84e2541 Upgrade actix to 2.0 (fixes #392) 2020-01-10 23:41:08 +01:00
d08e09fbdc Apply changes suggested by cargo clippy (fixes #395) 2020-01-02 12:30:00 +01:00
cf3ae15ee9 Implement config (fixes #351) 2019-12-27 17:28:44 +01:00
Lyra
9fc8aacc2d Add default options for all parameters and move them out of the constructor. Rename structure to PostQueryBuilder 2019-12-07 23:54:42 +01:00
Lyra
bff3183a27 Use a dedicated structure in order to search posts 2019-12-07 13:03:03 +01:00
9f35b33dc7 Halfway done with email, not fully working yet. 2019-10-29 20:35:39 -07:00
90ce1f1a3f Adding default sort / filter into user settings.
- Fixes #295
2019-10-20 21:21:54 -07:00
02dd9ac32a Adding username mentions / tagging from comments.
- Fixes #293
2019-10-19 17:46:29 -07:00
903d73d665 Adding permanently delete account comments and posts.
- Fixes #285
- Fixes #58
2019-10-15 15:09:01 -07:00
35dfe31a39 Externalizing rate limits. Upgrading to Rust 1.38
- Fixes #290
2019-10-13 12:06:18 -07:00
e24f4a2d33 Adding an online user count to main page.
- Fixes #274
2019-09-13 09:09:01 -07:00