b9f1fc0518
Fix panics in search_by_apub_id() ( fixes #2371 ) ( #2373 )
2022-07-27 17:03:44 -04:00
63fff96275
Fix problem where actors can have empty public key ( fixes #2347 ) ( #2348 )
2022-07-11 18:25:33 +00:00
Luna
e33736ae47
remove parking_lot ( #2350 )
2022-07-11 17:12:12 +00:00
b7a2677b4d
Be more explicit about returning deleted actors or not ( #2335 )
...
* Be more explicit about returning deleted actors or not
* simplify db queries
2022-07-05 17:40:44 -04:00
Dessalines
a745fa6f43
Remove update and read site config. Fixes #2306 ( #2329 )
...
* Remove update and read site config. Fixes #2306
* Removing lazy_static, removing Settings::get()
2022-06-22 20:24:54 +00:00
cd4d235171
Move setting http_fetch_retry_limit into federation block ( #2314 )
2022-06-14 01:20:30 -04:00
Dessalines
4e12e25c59
Adding admin purging of DB items and pictures. #904 #1331 ( #1809 )
...
* First pass at adding admin purge. #904 #1331
* Breaking out purge into 4 tables for the 4 purgeable types.
* Using CommunitySafe instead in view
* Fix db_schema features flags.
* Attempting to pass API key.
* Adding pictrs image purging
- Added pictrs_config block, for API_KEY
- Clear out image columns after purging
* Remove the remove_images field from a few of the purge API calls.
* Fix some suggestions by @nutomic .
* Add separate pictrs reqwest client.
* Update defaults.hjson
Co-authored-by: Nutomic <me@nutomic.com>
2022-06-13 19:15:04 +00:00
fcaf7a084c
Upgrade activitypub_federation to 0.2.0, add setting federation.debug ( #2300 )
2022-06-08 11:45:39 -04:00
7804a9d893
Accept private like ( #1968 ) ( #2301 )
2022-06-08 11:14:38 -04:00
5387c262c1
Forbid outgoing requests in activitypub tests ( fixes #2289 ) ( #2294 )
2022-06-03 11:31:22 -04:00
339eab01fd
Embed Peertube videos ( #2261 )
...
* Use og:video attribute for embeds, change Post.embed_html to embed_url
* fix clippy
2022-06-02 21:44:47 +00:00
13ca1111c4
Remove 0.15 federation compat code ( #2131 )
2022-06-02 13:48:53 -04:00
a2a594b763
Extract Activitypub logic into separate library ( #2288 )
...
* Create example for apub lib
* some rewriting of apub lib
* Add LocalInstance struct for apub lib to avoid using Lemmy Settings
* Move ActorType trait to lemmy_apub, because its not needed in library
* Use reqwest_retry instead of custom impl, dont specify timeout on every send()
* Some improvements to example
* Moved inbox handling to library
* bug fixes
* Move context and serde helpers into library
* wip: example changes
* Add lemmy_utils feature to build only LemmyError
* Rename to activitypub_federation
* Remove lemmy_utils dep from activitypub_federation using generic error type
* Finish activitypub example
* Cleanup and fix tests
* Reorganize library files
* Remove ApubObject.to_tombstone()
* Extract activitypub library into separate git repository
2022-06-02 16:33:41 +02:00
f0ec3015cd
Remove check that avatars/banners are locally hosted ( fixes #2254 ) ( #2255 )
2022-05-10 17:08:13 +00:00
7b86441bab
Federate with Peertube ( #2244 )
2022-05-06 23:53:33 +00:00
3aa3d75a1e
Add cargo feature for building lemmy_api_common with mininum deps ( #2243 )
2022-05-03 17:44:13 +00:00
7058cfa1cf
Implement restricted community (only mods can post) ( fixes #187 ) ( #2235 )
...
* Implement restricted community (only mods can post) (fixes #187 )
* review fixes
* fix tests
2022-04-28 20:32:32 +00:00
c718882479
Accept comments with hashtags from Friendica ( #2236 )
2022-04-27 16:12:13 +00:00
ae84258c41
Federation: dont overwrite local object from Announce activity ( #2232 )
...
* Federation: dont overwrite local object from Announce activity (fixes #2143 )
* add missing form fields
* refactoring
* add ap_id, updated fields
* fix
2022-04-25 21:11:34 +00:00
bbd739af9b
Change Person, Instance types ( #2200 )
2022-04-12 17:10:35 +00:00
fed73a72c1
Write mod log for federated sticky/lock post actions ( #2203 )
2022-04-11 23:03:31 +00:00
8337eaefdd
Federate user account deletion ( fixes #1284 ) ( #2199 )
2022-04-07 20:52:17 +00:00
9ac1f46a2b
Dont federate initial upvote ( #2196 )
2022-04-07 20:46:10 +00:00
f9d563d80a
Add missing mod log entries for federated actions ( fixes #1489 ) ( #2198 )
2022-04-07 20:44:28 +00:00
65cac21713
Fix verify_mod_action check for remote admin actions ( #2190 )
...
* Fix verify_mod_action check for remote admin actions
* fix federation test
2022-04-04 14:46:49 +00:00
bfae246734
Migrate towards using page.attachment field for url (ref #2144 ) ( #2182 )
2022-04-01 18:25:19 +00:00
589d952a95
Fetch community outbox in parallel ( fixes #2180 ) ( #2181 )
2022-04-01 18:06:23 +00:00
4cf0da7b60
Clippy fixes.
2022-03-30 10:58:03 -04:00
610120067c
Add test files for Friendica federation ( fixes #2144 ) ( #2167 )
2022-03-29 15:48:29 +00:00
Dessalines
f2a0841586
Rate limit websocket joins. ( #2165 )
...
* Rate limit websocket joins.
* Removing async on mutex lock fn.
* Removing redundant ip
* Return early if check fails.
2022-03-27 00:29:05 +00:00
dfb0938738
GNU social compatibility ( #2100 )
...
* Use SourceCompat everywhere (better compat with other software)
* Name field should not be mandatory in Group
* also check page.cc field for community id
* add gnu social tests
* better to use option<sourcecompat>
* update gnu social tests, marked vote as "unlisted"
2022-03-24 16:33:42 +00:00
b406342a14
Dont log error if duplicate activity is received ( fixes #2146 ) ( #2148 )
2022-03-24 16:05:27 +00:00
8112816e99
If viewed actor isnt in db, fetch it from other instance ( #2145 )
2022-03-23 21:27:51 +00:00
bcf7ec6109
Forbid remote URLs for avatars/banners ( fixes #1618 ) ( #2132 )
2022-03-18 15:46:58 +00:00
166ec196b0
Rework error handling ( fixes #1714 ) ( #2135 )
2022-03-16 20:11:49 +00:00
7d61616dff
Revert "Add logging to debug federation issues (ref #2096 ) ( #2099 )" ( #2130 )
...
This reverts commit e094989a4c
.
2022-03-14 20:18:19 +00:00
f8fb3b41f0
Reject federated downvotes if downvotes are disabled ( fixes #2124 ) ( #2128 )
2022-03-14 18:20:18 +00:00
df757f28b4
Make delete activities backwards compatible with 0.15 ( #2114 )
2022-03-03 19:37:12 +00:00
ef1e164cc5
Make activity queue worker count configurable, log stats ( #2113 )
2022-03-03 18:54:33 +00:00
a5433ebf77
Fixing unit tests.
2022-03-03 12:51:55 -05:00
dayinjing
7f9b55e793
Hide community v2 ( #2055 )
...
* Initial working of hiding communities and adding a db entry for mod log
* Return mod log for hidden communities
* Clean up hidding communities PR
* use lower case like other migration files
* Formatting fix
* pass in admin id to list, make match logic the same in post_view as community_view. Dont force non null for reason
* Clean PR review stuff
* Change person_id to mod_person_id on hide community table
* Make bools optional, add a space for formating
Co-authored-by: Thor Odinson <odinson@asgard.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2022-02-18 02:30:47 +00:00
762b85b27e
Reorganize federation tests ( #2092 )
...
* Reorganize apub protocol tests
* Reorder apub protocol struct members to clarify mandatory/optional fields
2022-02-17 22:04:01 +00:00
e094989a4c
Add logging to debug federation issues (ref #2096 ) ( #2099 )
2022-02-17 18:48:45 +00:00
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
545fe8d0dd
Add federation tests for Friendica, improve parsing of source field ( fixes #2057 ) ( #2070 )
2022-01-28 16:47:34 -05:00
4a23ee4d8b
Dont make webfinger request when viewing community/user profile ( fixes #1896 ) ( #2049 )
2022-01-27 16:39:22 +00:00
f23fed70bc
Add tombstone tests, better test errors ( #2046 )
2022-01-20 14:13:29 +00:00
vpzomtrrfrt
272dc3e7a6
Accept single object as to for arrays too ( #2048 )
2022-01-20 14:12:45 +00:00
eea3308906
Add tests for lotide federation, make lotide groups fetchable ( #2035 )
...
* Add tests for lotide federation, make lotide groups fetchable
* Accept posts using Note type (and better error messages for tests)
2022-01-17 09:40:47 -05:00
Dessalines
e65c45f152
Adding temporary bans. Fixes #1423 ( #1999 )
...
* Adding temporary bans. Fixes #1423
* Adding ban_expires to person
* Fix clippy
* Removing ban_expires from federated fields.
* Trying to add expires to blockcommunity apub.
2022-01-08 12:37:07 +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
c6ac606f60
Test pleroma follow ( #1988 )
...
* Add test case for Pleroma follow activity (ref #1984 )
* Use WithContext in apub tests where possible
2021-12-11 21:39:18 -05:00
5b3d707d8f
Use from_message for static error string
2021-12-07 17:17:19 -06: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
Dessalines
040770d7ba
Fix retry infinite loops. Fixes #1964 ( #1967 )
...
* Fix retry infinite loops. Fixes #1964
* Moving retry_limit to settings
2021-12-05 10:03:13 -05:00
Colin Reeder
e2baed9a6d
Add lotide activities to tests
2021-12-02 22:44:52 -07:00
Colin Reeder
a91c0c8feb
Allow single item for to, cc, and @context
2021-11-26 21:55:33 -07:00
27a687bcd0
Dont send email notifications for edited comments ( fixes #1925 )
2021-11-24 22:29:29 +01:00
1579ee566f
background-jobs 0.11 ( #1943 )
2021-11-23 12:20:01 +00:00
3fea5645f8
Add tracing ( #1942 )
2021-11-23 12:16:47 +00:00
Dessalines
3e062a9959
Merge pull request #1938 from LemmyNet/once_cell
...
Use once_cell instead of lazy_static
2021-11-22 14:27:08 -05:00
e88106cef4
Use once_cell instead of lazy_static
2021-11-22 19:58:31 +01: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
afccd5cf69
Replace activitystreams crate with activitystreams-kinds
2021-11-22 14:28:57 +01:00
3e4fe89a45
Fix build error in #1914
2021-11-19 18:05:23 +01:00
Dessalines
6d35508f08
Merge pull request #1914 from LemmyNet/dont-announce-note
...
Dont announce comments, edited posts to Pleroma/Mastodon followers
2021-11-19 11:48:47 -05:00
Dessalines
712dabd16b
Merge pull request #1918 from LemmyNet/fix-smithereen-webfinger
...
Fix Smithereen webfinger, remove duplicate webfinger impl (fixes #1916 )
2021-11-18 14:47:34 -05:00
da89ea22fb
Fix Smithereen webfinger, remove duplicate webfinger impl ( fixes #1916 )
2021-11-18 19:28:53 +01:00
aeb34199f5
Dont announce comments, edited posts to Pleroma/Mastodon followers
2021-11-18 18:41:43 +01:00
a2707e1c56
Community outbox should only contain activities sent by community ( fixes #1916 )
2021-11-18 18:31:50 +01:00
db631005d3
Fix error due to same activity being inserted in database twice
2021-11-16 19:13:05 +01:00
3249060f67
Remove to field from follow activities
2021-11-16 19:13:05 +01:00
20cddf5e81
Support mastodon deletes
2021-11-16 18:07:47 +01:00
7f4a773b88
Create and Note always need to tag parent creator, for mastodon notifications
2021-11-16 18:07:47 +01:00
c1f1b8aa0f
Activities in community should also be sent to actors in cc
2021-11-16 18:07:45 +01:00
579ca37ddf
Make webfinger standard compliant
2021-11-16 18:03:09 +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
5319046dc7
Add federation test cases for Smithereen and Mastodon
2021-11-09 17:16:58 +01:00
c21c142a9a
Include apub context from file, so that it can be embedded in docs
2021-11-08 16:04:02 +01:00
252d87d332
Fix clippy error
2021-11-08 13:16:14 +01:00
888e683856
For verify_is_public() we also need to check cc field
2021-11-06 18:44:34 +01:00
a5a674a270
Add method ApubObject.verify()
2021-11-06 18:35:14 +01:00
02ce7bdc7d
Remove unused ActorType methods
2021-11-06 15:01:00 +01: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
969a7f2d1b
Refactoring apub code
2021-11-05 21:12:10 +01:00
Dessalines
a83113935d
Check if post or comment are deleted first. Fixes #1864 ( #1867 )
...
* Check if post or comment are deleted first. Fixes #1864
* Refactoring delete apub.
* Revert "Refactoring delete apub."
This reverts commit ba2c3d06cfb870efe792f4b2541036265b425156.
2021-11-03 17:47:24 +00:00
41f7bcc0d2
Correctly use and document check_is_apub_id_valid() param use_strict_allowlist
2021-11-02 21:39:06 +01:00