Commit Graph

44 Commits

Author SHA1 Message Date
Hugo Sales 76f2cdd212
[DEPENDENCIES] Update dependencies 2022-10-19 22:38:44 +01:00
Hugo Sales c30fcead74
[DEPENDENCIES] Move from Symfony 5.4 to 6 and update all other packages, where applicable 2022-03-09 20:51:42 +00:00
Hugo Sales fa0d02a9ac
[PLUGIN][OAuth2] Start adding OAuth2 support with client registration
This hardcodes the user, and has some other issues, so it is not yet

We follow mastodon's spec for automatic client registration, available
at both `/api/v1/apps` and a more reasonable `/oauth/client`. This
accepts a JSON POST with the client info and returns JSON with a
`client_id` and a `client_secret`, to be used with `/oauth/authorize`
and `/oauth/token`. It also, seemingly, requires returning an `id`
with unclear purpose.

The `/oauth/token` endpoint doesn't currently return a `me` field.
2022-01-25 13:35:44 +00:00
Hugo Sales 5f243f68be
[DEPENDENCIES] Add symfony/psr-http-message-bridge 2022-01-21 22:05:34 +00:00
Diogo Peralta Cordeiro 480f570238
[CORE][SECURITY][HTML] Refactor Security::sanitize to HTML::sanitize
Update composer dependencies, move more general deps from ActivityPub to Core
2022-01-12 17:12:58 +00:00
Hugo Sales 38baa192d8
[DEPENDENCIES][TOOL] Add codeception and bootstrap it for acceptance and accessibility testing 2022-01-09 14:42:16 +00:00
Hugo Sales ba0b0629b7
[TOOLS] Fix deprecations in php-doc-check by providing my own implementation 2022-01-03 02:18:44 +00:00
Hugo Sales 774b33a522
[DEPENDENCIES] Update dependencies and Symfony to 5.4 LTS 2021-12-24 02:46:41 +00:00
Eliseu Amaro b1227d36f1
[CARDS][Note] In conversation time ago information added 2021-12-08 22:48:04 +00:00
Diogo Peralta Cordeiro 778cb57d83
[PLUGIN][ActivityPub] Finish base ActivityStreams 2.0 interface
Instructions below

To extend an Activity properties do:

public function onActivityPubValidateActivityStreamsTwoData(string $type_name, array &$validators): bool {
    if ($type_name === '{Type}') {
        $validators['attribute'] = myValidator::class;
    return Event::next;

The Validator should be of the form:

use ActivityPhp\Type;
use ActivityPhp\Type\Util;
use Plugin\ActivityPub\Util\ModelValidator;

class myValidator extends ModelValidator
     * Validate Attribute's value
     * @param mixed $value from JSON's attribute
     * @param mixed $container A {Type}
     * @return bool
     * @throws Exception
    public function validate($value, $container): bool
        // Validate that container is a {Type}
        Util::subclassOf($container, Type\Extended\Object\{Type}::class, true);

        return {Validation Result};

To act on received activities do:

public function onActivityPubNew{Type}(&$obj): bool {

To add information to Activities being federated by ActivityPub do:

public function ActivityPubAddActivityStreamsTwoData(string $type_name, &$type): bool {

To implement an ActivityStreams 2.0 representation do:

public function onActivityPubActivityStreamsTwoResponse(string $route, arrray $vars, ?TypeResponse &$response = null): bool {
        if ($route === '{Object route}') {
                $response = ModelResponse::handle($vars[{Object}]);
                return Event::stop;
        return Event::next;
2021-12-04 21:05:07 +00:00
Hugo Sales 4571b18c60
[DEPENDENCIES] Update dependencies 2021-11-25 20:37:53 +00:00
Hugo Sales 5e4ada7b78
[DEPENDENCIES] Update symfony to 5.3, which fixes a bug with the doctrine postgres message worker 2021-11-15 19:25:53 +00:00
Hugo Sales a55d60d880
[DEPENDENCIES] Update dependencies 2021-10-28 14:31:56 +01:00
Diogo Peralta Cordeiro 51c984849f
[ActivityPub] Port Explorer 2021-10-27 04:22:19 +01:00
Diogo Peralta Cordeiro 8544fe157b
[FreeNetwork] First steps porting webfinger/lrdd to v3, GET webfinger requests already have a basic result 2021-10-27 04:19:29 +01:00
Hugo Sales ecb1064d08
[DEPENDENCIES] Add PHPStan as a dev dependency 2021-09-14 13:13:42 +01:00
Hugo Sales 6ac37bc7fb
[DEPENDENCIES] Update dependencies 2021-09-14 13:13:41 +01:00
Diogo Peralta Cordeiro f67173061b
[VideoEncoder] Add plugin composer dependency php-ffmpeg/php-ffmpeg 2021-09-14 13:13:32 +01:00
Diogo Peralta Cordeiro b355f0d590
[DEV] Add PsySH REPL 2021-09-14 13:13:20 +01:00
Hugo Sales c3d2f04841
[DEPENDENCIES] Add symfonycasts/reset-password-bundle as a dependency 2021-09-14 13:13:17 +01:00
Hugo Sales f2727f9327
[DEPENDENCIES] Add doctrine/doctrine-fixtures-bundle, which allows populating the database in the testing environment 2021-09-14 13:12:59 +01:00
Hugo Sales 8ad8546aab
[DEPENDENCIES] Add oroinc/doctrine-extensions, which provides cross database platform date functions 2021-09-14 13:12:54 +01:00
Hugo Sales b647e31495
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler' 2021-09-14 13:12:51 +01:00
Hugo Sales e834ac2c8d
[DEPENDENCIES] Add php-vips 2021-09-14 13:11:51 +01:00
Hugo Sales ed59cce0f9
[COMPOSER][Media] Add example composer.json in plugins/Media 2021-09-14 13:11:49 +01:00
Hugo Sales 3b901745d5
[Embed][StoreRemoteMedia][Media] Copy and cleanup plugins from v2 2021-09-14 13:10:54 +01:00
Hugo Sales 92d0848280
[DEPENDENCIES] Add jchook/phpunit-assert-throws and update dependencies 2021-09-14 13:10:23 +01:00
Hugo Sales f5a6e2f047
[DEPENDENCIES] Upgrade to Symfony 5.2 to get my upstream ICU translation feature 2021-09-14 13:10:21 +01:00
Hugo Sales ce3cae0ef7
[DEPENDENCIES] Update all dependencies 2021-09-14 13:06:56 +01:00
Hugo Sales de8fa87079
[DEPENDENCIES] Update dependencies 2021-09-14 13:06:55 +01:00
Hugo Sales a5cf89674e
[DEPENDENCY] Add tgalopin/html-sanitizer-bundle and transitively tgalopin/html-sanitizer 2021-09-14 13:05:57 +01:00
Hugo Sales 7560db4d5f
[DEPENDENCY] Update dependencies 2021-09-14 13:05:46 +01:00
Hugo Sales ead29a636d
[DEPENDENCY] Add odolbeau/phone-number-bundle 2021-09-14 13:05:44 +01:00
Hugo Sales 4776cff969
[DEPENDENCY] Add mock polyfill implementations of the redis and memcached extension 2021-09-14 13:05:35 +01:00
Hugo Sales 2671c37039
[PHP][EXTENSION][POLYFILL] Add php-ds polyfill, which is used if the native extension is not available 2021-09-14 13:05:34 +01:00
Hugo Sales 441fd8490f
[DEPENDENCY] Add symfony/messenger as a dependency 2021-09-14 13:05:33 +01:00
rainydaysavings ac46c14344
[DEPENDENCY] Add erusev/parsedown and twig/markdown-extra as dependencies 2021-09-14 13:05:32 +01:00
Hugo Sales 8649b72192
[DEPENDENCY] Upgrade Symfony framework from 5.0 to 5.1 2021-09-14 13:05:28 +01:00
Hugo Sales 82ae4f8920
[DEPENDENCY] Added alchemy/zippy, which adds support for multiple archive formats. Used to allow theme uploads in zip, tar, gz, or other formats 2021-09-14 13:05:26 +01:00
Hugo Sales 6df658a987
[CORE][EXTENSIONS] Added extension (modules, plugins) loading and test plugin, which is able to handle events 2021-09-14 13:01:34 +01:00
Hugo Sales cc72373e3d
[DOCTRINE][SCHEMADEF] Create a new metadata driver to allow us to continue using static schemaDef functions
This has the benefit of requiring fewer code changes, as well as providing a better isolation
between GNU social and symfony, useful in case the framework needs to be changed
2021-09-14 13:01:34 +01:00
Hugo Sales 710aa946ab
[COMPOSER] Update composer dependencies 2021-09-14 13:01:33 +01:00
Hugo Sales feaee1b238
[CORE][EVENTS] Bring existing Events and Boostrapper back
- Adapt the existing event system to rely on Symfony's event dispatcher
2021-09-14 13:01:33 +01:00
Hugo Sales 4b31c1f48f
[V3] Big Bang
Beginning anew, this time with a modern framework: symfony
2021-09-14 13:01:33 +01:00