Commit Graph

94 Commits (375d9a2a3cf9c023ac6ac832d98f1b456fb9e2ce)

Author SHA1 Message Date
Felix Ableitner 2edf8ba157 Move ObjectId to library 3 years ago
Felix Ableitner 969a7f2d1b Refactoring apub code 3 years ago
Felix Ableitner b396344eae Merge two functions into one 3 years ago
Felix Ableitner 0bde2d595e Add tests for parsing activities and collections 3 years ago
Felix Ableitner aaaf039779 Move apub test files into tree structure 3 years ago
Felix Ableitner 5ff044346f Move object and collection structs to protocol folder 3 years ago
Felix Ableitner d89156810d Move @context out of object/activity definitions 3 years ago
Felix Ableitner 271785b7fb When receiving activity, dont read community from cc (for pleroma compat and better verification) 3 years ago
Felix Ableitner 6792e376b4 Rewrite community outbox to use new fetcher 3 years ago
Felix Ableitner bb085189e0 Merge traits ToApub and FromApub into ApubObject 3 years ago
Nutomic 61189efe72
Rewrite collections to use new fetcher (#1861)
* Merge traits ToApub and FromApub into ApubObject

* Rewrite community outbox to use new fetcher

* Rewrite community moderators collection

* Rewrite tombstone
3 years ago
Nutomic 149a4e0de8
Breaking apub changes (#1859)
* Remove CommentInReplyToMigration

* Remove compat for RemovePostCommentOrCommunity

* Remove PublicUrlMigration

* Change type of pm to ChatMessage from Pleroma, make pm.to array

* Use person.summary instead of person.content for pleroma compat

* Also change group.content to summary

* Rewrite apub object test json to serve as nice examples

* Also add test case for parsing pleroma private message
3 years ago
Nutomic dd0ba10b44
Pleroma federation2 (#1855)
* Allow fetching person from Pleroma, including test case (ref #1461)

* Added test case for parsing community from apub json

- fixed a bug with objectid (de)serialization
- fixed a bug with outbox fetching (ref #1582)

* Added apub test for post

* Ignore errors when reading community outbox (fixes #1582)

* Dont fetch community outbox/moderators during tests

* added test for lemmy comment

* Added federation test for pleroma comment

* Added html2md crate to parse comment html from pleroma (fixes #1461)

* some fixes for update_apub_test_files.sh

* Add tests for ToApub, private message, remove update script

* Delete objects from db at the end of each test
3 years ago
Felix Ableitner 1aa0e1997b Major refactor, adding newtypes for apub crate
- this allows moving FromApub/ToApub traits into apub lib
3 years ago
Felix Ableitner f24999027e Merge crates db_schema and db_queries 3 years ago
Nutomic b96ce81f89
Move code to apub library (#1795)
* Remove dependency of apub_lib on LemmyContext

* Move ApubObject trait to library

* Reorganize files in apub lib

* Move ActorType, signatures, activity_queue to apub library
3 years ago
Dessalines 8708ad1b44 Moving settings and secrets to context. 3 years ago
Nutomic 527eefbe92
Rewrite fetcher (#1792)
* Use new fetcher implementation for post/comment

* rewrite person fetch to use new fetcher

* rewrite community to use new fetcher

* rename new_fetcher to dereference_object_id

* make ObjectId a newtype

* handle deletion in new fetcher

* rewrite apub object search to be generic

* move upsert() method out of ApubObject trait

* simplify ObjectId::new (and fix clippy)
3 years ago
Nutomic 353a1fe0a0
Rewrite activitypub following, person, community, pm (#1692)
* Rewrite following activities

* Rewrite person apub

* Rewrite community apub

* Rewrite private message activity sending
3 years ago
Felix Ableitner 57b6ecaf40 Simplify lemmy_context() function (dont return errors) 3 years ago
Dessalines f54209c451
Running clippy --fix (#1647) 3 years ago
Nutomic 8bb3ba4a16
Add option to disable strict allowlist (fixes #1486) (#1581)
* Add option to disable strict allowlist (fixes #1486)

* adjust docs
3 years ago
Dessalines c3d64f996e
Removing community.creator column. Fixes #1504 (#1541)
* Removing community.creator column. Fixes #1504

* Fixing unit tests.

* Fixing federation tests.
3 years ago
Dessalines 4c8f2e976e Merge remote-tracking branch 'yerba/split-api-crate' into test_merge_api_crates_reorg 3 years ago
Felix Ableitner 249fcc5066 Split api crate into api_structs and api 3 years ago
Felix Ableitner 34bdf4c7c5 Federate Matrix ID (fixes #1438) 3 years ago
Dessalines 3ca2453fc6 Merge branch 'main' into move_matrix_and_admin_to_person 3 years ago
Felix Ableitner d6bd072ea1 Make federation compatible with Lemmy v0.9.9 3 years ago
Felix Ableitner a5a0d90349 Address review comments 3 years ago
Dessalines c884510173 Creating default DB forms. Fixes #1511 3 years ago
Felix Ableitner 4f54108a9c Merge branch 'main' into federated-moderation 3 years ago
Felix Ableitner 4f7dca7c2b Fix three federation test cases 3 years ago
Felix Ableitner 71067a8cb5 For FromApub trait, use `is_mod_action: bool` instead 3 years ago
Felix Ableitner de14636e10 Fix code to allow sticky/lock from remote moderators 3 years ago
Dessalines ddf4a667b1 ~80% done 3 years ago
Felix Ableitner 0c484e8c76 Move moderators collection to separate HTTP endpoint 3 years ago
Felix Ableitner beb8b9fe69 Use collection for moderators, instead of `attributedTo` (ref #1061) 3 years ago
Andrew Yoon e78ba38e94
Use URL type in most outstanding struct fields (#1468)
* Use URL type in most outstanding struct fields

This fixes all known remaining cases where url fields are stored as
plain strings, with the exception of form fields where empty strings
are used as sentinels (see `diesel_option_overwrite_to_url`).

Tested for regressions in the federated docker setup attempting to
exercise all changed fields, including through apub federation.

Fixes #1385

* Add migration to fix blank-string post.url values to be null

This also then fixes #602

* Address review feedback

- Fixed some unwraps and err message formatting
- Bumped the `url` library to 2.2.1 to fix a bug with serde error
  messages
- Add unit tests for the two diesel option override functions
- Fix migration teardown by adding a no-op

* Rename lemmy_db_queries::Url to lemmy_db_queries::DbUrl

* fix compile error

* box PostOrComment variants
3 years ago
Felix Ableitner 3bdd78f341 Rename `lemmy_structs` to `lemmy_api_structs` 3 years ago
Felix Ableitner 3141ad31de Remove categories (fixes #1429) 3 years ago
Felix Ableitner 105dfc93f1 Make apub extension fields optional (ref #1220) 3 years ago
nutomic 1a4e35eb50 Store activitypub endpoints in database (#162)
Address review comments

Store Activitypub urls in database (fixes #808)

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/162
Co-Authored-By: nutomic <nutomic@noreply.yerbamate.ml>
Co-Committed-By: nutomic <nutomic@noreply.yerbamate.ml>
3 years ago
Nutomic 3d578f9df2
Use Url type for ap_id fields in database (fixes #1364) (#1371) 3 years ago
Felix Ableitner 3b64c58198 Move most code into crates/ subfolder 3 years ago