Commit Graph

43 Commits

Author SHA1 Message Date
c30fcead74
[DEPENDENCIES] Move from Symfony 5.4 to 6 and update all other packages, where applicable 2022-03-09 20:51:42 +00:00
fa0d02a9ac
[PLUGIN][OAuth2] Start adding OAuth2 support with client registration
This hardcodes the user, and has some other issues, so it is not yet
complete.

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
5f243f68be
[DEPENDENCIES] Add symfony/psr-http-message-bridge 2022-01-21 22:05:34 +00:00
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
38baa192d8
[DEPENDENCIES][TOOL] Add codeception and bootstrap it for acceptance and accessibility testing 2022-01-09 14:42:16 +00:00
ba0b0629b7
[TOOLS] Fix deprecations in php-doc-check by providing my own implementation 2022-01-03 02:18:44 +00:00
774b33a522
[DEPENDENCIES] Update dependencies and Symfony to 5.4 LTS 2021-12-24 02:46:41 +00:00
b1227d36f1
[CARDS][Note] In conversation time ago information added 2021-12-08 22:48:04 +00:00
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
4571b18c60
[DEPENDENCIES] Update dependencies 2021-11-25 20:37:53 +00:00
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
a55d60d880
[DEPENDENCIES] Update dependencies 2021-10-28 14:31:56 +01:00
51c984849f
[ActivityPub] Port Explorer 2021-10-27 04:22:19 +01:00
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
ecb1064d08
[DEPENDENCIES] Add PHPStan as a dev dependency 2021-09-14 13:13:42 +01:00
6ac37bc7fb
[DEPENDENCIES] Update dependencies 2021-09-14 13:13:41 +01:00
f67173061b
[VideoEncoder] Add plugin composer dependency php-ffmpeg/php-ffmpeg 2021-09-14 13:13:32 +01:00
b355f0d590
[DEV] Add PsySH REPL 2021-09-14 13:13:20 +01:00
c3d2f04841
[DEPENDENCIES] Add symfonycasts/reset-password-bundle as a dependency 2021-09-14 13:13:17 +01:00
f2727f9327
[DEPENDENCIES] Add doctrine/doctrine-fixtures-bundle, which allows populating the database in the testing environment 2021-09-14 13:12:59 +01:00
8ad8546aab
[DEPENDENCIES] Add oroinc/doctrine-extensions, which provides cross database platform date functions 2021-09-14 13:12:54 +01:00
b647e31495
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler' 2021-09-14 13:12:51 +01:00
e834ac2c8d
[DEPENDENCIES] Add php-vips 2021-09-14 13:11:51 +01:00
ed59cce0f9
[COMPOSER][Media] Add example composer.json in plugins/Media 2021-09-14 13:11:49 +01:00
3b901745d5
[Embed][StoreRemoteMedia][Media] Copy and cleanup plugins from v2 2021-09-14 13:10:54 +01:00
92d0848280
[DEPENDENCIES] Add jchook/phpunit-assert-throws and update dependencies 2021-09-14 13:10:23 +01:00
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