Dessalines
1f64db6a33
Upgrading deps
2021-08-17 16:31:16 -04:00
Nutomic
28d6370c35
Rewrite delete activities ( #1699 )
...
* Limit type/method visibility in apub code
* Simplify db_queries traits by removing generics
* Simplify delete activity implementation
* Rewrite delete activities
* Implement helper functions for websocket message sending
* When receiving delete reason as empty string, change to none
2021-08-17 14:04:58 -04:00
Nutomic
353a1fe0a0
Rewrite activitypub following, person, community, pm ( #1692 )
...
* Rewrite following activities
* Rewrite person apub
* Rewrite community apub
* Rewrite private message activity sending
2021-08-12 08:48:09 -04:00
Felix Ableitner
a44b5c9c36
publish to crates.io with normal release script
2021-08-09 18:44:18 +02:00
Felix Ableitner
af6aa3c0bf
Distribute Lemmy via crates.io
2021-08-09 17:29:32 +02:00
Felix Ableitner
b2937223df
Migrate comment inReplyTo field to single value (ref #1454 )
2021-08-05 13:00:29 +02:00
Dessalines
7b8cbbba85
Simplify config using macros ( #1686 )
...
Co-authored-by: Felix Ableitner <me@nutomic.com>
2021-08-04 21:13:51 +00:00
Nutomic
b8d7f00d58
Rewrite voting ( #1685 )
...
* Merge like/dislike activity handlers into vote
* Rewrite vote sending code
* Remove old send_create, send_update functions
2021-08-02 16:33:40 -04:00
Dessalines
1664cb326a
Merge pull request #1677 from LemmyNet/remove-fat-deps
...
Remove brotli, zstd dependencies
2021-08-02 16:21:33 -04:00
Felix Ableitner
abd26aeab2
Remove brotli, zstd dependencies
2021-08-02 14:05:39 +02:00
Felix Ableitner
6b57d716e1
Rewrite private message apub and merge create/update
2021-07-31 22:58:11 +02:00
Felix Ableitner
dc363c8f35
Merge logic for post create and update
2021-07-31 19:26:17 +02:00
Felix Ableitner
3eb46868ff
Merge logic for comment create and update
2021-07-31 17:47:08 +02:00
Felix Ableitner
43ad99bbe8
Rewrite apub comment (de)serialization using structs (ref #1657 )
2021-07-31 16:57:37 +02:00
Felix Ableitner
433ab1e78b
Add docs for MediaType, PublicUrl values
2021-07-30 23:16:33 +02:00
Felix Ableitner
57b6ecaf40
Simplify lemmy_context() function (dont return errors)
2021-07-30 23:16:33 +02:00
Felix Ableitner
ff265c7ebc
Rewrite apub post (de)serialization using structs (ref #1657 )
2021-07-30 23:16:32 +02:00
Dessalines
7d3b90d711
Fix issue with protocol string in actor id generation ( #1668 )
2021-07-20 16:55:04 +00:00
Dessalines
5fe7de2bff
Adding shortname fetching for users and communities. Fixes #1662 ( #1663 )
2021-07-20 04:29:50 +00:00
Felix Ableitner
c1db86925f
Merge apub, apub_receive crates ( fixes #1621 )
2021-07-17 18:20:44 +02:00
Nutomic
c7de1fcf24
Apub inbox rewrite ( #1652 )
...
* 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
2021-07-17 12:08:46 -04:00
Dessalines
9840f5c1c1
Upgrading deps, running clippy fix on nightly 1.55.0 ( #1638 )
...
* Upgrading deps, running clippy fix on nightly 1.55.0
* Running clippy --fix
* Trying to fix transform
* Trying to fix another transform
* Upgrading http-signature-normalization-actix
* Fix app_data
* Fix pictrs uploading
* Fix unwrap
2021-07-06 13:26:46 +00:00
Dessalines
f54209c451
Running clippy --fix ( #1647 )
2021-07-05 16:07:26 +00:00
Dessalines
12d50e42b4
Change join.lemmy.ml to join-lemmy.org ( #1628 )
2021-06-07 21:10:47 +00:00
Dessalines
f8cd6fd445
Making more fields optional in the API.
...
- Fixes #1569
2021-04-23 02:30:13 -04:00
Nutomic
efee2062dd
Mark accounts as bot nutomic ( #1565 )
...
* Mark account as bot. Fixes #1357
* Fix clippy
* Federate bot status using actor `type` field
* fix clippy
Co-authored-by: Dessalines <tyhou13@gmx.com>
2021-04-21 17:41:14 -04:00
Dessalines
9dc5605663
Merge pull request #1588 from LemmyNet/improved-logging
...
Improved logging
2021-04-21 10:34:47 -04:00
Nutomic
8bb3ba4a16
Add option to disable strict allowlist ( fixes #1486 ) ( #1581 )
...
* Add option to disable strict allowlist (fixes #1486 )
* adjust docs
2021-04-21 09:36:07 -04:00
Felix Ableitner
78eee7dc9e
Improved logging
2021-04-21 14:45:10 +02:00
Felix Ableitner
c572dc0cc6
Remote mods can update/delete/undelete communities
2021-04-13 15:19:17 +02:00
Nutomic
aa79c5131f
Implement federated bans ( fixes #1298 ) ( #1553 )
...
* Implement federated bans (fixes #1298 )
* mod actions should always be federated to affected user, in addition to followers
* Make Undo/Block work for remote mods
* clippy fix
* fix federation test
* vscodium doesnt auto-save changes...
2021-04-09 11:01:26 -04:00
Dessalines
c3d64f996e
Removing community.creator column. Fixes #1504 ( #1541 )
...
* Removing community.creator column. Fixes #1504
* Fixing unit tests.
* Fixing federation tests.
2021-04-08 11:29:08 +00:00
Dessalines
bf7558830f
Changing preferred to display name. Fixes #1211
2021-04-01 13:57:45 -04:00
Felix Ableitner
722cdb78ba
Split lemmy_apub crate into two parts apub and apub_receive
2021-03-30 22:29:16 +02:00
Dessalines
4c8f2e976e
Merge remote-tracking branch 'yerba/split-api-crate' into test_merge_api_crates_reorg
2021-03-29 16:24:50 -04:00
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