Commit Graph

20226 Commits

Author SHA1 Message Date
Eliseu Amaro
cb276aee81
[CSS] Screen media queries are now clearly documented and calculated using various takes on the Van de Graaf Canon and Tschichold’s recommended 2:3 page-size ratio 2021-12-06 19:07:59 +00:00
Diogo Peralta Cordeiro
330e09f2d3
[PLUGIN][ActivityPub] Only store a new object if there were no previous activities with it before 2021-12-05 21:09:30 +00:00
Diogo Peralta Cordeiro
5196b669b9
[PLUGIN][ActivityPub] Add attachment support to Notes 2021-12-05 21:04:20 +00:00
Diogo Peralta Cordeiro
63bf93d7f3
[CORE][Entity][Note] Language can be null 2021-12-05 21:03:13 +00:00
Diogo Peralta Cordeiro
19b8a7648e
[PLUGIN][ActivityPub] Implement Avatar support 2021-12-05 20:08:14 +00:00
Hugo Sales
2a161c9c66
[PLUGIN][TagBasedFiltering] Block actor tags, but don't block notes from the current actor 2021-12-05 19:18:57 +00:00
Hugo Sales
259e07b259
[ENTITY][ActorTag][ActorTagBlock] Add 'use_canonical' column 2021-12-05 17:55:49 +00:00
Hugo Sales
9f445632b2
[PLUGIN][TagBasedFiltering] Expand to allow filtering by actor tags 2021-12-05 17:55:49 +00:00
Hugo Sales
e29e1cc87c
[ENTITY] Rename 'getFrom' to 'getBy' 2021-12-05 17:55:46 +00:00
Hugo Sales
c40866ecf6
[PLUGIN][TagBasedFiltering] Add TagBasedFiltering plugin, which allows filtering feeds by note tags and (soon) actor tags 2021-12-05 17:54:58 +00:00
Hugo Sales
4f669d4e01
[ENTITY][NoteTag][Language] Add convinience cache getters 2021-12-05 17:54:58 +00:00
Hugo Sales
a47a01abee
[ENTITY][ActorTagBlock][NoteTagBlock] Add ActorTagBlock and NoteTagBlock 2021-12-05 17:54:58 +00:00
Hugo Sales
6b719daa14
FIXUP POSTING TAG COMP 2021-12-05 17:54:58 +00:00
Hugo Sales
8a495bd714
[CONTROLLER][Feeds][EVENT] Refactor and add 'FilterNoteList' event 2021-12-05 17:54:58 +00:00
Hugo Sales
2f5bde913c
[COMPONENT][Posting][Tag] Add mechanism for adding extra fields to and handling the data from the Posting form. Add 'use canonical tag' field 2021-12-05 17:54:58 +00:00
Hugo Sales
314859b775
[ENTITY][NoteTag] Add 'use_canonical' column, which indicates whether the user wanted to canonicalize the tag or not (for themselves, the canonical field is still filled, for blocks) 2021-12-05 17:54:58 +00:00
Hugo Sales
1457aa8220
[UI][PLUGIN][DeleteNote][EVENT] Add 'AddExtraNoteActions' event, which can be leveraged to add extra actions on each note, but which are normally collapsed 2021-12-05 17:54:58 +00:00
Hugo Sales
969df371dd
[COMPONENT][Avatar] Small refactor 2021-12-05 17:54:58 +00:00
Diogo Peralta Cordeiro
9512890264
[PLUGIN][ActivityPub] Implement Actor Update
Diverse minor bug fixes
2021-12-05 03:11:08 +00:00
Diogo Peralta Cordeiro
9506909e7a
[COMPONENT][FreeNetwork] Iterate documentation 2021-12-04 21:05:09 +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
Diogo Peralta Cordeiro
044649c745
[PLUGIN][VideoEncoder] Some videos don't have images (video stream), only audio, handle that 2021-12-03 03:32:44 +00:00
Eliseu Amaro
4501b7e85e
[CONTROLLER][UserPanel] Re-organised all settings forms. Added email, password, language forms separated from account or personal account info
[CORE][Form] Better PHPDoc and used is_null() for checks

[ENTITY][LocalUser] Add setNicknameSanitisedAndCached

[UTIL][Exception] Better NicknameNotAllowedException default message
2021-12-03 03:32:43 +00:00
Diogo Peralta Cordeiro
e16fade490
[CONFIGURATION] Add webp to attachments:supported whitelist 2021-12-03 03:32:43 +00:00
Diogo Peralta Cordeiro
582519e13e
[COMPONENT][Attachment] Do not show download links for non-local attachments 2021-12-03 03:32:43 +00:00
Eliseu Amaro
ff5f346fec
[PLUGINS][Oomox] Further checks done when handling form requests. Improved documentation, fixed typos and diminished repeated calls 2021-12-03 03:32:38 +00:00
Eliseu Amaro
ba632b4514
[CSS] Note content text decoration underline set on anchor links 2021-12-03 01:19:09 +00:00
Diogo Peralta Cordeiro
b66873e289
[PLUGIN][StoreRemoteMedia] Do not save empty files 2021-12-03 01:16:57 +00:00
Diogo Peralta Cordeiro
70ed04a7db
[COMPONENT][Link] Fix some minor issues with empty headed links, typo in event handler's name, and refactor entity to inside component 2021-12-03 00:46:52 +00:00
Eliseu Amaro
56d653d980
[CSS] Adding margin-left to .note-author-nickname 2021-12-02 22:55:01 +00:00
Diogo Peralta Cordeiro
bded039282
[PLUGIN][Embed] try catch absence of favicon 2021-12-02 22:49:27 +00:00
Eliseu Amaro
d802af6d91
[COMPONENTS] Accesskey highlight class set 2021-12-02 22:44:58 +00:00
Eliseu Amaro
a1b002659f
[CSS] Focusable elements only show accent inset shadow when focused by keyboard, not by any other way 2021-12-02 22:40:27 +00:00
Diogo Peralta Cordeiro
2e11001b8f
[PLUGIN][Embed] Fix links 2021-12-02 22:21:49 +00:00
Eliseu Amaro
e5f09a26d4
[CSS] Ultra widescreen dimensions fix 2021-12-02 22:21:49 +00:00
Eliseu Amaro
6ce78141a8
[CONTROLLER][UserPanel] Actor nickname cache is updated 2021-12-02 22:21:47 +00:00
Diogo Peralta Cordeiro
5130e7e70f
[COMPONENT][Attachment] Update routes to use /object/ namespace 2021-12-02 21:26:06 +00:00
Diogo Peralta Cordeiro
2445b5318d
[PLUGIN][Embed] Make it work when content-length header is not provided 2021-12-02 21:26:06 +00:00
Diogo Peralta Cordeiro
bfec10fc95
[COMPONENT][Attachment][Entity][Attachment] getThumbnail can be null 2021-12-02 21:26:05 +00:00
Eliseu Amaro
2967b544f5
[CONTROLLER][UserPanel] Nickname now normalized 2021-12-02 20:49:10 +00:00
Eliseu Amaro
12557a1e16
[PLUGINS][Oomox] Reset theme colors added 2021-12-02 20:26:27 +00:00
Eliseu Amaro
863cfbdedc
[CONTROLLER] Old password input type set to password
[CONTROLLER] Notification form fields requirement set to false
2021-12-02 19:32:39 +00:00
Hugo Sales
f5ec099e9a
[COMPONENT][Tag][Search] Fix typo in event handler name mismatch 2021-12-02 19:17:37 +00:00
Hugo Sales
772ec6efcf
[UI] Set html img width and height attributes for avatar 2021-12-02 19:13:33 +00:00
Hugo Sales
92d5f3ec1e
[COMPONENTS][Avatar] Delete correct cache key on avatar update 2021-12-02 19:13:23 +00:00
Eliseu Amaro
d915b4b628
[CSS] Note language note view polish 2021-12-02 18:36:18 +00:00
Eliseu Amaro
f35dbbd8c1
[COMPONENTS][Search] Polished template
[COMPONENTS][Search] Fix event typo
2021-12-02 16:37:17 +00:00
Eliseu Amaro
5cd96669fd
[COMPONENTS] LeftPanel and RightPanel checkbox hack trick
The anchor used for the accessibility menu preceded the left/right panel sections, rendering the checkbox useless
2021-12-02 15:49:09 +00:00
Eliseu Amaro
9482bb2254
[CSS] Avatar max-height defined 2021-12-02 15:30:24 +00:00
Diogo Peralta Cordeiro
eeaad19754
[Attachment] Move Controller and Entities to a Component
There's no problem in having the templates in the core
2021-12-02 15:14:07 +00:00