- added option to remove the like/dislike from an article/comment with creating the correct Undo activity
- added option to remove article with creating the correct Undo activity
- fixed problem where post might not be accepted/saved when no receiver was set (posterName was previously excluded from receivers)
- fixed how To and CC field (recipients) are handled in general
- fixed posts in database
- improved some error exceptions and prevented early breaks through try-catch blocks
- we now support CN-articles on our newcontent endpoint, with create and update calls
- also fixed issue where we didn't retrieve posts from the DB
- also fixed issue where posts from db were malformatted
- changed contentnation data-converter for comments & votes to support the new data-structure (more consistent, easier to read)
- also integrated better support for newContent types
- Integrated saving posts to database (posts gotten via outbox request as well as posts received in the NewContent endpoint)
- proper support for handling comments
- support for likes/dislikes
- support for requesting followers / following endpoints
- better inbox support
database needs changes, don't forget to run migration
- the resque queue integration is now connected to our redis instance.
- IMPORTANT NOTICE: In order for this to work, we needed to change the plugins file under vendor/resque/php-resque/lib/Resque/Redis.php #137 ($this->driver->auth($password, $user); (this change is neccessary for our implementation, as they normally don't support the $user attribute as it would be upstream breaking change). I might create a fork for this, to which we bind with composer
- The inboxJob now inherits from api instead of creating its own api instance
- inbox now actually works with follows and Undo-follows from mastodon->CN (adding the follower to our followers-db and removing it on undo).
- fixed bug where paths for templates was incorrectly adjusted
- better/proper support for comment-activity in getExternalPosts
- added php-resque for queue job and worker support
- removed all document_root dependencies (as that doesn't work in the queue-environment
- added project_root global variable for more robust setup
- some file-constistency fixed
- config referring paths are now starting in project-root
- inbox now does the heavy-duty on a queue
- fixed rewrites to properly support @username/outbox, username/outbox, users/username/outbox, ...
- initial support for sending follow to e.g. mastodon (code commented out in api.php)
- database migration for follows table and fedusers table
- save retrieved fedusers in cache and db
- depend more on configs externaldomain, less on server_name
- properly implemented following-logic in dio
- made postForuUser static in newContent and inbox
- provide rsaprivate for signing reuests -> actPub-Servers
- change contenttype depending on use-case
- changed user json-template to have loop-back between user-template and webfinger (mastodon f.e. needs this)
- checkSignature for our fqdn now happens in the connector
- cache public key for 1 hour
- change author on some files
- refactored outbox to api/v1/newcontent (CN->Federator communicates to here)
- disabled post for outbox (as that should go to v1/newcontent)
- initial support for receiving votes from CN, not fully working/clean yet
- we now check whether the request was sent from contentnation and approve the request with contentnations pub key
- fix issue where inbox wasn't gotten as it also got a username
- rough initial draft of parsing of connector-specific data (plugins/federator/contentnation::jsonToActivity)
- added key paths and headername to config
- In-&Outbox now use factories to convert data
- initial creation of followers-data (wip, not working)
- fixed some issue where connector would always fail (as we deliberately always pass username@domain and the regex there always fails)
- deleted all mastodon-files (mastodon.ini and mastodon plugin)
- minor fix where toObject of create would override id with an empty string if no url is set
- also cleaned up dummy
- added new rewrite for apache for sharedInbox (your.fqdn/inbox)
- fixed json-formatting of publicKey when requesting user via api
fix lots of phan errors, now we only have phan errors left from temporary implementations. These will be fixed in the next commits as we properly re-integrate and remove temporary-code
- we can now receive content into outbox (f.e. from contentnation) and post it into the outbox-user-logfile for now
- we now verify post-requests according to ActivityPub standard
- minor bugfix where user specified by passed user-parameter is possibly not included in postForUser-call
- includes hacky following-mechanic in order to simulate a follow on mastodon (not properly working, need to also inject the user this creates into the followers db for the target mastodon-user)
- created endpoint for inbox. SharedInbox is used when no user is provided (/api/federator/fedusers/inbox'), the regular inbox link now works (/users/username/inbox).
- Retrieve all followers of sender and, if they're part of our system, send the activity into their personal inbox
- Support Announce and Undo Activity-Types
- Inbox currently converts to proper ActPub-objects and saves data to log-files
- permissions are always lower-case
- revert webfinger changes to initial state
- re-add setFirst and setLast for outbox
- we now save the current host (f.e. https://contentnation.net) to save users with their respective host (a request to fedusers/grumpydevelop will then result in saving the user as grumpydevelop@contentnation.net)
- mastodon now properly sets available type-attributes
- database should now save user with his platform (as that's the actual unique identifier, plain username isn't)
- properly retrieve items from mastodon and print them on api-call
(example call for mastodon: federator/fedusers/gutenberg_org@mastodon.social/outbox?page=0)
- reworked plugin handling. Main now registers and keeps all connectors and based on request we select the correct one and pass it (mainly for clean async-request-handling)
- added outbox functionality for mastodon
- changed image-mime-type approach to retrieve mime-type from the url, this way we don't need to store the images on our server/download each image
- added host for connector for better debugging
- minor bug-fixes