788924d7ff
Merge different delete activities for better compatibility ( fixes #2066 ) ( #2073 )
2022-02-14 10:14:24 -05:00
dd865c5af5
Implement instance actor ( #1798 )
...
* Implement instance actor
* wip: make site bans federate
* finish implementation and unit tests for federated bans
* start adding api tests
* fix api test
* remve site from GetCommunityResponse
* only federate site bans originating from user's home instance
* dont expose site.private_key in api
2022-02-07 19:23:12 +00:00
4a23ee4d8b
Dont make webfinger request when viewing community/user profile ( fixes #1896 ) ( #2049 )
2022-01-27 16:39:22 +00:00
Rob Ede
1943bcd7f5
Prevent panic on InboxRequestGuard
2021-12-30 18:41:35 +00:00
Rob Ede
f6c13cf313
Updated actix-web dependency to 4.0.0-beta.18
2021-12-30 18:37:59 +00:00
Dessalines
1410c5659c
Upgrading deps ( #1995 )
2021-12-14 13:30:37 +00:00
97ebf2f6f3
Consolidate reqwest clients, use reqwest-middleware for tracing
2021-12-06 16:54:34 -06:00
35cbae61bc
Don't drop error context when adding a message to errors ( #1958 )
...
* Respond directly with LemmyError
Instrument Perform implementations for more precise traces
Use ApiError to format JSON errors when messages are present
Keep SpanTrace output in LemmyError Display impl
* Hide SpanTrace debug output from LemmyError
* Don't log when entering spans, only when leaving
* Update actix-web
* Update actix-rt
* Add newline after error info in LemmyError Display impl
* Propogate span information to blocking operations
* Instrument apub functions
* Use skip_all for more instrument attributes, don't skip 'self' in some api actions
* Make message a static string
* Send proper JSON over websocket
* Add 'message' to LemmyError display if present
* Use a quieter root span builder, don't pretty-print logs
* Keep passwords and emails out of logs
* Re-enable logging Login
* Instrument feeds
* Emit our own errors
* Move error log after status code recording
* Make Sensitive generic over the inner type
* Remove line that logged secrets
2021-12-06 09:54:47 -05:00
3fea5645f8
Add tracing ( #1942 )
2021-11-23 12:16:47 +00:00
Dessalines
3d08e6c1fc
Adding unique constraint for activity ap_id. Fixes #1878 ( #1935 )
...
* Adding unique constraint for activity ap_id. Fixes #1878
* Removing is_activity_already_known
2021-11-22 18:57:03 +00:00
05d43150bc
Making public key required. Fixes #1934
2021-11-22 10:10:18 -05:00
c1f1b8aa0f
Activities in community should also be sent to actors in cc
2021-11-16 18:07:45 +01:00
23641fcd06
Use serde_json::to_value
2021-11-15 21:11:44 -05:00
Dessalines
09cd32034b
Fixing activity serialization. Fixes #1900 ( #1901 )
2021-11-15 20:26:48 +00:00
1b9414f292
More federation compat ( #1894 )
...
* Make HTTP signatures compatible with Pleroma
* Send Announce/Page, Announce/Note for Pleroma compatibility
* remove unused code
2021-11-11 14:49:15 -05:00
Dessalines
8d4c4fdf6c
Adding clippy:unwrap to husky. Fixes #1892 ( #1893 )
2021-11-11 12:18:08 +00:00
9a1fe154db
Remove header guard for activitypub routes
2021-11-10 15:08:33 +01:00
Dessalines
76220a4523
Fixing clippy lints. ( #1885 )
...
* Fixing clippy lints.
* Revert object id display
* Trying to fix clippy again
2021-11-09 18:16:37 +00:00
8ea21c39b7
Reduce stack memory usage in apub code
...
- use our own, smaller Endpoints struct
- wrap ObjectId.url in Box
- adjust usage of Box in different places
2021-11-06 14:53:39 +01:00
c725514841
Change to_apub and from_apub to take by value and avoid cloning
2021-11-06 14:47:58 +01:00
2edf8ba157
Move ObjectId to library
2021-11-05 21:37:46 +01:00
bd3352423a
Remove ActivityFields trait, deserialize into another struct instead
2021-11-05 21:14:19 +01:00
0bde2d595e
Add tests for parsing activities and collections
2021-11-02 12:44:51 +01:00
03d8ac75ef
Move activity structs to protocol folder
2021-10-29 12:50:32 +02:00
5ff044346f
Move object and collection structs to protocol folder
2021-10-29 12:50:32 +02:00
358ef99ea2
Rewrite community followers and user outbox to use our own structs
2021-10-29 12:50:32 +02:00
d89156810d
Move @context out of object/activity definitions
2021-10-29 12:50:32 +02:00
271785b7fb
When receiving activity, dont read community from cc (for pleroma compat and better verification)
2021-10-29 12:50:30 +02:00
03b8ae7215
Activity.to should always be a vec (and unspecified size for public activities)
2021-10-29 12:45:54 +02:00
6792e376b4
Rewrite community outbox to use new fetcher
2021-10-29 12:45:53 +02:00
bb085189e0
Merge traits ToApub and FromApub into ApubObject
2021-10-29 12:45:53 +02:00
Dessalines
f1f7c45017
Three instance inbox bug ( #1866 )
...
* 3 instance shared inbox bug test
* Fixing shared inbox bug. Fixes #1865
* A few fixes.
2021-10-28 20:46:24 +00:00
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
2021-10-27 12:03:07 -04:00
1aa0e1997b
Major refactor, adding newtypes for apub crate
...
- this allows moving FromApub/ToApub traits into apub lib
2021-10-20 12:28:09 +02:00
f24999027e
Merge crates db_schema and db_queries
2021-10-20 12:28:08 +02:00
18badcfdb4
Federate reports ( #1830 )
...
* Federate reports
* add federation test cases for reports
2021-10-15 10:37:33 -04:00
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
2021-10-06 16:20:05 -04:00
Dessalines
5a281445a3
Upgrade deps ( #1799 )
...
* Upgrade deps
* Fix web::scope
2021-09-29 14:50:00 -04:00
8708ad1b44
Moving settings and secrets to context.
2021-09-27 11:25:26 +02:00
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)
2021-09-25 11:44:52 -04:00
f6f169b4eb
Rewrite remaining activities ( #1712 )
...
* 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
* Rewrite remaining activities
* Simplify inbox
* Remove struct ActivityCommonFields, derive ActivityFields trait instead
* Community should announce received activities to followers
2021-08-19 17:24:33 -04:00
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
Dessalines
7b8cbbba85
Simplify config using macros ( #1686 )
...
Co-authored-by: Felix Ableitner <me@nutomic.com>
2021-08-04 21:13:51 +00:00
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
6b57d716e1
Rewrite private message apub and merge create/update
2021-07-31 22:58:11 +02:00
dc363c8f35
Merge logic for post create and update
2021-07-31 19:26:17 +02:00
3eb46868ff
Merge logic for comment create and update
2021-07-31 17:47:08 +02:00
57b6ecaf40
Simplify lemmy_context() function (dont return errors)
2021-07-30 23:16:33 +02:00
c1db86925f
Merge apub, apub_receive crates ( fixes #1621 )
2021-07-17 18:20:44 +02:00
722cdb78ba
Split lemmy_apub crate into two parts apub and apub_receive
2021-03-30 22:29:16 +02:00