* Improve the property names of the transformer classes
- Rename the property 'object' to 'wp_object' to indicate that its the source
- Enhance some PHP-Docs
* Transformer might also get called with stdClass as a parameter.
Applied as suggestions from code review.
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* remove stdClass
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* Add improved classic editor image detection
Parse the HTML if possible to extract image URLs.
* dedupe
* make linter happy
* small changes
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* init shared inbox
* try to get user id from activity
* some code formatting
* disable ACTIVITYPUB_SHARED_INBOX_FEATURE
* done!
* do not use the inbox-user at all
* fix user check!
* fix user check!
* Comments 1
* Delete FUNDING.yml
* Add basic BuddyPress support
fix#122
thanks and props @skysarwer
* change URL to `bp_core_get_user_domain`
* fix "Follow" issue
fix#133
* fix#135
* version bump
* Create phpunit.yml
* Update composer.json
* Update composer.json
* Update phpunit.yml
* Update composer.json
* Create phpcs.yml
* Update phpcs.xml
* Update composer.json
* phpcs fixes
* fix typo
* Comments update
* webfinger_extract remove extra param
* coding standards
* Replies Collection, settings, other fixes
* Create stale.yml
* move stale file
* code standards cleanup
* Migrate / Update script
* bugfix
* add settings link to plugin page
* fix code standards
* fix cs
* fix PHPCS
* PHPCS fixes
* change background image for wp.org
* fix docker
* fix webfinger for email identifiers
fix#152
* version bump
* update composer file to fix unit testing
* allow plugins
* fix dependencies
* Migrate tools
* code cleanup
* regression fix
* Fix announce, clarified language
* update included filename
* code cleanup
* Improve migration UX
* Add comments view, warnings to migrate page
* style fix
* more style fixes
* Fix send_delete_activity
* replace ap_comment_id to reuse replytocom var
* Comments class missing attributes
* Post class fix attributes
* move js file to assets/js
* Separate file for Comment processing hooks
* fix file path
* associate comments to back compat post
* Fix js assets enqueue
* change regex matching potential hashtags
Matches any string starting with '#' and consisting of any number and combination of [A-Za-z0-9_] that is directly followed by whitespace or punctuation. Groups everything after '#' for access in functions using this regex.
This fixes#183 (incomplete links on hashtags containing special characters) by not matching these at all.
* also detect hashtags at the start of a paragraph
* restrict html tags after which to detect a hashtag
Hashtags should not be detected after just any html tag - for example not after an opening a or div. To still allow detection at the start of a line, allow specifically p and br to directly precede a hashtag.
* fix pagination
* Add Custom Post Type support to outbox API
* remove comment_type
* fix comparison
* remove trailing spaces
* fix phpcs issues
* fix phpcs issues
* run phpcs also on pull_requests
* fix phpcs issues
* support threaded comments from ActivityPub
* refactor support for threaded comments from ActivityPub
* remove debugging log line
* add first unit tests for class inbox
* fix code smells
* make filter function static
* attempt to resolve backwards compatibility issues
* update js to new file
* delete old js
* Remove migrate code
* update post meta canonical
* remove type and mention meta from comment filters
* extract mentions from comment_content
* phpcbf
* remove extra curly bracket
* Remove migrate code
* remove version_check()
* Update enqueue scripts
* Remove remote comments from preprocessing
* Reply to comments from Dashboard
* rename function, inserts users into reply text
* Update dispatch comments
* update comment model
* fix comment model replies property
* fix preprocess_comment cap check
* Add webfinger filter to comments
* Add comment edit datetime
* cleanup
* fix var name
* cleanup
* phpcbf
* better actual translation support
* Separate comment reply script
* migrate dispatch, migrate comment model to transform
* ignore WP_Comment type for now
* Adds new helpers for resolving inReplyTo url
* Update activitypub_send_comment_activity to include type
* remove redundant id check
* reinclude user_id in saved ap_object meta
* update post field meta
* Fix comment updated datetime
* front-end reply inserts @mentions
* enqueue reply script on front end
* use const instead of dirname
* some simplifications
* move some functions
* fixes
* some more fixes
* fix namespace
* fix unittests
* fix testcase
* fixed typo
* fix tests
* fix tests
* fix PHPCS
* move functions to transformer class
* fix warnings
* Link remote comments on frontend
* Link to comment source as row action
* Init Comments class
* remove dead dispatch action
* re-add extract mentions filter
* Restore and tweak Comment transform
* Schedule comments activities for non-admin users
* lint
* remove context property
* rename get_id method to generate_id
* fix locale
* move functions
* PHPDoc
* this is never used
* remove some edit methods
* remove replies for now
* remove JS calls
* remove reply_recipients
* never used
* remove other query-vars
* otherwise to_json would not work properly
* small changes
* use `c` for comment IDs
* remove comments.php for now
maybe re-add it later
* wp_insert_post is an action
* also parse comment_text
* remove duplicate functions
* add Base transformer
* remove invalid test
* update to new query var
* update dispatcher to support comments and posts
* fix transition
* remove unused functions for now
* schedule_comment_activity seems to ignore create and update
* fix wrong use of functions!
* not every platforms sends an URL
* check source-id first
* remove hashtags for now
* fallback to ID
* fix typo
* move to_activity to Base class
* remove unused function
* add support for announce and like
* also ping inboxes of other commenters in the thread
* restructure WebFinger class
* some small improvements
* simplified to_object class
props @Menrath for the feedback and the idea!
* fix unit tests
* make transformer filterable
/cc @Menrath
* use transformer factory, so that transformer can be overwritten
* phpcs fixes
* fix attachments
* fix comment transformer
* remove comments for now
* update readme/changelog
* simplify and unify json_encodes
---------
Co-authored-by: Django Doucet <mediaformat.ux@gmail.com>
Co-authored-by: Andreas <andreas@bocops.de>
Co-authored-by: Eana Hufwe <eana@1a23.com>
Co-authored-by: Matthew Exon <git.mexon@spamgourmet.com>
Co-authored-by: Django Doucet <django.doucet@webdevstudios.com>
* init
* save source id
* fix delete and add improve undo
* test new functions
* add support for threaded comments
* some formatting
* check if URL is no longer available
...and returns either status 410 or 404.
* improve delete handler
* improve update handler
* `object` and `actor` are already required by the inbox endpoint
* fix typo
* simplify queries
* cosmetics
* fix unit tests
* schedule delete comments of deleted actor (#575)
* schedule delete comments of deleted actor
* phpcs
---------
Co-authored-by: Django Doucet <django.doucet@webdevstudios.com>
* move `get_comments_by_actor` to interactions collection
* consistent wording
* implement Tombstone
* fix follow issue
* fix inbox-create
* added missing namespace
* check if field is set
* Fix namespacing issue
* update profile and update interaction
* fields are already validated by inbox
* optimize avatar handling
---------
Co-authored-by: Django <mediaformat.ux@gmail.com>
Co-authored-by: Django Doucet <django.doucet@webdevstudios.com>
* Check if the current post type supports ActivityPub.
* Update includes/functions.php
Co-authored-by: Jeremy Herve <jeremy@jeremy.hu>
* Update functions.php
---------
Co-authored-by: Jeremy Herve <jeremy@jeremy.hu>
* search for followers and order the output list
* re-use existing nonce!
* verify nonce for search!
---------
Co-authored-by: Matt Wiebe <wiebe@automattic.com>
* Fix#493
* Fix parenthesis
* Allow `p` and `br` tags only for AP comments
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* Add monthly active users for better stats on FediDB
* use more optimized query
thanks @mattwiebe
* use transients, improve logic
---------
Co-authored-by: Matt Wiebe <wiebe@automattic.com>
* only in the block editor
* update settings page copy: media, not just images
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* remove unused code
* check if `$data['object']` is a sting
* do not index application user
* this fixes GoToSocial errors
* do not cache errors
* re-added the fragment
See https://github.com/superseriousbusiness/gotosocial/issues/2280
* Fix coding standards
* do not verify signature on head request
* only encode needed data
* don't show user select if there isn't more than one user
* vertically center follow me
* add title to handle: might be truncated
* theme compat: ensure readability in dialog
* theme compat for dark bg themes
* fix html-entity issue in username
* remove kses
let other platforms decide what to allow and what not
* Remove html_entity_decode to prevent encoding issues (#454)
I've tested this on content which includes MarkDown, HTML, encoded entities, unencoded entities, etc.
Fixes#445
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* remove allowed tags
---------
Co-authored-by: Terence Eden <edent@users.noreply.github.com>
* fix#463
* fix delete
/cc #465 @janboddez
* add disclaimer to not use the same name as an author login
see #470
* check if url is cached before trashing it
* more group friendly settings
* change http code
* Fix Actor-Type
* fix check if value is set
* only ignore null
* better posting_restricted_to_mods handling
* remove user namespace from moderators endpoint
thanks for the feedback @mattwiebe
This will prevent the issue of attaching images that don't were uploaded to the post but not used in the post
The post needs to be using blocks to get the introspection required.
* Use a tag stack instead of regex for protecting tags
* Use the placeholder in the test
* Add comments
* Update comment
* ignor html comments
thanks @marcS0H
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* 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>
* Post images: fix a typo in the hook name
Follow-up to #309
It should be '_post', not twice '_pre'.
* let grunt create the readme.md
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* Fix some signature and application user issues
* it seems that firefish needs at least an inbox also for application users
* prepare domain change
* use https
* fix PHPDoc
* remove image check
---------
Co-authored-by: Matt Wiebe <wiebe@automattic.com>
The Follow Me block helps site visitors to follow you in the fediverse
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
* 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
* 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
Introduces a new Followers block. Proudly display your Fediverse followers to the world!
---------
Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
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