Commit graph

726 commits

Author SHA1 Message Date
Dennis
26ad8975d7
Normalize Hashtag behavior in Mastodon Apps (#407)
* Update class-hashtag.php

* Update class-shortcodes.php

* fix unit tests

* missed two tests

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2023-08-31 15:04:17 +02:00
Matt Wiebe
c748d12d89
fix lint issues (#406) 2023-08-30 14:23:20 -05:00
Matt Wiebe
7aea1e8263
Add "Follow Me" block (#395)
The Follow Me block helps site visitors to follow you in the fediverse
---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2023-08-30 14:14:57 -05:00
Matt Wiebe
d38bf60d11
add site logo support to blog user (#400) 2023-08-16 21:39:55 -05:00
Matt Wiebe
9e73081668
deactivate the akismet nonce when processing our comments (#391) 2023-08-16 10:12:31 -05:00
Matt Wiebe
78870cd206
Revert User::get_webfinger_identifier (#398)
we already have `User::get_resource` to do the same
2023-08-16 07:52:26 -05:00
Matt Wiebe
d6ff82b337
adds a get_webfinger_identifier method (#397)
also `get_at_url` needed an update for the Blog User, who would throw an error otherwise
2023-08-15 18:22:58 -05:00
Matthias Pfefferle
14b91cf760
remote-follow endpoint (#392)
Some checks failed
PHP_CodeSniffer / phpcs (push) Failing after 2s
Unit Testing / phpunit (5.6, 6.2) (push) Failing after 2s
Unit Testing / phpunit (7.0) (push) Failing after 2s
Unit Testing / phpunit (7.2) (push) Failing after 2s
Unit Testing / phpunit (7.3) (push) Failing after 2s
Unit Testing / phpunit (7.4) (push) Failing after 2s
Unit Testing / phpunit (8.0) (push) Failing after 2s
Unit Testing / phpunit (8.1) (push) Failing after 2s
Unit Testing / phpunit (8.2) (push) Failing after 2s
Unit Testing / phpunit (latest) (push) Failing after 2s
Plugin asset/readme update / Push to master (push) Failing after 1s
Adds an endpoint at `users/$user_id/follow-me` to return the follow template for a remote user, to enable following them more easily.
2023-08-11 17:41:34 -05:00
Matthias Pfefferle
69ba1c87e1 fix sticky posts endpoint
Some checks failed
PHP_CodeSniffer / phpcs (push) Failing after 2s
Unit Testing / phpunit (5.6, 6.2) (push) Failing after 2s
Unit Testing / phpunit (7.0) (push) Failing after 2s
Unit Testing / phpunit (7.2) (push) Failing after 2s
Unit Testing / phpunit (7.3) (push) Failing after 3s
Unit Testing / phpunit (7.4) (push) Failing after 2s
Unit Testing / phpunit (8.0) (push) Failing after 3s
Unit Testing / phpunit (8.1) (push) Failing after 2s
Unit Testing / phpunit (8.2) (push) Failing after 3s
Unit Testing / phpunit (latest) (push) Failing after 2s
Plugin asset/readme update / Push to master (push) Failing after 18s
2023-08-11 11:16:06 +02:00
Matthias Pfefferle
626203002a only include the minimum required fields for Accept call 2023-08-11 09:24:45 +02:00
Matthias Pfefferle
30eb07ba17 add missing "type"
see https://git.joinfirefish.org/firefish/firefish/-/issues/10650#note_1011
2023-08-11 09:23:49 +02:00
Matthias Pfefferle
bc7e173fe0 also allow JSON 2023-08-11 09:22:46 +02:00
Matthias Pfefferle
6e2656311b oops 2023-08-10 15:35:10 +02:00
Matthias Pfefferle
1fd0cca185 fix check! 2023-08-10 15:10:07 +02:00
Matthias Pfefferle
fcc9603920 fix typo 2023-08-09 14:15:05 +02:00
Matthias Pfefferle
7de3696c2c fix @context 2023-08-09 14:13:58 +02:00
Matthias Pfefferle
21afec8586 fix rewrite rule 2023-08-09 13:58:42 +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
Matt Wiebe
48632a7e1b
Add inbox create/react actions (#387)
This will help us to debug why comments fail
2023-08-02 12:03:32 -05:00
Matthias Pfefferle
062c2af4c6 use 'comment' instead of empty string 2023-08-02 18:19:21 +02:00
Matthias Pfefferle
2ba6f6b8a7 Add upgrade notice 2023-08-02 10:44:56 +02:00
Matthias Pfefferle
3c0ee1aeba add actions pre running the http GET/POST requests
/cc @mattwiebe
2023-08-02 09:00:45 +02:00
Matthias Pfefferle
338c63d3e1
re-add post model (#386) 2023-08-01 18:37:16 +02:00
Matthias Pfefferle
3afed5b296
Add/small improvements (#384)
* flush rewrite rules after migration

* some activity improvements

* equate usernames with and without `.`

Can we equate `@notiz.blog@notiz.blog` with `@notizblog@notiz.blog`?

* better NodeInfo compatibility check

* fix `extract_name_from_uri`

* reset user check

* re-added action

* fix check
2023-07-31 20:15:11 +02:00
Matt Wiebe
02ffa27498
Followers block: don't disable frontend links (#381)
* only disable follower links in Editor
* allow updating the title
* Enable selectable users based on settings
2023-07-28 10:56:04 -05:00
Matthias Pfefferle
a89a106f21 fall back to preferred username 2023-07-28 15:18:48 +02:00
Matthias Pfefferle
070c9cae85 small improvements 2023-07-28 10:34:10 +02:00
Matthias Pfefferle
835af08848 some small fixes 2023-07-28 10:28:55 +02:00
Matthias Pfefferle
d2af87c259 ignore phpcs warning 2023-07-28 09:50:30 +02:00
Matthias Pfefferle
799280a808 fix default username 2023-07-28 00:47:20 +02:00
Matthias Pfefferle
e12cfa44ac
workaround for special chars (#379) 2023-07-28 00:39:22 +02:00
Matt Wiebe
f49e15bfbf
Ensure everything is loaded properly after #376 (#378)
Also fixes an spl_autoload bug
2023-07-27 19:35:28 +02:00
Matthias Pfefferle
be26a18214
fix issue with where multiple migrations run at the same time (#377) 2023-07-27 18:27:41 +02:00
Matthias Pfefferle
c0867de4c0
fix domain change issue on .com (#374)
This should fix the issue on .com that saves the subdomain.wordpress.com domain to the options table before custom domain is set.
2023-07-27 10:40:29 -05:00
Matthias Pfefferle
d456e86d1a fix escaping 2023-07-27 17:30:35 +02:00
Matt Wiebe
5b9dadd6fd
Followers Block (#344)
Introduces a new Followers block. Proudly display your Fediverse followers to the world!

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2023-07-26 15:05:41 -05:00
Matthias Pfefferle
b25231a355
Remove obsolete code
https://github.com/Automattic/wordpress-activitypub/pull/370#issuecomment-1652053210
2023-07-26 19:16:36 +02:00
Jeremy Herve
4ed4143d21
Post class: declare $attachments property
This should avoid PHP notices like this one when running PHP 8.2:

PHP Deprecated:  Creation of dynamic property Activitypub\Transformer\Post::$attachments is deprecated in /var/www/html/wp-content/plugins/activitypub/includes/transformer/class-post.php on line 249
2023-07-26 12:02:18 +02:00
Matthias Pfefferle
3834288922 fix issue with API endpoint of WordPress.com 2023-07-25 14:34:14 +02:00
Matthias Pfefferle
38cd0b973b fix ID 2023-07-25 13:47:49 +02:00
Matthias Pfefferle
921ca0c1c6 fix actions 2023-07-25 10:47:59 +02:00
Matthias Pfefferle
36a139698d update URLs 2023-07-24 13:59:29 +02:00
Matthias Pfefferle
dd1c0a3bb5
Merge pull request #365 from Automattic/fix/cleanup 2023-07-20 23:30:39 +02:00
Matthias Pfefferle
3b88d5e36c update checks 2023-07-20 15:19:19 +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
3512206d48 phpcbf fixes 2023-07-19 20:39:58 -05:00
Matt Wiebe
cc168c7d40 more lint nom 2023-07-18 15:13:53 -05:00
Matt Wiebe
2596713213 Lint: now clean 2023-07-18 15:02:27 -05:00
Matthias Pfefferle
7b83fddfe0 fix predictability and collision 2023-07-18 14:36:33 +02:00
Matthias Pfefferle
ee3574a8a3
Merge pull request #362 from Automattic/short-code-hardening
Hardening the use of a shortcode
2023-07-18 08:31:11 +02:00
Matthias Pfefferle
f4c8264e9a move function to Shortcode class 2023-07-18 08:20:09 +02:00
Matthias Pfefferle
bf8acf9f51 use wp_rand and change hashtags too 2023-07-18 08:14:28 +02:00
Alex Kirk
ab6aefe446 Add missing output escaping 2023-07-18 06:30:06 +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
0f54ea465e fix CSRF flaw 2023-07-17 14:37:17 +02:00
Matthias Pfefferle
626616a747 always use host as default username 2023-07-14 11:29:03 +02:00
Matthias Pfefferle
5ae978a8bc user_id could be an int and meta always returns strings
remove strict comparison in this case and add tests to verify the correct behaviour
2023-07-13 10:35:15 +02:00
Matthias Pfefferle
00fbc296b3 fix #343 2023-07-11 14:48:49 +02:00
Matthias Pfefferle
4a82edcd22 Revert "fix #358"
This reverts commit ad18edbcea.
2023-07-11 14:48:04 +02:00
Matthias Pfefferle
ad18edbcea fix #358 2023-07-11 14:40:31 +02:00
Matthias Pfefferle
002d4e7981 refactoring 2023-07-11 14:34:11 +02:00
Matthias Pfefferle
e0d767ed98 Fix WebFinger endpoint 2023-07-11 14:26:07 +02:00
Matthias Pfefferle
57bc4214b7 If the Blog is in "single user" mode, return "Person" insted of "Group". 2023-07-11 09:28:10 +02:00
Matthias Pfefferle
befd0d4f1e do not persist data in a getter! 2023-07-11 09:21:16 +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
be6d8a1792 fix activity 2023-07-10 14:59:12 +02:00
Matthias Pfefferle
465a912a70 fix user settings 2023-07-10 14:08:51 +02:00
Matthias Pfefferle
2f5a321474 fix missing user_id issue 2023-07-10 12:12:12 +02:00
Matthias Pfefferle
81d0e09f6e fix wrong function names 2023-07-10 11:56:46 +02:00
Matthias Pfefferle
64d2d2995b oops 2023-07-10 11:49:43 +02:00
Matthias Pfefferle
2252b87b1b check what activity should be send 2023-07-10 10:58:34 +02:00
Matthias Pfefferle
69326d027c return blog-user when in single mode 2023-07-10 10:57:06 +02:00
Matthias Pfefferle
fe99fffab6 use Group type for blog-user 2023-07-10 10:29:15 +02:00
Matthias Pfefferle
799f4be1d8 check for "single user mode" 2023-07-10 10:29:02 +02:00
Matthias Pfefferle
a0a1e33dc8 Fall back to ID id URL is empty 2023-07-10 10:28:45 +02:00
Matthias Pfefferle
9559a089be fix sanitization 2023-07-07 16:45:38 +02:00
Matthias Pfefferle
f3d2243afb use paged instead of offset 2023-07-07 15:10:22 +02:00
Matthias Pfefferle
7f3d31c59e add prev 2023-07-07 15:09:22 +02:00
Matthias Pfefferle
4b8ffc874a add pager to followers endpoint 2023-07-07 15:02:34 +02:00
Matthias Pfefferle
d00b7b54f2 use esc_sql 2023-07-07 14:54:28 +02:00
Matthias Pfefferle
5b712fb7cd fix some last "follower" issues 2023-07-07 13:43:12 +02:00
Matthias Pfefferle
d4f5ad8ec1 use post_meta instead of post_content 2023-07-06 16:10:48 +02:00
Matthias Pfefferle
96c1e92151 optimize and simplify followers 2023-07-06 14:42:18 +02:00
Matthias Pfefferle
c1da689d66 fix is_activitypub_request function 2023-07-05 18:13:46 +02:00
Matthias Pfefferle
19d60d8fec fix sending activities 2023-07-05 16:16:31 +02:00
Matthias Pfefferle
5c59834a0c various fixes mainly regarding send_follow_response 2023-07-05 15:34:22 +02:00
Matthias Pfefferle
1269cc6248 better instancing 2023-07-05 15:33:16 +02:00
Matthias Pfefferle
eed43355b3 fix inbox 2023-07-05 15:33:07 +02:00
Matthias Pfefferle
862de71cd2 fix WebFinger for pseudo-users 2023-07-05 15:32:49 +02:00
Matthias Pfefferle
52038c9f43 fix image and username handling 2023-07-05 15:32:26 +02:00
Matthias Pfefferle
1380025d4a always use Followers::add_follower
to not ran into inconsistencies
2023-07-05 15:31:45 +02:00
Matthias Pfefferle
7a360dbf6f fix object handling 2023-07-05 15:31:06 +02:00
Matthias Pfefferle
e65b70763d use URL as post-name 2023-07-05 12:18:48 +02:00
Matthias Pfefferle
07b0ae6e2d fix namespaces 2023-07-03 20:02:00 +02:00
Matthias Pfefferle
52e644631a add missing attributed_to 2023-07-03 20:00:47 +02:00
Matthias Pfefferle
be07574cfe fix code 2023-07-03 19:56:06 +02:00
Matthias Pfefferle
47957c2a6a fix code 2023-07-03 19:52:54 +02:00
Matthias Pfefferle
7c9258eb1d consistent use of namespaces 2023-07-03 19:25:49 +02:00
Matthias Pfefferle
7f3059427d fix tests 2023-07-03 18:18:03 +02:00
Matthias Pfefferle
f1c1eff267
Merge branch 'add/catchall' into rewrite-user-management 2023-07-03 18:03:42 +02:00
Matthias Pfefferle
493b8ffad5 use transformer instead of post-model 2023-07-03 17:59:42 +02:00
Matthias Pfefferle
1685ec7cc8 allow sending blog-wide activities 2023-07-03 11:56:25 +02:00
Matthias Pfefferle
359eabf671 use collection instead of factory 2023-07-03 11:20:44 +02:00
Matthias Pfefferle
dd67f76db1 fix class names 2023-06-30 16:12:04 +02:00
Matthias Pfefferle
f207089269 revert scheduler/dispatcher changes 2023-06-30 16:08:28 +02:00
Matthias Pfefferle
ced8cd0e29 send activities for blog-wide user 2023-06-29 19:10:49 +02:00
Matthias Pfefferle
3e969c859a send blog-wide activities if enabled 2023-06-29 18:44:25 +02:00
Matthias Pfefferle
1543c49c19 some doc changes 2023-06-29 14:54:45 +02:00
Matthias Pfefferle
68e9bfdc79 this is now part of the Base_Object 2023-06-28 19:38:50 +02:00
Matthias Pfefferle
1fe8c26b1d ignore prefixed attributes 2023-06-28 19:38:19 +02:00
Matthias Pfefferle
75a77b3f5c finalize account handling
still missing: publishing
2023-06-28 18:02:14 +02:00
Matthias Pfefferle
c02702f773 replace filters 2023-06-28 16:43:41 +02:00
Matthias Pfefferle
a706bef130 check for option field 2023-06-28 16:42:33 +02:00
Matthias Pfefferle
913c9aeac4 put @context at the top of the JSON output 2023-06-28 16:42:20 +02:00
Matthias Pfefferle
c266c927da transform users to actors 2023-06-28 14:22:27 +02:00
Matthias Pfefferle
83ddca8f28 fix templating 2023-06-28 10:14:13 +02:00
Matthias Pfefferle
36540c0f78 fix delete 2023-06-28 09:56:18 +02:00
Matthias Pfefferle
58c04856c9 check if a user is enabled or not 2023-06-27 14:30:52 +02:00
Matthias Pfefferle
359cd57081 normalizing 2023-06-27 14:30:52 +02:00
Matthias Pfefferle
6ddbe25852 overwrite activity-object-user on single_user_mode 2023-06-27 14:30:52 +02:00
Matthias Pfefferle
e88ee59113 make user filterable, to change author to blog wide user 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
5f1abd2461 fail early 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
255ace3ae6 revert latest changes to simplify dispatching for now 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
a8fe587f91 prepare federation method 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
723a3e3363 fix signature issue 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
d251060624 migrated missing parts 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
112eb51af1 updated signature feature to new structure 2023-06-27 14:29:42 +02:00
Matthias Pfefferle
4f2a162f6c Fix follower-list actions 2023-06-27 14:28:52 +02:00
Matthias Pfefferle
e1fd0e1c39 move signature to user object 2023-06-27 14:28:52 +02:00
Matthias Pfefferle
e2ad08b61b use correct blog-user-id 2023-06-27 14:26:37 +02:00
Matthias Pfefferle
0f72f94406 small updates 2023-06-27 14:26:37 +02:00
Matthias Pfefferle
913b60c7c7 Fix WebFinger resources for Blog-User and updated settings. 2023-06-27 14:26:37 +02:00
Matthias Pfefferle
4d8170413b avatar and header-image settings 2023-06-27 14:26:00 +02:00
Matthias Pfefferle
7b9b3dbc37 add @-urls to webfinger aliases 2023-06-27 14:26:00 +02:00
Matthias Pfefferle
2feca1388a generate default username 2023-06-27 14:26:00 +02:00
Matthias Pfefferle
daf228fd44 move permanently 2023-06-27 14:26:00 +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
a617553ddf fix profile pages 2023-06-27 14:26:00 +02:00
Matthias Pfefferle
503353bcd0 Added settings for blog-wide user 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
f8b93760df fix copy&paste issue
thanks @mattwiebe
2023-06-27 14:25:39 +02:00
Matthias Pfefferle
a1791b963c try new id urls 2023-06-27 14:25:39 +02:00