Commit graph

519 commits

Author SHA1 Message Date
Felix Ableitner
01fc1228d5 Fix API and clippy warnings 2021-03-29 20:55:08 +02:00
Felix Ableitner
249fcc5066 Split api crate into api_structs and api 2021-03-25 20:19:40 +01:00
Felix Ableitner
34bdf4c7c5 Federate Matrix ID (fixes #1438) 2021-03-24 17:56:13 +01:00
Dessalines
3ca2453fc6 Merge branch 'main' into move_matrix_and_admin_to_person 2021-03-24 11:51:34 -04:00
Dessalines
8a10a9079f Merge remote-tracking branch 'yerba/federated-moderation' 2021-03-24 11:48:02 -04:00
Felix Ableitner
c7524d924b Fix federation tests 2021-03-24 16:33:04 +01:00
Dessalines
e4ead96d3a Merge branch 'main' into move_matrix_and_admin_to_person 2021-03-22 10:29:10 -04:00
Dessalines
eb45bf2d0a Moving admin to person table. Fixes #1515 2021-03-22 10:28:00 -04:00
Felix Ableitner
d6bd072ea1 Make federation compatible with Lemmy v0.9.9 2021-03-22 15:08:06 +01:00
Felix Ableitner
a5a0d90349 Address review comments 2021-03-22 13:52:00 +01:00
Felix Ableitner
459b95bc7e Make previous commit compile 2021-03-22 13:11:32 +01:00
Grishka
115b986edc uh 2021-03-21 04:03:53 +03:00
Grishka
c14a505456 Fix JSON-LD contexts 2021-03-21 04:00:32 +03:00
Dessalines
c884510173 Creating default DB forms. Fixes #1511 2021-03-20 16:59:07 -04:00
Dessalines
1745b64ceb Moving matrix_user_id to person table. #1438 2021-03-20 15:21:51 -04:00
Felix Ableitner
4f54108a9c Merge branch 'main' into federated-moderation 2021-03-19 17:11:34 +01:00
Dessalines
9930c7288a Merge branch 'split_user_table' into strictly_type_db_ids 2021-03-18 16:30:42 -04:00
Dessalines
8d9fab0389 Merge branch 'main' into split_user_table 2021-03-18 16:30:29 -04:00
Dessalines
c3efb9f7cf Strictly typing DB id fields. Fixes #1498 2021-03-18 16:25:21 -04:00
Felix Ableitner
4f7dca7c2b Fix three federation test cases 2021-03-18 17:02:15 +01:00
Felix Ableitner
b3a5b4eb82 Refactor activitypub code 2021-03-17 18:12:37 +01:00
Felix Ableitner
71067a8cb5 For FromApub trait, use is_mod_action: bool instead 2021-03-16 18:26:19 +01:00
Felix Ableitner
be00f63fb2 Allow remot moderators to do Remove/Post and Remove/Comment 2021-03-16 18:06:59 +01:00
Felix Ableitner
621355b6ef Insert announced activities into DB for fetching (fixes #1494) 2021-03-15 13:58:54 +01:00
Dessalines
5998c83b2a Only sending private message if its a local user. 2021-03-12 15:18:03 -05:00
Felix Ableitner
de14636e10 Fix code to allow sticky/lock from remote moderators 2021-03-12 16:46:36 +01:00
Felix Ableitner
de39d57592 WIP: check that modifications are made by same user, add docs 2021-03-12 14:47:55 +01:00
Felix Ableitner
50559de6d2 Add check so only mods can change stickied/locked state of posts 2021-03-11 18:11:59 +01:00
Felix Ableitner
803aad3b3e Add check so only author or mods can edit posts/comments 2021-03-11 17:50:47 +01:00
Felix Ableitner
a2698dea92 Allow for remote mods to remove posts/comments 2021-03-11 17:21:45 +01:00
Dessalines
9cb4dad4b4 A first pass. 2021-03-10 23:43:11 -05:00
Dessalines
ddf4a667b1 ~80% done 2021-03-10 17:33:55 -05:00
Felix Ableitner
3ffae1f5b8 Allow adding remote users as community mods (ref #1061) 2021-03-09 18:14:15 +01:00
Felix Ableitner
dcf40db225 Update activitystreams to 0.7.0-alpha.11 2021-03-09 18:14:15 +01:00
Felix Ableitner
9172eff65a Implemented receiving activities to add/remove remote mods 2021-03-09 18:14:15 +01:00
Felix Ableitner
0c484e8c76 Move moderators collection to separate HTTP endpoint 2021-03-09 18:14:15 +01:00
Felix Ableitner
beb8b9fe69 Use collection for moderators, instead of attributedTo (ref #1061) 2021-03-09 18:14:15 +01:00
Dessalines
ca3c1269f5 Merge branch 'main' of https://github.com/lemmynet/lemmy 2021-03-02 11:52:46 -05:00
dessalines
0a52396706 Merge pull request 'Forbid usage of unwrap' (#179) from clippy-unwrap into main
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/179
2021-03-02 16:49:19 +00:00
Felix Ableitner
7189328f80 Remove category from activitypub context 2021-03-02 17:12:45 +01:00
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
2021-03-02 12:41:48 +00:00
Felix Ableitner
7f56281c26 Forbid usage of unwrap 2021-03-01 19:24:34 +01:00
Dessalines
462c4a2954
Rewrite settings implementation. Fixes #1270 (#1433)
* 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.
2021-03-01 17:24:11 +00:00
Felix Ableitner
3bdd78f341 Rename lemmy_structs to lemmy_api_structs 2021-03-01 14:08:41 +01:00
Dessalines
a869a2823b Still continuing on.... 2021-02-26 08:49:58 -05:00
dessalines
ff3e26452a Merge pull request 'Remove federation backward compatibility code (ref #1220)' (#164) from remove-backwards-compatibility into main
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/164
2021-02-26 13:23:46 +00:00
Felix Ableitner
c618b4efaa Remove federation backward compatibility code (ref #1220) 2021-02-26 14:06:26 +01:00
Felix Ableitner
4cc341e4aa Remove code for apub compatibility with Lemmy v0.8.9 and older 2021-02-26 14:03:49 +01:00
Andrew Yoon
600ae662a5 Support plain cargo test and disable unused doctests for speed
Since DB tests execute diesel migrations automatically, concurrent
execution causes flaky failures from simultaneous migrations. This can
be worked around using `cargo test --workspace -- --test-threads=1`,
which is what the CI config does, but this is not intuitive for
newcomer developers and unnecessarily slows down the test suite for
the majority of tests which are safe to run concurrently. This fixes
this issue by integrating with the small test crate `serial_test` and
using it to explicitly mark DB tests to run sequentially while
allowing all other tests to run in parallel.

Additionally, this greatly improves the speed of `cargo test` by
disabling doc-tests in all crates, since these are aren't currently
used and cargo's doc-test pass, even when no doc-tests exist, has
significant overhead. On my machine, this change significantly
improves test suite times by about 85%, making it much more practical
to develop with tools like `cargo watch` auto-running tests.
2021-02-25 15:44:30 -05:00
Felix Ableitner
3141ad31de Remove categories (fixes #1429) 2021-02-25 13:22:37 +01:00
Felix Ableitner
3ae62573b7 Better type safety for activity parsing 2021-02-24 20:37:27 +01:00
Felix Ableitner
92ea9b97dd Dont include community in comment to field (fixes #1446) 2021-02-23 19:00:47 +01:00
Felix Ableitner
8d5e9f865c Use name field for post titles instead of summary (ref #1220) 2021-02-22 19:34:41 +01:00
Felix Ableitner
d3707ad4ef Fix new compiler warning 2021-02-18 16:16:18 +01:00
dessalines
f899831ed3 Merge pull request 'Explicitly mark posts and comments as public (ref #1220)' (#167) from comments-posts-public into main
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/167
2021-02-10 19:45:36 +00:00
Felix Ableitner
63d9c0ee46 Explicitly mark posts and comments as public (ref #1220) 2021-02-10 14:01:02 +01:00
Felix Ableitner
999d9f4d6c Move routes into separate crate to speed up compilation 2021-02-09 19:34:36 +01:00
dessalines
6f364e60fa Merge pull request 'Include object id when logging apub errors' (#165) from log-ids into main
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/165
2021-02-05 17:52:51 +00:00
Felix Ableitner
897263e5a3 Include object id when logging apub errors 2021-02-05 17:15:29 +01:00
Felix Ableitner
105dfc93f1 Make apub extension fields optional (ref #1220) 2021-02-05 14:23:57 +01:00
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>
2021-02-04 16:34:58 +00:00
Dessalines
1857f02af8 Moving back tokio and reqwest. 2021-02-01 21:54:23 -05:00
Dessalines
10f0b3b877 Trying to upgrade lemmys deps. 2021-02-01 15:56:37 -05:00
dessalines
f5e58c8bf5 Merge pull request 'Increase MAX_REQUEST_NUMBER for fetches to 25' (#161) from fetch-limit into main
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/161
2021-01-29 15:52:23 +00:00
Felix Ableitner
5f59d7ba5f Increase MAX_REQUEST_NUMBER for fetches to 25 2021-01-29 16:45:28 +01:00
Felix Ableitner
c09c462a6e Serve activities in community outbox (fixes #1216) 2021-01-29 14:48:42 +01:00
Nutomic
3d578f9df2
Use Url type for ap_id fields in database (fixes #1364) (#1371) 2021-01-27 11:42:23 -05:00
Felix Ableitner
c51f750831 Use Url type for ap_id fields in database (fixes #1364) 2021-01-26 18:52:18 +01:00
Felix Ableitner
3b64c58198 Move most code into crates/ subfolder 2021-01-20 16:21:27 +01:00