Commit graph

702 commits

Author SHA1 Message Date
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 5c03e9e9ee Version v0.7.6 2020-07-01 08:25:55 -04:00
Dessalines c239a5f0e5 Fixing ban user bug. Fixes #876 2020-07-01 08:22:41 -04:00
Dessalines eded51aab6 Version v0.7.5 2020-06-29 21:05:38 -04:00
Dessalines 15ea264fcf Version v0.7.4 2020-06-29 21:02:02 -04:00
Dessalines 80bca8610e Revert "Remove mat views, no fast tables or caching added yet."
This reverts commit 97e088dcbf.
2020-06-29 21:00:28 -04:00
Dessalines c10a05cb68 Version v0.7.3 2020-06-29 20:14:16 -04:00
Dessalines 97e088dcbf Remove mat views, no fast tables or caching added yet. 2020-06-29 20:02:38 -04:00
Dessalines 022fd31b66 Slur additions. 2020-06-28 19:41:00 -04:00
Dessalines e517de5480 Merge branch 'master' into federation 2020-06-27 10:54:08 -04:00
Dessalines da2bb724e9 Version v0.7.2 2020-06-27 09:28:28 -04:00
Dessalines 86dc50f9f0 Some fixes to federation.
- Advanced code migrations now disable then re-enable triggers.
  Brings run time down to < 15 seconds, no need to thread them.
- Changing ap_ids and actor_ids in migrations to a fake url,
  so it doesn't break XsdAnyUri in activitystreams.
2020-06-26 21:12:41 -04:00
Dessalines 7d1c6e9a40 Switching back to isahc. 2020-06-25 15:36:03 -04:00
Dessalines 6e736e1f1e Version v0.7.1 2020-06-24 13:29:44 -04:00
Dessalines dc94e58cbf Merge branch 'master' into federation_merge_from_master_2 2020-06-23 21:11:38 -04:00
Dessalines 0680dd2398 Version v0.7.0 2020-06-23 12:55:16 -04:00
Dessalines 27f2fd352a Version v0.6.85 2020-06-22 23:04:28 -04:00
Dessalines 5d1212b83c Version v0.6.84 2020-06-22 22:43:57 -04:00
Dessalines 11f771469f Version v0.6.83 2020-06-22 22:01:45 -04:00
Dessalines 54c735841e Version v0.6.82 2020-06-22 19:32:30 -04:00
Dessalines c9dcb2662c Version v0.6.81 2020-06-22 17:53:47 -04:00
Dessalines 32d1f42626 Version v0.6.80 2020-06-22 16:15:31 -04:00
Dessalines 96c9f801a9 Merge branch 'master' of https://github.com/makigi-io/makigi into makigi-io-master 2020-06-22 14:52:46 -04:00
Dessalines cbed185040 Version v0.6.79 2020-06-22 12:56:48 -04:00
Dessalines 1fa7d17e35 Version v0.6.78 2020-06-22 12:51:18 -04:00
Ernest 8e1e9a521a Edit community name validation, translations #823 2020-06-22 09:23:54 +02:00
Ernest 4247df4295 Community name validation 2020-06-20 11:33:23 +02:00
Dessalines fd6a040568 Changing another blacklisted to blocklisted. 2020-06-17 21:29:10 -04:00
Felix Ableitner 68bcc26ff6 Fix community description federation (ref #647)
Also disable the actor refetch interval in debug builds.
2020-06-16 13:35:26 +02:00
Felix Ableitner 325ed2ec3b Rename "instance_whitelist" config option to "allowed_instances" 2020-06-16 12:49:51 +02:00
Dessalines 5594bed6a8 Merge branch 'master' into use-pictrs-1 2020-06-12 17:51:37 -04:00
Dessalines cfa40e482a
Parse out in reply to field. Fixes #694 (#799)
- When a comment or post doesn't exist locally, yet we receive
  an activitypub with it (for example, a nested comment update,
  for a community we just subscribed to, also with a post we
  don't have...), then fetch it.
2020-06-11 11:16:33 -04:00
Dessalines 1b0212377d Version v0.6.74 2020-06-11 10:28:21 -04:00
Dessalines 74c5380975 Merge branch 'master' into use-attohttpc 2020-06-11 09:53:18 -04:00
Dessalines 4cf1f080bf Adding delete picture via pict-rs delete tokens. Fixes #505 2020-06-10 22:47:06 -04:00
Dessalines 2fbd44c59d Adding pictrs thumbnail caching for urls and embeds. 2020-06-10 18:22:57 -04:00
Felix Ableitner be84c7b977 Replace isahc with attohttpc to remove curl (fixes #798) 2020-06-10 17:42:20 +02:00
Dessalines 043f484693 Version v0.6.73 2020-06-10 11:27:12 -04:00
Dessalines 46bb3064ed Version v0.6.72 2020-06-09 22:49:42 -04:00
Felix Ableitner 0f1a8ec928 Merge branch 'master' into federation 2020-06-09 14:01:26 +02:00
Dessalines 5c6601cb2a Merge branch 'activitystreams-new' into federation 2020-06-07 09:12:15 -04:00
Dessalines 63ca6e1e24 Version v0.6.71 2020-06-05 11:49:36 -04:00
Dessalines 7c0ea6cfa7 Version v0.6.70 2020-06-04 21:42:08 -04:00
Dessalines f40f74b20d Adding additional 3-instance integration test for community announce. 2020-06-03 17:55:32 -04:00
Felix Ableitner c1ef766125 migrate follow 2020-06-03 21:44:14 +02:00
Dessalines 2e882f75f2 Version v0.6.69 2020-06-03 12:11:52 -04:00
Dessalines 9a9a0b9735 Changing cache to 1 hour until we can figure out caching issue. 2020-06-03 12:11:40 -04:00
Dessalines 361cf995da Version v0.6.68 2020-06-03 11:46:09 -04:00
Felix Ableitner 3999e0485e migrate tombstone 2020-06-03 17:10:16 +02:00
Dessalines 59d22ef775 Version v0.6.67 2020-06-02 19:59:49 -04:00
Dessalines 998b9454b2 Version v0.6.66 2020-06-02 14:05:17 -04:00
Dessalines a8160288ae Merge remote-tracking branch 'yerba/cache-control' 2020-06-02 14:03:38 -04:00
Felix Ableitner 21e913192a Add cache-control header to HTTP responses based on mime 2020-06-02 19:22:00 +02:00
Felix Ableitner 1aa30d855e address review comments 2020-06-01 16:48:07 +02:00
Felix Ableitner f3aba6da92 fix comment notifications 2020-05-30 20:05:42 +02:00
Felix Ableitner c34cc46c2d get it working (mostly) 2020-05-30 19:44:50 +02:00
Felix Ableitner 52206998aa more fixes 2020-05-30 15:38:01 +02:00
Dessalines 847e19f22d Version v0.6.65 2020-05-28 14:13:47 -04:00
Felix Ableitner d6e2119277 make comments work (more or less) 2020-05-28 20:09:37 +02:00
Dessalines 29fc3681b9
Validate register usernames on the back-end. Fixes #716 (#750)
* Validate register usernames on the back-end. Fixes #716

* Changing name to is_valid_username
2020-05-28 14:07:36 -04:00
Felix Ableitner 8f9bd1fef7 get some more things working 2020-05-28 15:20:12 +02:00
Felix ce0a37cdf1 get it working (mostly) 2020-05-28 13:51:48 +02:00
Felix cac7011d53 move logic to sharedinbox 2020-05-28 13:44:52 +02:00
Felix 5753c4feaa Let community announce posts 2020-05-28 13:15:51 +02:00
Dessalines 80653a5317
Remove federation option from master. (#745) 2020-05-25 18:48:24 -04:00
Dessalines a9af247f1e Merge branch 'federated_embeds' into federation 2020-05-25 16:15:23 -04:00
Dessalines 4f518a5d92 Version v0.6.64 2020-05-24 13:25:50 -04:00
Felix d1aca27126 Use activitystreams-ext 2020-05-18 18:15:26 +02:00
Dessalines 18d0edd4eb Version v0.6.63 2020-05-18 09:53:02 -04:00
Dessalines 106ce6096b Version v0.6.62 2020-05-17 18:46:15 -04:00
Dessalines f5e96d9372 Version v0.6.61 2020-05-17 16:53:56 -04:00
Dessalines 6fe4184f72 Adding Greek and Basque languages for weblate. 2020-05-16 22:52:28 -04: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 f88180650d Adding federated embeds via the preview field. 2020-05-15 23:40:36 -04:00
Dessalines 020b9b8cdd Post thumbnail and user icons federating. 2020-05-15 20:23:20 -04: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 3a4973ad68 Merge branch 'federation' into yerba_refactoring 2020-05-14 18:35:29 -04:00
Felix 0fb8450e56 Simplify community_inbox 2020-05-14 17:44:01 +02:00
Felix 13ca47a3b4 Use ActorType for sign/verify, instead of passing raw privatekey/actor_id 2020-05-14 17:17:40 +02:00
Felix 11acc7225e Add helper function for Activity::create() 2020-05-14 14:26:44 +02:00
Felix a1ad21ec56 remove outdated comments 2020-05-14 13:23:56 +02:00
Felix bb1b4ee33e Comment search and apub endpoint 2020-05-14 12:42:26 +02:00
Dessalines 155b99b64e Version v0.6.60 2020-05-12 15:27:28 -04:00
Dessalines f971e31171 Changing image_content_type function to Result. (#711)
* Changing image_content_type function to Result.

* Changing image to image/
2020-05-12 15:23:48 -04:00
Dessalines c22310bdaf Version v0.6.59 2020-05-11 19:08:28 -04:00
Dessalines eb72ace854 Pictshare only cache image content types. Fixes #709 2020-05-11 19:06:12 -04:00
Dessalines cb88510964 Version v0.6.58 2020-05-11 14:04:23 -04:00
Dessalines f7c947888f Removing 2nd match. 2020-05-11 14:01:10 -04:00
Dessalines 2719daffb0 Merge branch 'thumbnail-outsourced' of https://github.com/AndreVallestero/lemmy into AndreVallestero-thumbnail-outsourced 2020-05-11 13:20:03 -04:00
Dessalines b83aae0b57 Version v0.6.57 2020-05-08 14:08:35 -04:00
Andre Vallestero 38381ba287 Removed hardcoded thumbnail value 2020-05-07 21:33:47 -04:00
Andre Vallestero 243dda543c Removed debug line 2020-05-06 20:46:00 -04:00
Andre Vallestero d96c66ba9f Thumbnail generation for iframely incompatible sources 2020-05-06 20:40:36 -04:00
Dessalines 66142c546b Merge branch 'federated_private_messages' into federation 2020-05-06 13:51:39 -04:00
Dessalines 15f1920b25 Federated private messages. 2020-05-05 22:06:24 -04:00
Felix dfd6629a6f Federate community category and nsfw 2020-05-05 16:30:13 +02:00
Dessalines 21407260a4 Merge branch 'yerba_page_extension' into federation 2020-05-04 21:24:53 -04:00
Dessalines f1692a07fc Adding a comment on what comment.read is. 2020-05-04 21:14:24 -04:00
Felix 7485f1a5b4 Federate nsfw/locked info for posts 2020-05-05 02:09:27 +02:00
Dessalines b177cbce1d Renaming ignore to unfollow in followable trait. 2020-05-04 14:26:16 -04:00
Dessalines b8b2398d32 Adding undo follow community. 2020-05-03 22:41:45 -04:00
Dessalines fab22e3d8a Add federated comment and post undo like. 2020-05-03 20:34:04 -04:00
Dessalines 88e1251d6b Version v0.6.56 2020-05-03 17:27:25 -04:00
Dessalines dfc9637230 Merge branch 'federation' into federated_remove_actions 2020-05-03 13:27:53 -04:00
Dessalines 2c22e413eb Merge branch 'federation' into federated_remove_actions 2020-05-03 13:22:32 -04:00
Dessalines 67d4daa7a1 Merge pull request #687 from LemmyNet/undo_delete_community
Undo delete for community, comment, and post.
2020-05-03 13:21:01 -04:00
Dessalines 211ef795e9 Some additional notes, reorg. 2020-05-03 10:22:25 -04:00
Dessalines a09c818746 Adding federated mod remove actions. 2020-05-03 10:00:59 -04:00
Dessalines 5366797a4b Add undos for delete community, post, and comment. 2020-05-01 15:01:29 -04:00
Dessalines 2f1cd9976d Adding federated community, comment, and post deletes.
- Unit tests added too.
- No undeletes working yet.
2020-05-01 10:07:38 -04:00
Felix 461114c143 update activitystreams lib 2020-04-30 18:30:01 +02:00
Dessalines 38cdfdf7e0 Changing federated community and user links and searching.
- Search: !community@instance, @user@instance
- Representation: community@instance, user@instance
2020-04-30 11:45:12 -04:00
Felix 770dcbdc49 wip: add former_type to tombstone 2020-04-29 21:10:50 +02:00
Dessalines 8cd68f56aa Adding shorthand federated object searching. 2020-04-29 12:55:54 -04:00
Felix c43f06124a Address comments, implement delete for posts and comments 2020-04-29 16:51:25 +02:00
Felix 0c0c683986 Implement deleting communities 2020-04-28 19:46:25 +02:00
Dessalines 59bba148ff Merge branch 'federation' into add_federated_post_likes 2020-04-28 10:12:07 -04:00
Dessalines b60c7bbae7 Merge branch 'federation' into add_activity_table 2020-04-28 10:10:05 -04:00
Dessalines 07a9d84ed0 Removing some comments. 2020-04-28 09:57:28 -04:00
Dessalines 3b62f58dd2 Adding federated post and comment likes. 2020-04-28 00:16:02 -04:00
Dessalines 6eaa06ab02 Merge branch 'shared_inbox_1' into add_federated_post_likes 2020-04-27 22:48:20 -04:00
Dessalines 9721b77317 1/3rd done with post likes 2020-04-27 22:47:26 -04:00
Dessalines 4b741c3759 Adding a better switching for activity kinds for the shared inbox. 2020-04-27 19:21:41 -04:00
Dessalines 70060c27b2 Adding activity table inserts. 2020-04-27 18:17:02 -04:00
Dessalines 22abbebd41 Lots of additions to federation.
- Added a shared inbox.
- Added federated comments, comment updates, and tests.
- Abstracted ap object sends into a common trait.
2020-04-27 12:57:00 -04:00
Dessalines 66134823bf Version v0.6.55 2020-04-27 09:07:31 -04:00
Dessalines 3ce0618362 Making a trait function for follow and accept. 2020-04-26 13:20:42 -04:00
Dessalines 92e4edf9b7 Version v0.6.54 2020-04-26 10:57:27 -04:00
Dessalines 079ac091eb Adding back in post fetching. 2020-04-25 11:49:15 -04:00
Dessalines b5a5b307a0 Adding get_public_key_ext() to ActorType trait. 2020-04-24 22:34:51 -04:00
Dessalines 8a25f0f816 Use an associated type instead of Generic. 2020-04-24 17:30:27 -04:00
Dessalines d846740839 Some more cleanup. 2020-04-24 15:55:54 -04:00
Dessalines 66a2c4a2c3 Some fed fixes. 2020-04-24 10:04:36 -04:00
Felix b8aaf5c1f1 Also use correct header in fetcher.rs 2020-04-23 13:42:09 +02:00
Felix 70816a4779 Fix header guard for apub responses 2020-04-22 20:56:31 +02:00
Dessalines c22090c602 Version v0.6.53 2020-04-22 00:30:43 -04:00
Dessalines 313d023eef Changing wait to spawn in websocket. 2020-04-22 00:29:25 -04:00
Dessalines b2a89cd217 Version v0.6.52 2020-04-21 20:43:38 -04:00
Dessalines 92e30311ce Merge branch 'federation' of https://yerbamate.dev/LemmyNet/lemmy into federation 2020-04-21 20:41:50 -04:00
Dessalines 0425e8b114 Fixing nodeinfo error type. 2020-04-21 20:34:37 -04:00
Dessalines 18e570b021 Merge branch 'master' into merge_master_2 2020-04-21 20:29:52 -04:00
Dessalines 6b58080067 Adding websocket blocking. 2020-04-21 17:57:20 -04:00
Dessalines 809cc1049e Fixing closures. 2020-04-21 16:48:54 -04:00
Felix 957e4a2611 Change apub IDs to be consistent with html urls 2020-04-21 22:45:01 +02:00
Dessalines 01b7ac5fb9 Merge branch 'master' into routes_web_block 2020-04-21 16:41:07 -04:00
Dessalines d98c936295 Adding web::blocks to routes. 2020-04-21 16:40:03 -04:00
Dessalines f0026065f5 Merge branch 'master' into federation_merge_from_master_1 2020-04-21 10:25:29 -04:00
Dessalines b98fa12741 Version v0.6.51 2020-04-20 15:40:56 -04:00
Dessalines c0f4d5260f Merge branch 'asonix-abstract_websocket_sends' into abstract_websocket_sends 2020-04-20 15:03:32 -04:00
Dessalines 0d4679a37b Making websocket create community do register rate limit. 2020-04-20 14:55:37 -04:00
asonix 05b961a90a Remove unused methods 2020-04-20 13:09:10 -05:00
asonix d11af012fc post -> register 2020-04-20 13:05:07 -05:00
asonix d058db95e5 Use get_ip in ratelimit middleware 2020-04-20 13:02:25 -05:00
asonix 4df2031ae0 Give ratelimit fields explicit names 2020-04-20 12:51:42 -05:00
asonix 904ebf34a5 Guard CreateCommunity, represent impossible error with Infallible 2020-04-20 12:31:22 -05:00
asonix db4454b52b Add websockets into the api scope 2020-04-20 10:25:47 -05:00
Dessalines c18fa5a38e Changing warn to debug for rate limiting message. 2020-04-20 10:45:14 -04:00
asonix 217efdd706 Allow rustfmt on api config 2020-04-19 23:47:20 -05:00
asonix 4712ae4eb0 appease clippy 2020-04-19 23:43:30 -05:00
asonix ac43b86b60 Change RateLimit to act as a middleware 2020-04-19 22:59:07 -05:00
Dessalines 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
Felix 7117b5ce32 Verifyt http signatures 2020-04-19 19:35:40 +02:00
Felix 5284dc0c52 Simplify signing code 2020-04-19 13:44:44 +02:00
Felix 8daf72278d Add http signature to outgoing apub requests 2020-04-18 20:54:20 +02:00
Felix a49bd1d42a Fix bug in whitelist implementation 2020-04-18 17:17:25 +02:00
Felix b1b97db11a Implement instance whitelist 2020-04-17 19:34:18 +02:00
Felix c5ced6fa5e Added documentation for most functions 2020-04-17 17:33:55 +02:00
Felix 8908c8b184 Some code cleanup and better logging 2020-04-17 16:55:28 +02:00
Felix 9c974fbe50 Remove instance follows 2020-04-17 16:39:03 +02:00
Felix 86f172076b Implement search for activitypub IDs 2020-04-17 15:46:08 +02:00
Felix 9a85f1b25f Send activities to correct inbox, seperate community/user inboxes 2020-04-15 20:12:25 +02:00
Dessalines be6a7876b4 Version v0.6.50 2020-04-14 19:38:20 -04:00
Dessalines 7ba6ee8714 Redundant to_owned 2020-04-14 19:25:58 -04:00
Dessalines fcf1c65fc1 Front end federation names and links for users, posts, and communities. 2020-04-14 19:18:13 -04:00
Dessalines 1336b4ed60 Merge branch 'dev' into federation 2020-04-14 16:07:20 -04:00
Dessalines 26ad37a8c0 Updating views to add apub actor_id and local columns. 2020-04-14 15:12:19 -04:00
Dessalines 9878a58452 Fixing unwrap crash with site_view.rs 2020-04-14 12:24:05 -04:00
Felix 19c8461397 Implemented follow/accept 2020-04-14 17:37:23 +02:00
Dessalines 6d5518cbd4 Merge branch 'dev' into admin_settings 2020-04-14 10:54:04 -04:00
Felix fdaf0b3364 Get inbox working properly 2020-04-13 15:06:41 +02:00
Felix fac1cc7e1d Use summary field for post title 2020-04-13 14:13:06 +02:00
Dessalines 8192f69584 Version v0.6.49 2020-04-12 14:57:37 -04:00
Dessalines a26bff6921 Version v0.6.48 2020-04-12 14:08:02 -04:00
Felix fc951d9295 Added comments about how to federate additional post/user fields 2020-04-12 16:53:55 +02:00
Dessalines c92201a674 Removing redundant to_owned 2020-04-11 14:10:33 -04:00
Dessalines 61815bce2e Adding live reloading of config.hjson changes through UI.
- https://stackoverflow.com/questions/61159698/update-re-initialize-a-var-defined-in-lazy-static/61161271#61161271
- https://stackoverflow.com/questions/29654927/how-do-i-assign-a-string-to-a-mutable-static-variable/47181804#47181804
2020-04-11 14:06:04 -04:00
Dessalines bb287cbd07 Adding an admin settings page.
- Fixes #620
- Adding a UserListing component. Fixes #627
2020-04-10 16:55:57 -04:00
Felix 17d3d2492c Federate actor public keys 2020-04-10 15:50:40 +02:00
Felix 5e3902a3bc more todos 2020-04-10 14:45:48 +02:00
Felix 509005fa0c Rename federation-test to federation, puller.rs to fetcher.rs 2020-04-10 13:37:35 +02:00
Felix 492625f6d6 Add to/cc (and a bunch of todo) 2020-04-10 13:26:06 +02:00
Felix 483d11e772 Minor code cleanup 2020-04-09 21:26:22 +02:00
Felix 0b617377df Implement create activity 2020-04-09 21:04:31 +02:00
Felix Ableitner f5b58bcdaf Simplify fetch_posts code 2020-04-08 18:39:45 +02:00
Felix Ableitner 5706b533fd Use instance struct instead of raw string 2020-04-08 18:22:44 +02:00
Felix Ableitner 6962b9c433 Use Url instead of String 2020-04-08 14:37:05 +02:00
Felix Ableitner edd0ef5991 Some refactoring of puller.rs 2020-04-08 14:08:33 +02:00
Felix Ableitner d2bad5f79e Improve error handling 2020-04-08 13:23:59 +02:00
Felix Ableitner 61c560c12c Get users federated 2020-04-07 23:02:32 +02:00