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
Merge branch 'main' into undo-dislike
Implement undo<dislike> for activitypub
Fix some TODOs in activitypub code
Add post_read back in, do some cleanup
Add some delete functions back in
Merge branch 'main' into remove-dead-code
Replace body of unused db functions with unimplemented!()
Remove dead code
Remove remaining usages of unwrap() from activitypub code
Remove most usage of Option::unwrap() from activitypub code
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/83
Remove remaining usages of unwrap() from activitypub code
Remove most usage of Option::unwrap() from activitypub code
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/80
* Re-organizing federation tests. #746#1040
* Adding federation support for user bios. Fixes#992
* Adding icons, banners, and preferred usernames.
- Added optional community icons, and community banners.
- Added user banners.
- Added Site icon and banner, with custom favicon.
- Set up preferred usernames. Fixes#1017
- Added an additional post sort: Active
- Hot rank now uses the published time.
- Active uses the most recent comment time, and is default.
- DB Migration was required to add all these fields to the views.
- Added transfercommunity helper function.
- Removed title column from communities page.
- Abstracted an image-upload-form.tsx, and a banner-icon-header.tsx
- Fixes#899
* Some navbar fixes.
* Fixing css
* Some fixes.
- Showing correct user icon and banner after save without page reload.
- Abstracting diesel update overwrite.
- Adding some docs.
* Adding @ when a user doesn't have a preferred username.
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
* secure the `EditPost` API endpoint
* Check user is moderator in BanFromCommunity
* secure the `EditComment` API endpoint
* pass orig `read` prob when not explicitly updating it.
* Block random users from adding mods.
* use cleaner logic from `EditPost`
* prevent editing a community by a mod from transfering ownership to them
* secure `read` action in `EditPrivateMessage`
* Add check in UserMention
* only let the indended recipient mark as read
* simplify booleans to satisfy clippy
* requested changes + cargo +nightly fmt
* fix to pass federation tests for deleting comments and posts
Co-authored-by: chiminh <chiminh.tutanota.com>
Co-authored-by: Hex Bear <buildadangtrain@protonmail.com>
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
* 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