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
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
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