lemmy.git
15 months agoDont use sha hash for password reset token (fixes #3491) (#3795)
Nutomic [Wed, 2 Aug 2023 17:02:53 +0000 (19:02 +0200)]
Dont use sha hash for password reset token (fixes #3491) (#3795)

15 months agoRewrite remaining federation actions, get rid of PerformCrud trait (#3794)
Nutomic [Wed, 2 Aug 2023 16:52:41 +0000 (18:52 +0200)]
Rewrite remaining federation actions, get rid of PerformCrud trait (#3794)

* Rewrite ban actions

* Rewrite delete/remove actions

* Rewrite remove/delete community

* Rewrite report actions

* Rewrite feature/lock post

* Rewrite update community actions

* Rewrite remaining federation actions

* Get rid of PerformCrud trait

* clippy

15 months agoAdding SQL format checking via `pg_format` / pgFormatter (#3740)
Dessalines [Wed, 2 Aug 2023 16:44:51 +0000 (12:44 -0400)]
Adding SQL format checking via `pg_format` / pgFormatter (#3740)

* SQL format checking, 1.

* SQL format checking, 2.

* SQL format checking, 3.

* SQL format checking, 4.

* SQL format checking, 5.

* Running pg_format

* Getting rid of comment.

* Upping pg_format version.

* Using git ls-files for sql format check.

* Fixing sql lints.

* Addressing PR comments.

15 months agoDo not hide read posts when it is a user profile view (#3791)
RocketDerp [Wed, 2 Aug 2023 16:31:28 +0000 (09:31 -0700)]
Do not hide read posts when it is a user profile view (#3791)

15 months agoOnly run slow CI checks for actual code changes (attempt 2) (#3759)
Nutomic [Wed, 2 Aug 2023 16:29:21 +0000 (18:29 +0200)]
Only run slow CI checks for actual code changes (attempt 2) (#3759)

* Only run slow CI checks for actual code changes (attempt 2)

* use when path include

* change rust

* update

* x

* y

* zsad

* remove println

* fmt

* readme

* Revert "readme"

This reverts commit d58b6ad9731d8c6009d8680d0126d9e9f0af3103.

* ci

* gitmodules

15 months agoRemove follow community traits (#3737)
Louis GERARD [Wed, 2 Aug 2023 09:32:16 +0000 (11:32 +0200)]
Remove follow community traits (#3737)

* chore(FollowCommunity): remove Perform and Send Activity traits

* chore(FollowCommunity): avoid fetching community and person from db

15 months agoDefault imprementations for read and delete in Crud trait (#3707)
dullbananas [Tue, 1 Aug 2023 14:34:10 +0000 (07:34 -0700)]
Default imprementations for read and delete in Crud trait (#3707)

* h

* Start doing stuff

* Default impl for Crud::read

* Simplify Crud::read lifetimes

* fmt

* Stuff

* Stuff

* Successfully make default read implementation work

* Restore Person::read

* Clean up default Crud::read and rename 'query2

* Replace filter with find

* Attempt default Crud::create

* Change Crud to Crud<'a> (won't compile)

* Revert "Change Crud to Crud<'a> (won't compile)"

This reverts commit 7ed20f5f713600bd48c85aad0848d8dbaae56503.

* Default Crud::delete

* Remove Crud::delete definitions that match default

* Remove commented Site::read

* Insert trait

* Revert "Insert trait"

This reverts commit 9d780c24035d3a9fb12968d3009a28724046dc3a.

* Use non-borrowed forms

* Revert "Use non-borrowed forms"

This reverts commit d2dd4425634b54ef105aab44f1c37cc10a32491e.

* Revert "Revert "Change Crud to Crud<'a> (won't compile)""

This reverts commit 25a27165a8ef56495e9f605ac15c9924b101d1bf.

* Fix lifetime for everything except Crud::delete

* Fix Crud::delete

* Add comment about futures

* Attempt Crud::create

* Attempt separate CrudBounds

* Revert "Attempt separate CrudBounds"

This reverts commit 1b4ca321c3d2a1d045e2f4c542c593582e9c6d80.

* Try to fix Crud::create

* Move lifetime parameters to associated types

* Revert "Move lifetime parameters to associated types"

This reverts commit af1bc858ce5e1dacddc4bbded2da7e4b7237e237.

* Revert "Try to fix Crud::create"

This reverts commit eec238496c38127cbf3d542b7cfd57ec55622d1f.

* Revert "Revert "Attempt separate CrudBounds""

This reverts commit 1ec33ce5022c58a5ad079ed7f5c220fafe5f0a5f.

* Revert "Attempt separate CrudBounds"

This reverts commit 1b4ca321c3d2a1d045e2f4c542c593582e9c6d80.

* Revert "Attempt Crud::create"

This reverts commit 47e8071b6826f27e2a562680b4948c37dffa68cb.

* Revert "Add comment about futures"

This reverts commit b266b1465393995b3be51d5ba207d5249560884f.

* Revert "Fix Crud::delete"

This reverts commit 3abcce2eec55208993dd9c7c3e51cff83412d15a.

* Revert "Fix lifetime for everything except Crud::delete"

This reverts commit c1ad7a161bbc8495dbfb8b52073f35ae88519da6.

* Revert "Revert "Revert "Change Crud to Crud<'a> (won't compile)"""

This reverts commit 3129cd0fc302f34bc0aad59987b9d0eb1139076c.

* Clean up

* Update site.rs

15 months agoRewrite some federation actions to remove Perform/SendActivity (ref #3670) (#3758)
Nutomic [Tue, 1 Aug 2023 13:53:36 +0000 (15:53 +0200)]
Rewrite some federation actions to remove Perform/SendActivity (ref #3670) (#3758)

15 months agoEnhanced testing of comments. Validate reply notifications, mentions (#3686)
RocketDerp [Tue, 1 Aug 2023 13:14:40 +0000 (06:14 -0700)]
Enhanced testing of comments. Validate reply notifications, mentions (#3686)

* shared.ts first test of getReplies

* comment testing now validates reply notifications and mentions, some code comment cleanup in other functions

* comments revised

* first use of getUnreadCount in testing

* test notification of new comment replies, clarify usage of getReplies

* killall moved earlier in bash script

* api-test jest run does not need directory prefix, make consistent with other jest runs

* do not put my testing system password into script

* fix, killall exits script when no process found

* killall now moved to parent script to release locks before database create

* need to run killall a second time, before database drop

* first use of getReplies getPosts saveUserSettings

* accidental duplication of functions, removed

* try to sync shared library with main

* Nutomic feedback: Better to rename the var instead of putting a comment which can easily get outdated.

* Correct logic to meet join-lemmy requirement, don't have closed signups. Allows Open and Applications. (#3761)

Co-authored-by: Josh Bernardini <josh.bernardini@cologix.com>
* Fix fetch instance software version from nodeinfo (#3772)

Fixes #3771

* remove unused code, revert killall change

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: figure-0e <133478007+figure-0e@users.noreply.github.com>
Co-authored-by: Josh Bernardini <josh.bernardini@cologix.com>
Co-authored-by: Denis Dzyubenko <denis@ddenis.info>
Co-authored-by: Felix Ableitner <me@nutomic.com>
15 months agoFix fetch instance software version from nodeinfo (#3772)
Denis Dzyubenko [Tue, 1 Aug 2023 08:55:28 +0000 (10:55 +0200)]
Fix fetch instance software version from nodeinfo (#3772)

Fixes #3771

15 months agoCorrect logic to meet join-lemmy requirement, don't have closed signups. Allows Open...
figure-0e [Tue, 1 Aug 2023 08:40:42 +0000 (02:40 -0600)]
Correct logic to meet join-lemmy requirement, don't have closed signups. Allows Open and Applications. (#3761)

Co-authored-by: Josh Bernardini <josh.bernardini@cologix.com>
15 months agoRevert "Only run slow CI checks for actual code changes (#3750)"
Felix Ableitner [Fri, 28 Jul 2023 20:44:45 +0000 (22:44 +0200)]
Revert "Only run slow CI checks for actual code changes (#3750)"

This reverts commit a34e0d477eb8bcc9acc5b3df44f843bf636b173a.

15 months agoUpdate CODEOWNERS (#3748)
Nutomic [Fri, 28 Jul 2023 15:16:18 +0000 (17:16 +0200)]
Update CODEOWNERS (#3748)

15 months agoDelete migrations_testing folder (#3751)
Nutomic [Fri, 28 Jul 2023 15:14:26 +0000 (17:14 +0200)]
Delete migrations_testing folder (#3751)

Its completely unused as far as I can see

15 months agoMove entry from .rgignore to .gitignore (#3752)
Nutomic [Fri, 28 Jul 2023 15:11:18 +0000 (17:11 +0200)]
Move entry from .rgignore to .gitignore (#3752)

rg command respects gitignore, and sql dumps should be ignored by
git as well. So theres no reason to have a separate file.

15 months agoRewrite some API handlers to remove Perform trait (#3735)
Nutomic [Fri, 28 Jul 2023 14:39:38 +0000 (16:39 +0200)]
Rewrite some API handlers to remove Perform trait (#3735)

* Rewrite some API handlers to remove Perform trait

* Convert CreateComment

* ci

15 months agoAdding 0.18.3 Release notes. (#3753)
Dessalines [Fri, 28 Jul 2023 14:33:45 +0000 (10:33 -0400)]
Adding 0.18.3 Release notes. (#3753)

15 months agoOnly run slow CI checks for actual code changes (#3750)
Nutomic [Fri, 28 Jul 2023 13:33:23 +0000 (15:33 +0200)]
Only run slow CI checks for actual code changes (#3750)

* Only run slow CI checks for actual code changes

Its a waste of time to compile Rust and run tests when only
something like the readme was changed.

* also make cache restore/rebuild conditional

* remove unused condition

15 months agoRestore markdown quotes after sanitize (#3708) (#3749)
Nutomic [Fri, 28 Jul 2023 12:23:46 +0000 (14:23 +0200)]
Restore markdown quotes after sanitize (#3708) (#3749)

15 months agoUse same table join code for both read and list functions (#3663)
dullbananas [Fri, 28 Jul 2023 08:36:50 +0000 (01:36 -0700)]
Use same table join code for both read and list functions (#3663)

* Try stuff

* Revert "Try stuff"

This reverts commit 3da5f83a8b4928368bf58e0061091c270259a226.

* Revert "Revert "Try stuff""

This reverts commit 178bd43cac8c7674d30d2c285ed47ca0493ad659.

* Revert "Revert "Revert "Try stuff"""

This reverts commit b9f9a2316e7cd37082319608c606a1c7db057206.

* Revert "Revert "Revert "Revert "Try stuff""""

This reverts commit ccd498dd7228050ae05d2022e9106034fd4132f8.

* Try more stuff

* Add queries function

* Simplify queries function

* Move aliases to db_schema

* Revert "Move aliases to db_schema"

This reverts commit 69afed05c1807c3fef8d5b5872546fa22e60b4d0.

* Add ReadFuture and ListFuture

* Refactor queries function and add Queries struct

* Box futures in Queries::new

* Use from_tuple

* Add comment_view::queries and improve comment_report_view::queries

* Add local_user_view::queries

* Add post_report_view::queries

* Ad post_view::queries

* Add private_message_report_view::queries

* private_message_view, registration_application_view

* Use 'a in BoxedQuery

* comment_reply_view, community_view

* Change aliases to inline module

* person_mention_view

* person_view

* Use separate community_person_ban joins instead of including boolean literal in join-on clause

* Fix comment_view

* rerun ci

15 months agoremove n^2 part of person triggers, improve community aggregate trigger (#3739)
phiresky [Thu, 27 Jul 2023 21:36:51 +0000 (23:36 +0200)]
remove n^2 part of person triggers, improve community aggregate trigger (#3739)

* remove n^2 part of person triggers, improve community aggregate trigger

* comment out comment_score tests since previously they only accidentally succeeded

* empty

15 months agoremove performance-problematic and buggy duplicate site aggregates (#3732)
phiresky [Thu, 27 Jul 2023 21:35:53 +0000 (23:35 +0200)]
remove performance-problematic and buggy duplicate site aggregates (#3732)

15 months agoChange readme installation link (#3736)
Nutomic [Thu, 27 Jul 2023 13:42:52 +0000 (15:42 +0200)]
Change readme installation link (#3736)

Replaces https://github.com/LemmyNet/lemmy/pull/3551

15 months agoFederation tests replication round1 - demonstrate absent replication of comment delet...
RocketDerp [Thu, 27 Jul 2023 10:17:40 +0000 (03:17 -0700)]
Federation tests replication round1 - demonstrate absent replication of comment deletes (#3657)

* more robust test of unlike a comment, confirm replication to instance downstream from community home

* more robust 'delete a comment' test, confirm replication

* Far more robust "Report a comment" test. Many comments about situation, this is currently failing because gamma does not get the report

* typo and actually have Gamma comment check use gamma, not alpha

* prepare-drone-federation-test.sh has some more echo output and note about the LEMMY_DATABASE_URL format (#3651)

* Add http cache for webfingers (#3317)

* Add http cache for webfingers

* Remove the outgoing cache middleware & adjust the cache headers directive

* Use 1h & 3day cache header

* Update routes and adjust the cache headers location

* revert apub caching

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
* Rewrite activity lists to fix delete federation (fixes #3625)

* Revert "typo and actually have Gamma comment check use gamma, not alpha"

This reverts commit 7dfb6ee0f4885da3a2d10316422f5b510772806c.

* Revert "Far more robust "Report a comment" test. Many comments about situation, this is currently failing because gamma does not get the report"

This reverts commit 7bd3b20ae08a64324029491ddb3ce4295ba16787.

* prettier TypeScript

* revised comments, as ResolveObject isn't using routine replication

* fmt

* fix api tests

* remove comment

---------

Co-authored-by: cetra3 <cetra3@hotmail.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
15 months agoOmit local instance from federated instances list (#3712)
Bao [Thu, 27 Jul 2023 10:12:18 +0000 (05:12 -0500)]
Omit local instance from federated instances list (#3712)

Co-authored-by: Nutomic <me@nutomic.com>
15 months agoadd trigram index to search (#3719)
phiresky [Thu, 27 Jul 2023 10:11:00 +0000 (12:11 +0200)]
add trigram index to search (#3719)

* add trigram index to search

* add community index

15 months agoSanitize html (#3708)
Nutomic [Wed, 26 Jul 2023 18:01:15 +0000 (20:01 +0200)]
Sanitize html (#3708)

* HTML sanitization in apub code

* Sanitize API inputs

* fmt

* Dont allow html a, img tags

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
15 months agoAdd moderator view parameter to list posts (#3176)
biosfood [Wed, 26 Jul 2023 17:51:11 +0000 (19:51 +0200)]
Add moderator view parameter to list posts (#3176)

* add option to only show posts from moderated communities

* rename moderated_only to moderator_view and show blocked users in moderator view

* add test for moderator view

* bump lemmy-js-client version for moderation view tests

* fix yarn lockfile

* retry build

* Delete logfile

* retry checks

* remove unused select statement from list posts

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
15 months agoAdd controversial ranking (#3205)
Pavlos Smith [Wed, 26 Jul 2023 17:07:05 +0000 (20:07 +0300)]
Add controversial ranking (#3205)

* Added controversy rank property to posts and comments, and ability to sort by it

* Triggers instead of schedules tasks, integer -> double, TODO: comments don't seem to get updated with floats, divide SortTypes

* Created PersonSortType

* PersonSortType::MostComments case

* Removed unused PartialOrd trait

* Added new person sort type mappings

* SortType -> PersonSortType

* fixes

* cargo fmt

* fixes after merge with main

* Fixed bug in controversy rank trigger, removed TopX sorts from PersonSortType and added CommentScore instead

* Uncovered enum case

* clippy

* reset translation changes

* translations

* translations

* Added additional hot ordering on controversial posts and comments

* featured local and featured community added to controversy rank index, additional order_by removed (?), added post_score and post_count to PersonSortType

* Woodpecker rerun

* cargo fmt

* woodpecker rerun

* fixed controversy_rank order

* fix

* Readded migration as latest, removed second update statement for setting controversy rank

15 months agoMake resolve_object not require auth #3685 (#3716)
marsara9 [Wed, 26 Jul 2023 16:17:42 +0000 (12:17 -0400)]
Make resolve_object not require auth #3685 (#3716)

* Resolves issue #3685

If user isn't authenticated with resolve_object, only allow a local search instead of possibly making an http request.

* Making sure to validate auth before doing a potential remote lookup.

15 months agoSkip fragile API tests (#3723)
Nutomic [Wed, 26 Jul 2023 16:15:18 +0000 (18:15 +0200)]
Skip fragile API tests (#3723)

* Skip fragile API tests

These tests fail very often for no reason, eg in #3712 and #3696.
Better to disable them until they can be fixed.

* killall -s1

15 months agoUI Settings - Blur NSFW & Auto Expand (#3377)
Domenic Horner [Wed, 26 Jul 2023 11:53:45 +0000 (19:53 +0800)]
UI Settings - Blur NSFW & Auto Expand (#3377)

* add new flag to api

* add new ui settings for local user

* remove extraneous def

* add props to application reg.

* fix clippy updated these

* re-order db schema entries

* remove dupe

* update lemmy sdk

* update lemmy js client

---------

Co-authored-by: Nutomic <me@nutomic.com>
15 months agoEnable gzip for reqwest (#3696)
dullbananas [Wed, 26 Jul 2023 10:22:14 +0000 (03:22 -0700)]
Enable gzip for reqwest (#3696)

This will reduce bandwidth used by federation

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
15 months agoDont authenticate user after successful password reset #3714 (#3715)
Into the V0id [Tue, 25 Jul 2023 17:33:02 +0000 (17:33 +0000)]
Dont authenticate user after successful password reset #3714 (#3715)

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
15 months agodetailed error message for blocked domains (#3698) (#3701)
Freakazoid182 [Tue, 25 Jul 2023 17:26:54 +0000 (19:26 +0200)]
detailed error message for blocked domains (#3698) (#3701)

* detailed error message for blocked domains (#3698)

* Pass the domain as an error param

Not formatting the error message to support i18n

---------

Co-authored-by: Freek van Zee <freek.van.zee@mediamonks.com>
15 months agoBump version of dependency "webmention" (#3711)
Ben Wyatt [Tue, 25 Jul 2023 17:01:13 +0000 (12:01 -0500)]
Bump version of dependency "webmention" (#3711)

Webmention .4->.5 bumps a few internal dependencies that needed to be upgraded

15 months agoprevent ordering by comment path without post filter (#3717)
phiresky [Tue, 25 Jul 2023 16:46:00 +0000 (18:46 +0200)]
prevent ordering by comment path without post filter (#3717)

15 months agoUpdate Dockerfile to run process as non-privileged user. (#3709)
asimons04 [Mon, 24 Jul 2023 13:51:51 +0000 (09:51 -0400)]
Update Dockerfile to run process as non-privileged user. (#3709)

15 months agoChange logic for determining comment default language (fixes #3451) (#3672)
Nutomic [Fri, 21 Jul 2023 13:08:25 +0000 (15:08 +0200)]
Change logic for determining comment default language (fixes #3451) (#3672)

15 months agodisable rustfmt feature on rosetta-build (#3679)
Joel Beckmeyer [Fri, 21 Jul 2023 09:50:47 +0000 (05:50 -0400)]
disable rustfmt feature on rosetta-build (#3679)

15 months agoFix federation test errors with new lemmy-js-client (#3678)
Dessalines [Fri, 21 Jul 2023 09:47:56 +0000 (05:47 -0400)]
Fix federation test errors with new lemmy-js-client (#3678)

15 months agoAdding diesel migration check. Fixes #3676 (#3677)
Dessalines [Fri, 21 Jul 2023 09:46:10 +0000 (05:46 -0400)]
Adding diesel migration check. Fixes #3676 (#3677)

* Adding diesel migration check. Fixes #3676

* Fixing prettier.

15 months agoMake sure comments are sorted by hot_rank, then score. (#3667)
Dessalines [Fri, 21 Jul 2023 09:44:47 +0000 (05:44 -0400)]
Make sure comments are sorted by hot_rank, then score. (#3667)

15 months agoFix process shutdown (#3673)
Nutomic [Thu, 20 Jul 2023 15:36:48 +0000 (17:36 +0200)]
Fix process shutdown (#3673)

I noticed that stopping the Lemmy process with ctrl+c wasnt working
because the activity channel isnt properly closed. This is now fixed.

Later we should also move the channel from static into LemmyContext,
Im not doing that now to avoid conflicts with #3670.

15 months agoIgnore errors when fetching community mods (fixes #3460) (#3674)
Nutomic [Thu, 20 Jul 2023 15:34:07 +0000 (17:34 +0200)]
Ignore errors when fetching community mods (fixes #3460) (#3674)

15 months agoUpgrade activitypub library to 0.4.6 (fixes #3222) (#3675)
Nutomic [Thu, 20 Jul 2023 15:33:19 +0000 (17:33 +0200)]
Upgrade activitypub library to 0.4.6 (fixes #3222) (#3675)

15 months agoDenormalize community_id into post_aggregates for a 1000x speed-up when loading posts...
Sander Saarend [Thu, 20 Jul 2023 15:13:21 +0000 (18:13 +0300)]
Denormalize community_id into post_aggregates for a 1000x speed-up when loading posts (#3653)

* Denormalize community_id into post_aggregates for a 1000x speed-up when loading posts

* Remove unused index

* Add creator_id to post_aggregates

* Use post_aggregates as main table for PostQuery

* Make post_aggregates the main table for PostView

* Reformat SQL

15 months agoFixing hot_ranks and scores to append a published sort. (#3618)
Dessalines [Thu, 20 Jul 2023 14:44:23 +0000 (10:44 -0400)]
Fixing hot_ranks and scores to append a published sort. (#3618)

- #3428

15 months ago Handle displaying of deleted and removed posts/comments (fixes #2624) (#3286)
Nutomic [Thu, 20 Jul 2023 14:36:16 +0000 (16:36 +0200)]
 Handle displaying of deleted and removed posts/comments (fixes #2624)  (#3286)

* Handle displaying of deleted and removed posts/comments (fixes #2624)

* remove duplicate test

* fix tests

* no show_removed/show_deleted

* merge

* partially fix tests

* fix tests

* clippy

* fix tests

* get rid of build_post_response_deleted_allowed

15 months agoUse local_site.default_post_listing_type as the initial default listing type for...
Sander Saarend [Wed, 19 Jul 2023 15:04:43 +0000 (18:04 +0300)]
Use local_site.default_post_listing_type as the initial default listing type for new users (#3666)

15 months agoDont publish releases to crates.io (fixes #3272) (#3664)
Nutomic [Wed, 19 Jul 2023 14:25:46 +0000 (16:25 +0200)]
Dont publish releases to crates.io (fixes #3272) (#3664)

This is not needed anymore as from scratch installation now uses
`git clone` instead of `cargo install`.

https://github.com/LemmyNet/lemmy-docs/pull/241/files

15 months agoRemove SendActivity and Perform traits, rely on channel (#3596)
Nutomic [Wed, 19 Jul 2023 13:49:41 +0000 (15:49 +0200)]
Remove SendActivity and Perform traits, rely on channel (#3596)

* Remove SendActivity and Perform traits, rely on channel

These traits arent necessary anymore now that websocket is removed.
Removing them allows us to use normal actix http handler methods
which are much more flexible, and allow using different middlewares
as well as setting response attributes.

* compiling and create post federating

* clippy

* rename methods, join outgoing activities task

* fix api tests

* no unwrap

* conditional compile

* add back getrandom

* make crates optional

* fmt

15 months agoDon't panic when scheduled tasks can't connect to database (#3634)
Sander Saarend [Wed, 19 Jul 2023 13:00:44 +0000 (16:00 +0300)]
Don't panic when scheduled tasks can't connect to database (#3634)

* Don't panic when scheduled tasks can't connect to database

* Use map & map_err instead of match

* Empty commit for Woodpecker re-run

15 months agoAdd http cache for webfingers (#3317)
cetra3 [Wed, 19 Jul 2023 10:09:04 +0000 (19:39 +0930)]
Add http cache for webfingers (#3317)

* Add http cache for webfingers

* Remove the outgoing cache middleware & adjust the cache headers directive

* Use 1h & 3day cache header

* Update routes and adjust the cache headers location

* revert apub caching

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
15 months agoprepare-drone-federation-test.sh has some more echo output and note about the LEMMY_D...
RocketDerp [Wed, 19 Jul 2023 08:28:10 +0000 (01:28 -0700)]
prepare-drone-federation-test.sh has some more echo output and note about the LEMMY_DATABASE_URL format (#3651)

16 months agoPost remove delete federation outbound fix0 (#3613)
RocketDerp [Mon, 17 Jul 2023 15:07:45 +0000 (08:07 -0700)]
Post remove delete federation outbound fix0 (#3613)

* add new function build_post_response_deleted_allowed

* PostDelete uses new function build_post_response_deleted_allowed

* RemovePost uses new build_post_response_deleted_allowed function

* code comments about mod or admin flag having other use

* reformat "cargo +nightly fmt --all"

16 months agoAdd Japanese README (#3620)
Ikko Eltociear Ashimine [Mon, 17 Jul 2023 15:05:14 +0000 (00:05 +0900)]
Add Japanese README (#3620)

* Add Japanese README

* add translate

* fix link

* Update README.ja.md

16 months agoCache & Optimize Woodpecker CI (#3450)
cetra3 [Mon, 17 Jul 2023 15:04:14 +0000 (00:34 +0930)]
Cache & Optimize Woodpecker CI (#3450)

* Try using drone cache plugin

* Try another path

* Include volume

* Fix formatting

* Include fmt

* Exclude cargo dir from prettier

* Don't override cargo

* Just do check

* Add cache key

* Use different cache plugin

* Add clippy

* Try minio

* Add quotes

* Try adding secrets

* Try again

* Again

* Use correct secret formation

* Add back clippy

* Use secret for the root bucket name

* Try drone cache instead

* Add region

* Add path-style option

* Include cargo clippy

* Include everything again

* Fix formatting

* Don't run clippy twice

* Add `allow` statements for tests to pass

* Adjust endpoint to be a secret

* Fix prettier

* Merge & fix tests

* Try to restart the woodpecker test

* Change the ENV var name

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
16 months agoRemove TypedBuilder from db_views and db_views_actor (#3637)
dullbananas [Mon, 17 Jul 2023 10:20:25 +0000 (03:20 -0700)]
Remove TypedBuilder from db_views and db_views_actor (#3637)

* change pool fields to parameters for list

* remove my_person_id and admin fields

* Change recipient id to list param

* Remove TypedBuilder from db_views and db_views_actor

16 months agoOptimize hot rank updates (#3617)
Sander Saarend [Mon, 17 Jul 2023 09:05:55 +0000 (12:05 +0300)]
Optimize hot rank updates (#3617)

16 months agoSplit activity table into sent and received parts (fixes #3103) (#3583)
Nutomic [Fri, 14 Jul 2023 15:17:06 +0000 (17:17 +0200)]
Split activity table into sent and received parts (fixes #3103) (#3583)

* Split activity table into sent and received parts (fixes #3103)

The received activities are only stored in order to avoid processing
the same incoming activity multiple times. For this purpose it is
completely unnecessary to store the data. So we can split the
table into sent_activity and received_activity parts, where
only sent_activity table needs to store activity data. This should
reduce storage use significantly.

Also reduces activity storage duration to three months, we can reduce
this further if necessary.

Additionally the id columns of activity tables are removed because
they are completely unused and risk overflowing (fixes #3560).

* address review

* move insert_received_activity() methods to verify handlers

* remove unnecessary conflict line

* clippy

* use on conflict, add tests

16 months agowork around race condition on community fetch (#3414)
phiresky [Fri, 14 Jul 2023 12:57:36 +0000 (14:57 +0200)]
work around race condition on community fetch (#3414)

16 months agoMake `lemmy_api_common` wasm-compatible (#3587)
Dessalines [Fri, 14 Jul 2023 08:45:18 +0000 (04:45 -0400)]
Make `lemmy_api_common` wasm-compatible (#3587)

* Fixing lemmy_api_common optionals

* Adding taplo for .toml files.

* Versioning taplo in woodpecker.

* Addressing PR comments.

16 months agoAdd dev profile to strip symbols and disable debug info (ref #3610) (#3611)
Nutomic [Thu, 13 Jul 2023 18:50:17 +0000 (20:50 +0200)]
Add dev profile to strip symbols and disable debug info (ref #3610) (#3611)

* Add dev profile to strip symbols and disable debug info (ref #3610)

This significantly speeds up builds:
- with strip symbols and debug 0: 43s
- without: 169s

* add comment, no strip symbols

16 months agoCheck for dead federated instances (fixes #2221) (#3427)
Nutomic [Thu, 13 Jul 2023 14:12:01 +0000 (16:12 +0200)]
Check for dead federated instances (fixes #2221) (#3427)

* Check for dead federated instances (fixes #2221)

* move to apub crate, use timestamp

* make it compile

* clippy

* use moka to cache blocklists, dead instances, restore orig scheduled tasks

* remove leftover last_alive var

* error handling

* wip

* fix alive check for instances without nodeinfo, add coalesce

* clippy

* move federation blocklist cache to #3486

* unused deps

16 months agoFix wrong SMTP port when TLS is being used (fixes #3574) (#3607)
Manuel Bleichner [Thu, 13 Jul 2023 11:10:14 +0000 (13:10 +0200)]
Fix wrong SMTP port when TLS is being used (fixes #3574) (#3607)

Co-authored-by: Manuel Bleichner <manuel.bleichner@bvu.de>
16 months agoAdd workaround for #3102 until cross-compile work complete (#3472)
Nina Blanson [Thu, 13 Jul 2023 11:02:08 +0000 (06:02 -0500)]
Add workaround for #3102 until cross-compile work complete (#3472)

* Add workaround for #3102 until cross-compile work complete

* Minor cleanup

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
16 months agoUpdated Lemmy Matrix Support link (#3599)
Jason Grim [Thu, 13 Jul 2023 10:31:35 +0000 (06:31 -0400)]
Updated Lemmy Matrix Support link (#3599)

16 months agoUpdate RELEASES.md (#3593)
nixoye [Wed, 12 Jul 2023 14:48:49 +0000 (11:48 -0300)]
Update RELEASES.md (#3593)

replaced the confusing api_key line that's commented out with the line that is now used in the new config.hjson in /lemmy-ansible/examples

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
16 months agoAdd infinite scroll user option (#3572)
Simon Bordeyne [Wed, 12 Jul 2023 13:12:01 +0000 (15:12 +0200)]
Add infinite scroll user option (#3572)

16 months agoUse specific Rust nightly version for CI cargo fmt (fixes #3467) (#3577)
Nutomic [Wed, 12 Jul 2023 09:15:28 +0000 (11:15 +0200)]
Use specific Rust nightly version for CI cargo fmt (fixes #3467) (#3577)

* Use specific Rust nightly version for CI cargo fmt (fixes #3467)

* fix

* fix

16 months agoMake functions work with both connection and pool (#3420)
dullbananas [Tue, 11 Jul 2023 13:09:59 +0000 (06:09 -0700)]
Make functions work with both connection and pool (#3420)

* a lot

* merge

* Fix stuff broken by merge

* Get rid of repetitive `&mut *context.conn().await?`

* Add blank lines under each line with `conn =`

* Fix style mistakes (partial)

* Revert "Fix style mistakes (partial)"

This reverts commit 48a033b87f4fdc1ce14ff86cc019e1c703cd2741.

* Revert "Add blank lines under each line with `conn =`"

This reverts commit 773a6d3beba2cf89eac75913078b40c4f5190dd4.

* Revert "Get rid of repetitive `&mut *context.conn().await?`"

This reverts commit d2c6263ea13710177d49b2791278db5ad115fca5.

* Use DbConn for CaptchaAnswer methods

* DbConn trait

* Remove more `&mut *`

* Fix stuff

* Re-run CI

* try to make ci start

* fix

* fix

* Fix api_common::utils

* Fix apub::activities::block

* Fix apub::api::resolve_object

* Fix some things

* Revert "Fix some things"

This reverts commit 2bf8574bc8333d8d34ca542d61a0a5b50039c24d.

* Revert "Fix apub::api::resolve_object"

This reverts commit 3e4059aabbe485b2ff060bdeced8ef958ff62832.

* Revert "Fix apub::activities::block"

This reverts commit 3b02389abd780a7b1b8a2c89e26febdaa6a12159.

* Revert "Fix api_common::utils"

This reverts commit 7dc73de613a5618fa57eb06450f3699bbcb41254.

* Revert "Revert "Fix api_common::utils""

This reverts commit f740f115e5457e83e53cc223e48196a2c47a9975.

* Revert "Revert "Fix apub::activities::block""

This reverts commit 2ee206af7c885c10092cf209bf4a5b1d60327866.

* Revert "Revert "Fix apub::api::resolve_object""

This reverts commit 96ed8bf2e9dcadae760743929498312334e23d2e.

* Fix fetch_local_site_data

* Fix get_comment_parent_creator

* Remove unused perma deleted text

* Fix routes::feeds

* Fix lib.rs

* Update lib.rs

* rerun ci

* Attempt to create custom GetConn and RunQueryDsl traits

* Start over

* Add GetConn trait

* aaaa

* Revert "aaaa"

This reverts commit acc9ca1aed10c39efdd91cefece066e035a1fe80.

* Revert "Revert "aaaa""

This reverts commit 443a2a00a56d152bb7eb429efd0d29a78e21b163.

* still aaaaaaaaaaaaa

* Return to earlier thing

Revert "Add GetConn trait"

This reverts commit ab4e94aea5bd9d34cbcddf017339131047e75344.

* Try to use DbPool enum

* Revert "Try to use DbPool enum"

This reverts commit e4d1712646a52006b865a1fbe0dcf79976fdb027.

* DbConn and DbPool enums (db_schema only fails to compile for tests)

* fmt

* Make functions take `&mut DbPool<'_>` and make db_schema tests compile

* Add try_join_with_pool macro and run fix-clippy on more crates

* Fix some errors

* I did it

* Remove function variants that take connection

* rerun ci

* rerun ci

* rerun ci

16 months agoShrink capacity in `RateLimitStorage::remove_older_than` (#3536)
dullbananas [Mon, 10 Jul 2023 20:52:37 +0000 (13:52 -0700)]
Shrink capacity in `RateLimitStorage::remove_older_than` (#3536)

* Shrink capacity in `RateLimitStorage::remove_older_than`

* Update rate_limiter.rs

* rerun ci

* rerun ci

* rerun ci

* Update rate_limiter.rs

16 months agoFix #3366: Wrap plain-text error responses from the API in JSON (#3559)
Pawan Hegde [Mon, 10 Jul 2023 20:44:14 +0000 (02:14 +0530)]
Fix #3366: Wrap plain-text error responses from the API in JSON (#3559)

* Fix #3366: API does return plain HTML errors

* Fix Clippy errors

* Improve api response times by doing send_activity asynchronously (#3493)

* do send_activity after http response

* move to util function

* format

* fix prometheus

* make synchronous federation configurable

* cargo fmt

* empty

* empty

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
* Updating `login.rs` with generic `incorrect_login` response. (#3549)

* Adding v0.18.1 and v0.18.0 release notes. (#3530)

* Update RELEASES.md (#3556)

added instruction to find the location of your docker directory (especially useful for those who used ansible since they never had to setup docker manually)

* Use async email sender (#3554)

* Upgrade all dependencies (#3526)

* Upgrade all dependencies

* as base64

* Adding phiresky to codeowners. (#3576)

* Error enum fixed (#3487)

* Create error type enum

* Replace magic string slices with LemmyErrorTypes

* Remove unused enum

* Add rename snake case to error enum

* Rename functions

* clippy

* Fix merge errors

* Serialize in PascalCase instead of snake_case

* Revert src/lib

* Add serialization tests

* Update translations

* Fix compilation error in test

* Fix another compilation error

* Add code for generating typescript types

* Various fixes to avoid breaking api

* impl From<LemmyErrorType> for LemmyError

* with_lemmy_type

* trigger ci

---------

Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
* Only update site_aggregates for local site (#3516)

* Fix #3501 - Fix aggregation counts for elements removed and deleted (#3543)

Two bugs were found and fixed:
- previously elements removal and deletion were counted as two separate disappearances
- removing comments did not affect post aggregations

* Use LemmyErrorType also make error_type compulsory

* Add missing import for jsonify_plain_text_errors

* Fix formatting

* Trying to make woodpecker run again

---------

Co-authored-by: phiresky <phireskyde+git@gmail.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: rosenjcb <rosenjcb@gmail.com>
Co-authored-by: nixoye <12674582+nixoye@users.noreply.github.com>
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
Co-authored-by: Nutomic <me@nutomic.com>
Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
Co-authored-by: Sander Saarend <sander@saarend.com>
Co-authored-by: Piotr Juszczyk <74842304+pijuszczyk@users.noreply.github.com>
16 months agoFix #3501 - Fix aggregation counts for elements removed and deleted (#3543)
Piotr Juszczyk [Mon, 10 Jul 2023 15:30:30 +0000 (17:30 +0200)]
Fix #3501 - Fix aggregation counts for elements removed and deleted (#3543)

Two bugs were found and fixed:
- previously elements removal and deletion were counted as two separate disappearances
- removing comments did not affect post aggregations

16 months agoOnly update site_aggregates for local site (#3516)
Sander Saarend [Mon, 10 Jul 2023 15:20:39 +0000 (18:20 +0300)]
Only update site_aggregates for local site (#3516)

16 months agoError enum fixed (#3487)
Nutomic [Mon, 10 Jul 2023 14:50:07 +0000 (16:50 +0200)]
Error enum fixed (#3487)

* Create error type enum

* Replace magic string slices with LemmyErrorTypes

* Remove unused enum

* Add rename snake case to error enum

* Rename functions

* clippy

* Fix merge errors

* Serialize in PascalCase instead of snake_case

* Revert src/lib

* Add serialization tests

* Update translations

* Fix compilation error in test

* Fix another compilation error

* Add code for generating typescript types

* Various fixes to avoid breaking api

* impl From<LemmyErrorType> for LemmyError

* with_lemmy_type

* trigger ci

---------

Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
16 months agoAdding phiresky to codeowners. (#3576)
Dessalines [Mon, 10 Jul 2023 14:20:40 +0000 (10:20 -0400)]
Adding phiresky to codeowners. (#3576)

16 months agoUpgrade all dependencies (#3526)
Nutomic [Mon, 10 Jul 2023 13:00:55 +0000 (15:00 +0200)]
Upgrade all dependencies (#3526)

* Upgrade all dependencies

* as base64

16 months agoUse async email sender (#3554)
dullbananas [Mon, 10 Jul 2023 12:04:39 +0000 (05:04 -0700)]
Use async email sender (#3554)

16 months agoUpdate RELEASES.md (#3556)
nixoye [Mon, 10 Jul 2023 12:00:00 +0000 (09:00 -0300)]
Update RELEASES.md (#3556)

added instruction to find the location of your docker directory (especially useful for those who used ansible since they never had to setup docker manually)

16 months agoAdding v0.18.1 and v0.18.0 release notes. (#3530)
Dessalines [Mon, 10 Jul 2023 11:51:24 +0000 (07:51 -0400)]
Adding v0.18.1 and v0.18.0 release notes. (#3530)

16 months agoUpdating `login.rs` with generic `incorrect_login` response. (#3549)
rosenjcb [Mon, 10 Jul 2023 11:27:38 +0000 (04:27 -0700)]
Updating `login.rs` with generic `incorrect_login` response. (#3549)

16 months agoImprove api response times by doing send_activity asynchronously (#3493)
phiresky [Mon, 10 Jul 2023 10:27:49 +0000 (12:27 +0200)]
Improve api response times by doing send_activity asynchronously (#3493)

* do send_activity after http response

* move to util function

* format

* fix prometheus

* make synchronous federation configurable

* cargo fmt

* empty

* empty

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
16 months agoVersion 0.18.1
Dessalines [Fri, 7 Jul 2023 13:24:49 +0000 (09:24 -0400)]
Version 0.18.1

16 months agoRevert "Make sure hot rank sorts for post and community filter by positive hot ranks...
Dessalines [Fri, 7 Jul 2023 09:29:07 +0000 (05:29 -0400)]
Revert "Make sure hot rank sorts for post and community filter by positive hot ranks. (#3497)" (#3521)

This reverts commit 6840fd64f9bee9fff263ed797350a316ebdb98c6.

16 months agoMake hot rank not crash on future (#3517)
phiresky [Fri, 7 Jul 2023 09:27:47 +0000 (11:27 +0200)]
Make hot rank not crash on future (#3517)

* make hot rank zero for future

* parallel safe

16 months agoUpgrade crossbeam-channel (#3512)
Nutomic [Thu, 6 Jul 2023 18:21:11 +0000 (20:21 +0200)]
Upgrade crossbeam-channel (#3512)

16 months agoUpdate prettier to 3.0.0 (#3509)
Dessalines [Thu, 6 Jul 2023 13:10:38 +0000 (09:10 -0400)]
Update prettier to 3.0.0 (#3509)

* Update prettier to 3.0.0

* Updating prettier dep.

* Explicity 3.0.0 version.

16 months agoVersion 0.18.1-rc.10
Felix Ableitner [Thu, 6 Jul 2023 12:46:46 +0000 (14:46 +0200)]
Version 0.18.1-rc.10

16 months agoimprove admin and mod check to not do seq scans and return unnecessary data (#3483)
phiresky [Thu, 6 Jul 2023 12:44:26 +0000 (14:44 +0200)]
improve admin and mod check to not do seq scans and return unnecessary data (#3483)

* improve admin and mod check

* fix clippy

* move admin index to existing code

* Revert "move admin index to existing code"

This reverts commit d0c58d5f4021e1775d0c1d30d8df6c7df87557c4.

* third attempt at the migration

* fix formatting

* rebuild

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
16 months agoOnly allow http(s) scheme for urls (ref #3505) (#3508)
Nutomic [Thu, 6 Jul 2023 12:29:51 +0000 (14:29 +0200)]
Only allow http(s) scheme for urls (ref #3505) (#3508)

With this change only http(s) schemes are allowed for post.url
field. This is checked for incoming api and federation requests.
Existing posts in database which are sent to clients are not
checked. Neither does it check urls in markdown.

16 months agoChange security contact mail (#3506)
Nutomic [Thu, 6 Jul 2023 11:27:47 +0000 (13:27 +0200)]
Change security contact mail (#3506)

Old one isnt working apparently

16 months agoAllow cross-origin requests (#3421)
Diamond [Thu, 6 Jul 2023 11:25:19 +0000 (04:25 -0700)]
Allow cross-origin requests (#3421)

Co-authored-by: pfg <pfg@pfg.pw>
16 months agoMake sure hot rank sorts for post and community filter by positive hot ranks. (#3497)
Dessalines [Thu, 6 Jul 2023 11:22:48 +0000 (07:22 -0400)]
Make sure hot rank sorts for post and community filter by positive hot ranks. (#3497)

* Make sure hot rank sorts for post and community filter by positive hot ranks.

- Context #2994

* Adding a comment.

16 months agoFixes wrong community moderator ordering. (#3495)
Dessalines [Thu, 6 Jul 2023 10:27:25 +0000 (06:27 -0400)]
Fixes wrong community moderator ordering. (#3495)

16 months agoUse fixed prettier version for CI (#3507)
Nutomic [Thu, 6 Jul 2023 10:23:51 +0000 (12:23 +0200)]
Use fixed prettier version for CI (#3507)

3.0.0 was pushed to docker hub 2 hours ago, thats probably why
builds are breaking now.

16 months agoupgrade markdown-it to fix panic (#3490)
phiresky [Wed, 5 Jul 2023 17:08:53 +0000 (19:08 +0200)]
upgrade markdown-it to fix panic (#3490)

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
16 months agoimprove performance of community followers inbox query (#3482)
phiresky [Wed, 5 Jul 2023 15:50:26 +0000 (17:50 +0200)]
improve performance of community followers inbox query (#3482)

* improve performance of community followers inbox query

* nightly format

* force woodpecker to retry

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
16 months agoCache federation blocklist (#3486)
Nutomic [Wed, 5 Jul 2023 15:08:02 +0000 (17:08 +0200)]
Cache federation blocklist (#3486)

* Cache federation blocklist

* revert submodule change