Commit graph

81 commits

Author SHA1 Message Date
Dessalines
5c6258390c
Isomorphic docker (#1124)
* Adding a way to GetComments for a community given its name only.

* Adding getcomments to api docs.

* A first pass at locally working isomorphic integration.

* Testing out cargo-husky.

* Testing a fail hook.

* Revert "Testing a fail hook."

This reverts commit 0941cf1736.

* Moving server to top level, now that UI is gone.

* Running cargo fmt using old way.

* Adding nginx, fixing up docker-compose files, fixing docs.

* Trying to re-add API tests.

* Fixing prod dockerfile.

* Redoing nightly fmt

* Trying to fix private message api test.

* Adding CommunityJoin, PostJoin instead of joins from GetComments, etc.

- Fixes #1122

* Fixing fmt.

* Fixing up docs.

* Removing translations.

* Adding apps / clients to readme.

* Fixing main image.

* Using new lemmy-isomorphic-ui with better javascript disabled.

* Try to fix image uploads in federation test

* Revert "Try to fix image uploads in federation test"

This reverts commit a2ddf2a90b.

* Fix post url federation

* Adding some more tests, some still broken.

* Don't need gitattributes anymore.

* Update local federation test setup

* Fixing tests.

* Fixing travis build.

* Fixing travis build, again.

* Changing lemmy-isomorphic-ui to lemmy-ui

* Error in travis build again.

Co-authored-by: Felix Ableitner <me@nutomic.com>
2020-09-15 15:26:47 -04:00
nutomic
1870dc8cd9 Split lemmy_utils into multiple files (#96)
Update dependencies

Move send_local_notifs into lemmy_api_structs (ref #1115)

Split lemmy_utils into multiple files

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/96
2020-09-14 15:29:50 +00:00
Felix Ableitner
29355c749e Remove brotli dependency 2020-09-14 12:23:05 +02:00
Rob Ede
986dc3f52c
update actix-web to v3 stable (#1125) 2020-09-11 21:37:25 -04:00
Dessalines
3a6982e7b2 Adding rate_limiter and api_structs. 2020-09-02 18:17:35 -05:00
Felix Ableitner
353e2e027a Move api structs and rate limit into separate workspaces 2020-09-02 13:27:31 +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
Felix Ableitner
e4d5614f3f Merge remote-tracking branch 'github/main' into main 2020-08-01 17:42:33 +02:00
andor0
b6411aba7a
Migrate from failure to anyhow and thiserror (#1042)
* Migrate from failure to anyhow and thiserror

* Replace 'format_err!' to 'anyhow!'
2020-08-01 14:04:42 +00:00
Felix Ableitner
9a004c4535 Update activitystreams to 0.7.0-alpha.3 (from crates.io) 2020-08-01 15:25:17 +02: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
Felix Ableitner
3f00140f5d Use activitystreams from yerbamate.dev mirror (fixes #1012) 2020-07-22 00:07:09 +02:00
nutomic
77a2a5eb01 Update activitystreams library to latest version (#71)
Merge branch 'main' into more-upgrade-apub-3

Update activitystreams library to latest version

Remove remaining usages of old activitystreams library

Migrate community inbox and user inbox

Migrate private message

Migrate post

Migrate community activities

Migrate extensions to new activitystreams library

Co-authored-by: dessalines <dessalines@noreply.yerbamate.dev>
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/71
2020-07-17 21:11:07 +00:00
Riley
8f745b80d3
Wrap each inbox route individually (#954) 2020-07-13 09:55:55 -04:00
nutomic
80aef61aed Split code into cargo workspaces (#67)
More fixes

- fixed docker builds
- fixed mentions regex test
- fixed DATABASE_URL stuff
- change schema path in diesel.toml

Address review comments

- add jsonb column back into activity table
- remove authors field from cargo.toml
- adjust LEMMY_DATABASE_URL env var usage
- rename all occurences of LEMMY_DATABASE_URL to DATABASE_URL

Decouple utils and db

Split code into cargo workspaces

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/67
2020-07-10 18:15:41 +00:00
Felix Ableitner
d03c435563 Revert "Verify activitypub payload digests (#885)"
This reverts commit 916592944a.
2020-07-06 14:20:29 +02:00
Riley
916592944a
Verify activitypub payload digests (#885) 2020-07-03 13:22:39 -04:00
Riley
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
Dessalines
7d1c6e9a40 Switching back to isahc. 2020-06-25 15:36:03 -04:00
Dessalines
dc94e58cbf Merge branch 'master' into federation_merge_from_master_2 2020-06-23 21:11:38 -04:00
Felix Ableitner
5a6f39dae4 Various build optimizations 2020-06-12 15:29:50 +02:00
Felix Ableitner
831680d27e Remove unneeded config dependencies 2020-06-11 13:09:51 +02:00
Felix Ableitner
be84c7b977 Replace isahc with attohttpc to remove curl (fixes #798) 2020-06-10 17:42:20 +02:00
Felix Ableitner
0f1a8ec928 Merge branch 'master' into federation 2020-06-09 14:01:26 +02:00
Dessalines
ed553aa9f0 Updating sponsor link. 2020-05-21 21:15:39 -04:00
Felix
d1aca27126 Use activitystreams-ext 2020-05-18 18:15:26 +02:00
Dessalines
f15c3b4e1e Merge branch 'yerba_rework-imports' into federation 2020-05-16 21:09:26 -04:00
Felix
9e61c3be94 Rework imports 2020-05-16 20:04:17 +02:00
Dessalines
940dc73f28 Federated mentions. Fixes #681 (#717)
* Federated mentions. Fixes #681

* Changing some todos, adding comments.
2020-05-15 12:36:11 -04:00
Dessalines
2f7a4ecdb2 Updating Cargo deps. Fixes #666 2020-05-03 17:25:55 -04:00
Felix
461114c143 update activitystreams lib 2020-04-30 18:30:01 +02:00
Dessalines
70060c27b2 Adding activity table inserts. 2020-04-27 18:17:02 -04:00
Dessalines
3ce0618362 Making a trait function for follow and accept. 2020-04-26 13:20:42 -04:00
Dessalines
f0026065f5 Merge branch 'master' into federation_merge_from_master_1 2020-04-21 10:25:29 -04:00
asonix
ac43b86b60 Change RateLimit to act as a middleware 2020-04-19 22:59:07 -05:00
Felix
8daf72278d Add http signature to outgoing apub requests 2020-04-18 20:54:20 +02:00
Felix Ableitner
6962b9c433 Use Url instead of String 2020-04-08 14:37:05 +02:00
Dessalines
9197b39ed6 Federation DB Changes.
- Creating an activity table.
- Adding some federation-related columns to the user_ and community
  tables.
- Generating the actor_id and keys in code, updating the tables.
2020-04-03 00:12:05 -04:00
Dessalines
31f835db86 Merge branch 'master' into federation 2020-04-02 15:11:11 -04:00
Dessalines
1571a4acd4 Changing markdown parser to comrak. Moving crate imports to lib.rs. 2020-03-28 18:02:49 -04:00
Dessalines
5ca466117d Merge branch 'master' into federation 2020-03-28 15:41:42 -04:00
Felix
bafc2fc7ac Convert md to html for feeds, try to deduplicate code 2020-03-28 16:56:20 +01:00
Felix
bf52bc22e4 Replace reqwest with chttp 2020-03-20 01:42:07 +01:00
Dessalines
d2cf36bf02 Updating chttp to isahc. 2020-03-18 23:11:37 -04:00
Dessalines
dc14719b08 Updating rust, rust deps, yarn deps. Fixes #605 2020-03-18 22:30:16 -04:00
asonix
cfe0d9c9c2 Upgraded to latest activitystreams 2020-03-18 20:16:17 -05:00
Felix Ableitner
05735b31c0 Remove boilerplate code 2020-03-16 18:30:25 +01:00
Felix Ableitner
8ebcc7ac02 Implemented basics for post federation, plus a bunch of other stuff 2020-03-14 22:03:05 +01:00
Felix Ableitner
b01f4f75d6 WIP: federate posts between instances 2020-03-14 01:05:42 +01:00
Felix Ableitner
063811cb60 Merge branch 'master' into federation 2020-03-12 12:34:37 +01:00