* start to implement apub inbox routing lib
* got something that almost works
* it compiles!
* implemented some more
* move library code to separate crate (most of it)
* convert private message handlers
* convert all comment receivers (except undo comment)
* convert post receiver
* add verify trait
* convert community receivers
* add cc field for all activities which i forgot before
* convert inbox functions, add missing checks
* convert undo like/dislike receivers
* convert undo_delete and undo_remove receivers
* move block/unblock activities
* convert remaining activity receivers
* reimplement http signature verification and other checks
* also use actor type for routing, VerifyActivity and SendActivity traits
* cleanup and restructure apub_receive code
* wip: try to fix activity routing
* implement a (very bad) derive macro for activityhandler
* working activity routing!
* rework pm verify(), fix tests and confirm manually
also remove inbox username check which was broken
* rework following verify(), fix tests and test manually
* fix post/comment create/update, rework voting
* Rewrite remove/delete post/comment, fix tests, test manually
* Rework and fix (un)block user, announce, update post
* some code cleanup
* rework delete/remove activity receivers (still quite messy)
* rewrite, test and fix add/remove mod, update community handlers
* add docs for ActivityHandler derive macro
* dont try to compile macro comments
* publish docker images from main
* try with separate step
* redo, lots of boilerplate
* try to fix syntax
* unique step names
* fix docker tags, remove cargo-chef
* only build dev image on main branch
* use `ref` for condition, as `branch` uses the target branch for PRs
* consistent indents
* fix tag
* use lemmy-ui:dev image for `docker/dev` and `docker/federation`
* A first attempt at using deser-hjson. Fixes#1270
* Trying to fix tests, try 1
* Trying to fix tests, try 2
* A few fixes to deser_hjson
- Removing unwrap_or_defaults, using impl functions.
- Reorganized settings
* Make clippy happy
* hjson list strings must be quoted.
* Adding support for env vars.
* Moving to structs and defaults file.
* Moving settings default and struct.
* A first try at docker manifest. 1.
* Fixing api version location
* Version 0.9.0-rc.13
* Test docker.
* Test docker 2.
* Test docker 3.
* Test docker 4.
* Test docker 5.
* Test docker 6.
* Test docker 7.
* Test docker 8.
* Test docker 9.
* Test docker 10.
* Test docker 11.
* Test docker 12.
* Version 0.9.0-rc.14
* Test docker 13.
* Test docker 14.
* Version 0.9.0-rc.15
* Test docker 15.
* Version 0.9.0-rc.16
* Test docker 16.
* Version 0.9.0-rc.17
* Trying to fix arm build.
* Version 0.9.0-rc.8
* Trying to fix arm build 2.
* Version 0.9.0-rc.9
* Checking time when removing lto.
* Version 0.9.0-rc.10
* Adding back in arm tests.
* Version 0.9.0-rc.11
Adding a federation test for community deletes / removes.
Add missing docs for community deletion/removal (fixes#1250)
Fix federation of community deletion/removal (fixes#1253)
Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/125
Fix depends_on
Add note about different port for backend in federation docs
Fix nginx config for local federation setup
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/104
* 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>
* Re-organizing federation tests. #746#1040
* Add more checks in inbox, plus some refactoring (#76)
Merge branch 'main' into more-inbox-permissions
Move check_community_ban() into helper function
Move slur check into helper functions
Move Claims::decode and site ban check into helper function
Note: this changes behaviour in that site ban is checked in more
places now. we could easily add a boolean parameter
check_for_site_ban to get the previous behaviour back
Rewrite user_inbox and community_inbox in the same way as shared_inbox
Add check against instance allowlist etc in shared_inbox
Co-authored-by: dessalines <dessalines@noreply.yerbamate.dev>
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/76
* Adding verbose to test results.
Co-authored-by: nutomic <nutomic@noreply.yerbamate.dev>
Co-authored-by: dessalines <dessalines@noreply.yerbamate.dev>
Co-authored-by: Felix Ableitner <me@nutomic.com>
* 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
- 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.