Commit graph

162 commits

Author SHA1 Message Date
Matthias Pfefferle
1ff8bac25a
add filter to check if blog is public (#504) 2023-10-12 15:52:11 +02:00
Matthias Pfefferle
cbb5570a1b
add backward compatibility support (#489) 2023-10-10 08:12:15 +02:00
Matthias Pfefferle
9466048bfb
do not show block for WP versions below 5.9 (#484)
* do not show block for WP versions below 5.9

* oops, wrong operator
2023-10-04 08:32:21 +02:00
Matthias Pfefferle
20d15bc95d
fix is_single_user (#474) 2023-09-26 21:04:51 +02:00
Matthias Pfefferle
addd7dd8a1
better handling when data is missing (#444)
* better handling when data is missing

* WP_Error: add translation key and status

* do not use cache for cleanup and update

* better queries
2023-09-21 16:26:17 +02:00
Matthias Pfefferle
0763316009
add status message if it might be returned by API (#448) 2023-09-21 09:03:24 +02:00
Jeremy Herve
fe07d5eb32
Blocks: short-circuit early on sites that do not support blocks (#431)
* Blocks: short-circuit early on sites that do not support blocks

Fixes #430

This is typically only the case for sites using a custom version of WordPress, like ClassicPress.

* let grunt build the markdown

* Check for block support earlier and add filter

One can now deactivate the blocks registered by ActivityPub like so:

```
add_filter( 'activitypub_site_supports_blocks', '__return_false' );
```

* Fix readme (gotta remember to use grunt)

* alias function

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2023-09-15 10:38:47 +02:00
Matthias Pfefferle
8dcbe0c6fd
fix Secops issues (#411) 2023-09-05 21:03:25 +02:00
Matthias Pfefferle
bc7e173fe0 also allow JSON 2023-08-11 09:22:46 +02:00
Matthias Pfefferle
049046be70
update endpoints (#390)
* add collection endpoint

* show featured posts

* more consistant wording

* backwards compatibility with php7.x

* compatibility with php5.6

* use ACTIVITYPUB_AUTHORIZED_FETCH instead

because the ACTIVITYPUB_SECURE_MODE could be misinterpreted with disabling the security mechanisms completely.

* the blog user follows all authors of a blog

if not in single_user mode

* phpdoc

* adding changes based on feedback from @jeherve

* global namespace

* better hashtag handling

should also fix #373 #239

thanks @jeherve for help and feedback!

* fix workflow
2023-08-09 13:07:30 +02:00
Matthias Pfefferle
dd1c0a3bb5
Merge pull request #365 from Automattic/fix/cleanup 2023-07-20 23:30:39 +02:00
Matthias Pfefferle
f734e511f7 fix tests 2023-07-20 14:53:34 +02:00
Matthias Pfefferle
44a81742aa Add settings to en/disable user types (for .org users) 2023-07-20 14:21:32 +02:00
Matthias Pfefferle
98143d9a90 phpcs:ignores 2023-07-20 13:25:28 +02:00
Matthias Pfefferle
c288fbe021 some more checks if a blog is in single user mode or not 2023-07-20 10:57:14 +02:00
Matthias Pfefferle
201ee16f37 fix some issues and re-add "ACTIVITYPUB_SINGLE_USER_MODE" const 2023-07-20 10:12:59 +02:00
Matt Wiebe
2596713213 Lint: now clean 2023-07-18 15:02:27 -05:00
Matthias Pfefferle
f4c8264e9a move function to Shortcode class 2023-07-18 08:20:09 +02:00
Matthias Pfefferle
964ceee869 fix tests 2023-07-17 17:23:13 +02:00
Matthias Pfefferle
d7e9d54063 Checks if item (WP_Post) is "public", a supported post type and not password protected. 2023-07-17 15:25:30 +02:00
Matthias Pfefferle
a461ea3b1f some refactorings 2023-07-11 09:09:37 +02:00
Matthias Pfefferle
0ab61b6441 make is_user_disabled filterable 2023-07-11 08:58:50 +02:00
Matthias Pfefferle
d5a389420d some fixes based on the feedback of @mattwiebe 2023-07-11 08:53:18 +02:00
Matthias Pfefferle
8920c60c61 final fixes and more tests 2023-07-10 15:14:37 +02:00
Matthias Pfefferle
799f4be1d8 check for "single user mode" 2023-07-10 10:29:02 +02:00
Matthias Pfefferle
c1da689d66 fix is_activitypub_request function 2023-07-05 18:13:46 +02:00
Matthias Pfefferle
7f3059427d fix tests 2023-07-03 18:18:03 +02:00
Matthias Pfefferle
359eabf671 use collection instead of factory 2023-07-03 11:20:44 +02:00
Matthias Pfefferle
75a77b3f5c finalize account handling
still missing: publishing
2023-06-28 18:02:14 +02:00
Matthias Pfefferle
c266c927da transform users to actors 2023-06-28 14:22:27 +02:00
Matthias Pfefferle
58c04856c9 check if a user is enabled or not 2023-06-27 14:30:52 +02:00
Matthias Pfefferle
a8fe587f91 prepare federation method 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
c95e501f98 redirect to canonical URL if it is not an ActivityPub request 2023-06-27 14:26:00 +02:00
Matthias Pfefferle
3feef1e8cf send user and blog activities
and set the blog to "single-mode"
2023-06-27 14:26:00 +02:00
Matthias Pfefferle
09518ea66b prepare pseudo users like a blog wide user.
this allows also other constructs like tag oder category users

fix #1
2023-06-27 14:25:12 +02:00
Matthias Pfefferle
235b5aa4a1 build a simple to_array converter 2023-06-26 11:08:04 +02:00
Matthias Pfefferle
5478be1355 a follower is now a valid ActivityPub Actor
this helps with API handling
2023-06-23 14:54:29 +02:00
Matthias Pfefferle
bfe5381d99
Merge pull request #299 from mediaformat/signature_verification
Signature verification
2023-06-01 11:21:33 +02:00
Matthias Pfefferle
758912da64 do not use cache for new followers 2023-05-31 14:03:46 +02:00
Matthias Pfefferle
2aa7077ae7 add wpautop to user description
fix #279
2023-05-23 12:26:02 +02:00
Matthias Pfefferle
cfb162c620
Merge branch 'master' into signature_verification 2023-05-17 09:59:02 +02:00
Matthias Pfefferle
c34fb74b41 coding style 2023-05-17 09:03:26 +02:00
Matthias Pfefferle
4b294bb8a6
Merge branch 'master' into signature_verification 2023-05-16 08:15:35 +02:00
Matt Wiebe
31e7e44642 remove filter 2023-05-12 18:25:49 -05:00
Matt Wiebe
ec00ace234 add a activitypub_rest_url filter 2023-05-12 16:55:04 -05:00
Matthias Pfefferle
c99daa3e72
Merge branch 'master' into add/rest-namespace-constant 2023-05-12 22:44:41 +02:00
Matt Wiebe
314ccf43a6 add a get_rest_url_by_path helper function, and use it 2023-05-12 15:24:24 -05:00
Jeremy Herve
d16014911b
Compat: introduce a conditional to detect ActivityPub requests
This conditional could be used within the plugin, but also by third-party plugins, to detect whether a request is an ActivityPub request, without having to manually check for query vars and headers every time.
2023-05-11 19:53:53 +02:00
Matthias Pfefferle
154b0018af PHPDoc 2023-05-10 15:36:45 +02:00
Django Doucet
27636b62d5 Add Service actor for signing get requests 2023-05-05 12:02:12 -06:00
Matthias Pfefferle
26e5a1d3f6
Merge branch 'master' into rewrite-followers 2023-05-04 09:33:55 +02:00
Matthias Pfefferle
e489a04880 remove unused constants 2023-05-04 09:32:52 +02:00
Matthias Pfefferle
dea5f38561 better error handling 2023-05-02 14:39:25 +02:00
Matthias Pfefferle
a673504d36
Merge branch 'master' into rewrite-followers 2023-04-28 17:38:30 +02:00
Matthias Pfefferle
7c47f9a07c clean up admin settings 2023-04-28 15:12:30 +02:00
Matthias Pfefferle
9966427fd3
Merge branch 'master' into feature/165/fediverse-biography 2023-04-28 14:36:17 +02:00
Matthias Pfefferle
230aaa5b24 prepare migration 2023-04-27 14:34:54 +02:00
Matthias Pfefferle
ec822535c9 Follower object should not make any remote calls 2023-04-27 09:57:50 +02:00
Matthias Pfefferle
d1f6973d9b re-add mention functionality
not perfect but works as expected
2023-04-25 11:59:08 +02:00
Matthias Pfefferle
84a82c2ac4 added follower model 2023-04-24 20:46:51 +02:00
Edward Ficklin
01532692f1 template helper function for displaying fedi bio, if set 2023-03-14 13:36:47 -04:00
Matthias Pfefferle
e015da7f8f optimize publishing 2023-02-02 01:42:15 +01:00
Alex Kirk
3706e61842 Revert adding an argument 2023-01-27 15:48:29 +01:00
Alex Kirk
8391e713c9 Cache more metadata and webfinger results 2023-01-27 15:48:28 +01:00
Alex Kirk
7d598d92a8 Revert erroneous changes 2023-01-27 15:48:28 +01:00
Alex Kirk
99b316db34 Rework inboxes for cc 2023-01-27 15:48:28 +01:00
Alex Kirk
e065880085 Add ActivityPub mentions 2023-01-27 15:48:28 +01:00
Alex Kirk
034ba0554d Don't access transient when receiving a WP_Error 2022-12-15 11:37:00 +01:00
Alex Kirk
7e6fbd60b3 Fix typo 2022-12-11 09:16:50 +01:00
Matthias Pfefferle
c6657d2fa8 move method to webfinger class 2022-12-05 20:48:07 +01:00
Matthias Pfefferle
d6b7cd0235
Merge branch 'master' into feature-guidance 2022-12-05 20:30:04 +01:00
Matthias Pfefferle
c1e128fbcd some text improvements
props @krafit
2022-12-05 17:45:56 +01:00
Alex Kirk
a82dea0685 Add unit test 2022-12-02 12:46:42 +01:00
Matthias Pfefferle
30919b1f7b be more descriptive 2022-11-15 20:50:56 +01:00
Matthias Pfefferle
fba834b15d add some guidance
based on the feedback of users and the suggestion of @akirk
2022-11-15 18:22:08 +01:00
Alex Kirk
eff60ed5dd Fix the signature for HTTP GET requests 2022-11-09 07:25:10 -07:00
Alex Kirk
5f6cf78da1 Add a parser to the Friends Plugin 2022-11-09 07:08:32 -07:00
Matthias Pfefferle
44c652eba8 phpcs fixes 2022-01-27 13:09:11 +01:00
Matthias Pfefferle
f4f46fc084 added health checks 2021-07-23 15:46:28 +02:00
Matthias Pfefferle
3dd88fd176 prepare context for coming features 2021-01-12 12:45:17 +01:00
Django Doucet
0271b57844 add digest header 2020-12-09 22:23:05 -05:00
Matthias Pfefferle
a875b90054 remove blocklist feature in favor of the comment blocklist 2020-09-21 13:20:39 +02:00
Matthias Pfefferle
19a7bddc5f check case insensitive 2020-05-18 16:46:51 +02:00
Matthias Pfefferle
5ad36d0027 add default value 2020-05-18 16:46:31 +02:00
Matthias Pfefferle
122461ab6e escape even more 2020-05-12 20:30:06 +02:00
Matthias Pfefferle
9945aa7cf8 escape global constants and functions
* Add leading \ before function invocation to speed up resolving.
* Add leading \ before constant invocation of internal constant to speed up resolving. Constant name match is case-sensitive, except for null, false and true.
2020-05-12 19:42:09 +02:00
Matthias Pfefferle
95682dbb6d change default 2020-04-28 10:03:44 +02:00
Matthias Pfefferle
273787295a native function invocation 2020-02-22 13:02:58 +01:00
Matthias Pfefferle
0d48496768 add blacklist settings 2020-02-21 11:09:31 +01:00
Matthias Pfefferle
7bcd586eae fix get_remote_metadata_by_actor 2020-02-21 11:05:17 +01:00
Ben Lubar
fbcf2dbabc
support authorized fetch to avoid having comments from "Anonymous" 2020-01-18 12:56:30 -06:00
Matthias Pfefferle
85db6f2d7e Automated native_function_invocation fixes
`php php-cs-fixer --rules=native_function_invocation fix ./ --allow-risky=yes`
2019-12-01 21:20:26 +01:00
Matthias Pfefferle
65034d2a76 refactorings 2019-11-18 20:57:00 +01:00
Matthias Pfefferle
55ca69fd22 add all required accept header 2019-09-29 18:23:22 +02:00
Matthias Pfefferle
2f5bf1ccc4 explicit use of global functions 2019-09-27 10:12:59 +02:00
Matthias Pfefferle
453acb7329 fixed PHP warnings 2019-08-21 15:06:48 +02:00
Armando Lüscher
344d981ce8
Initial proofread 2019-07-28 22:12:11 +02:00
Matthias Pfefferle
55303bf34c check if inbox exists
...to prevent warnings
2019-07-26 17:07:43 +02:00
Matthias Pfefferle
8d91b213e7 fixed inbox problems with pleroma 2019-03-14 23:10:11 +01:00
Matthias Pfefferle
5db2e38719 fixed namespace problems 2019-02-24 12:21:25 +01:00