Commit graph

918 commits

Author SHA1 Message Date
Matt Wiebe
08106890a3
Add Blog extra fields (#838)
Imitate User Extra Fields, and consolidate into an `ExtraFields` class

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-08-09 09:40:35 -05:00
Matthias Pfefferle
0bbd715d05
Refactor Media Handling a bit and add support for Seriously Simple Podcasting (#839)
* add some filters

* re-order functions for a better readability

* first draft to support Seriously Simple Podcasting

* use icon instead of thumbnail

* fix array_filter

* use transformer instead

* fix phpcs issues

* add some PHPDoc

* some more docs
2024-08-08 15:19:55 +02:00
Matthias Pfefferle
80ec65ad0a simplified WebFinger code 2024-08-02 10:31:42 +02:00
Daniel Hüsken
d6095d0943
Add menu_order to ap_extrafield so that user can decide in with order they will be displayed (#827)
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-08-01 11:44:22 +02:00
Matt Wiebe
353d848ef7
Only send Update for previously-published posts (#833) 2024-08-01 09:43:11 +02:00
Matt Wiebe
e6040f5fe8
Fix undefined get_sample_permalink (#832) 2024-08-01 09:41:15 +02:00
Daniel Hüsken
fae1723119
Changed missing activitypub_user_description to activitypub_description (#830) 2024-07-30 11:06:36 +02:00
Daniel Hüsken
d445aa3414
Add line brakes to user biography (#829) 2024-07-30 10:34:45 +02:00
Matthias Pfefferle
ed76399d0d add 10 tags 2024-07-26 16:03:58 +02:00
Matthias Pfefferle
a7f04db147 use 3.0.0
because we include some breaking changes
2024-07-26 13:51:03 +02:00
Matthias Pfefferle
7baa93ce3a update readme.md 2024-07-26 11:13:56 +02:00
Matthias Pfefferle
7f2e3754c9 phpcs improvements 2024-07-26 10:26:47 +02:00
Matthias Pfefferle
e8a3f67abb fix health check 2024-07-25 16:30:35 +02:00
Matthias Pfefferle
cd8623da28 fix health check 2024-07-25 16:27:50 +02:00
Matthias Pfefferle
ea6c250556 rename template to be consistent 2024-07-25 14:58:36 +02:00
Matthias Pfefferle
b240589e78
Add "reply context" support (#819)
* add basic reply context support

* UX improvements

* remove unused style file

* built

* Add bookmarklet!

* add build

* small UX tweaks

* add toolbox box

* improved text

* optimized block filter

* add in-reply-to to activity

* refactor to add inboxes using filters

and retrieve/add inboxes of `in-reply-to` links

* renamings

* plugins do not like slashed IDs

* rename to match new get param

---------

Co-authored-by: Matt Wiebe <wiebe@automattic.com>
2024-07-24 23:44:01 +02:00
Matthias Pfefferle
12cb73bcd6 fix #818 2024-07-24 20:19:36 +02:00
Matthias Pfefferle
1aecfe82c6 set a default for image-url 2024-07-24 15:21:46 +02:00
Matthias Pfefferle
e3051b78eb set image url to null by default 2024-07-24 15:20:38 +02:00
Matthias Pfefferle
599a6841c8
Add link header (#817)
* init

* add support for API endpoint
2024-07-23 14:56:23 +02:00
Matthias Pfefferle
e7ab818612
Tag support for Actors (#812)
* auto generate tags for the blog user

* fix indents

* esc hashtag
2024-07-22 15:57:14 +02:00
Matthias Pfefferle
6cc071d270 add migration for 2.7.0 2024-07-22 11:16:38 +02:00
Matthias Pfefferle
e35f782a7f ignore phpcs error 2024-07-19 23:26:35 +02:00
Matthias Pfefferle
6328dbb924 send update when header image changes 2024-07-19 22:41:01 +02:00
Matthias Pfefferle
289684d15f
Add "Header Image" support (#816)
* Add "Header Image" support based on WordPress Site-Icon JS

* split settings pages

* Add support to change blog description

* use alternate settings for output

* add header image support for authors
2024-07-19 21:52:19 +02:00
Matthias Pfefferle
dc864c6443
Add setting to enable/disable the fediverse:creator OGP tag (#815) 2024-07-18 17:14:21 +02:00
Matthias Pfefferle
7fbfee1a74
fix extra fields (#814) 2024-07-18 08:23:34 +02:00
Matthias Pfefferle
c1a3882377 fix function name 2024-07-15 23:20:09 +02:00
Matthias Pfefferle
2ac2b67a44 Merge branch 'master' of https://github.com/Automattic/wordpress-activitypub 2024-07-15 23:18:42 +02:00
Matthias Pfefferle
b715d0f01b throw error if url is empty 2024-07-15 23:18:40 +02:00
Matthias Pfefferle
2e90d76c97
Some Remote-Follow improvements (#805)
* fix css class

* Remember remote profile (#807)

* Revert to @wordpress/scripts@27

* Remember users

* whitespace

* buncha class should be className

* render -> createRoot

* build

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>

* improved some CSS

* show "remember" checkbox only for the remote-reply overlay

* formatting

---------

Co-authored-by: Matt Wiebe <wiebe@automattic.com>
2024-07-15 18:08:09 +02:00
Matthias Pfefferle
d2260639b3
Add extra fields (#762)
* add extra fields settings

* add settings

* add settings link

* allow users to only edit their extra fields

* use nopaging instead of posts_per_page

thanks @mattwiebe

* load filters only on admin page and remove the view actions

* author should not be editable

* some improvements and extra informations

* description

* use nopaging instead

* add blog url

* formatting

* formatting

* some cosmetics

* return attachments

* formatting

* formatting

* add default extra fields

* remove unused migration

* better defaults handling

* use a filter to be able to unhook/replace default extra fields

* should fix #810

---------

Co-authored-by: Matt Wiebe <wiebe@automattic.com>
2024-07-15 18:03:40 +02:00
Matthias Pfefferle
4397ae95c8
Fix Fatal Error: wp_schedule_single_event third argument is being passed as a string (#809)
* fix #808

* fix test
2024-07-12 21:47:07 +02:00
Matthias Pfefferle
edad4d8c3d add http error codes 2024-07-11 14:18:15 +02:00
Matthias Pfefferle
c8634d936c fix comments endpoint 2024-07-10 10:45:07 +02:00
Jan Boddez
a9e0e0eb06
Update class-comment.php (#802) 2024-07-09 23:31:22 +02:00
Jan Boddez
0daadd109e
Update class-create.php (#801) 2024-07-09 16:32:43 +02:00
Matthias Pfefferle
5d0f62fbb9 some formatting 2024-07-09 10:15:03 +02:00
Matthias Pfefferle
884ad94142 fix #571 (again) 2024-07-03 12:52:21 +02:00
Matthias Pfefferle
5f595c6354
Support Drafts! (#780)
* init

* remove images, text and summary if post is converted to draft

* remove debug infos
2024-07-02 11:00:42 +02:00
Matthias Pfefferle
0bb448964b
added screen-reader-text (#792) 2024-07-01 12:30:16 +02:00
Matthias Pfefferle
0be726983e Merge branch 'master' of https://github.com/Automattic/wordpress-activitypub 2024-06-17 12:37:45 +02:00
Matthias Pfefferle
dab261826b fix redirect issue 2024-06-17 12:37:43 +02:00
Matt Wiebe
a08b33361a
Add count_total=false to WP_User_Query (#781) 2024-06-11 10:47:42 -05:00
Matthias Pfefferle
02678eeec3 fix some WebFinger issues 2024-06-09 14:48:31 +02:00
Matthias Pfefferle
3d1bf1b01b fix content type 2024-06-07 19:59:02 +02:00
Matthias Pfefferle
e21b8828c6 Add cors header 2024-06-07 19:04:53 +02:00
Matthias Pfefferle
72c2bfc572 send also announces for deletes 2024-06-07 14:55:17 +02:00
Matthias Pfefferle
06b6cd467c
Add follower count to "At a Glance" dashboard widget (#774)
* add follower count to "At a glance" dashboard widget

* add `number_format_i18n` function

* add decimal_point support

and load only on dashboard

* Update includes/class-admin.php

Co-authored-by: Jeremy Herve <jeremy@jeremy.hu>

* Update includes/class-admin.php

Co-authored-by: Jeremy Herve <jeremy@jeremy.hu>

* Update includes/class-admin.php

Co-authored-by: Alex Kirk <akirk@users.noreply.github.com>

* added changes suggested by @jeherve

* add `get_plugin_version()` to all enqueues

---------

Co-authored-by: Jeremy Herve <jeremy@jeremy.hu>
Co-authored-by: Alex Kirk <akirk@users.noreply.github.com>
2024-06-04 15:22:20 +02:00
Matthias Pfefferle
5ddeaac7e0
better conneg handling (#775) 2024-06-04 12:11:10 +02:00
Matthias Pfefferle
2d62cbf171 be sure to add a trailing slash 2024-06-03 11:02:51 +02:00
Matthias Pfefferle
8e7935f992
Add podcast support (#754)
* generic enclosure support

* prioritise media!

* prioritise media

* get_enclosures function

* remove unneeded check!

* some improvements

* formatting

---------

Co-authored-by: Matt Wiebe <wiebe@automattic.com>
2024-06-01 11:12:42 +02:00
Matt Wiebe
4f7a37aa7f appease the linter 2024-05-29 13:18:27 -05:00
Matthias Pfefferle
b27d4d3c36
always fall back to get_by_username if one of the above fail (#764) 2024-05-21 15:01:30 +02:00
Matt Wiebe
89a57302c6
Notifications: introduce general class and use it for new follows (#761)
* Notifications: introduce general class and use it for new follows

Also send stuff via Jetpack

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-05-16 16:03:03 -05:00
Matthias Pfefferle
3fde5bbe96
Improve lemmy compatibility (#752)
* improve lemmy compatibility

* simplify code

* fix tests

* use string instead of array

* use `actors` instead of `users`

* optimize ID generation

* update ID

* the #threadiverse needs Announces for everything! :)

* change to full Announce Object

* fix indents
2024-05-16 17:30:08 +02:00
Jan Boddez
2b96c6efd2
Improve transformer (#731)
* Factory::get_transformer() may return a WP_Error instance

* Fix templates

* PHPDoc

* "Fix" conneg (for posts, at least)

* (Hopefully) fix conneg for comments, too

* Ugly, but works?

* Fix outboxes, collections

* Clean up a bit

* Use Factory

* Remove outdated `use`

* Use Transformer\Factory instead of Transformer\Post

* "Fix" _deprecated_function() call

* Remove superfluous transformer check

* Remove transformer check

* Call Transformer::get_transformer() only once per request

* PHPDoc

* this should be fine

a failing transformer is very unlikely because there are a lot of checks before `is_singular` or `is_comment` is valid.

* no longer used

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-05-16 15:14:31 +02:00
Matt Wiebe
8bf37f78ef
Prevent infinite loops in get_comment_ancestors (#758) 2024-05-10 10:18:22 -05:00
Matt Wiebe
9e57681701
Only send Mentions to comments in the direct hierarchy (#740)
* add generic get_comment_ancestors function

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-05-03 12:42:07 -05:00
Matthias Pfefferle
f0c52580ff
Improve AUTHORIZED_FETCH (#728)
* simplify code

* show limited profile informations

* exclude application user

* use actor instead of user

* change JS

* use Application instead of Application_User

* re-add use

* add summary

* Improves comment intent

* remove limited actor json in favour of the application user

---------

Co-authored-by: Django Doucet <mediaformat.ux@gmail.com>
2024-05-03 08:54:06 +02:00
Matthias Pfefferle
0d2ce1afb3
Fix funkwhale links (#753)
* fix funkwhale links

* already done by object_to_uri

* fix lemmy @-replies
2024-05-03 08:52:02 +02:00
Matthias Pfefferle
60d6be00c3
Improve attachment handling (#751) 2024-05-02 22:14:28 +02:00
Matthias Pfefferle
cdd303cea6
Fix blog-wide account when WordPress is in subdirectory (#744)
* add broken tests

to fix them

* respect subpathes
2024-05-02 14:59:57 +02:00
Matthias Pfefferle
74403ff37f
Basic Announce support (#747)
* Basic Announce support

* fix namespace issue

* add missing function declaration
2024-05-02 10:13:34 +02:00
Django
dd5aa9ba5f
Adds a core/embed block filter to transform iframes to links (#750)
* Add function to transform outgoing embed/iframe to simple url

* Fix descriptions and code style

* filter content for core/embed blocks

* some re-arranges

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-05-02 09:39:25 +02:00
Matthias Pfefferle
119bab3cb4
Always use Note as default (#738) 2024-04-29 12:09:58 +02:00
Matthias Pfefferle
6c90990aaf
Some fixes to be compatible with discourse (#736)
* some fixes to be compatible with discourse

* always handle actors objects
2024-04-26 14:59:45 +02:00
Matthias Pfefferle
6e374b716a do not announce replies 2024-04-25 20:56:22 +02:00
Matt Wiebe
d173690d7b
Generate comment IDs for federation from home_url (#739)
* Generate comment IDs for federation from `home_url`

`site_url` is used for the WP install, not for the frontend URLs

* fix other `site_url` uses
2024-04-25 14:32:51 +02:00
Matthias Pfefferle
d94d064acb fix #734 2024-04-23 08:47:35 +02:00
Matthias Pfefferle
eb23a8a867 fix #732 2024-04-22 15:32:53 +02:00
Matthias Pfefferle
9a5beb1885 check Author-URL only if user is enabled for ActivityPub
thanks @cybeardjm
2024-04-19 13:43:09 +02:00
Matthias Pfefferle
f4adecddf6 also delete interactions with this person! 2024-04-18 18:08:01 +02:00
Alex Kirk
60f0668677
Enable Mastodon Apps: Add remote outbox fetching (#717)
* Add remote outbox fetching

* Fix linting

* reformatting

* Use the HTTP::get function and introduce caching

* Update includes/class-http.php

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>

* Update includes/class-http.php

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>

* Use use

* fix indents

* Check for an existing blurhash

* I think this is easier

* Add more error checking

* Remove debug code

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-04-18 11:13:55 +02:00
Matt Wiebe
848055c6a5
Remote Reply: limit enqueue to when needed (#725) 2024-04-11 09:08:08 +02:00
André Menrath
c67ef1b658
fix outbox collection for blog and application user (#724) 2024-04-10 08:36:51 +02:00
Matthias Pfefferle
2f66566f58 improve remote reply handling
see #720
2024-04-09 13:18:49 +02:00
Matthias Pfefferle
0cd1cdd4e8 remove remote_reply_assets_needed check
I had to remove the `remote_reply_assets_needed` check introduced in #706 because it removed the JS completely on my test machine
2024-04-08 10:07:55 +02:00
Matthias Pfefferle
be3f754a25
mask version number (#719) 2024-04-05 15:49:38 -05:00
Matthias Pfefferle
a3189a0f4c small improvements 2024-04-05 13:49:57 +02:00
Matthias Pfefferle
4132fdb501 fix excerpt length 2024-04-05 12:44:18 +02:00
Matthias Pfefferle
3bbcc2cd5c fix version numbers 2024-04-05 10:44:33 +02:00
Matt Wiebe
7ae3e7383d
Comment reply federation: support is_single_user sites (#712)
* Comment reply federation: support `is_single_user` sites

* Use the `activitypub` capability

* Use `publish_posts`

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>

* No need to convert to Blog User, happens implicitly

* Other cap instance, update comment

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-04-04 23:16:05 +02:00
André Menrath
68e1a6bb9b
don't set a default actor type in the actor class (#713)
fixes that the get_type function is not called for extended classes.

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-03-27 17:57:14 +01:00
Matt Wiebe
9e676e6339
Federated replies: improved UX for "your reply will federate" (#715)
* Federated replies: improved UX for understanding that your reply will federate

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-03-26 15:41:23 -05:00
Matthias Pfefferle
85aa63e9f2 fix counter for system users 2024-03-26 15:26:26 +01:00
Matthias Pfefferle
7ca9c2bbfa fix #714 2024-03-26 15:22:21 +01:00
Matthias Pfefferle
8c245ceae1 oops 2024-03-22 12:04:22 +01:00
Matthias Pfefferle
a8948fad4f do not show if Webmention is installed 2024-03-22 11:58:50 +01:00
Matthias Pfefferle
a1c7bc06cc Add some comment infos 2024-03-22 11:53:57 +01:00
Matthias Pfefferle
3688817cf4 mark links as "unhandled-link" and "status-link" 2024-03-14 16:09:12 +01:00
Matthew Exon
1f22ad85f6
Clarify how to set correct permalink structure (#664) (#710)
* Clarify how to set correct permalink structure (#664)

* Update includes/class-admin.php

---------

Co-authored-by: Matthew Exon <git.mexon@spamgourmet.com>
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-03-13 09:36:15 +01:00
Kaspars Dambis
343a3b5c67
Enqueue reply assets only if there is anything to reply to on the page (#706) 2024-03-12 12:57:07 -05:00
Matthias Pfefferle
e4ea69ca6f text 2024-03-12 08:31:31 +01:00
Matthias Pfefferle
79f400d88a
Improve User management (#703)
* Use an ActivityPub capability to better enable/disable ActivityPub support

* split PRs

* remove test hook

* do not run migrations for new installs

* fix unit tests

* fix unit tests

* remove abandoned schedule!

* fix migration class

* fix order

* restructuring

* remove follower migration

* do not yet remove legacy followers

* remove blog-user changes

* use a const for the version number

* add user tests and fix old ones

* use a more generic async migrator

* optimized test
2024-03-11 15:19:07 +01:00
Matthias Pfefferle
96626c6438 better validity checks 2024-03-07 16:19:34 +01:00
Matthias Pfefferle
fb0e23e885 better class handling 2024-03-05 09:39:43 +01:00
Matthias Pfefferle
02a86ced95 html_entity_decode text 2024-02-29 15:13:42 +01:00
Matthias Pfefferle
56748f6db8 fix check! 2024-02-29 15:08:27 +01:00
Matthias Pfefferle
cbbbd70890
A better default content handling based on the Object Type (#661)
* nicer default handling!

* use attachment based on the object type

* fix typo

* C&P issue

* update settings

* add default post format

* mixed up `post_format` with `object_type`

* use h2 instead of strong

* add theme support for `post-formats`

if using that feature for ActivityPub

* use Note instead of `image`, `video` and `gallery`

* add `alt` support for images

fix #94

* set type to `Note` if post-type has no title support

* better check

* hide "Post content" when WordPress-Post-Format is selected

* add ACTIVITYPUB_DEFAULT_OBJECT_TYPE const

* move some code

* use note as default
2024-02-29 14:47:10 +01:00