Commit Graph

5584 Commits

Author SHA1 Message Date
9d0b39e680
[PLUGIN][ActivityPub] Support tags in notes 2021-12-25 18:04:31 +00:00
36483a6ecd
[COMPONENT][Link] Ignore html anchors that include mention class 2021-12-25 18:04:30 +00:00
0d5e545a6e
[TWIG] Replaced unused markup classes 2021-12-25 17:59:49 +00:00
7891461d36
[PLUGINS][AttachmentCollections] Fix template
[PLUGINS][AttachmentShowRelated] Fix template

[CSS] Fix section-subtitle-details children padding issues

[COMPONENTS][Posting] Remove unnecessary colon

Overall polish of existing plugins templates
2021-12-25 17:31:16 +00:00
8651bd44c2
[PLUGINS][ProfileColor] Fix callable argument when retrieving cache data 2021-12-25 15:31:24 +00:00
af3d278fde [PLUGIN][AttachmentCollections] Prevent user from appending stuff in a collection (s)he doesn't own 2021-12-25 11:27:00 -03:00
1e965157de [PLUGIN][AttachmentCollections] Iterate documentation 2021-12-25 11:25:50 -03:00
82e6e95b6a [PLUGIN][AttachmentCollections] Add Attachment Collection plugin which allow users to save attachments in collections 2021-12-24 11:29:37 -03:00
63f9c6341e [COMPONENT][RightPanel] Sends request object in the AppendRightPanelBlock event 2021-12-24 10:20:55 -03:00
1947e99430
[DOC] Add documentation to methods flagged by doc-check 2021-12-24 09:34:13 +00:00
e3efd25b43
[PLUGIN][ActivityPub] Fix typo in getObjectByUri 2021-12-24 02:46:45 +00:00
7407028891
[PLUGIN][RepeatNote] Fix getRepeatNotes query 2021-12-24 02:46:45 +00:00
671c3968e2
[TWIG][Templates] Rename inconsistent CSS classes
[CSS] Font size hierarchy refactor
[PLUGINS][MediaFeed] Renamed BeforeFeed event

Type scale hierarchy redone. Bigger line height added, making it easier
to click on links and separate contents.

Feed title added. AddFeedActions replaces BeforeFeed event.
MediaFeed links will now show an icon to the right of the feed title,
smaller footprint and more consistent with the overall design.
2021-12-24 02:46:44 +00:00
f10b3bb05c
[PLUGINS][MediaFeed] Fixed template path typos 2021-12-24 02:46:44 +00:00
774b33a522
[DEPENDENCIES] Update dependencies and Symfony to 5.4 LTS 2021-12-24 02:46:41 +00:00
3c79d82b80
[PLUGIN][ActivityPub][Note] Support inReplyTo 2021-12-24 02:46:39 +00:00
7d8cce3b27
[COMPONENT][Feed] Correct queries and introduce new feeds
Refactor feeds and search to use a common query builder
2021-12-24 00:44:39 +00:00
1865d2b41e
[ActivityPub][Postman] Fill To and CC with mentions 2021-12-24 00:42:02 +00:00
c494928b46
[PLUGIN][MediaFeed] Remove unused import 2021-12-24 00:41:53 +00:00
5115145901
[PLUGIN][MediaFeed] Iterate Documentation 2021-12-24 00:41:44 +00:00
d04b68a3ce
[PLUGIN][MediaFeed] Add Media plugin which filters a feed by notes containing media 2021-12-22 11:13:06 +00:00
dd5d46c556 [CORE] Add option to filter notes even when there's no actor 2021-12-21 14:33:19 -03:00
e2c0505620
[ActivityPub][Inbox] Add request to debug logs 2021-12-21 15:52:41 +00:00
1832397363
[ActivityPub] Include recent actor type attribute in its creation
Improve debug logs
2021-12-20 13:32:49 +00:00
ed67da89dc
[TAGS] Fix some minor logic issues with Actor Tags and Circles 2021-12-20 13:32:49 +00:00
630e22579e
[PLUGIN][RepeatNote] Add support for onGSVerbToActivityStreamsTwoActivityType 2021-12-20 13:32:48 +00:00
8d1e000574
[PLUGIN][Favourite] Add support for onGSVerbToActivityStreamsTwoActivityType 2021-12-20 13:32:48 +00:00
a9c73a8f33
[PLUGIN][ActivityPub] Add mention tags 2021-12-20 13:32:48 +00:00
a005a7bcea
[PLUGIN][ActivityPub] Add getUriByObject, so that we can construct activities referring to other known objects (local or foreign) 2021-12-20 13:32:46 +00:00
1d09a02ad6
[FreeNetwork][ActivityPub] Sometimes remote Actors report empty full names in not very explicit manners 2021-12-19 19:04:05 +00:00
a81ac673ac
[CORE][ENTITY] Rename 'Entity::getWithPK' to 'Entity::getByPK' 2021-12-19 19:04:01 +00:00
ff38efd5f1
[PLUGIN][ProfileColor] Cache results 2021-12-13 15:49:52 +00:00
5dd9e5a3d7
[PLUGIN][RepeatNote] Add Notifications and ActivityPub support
Minor bug fixes
2021-12-10 04:05:41 +00:00
0ee4cc7709
[PLUGIN][Favourite] Notify when actor favours a note 2021-12-10 04:05:35 +00:00
4992ff153b
[PLUGIN][RepeatNote] Fill activity log and fix some bugs
Refactored the plugin.
2021-12-10 04:05:26 +00:00
01689edc66
[PLUGIN][Favourite] Report already favoured or unfavoured 2021-12-10 04:05:22 +00:00
1be4b3d481
[EVENT][FilterNoteList] Use an in-out parameter, so multiple events can act on this 2021-12-09 21:39:00 +00:00
26b95fae96
[PLUGIN][StemWord] Remove the country part from the code. Ignore if no stemmer is found for the given language 2021-12-09 16:23:09 +00:00
774e32f834
[PLUGINS][TreeNotes] Working, however feed is still not formatted
[ENTITY][Note] Fix for getReplies()
2021-12-09 00:15:47 +00:00
64122a9612
[PLUGIN][Favourite] Add ActivityPub Inbox support 2021-12-08 23:24:25 +00:00
5025901c86
[PLUGIN][Favourite] Log changes into Activity 2021-12-08 23:24:25 +00:00
480a42cca5
[PLUGIN][ActivityPub] Introduce ActivitypubObject. Beware, inside the plugin, an Object can never be an Activity.
Many bug fixes and other major changes (interface changed, see EVENTS.md)
2021-12-08 23:24:23 +00:00
df92b0d225
[COMPONENTS][Conversation] Refactored Reply plugin into Conversation component
[PLUGIN][TreeNotes] TODO: think it is broken, perhaps a problem of the conversation arguments passed in note card template
2021-12-08 22:48:04 +00:00
614e02b4c6
[PLUGIN][TagBasedFiltering] Add to user settings page and split adding tags from note/actor from editing blocked 2021-12-08 19:57:36 +00:00
d52a043705
[TWIG] Restructure user settings template, making it much easier to use and extend 2021-12-08 19:57:35 +00:00
3b8a3e953d
[CONTROLLER][FeedController] Make post processing happen more automatically, reducing noise in individual controllers. Now it's enough to simply extends App\Core\Controller\FeedController, to implement a feed 2021-12-08 10:20:37 +00:00
7783922b2e
[CONTROLLER][PLUGIN][Directory][Favourite][Reply][CORE][FeedController] Refactor to new FeedController 2021-12-07 23:34:32 +00:00
c131e47176
[COMPONENT][Tag] Remove wrong canonicalization of tags in tag feed controller. Fix display of original tags 2021-12-07 20:10:59 +00:00
4657a1d6a5
[COMPONENTS][Tag] Fix actor tag template
[PLUGINS][RelatedTags] Fix actor tag template
2021-12-07 15:35:27 +00:00
546c5c84fd
[COMPONENTS][Tag] Actor/Note tag template polished
[PLUGINS][RelatedTags] Disable rendering of template when no results are found
2021-12-06 22:22:23 +00:00
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
5196b669b9
[PLUGIN][ActivityPub] Add attachment support to Notes 2021-12-05 21:04:20 +00:00
19b8a7648e
[PLUGIN][ActivityPub] Implement Avatar support 2021-12-05 20:08:14 +00:00
2a161c9c66
[PLUGIN][TagBasedFiltering] Block actor tags, but don't block notes from the current actor 2021-12-05 19:18:57 +00:00
9f445632b2
[PLUGIN][TagBasedFiltering] Expand to allow filtering by actor tags 2021-12-05 17:55:49 +00:00
e29e1cc87c
[ENTITY] Rename 'getFrom' to 'getBy' 2021-12-05 17:55:46 +00:00
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
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
9512890264
[PLUGIN][ActivityPub] Implement Actor Update
Diverse minor bug fixes
2021-12-05 03:11:08 +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
044649c745
[PLUGIN][VideoEncoder] Some videos don't have images (video stream), only audio, handle that 2021-12-03 03:32:44 +00:00
582519e13e
[COMPONENT][Attachment] Do not show download links for non-local attachments 2021-12-03 03:32:43 +00:00
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
b66873e289
[PLUGIN][StoreRemoteMedia] Do not save empty files 2021-12-03 01:16:57 +00:00
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
bded039282
[PLUGIN][Embed] try catch absence of favicon 2021-12-02 22:49:27 +00:00
2e11001b8f
[PLUGIN][Embed] Fix links 2021-12-02 22:21:49 +00:00
2445b5318d
[PLUGIN][Embed] Make it work when content-length header is not provided 2021-12-02 21:26:06 +00:00
bfec10fc95
[COMPONENT][Attachment][Entity][Attachment] getThumbnail can be null 2021-12-02 21:26:05 +00:00
12557a1e16
[PLUGINS][Oomox] Reset theme colors added 2021-12-02 20:26:27 +00:00
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
37ef8cddfa
[ENTITY][Note] Add getLanguageLocale() and getNoteLanguageShortDisplay()
[CARDS][Note] Render note's language short display

[PLUGINS] Bring back titles to Reply, Repeat and Favourite actions
2021-12-02 15:05:49 +00:00
d044039272
[FreeNetwork] Initial multi-protocol support 2021-12-02 14:23:21 +00:00
dbaee08038
[FreeNetwork] Move mentions logic from AP to FN and handle local webfinger mentions properly 2021-12-02 11:12:04 +00:00
53c46127c1
[ActivityPub][Explorer] Store remote's url properly 2021-12-02 11:12:03 +00:00
6f543ccc06
[ActivityPub][Model][Activity] Translate including objects 2021-12-01 20:53:51 +00:00
dcbb3488c4
[PLUGINS][Reply] Fix onAppendCardNote return 2021-12-01 19:47:45 +00:00
b7fe924bdd
[TOOLS][DOCS] Add missing doc blocks, as signaled by doc-checker 2021-12-01 19:47:44 +00:00
0b57b20d38
[UI][PLUGIN][Reply][Favourite][ENTITY][Feed] Remove replies and favourite links from navigation/view.html.twig and add them to the feeds section 2021-12-01 19:47:43 +00:00
36613a826d
[CONTROLLER][PLUGIN][Reply] Move reply controller to it's plugin 2021-12-01 19:47:43 +00:00
3fbd2cd2b9
[PLUGIN][RelatedTags] Remove duplicate results 2021-12-01 19:47:41 +00:00
424df54a1b
[ActivityPub] Add HTTP Signatures 2021-12-01 19:47:41 +00:00
123544fa50
[ActivityPub] Port Postman 2021-12-01 19:47:40 +00:00
df3fbbc9e7
[ActivityPub] Add ActivityToType
Minor bug fixes
2021-12-01 19:47:39 +00:00
c8ba81897c
[PLUGINS][Reply] getReplyToNote performance improvement
[CSS] Replies padding fix
2021-11-29 23:12:09 +00:00
01078e20fb
[PLUGINS][Reply] Fix return on getReplyToNote
The array contained an object, the result was within that object and not the object itself.
2021-11-29 23:12:09 +00:00
db33800ade
[PLUGINS][Reply] Array key 'reply_to' checked if it exists.
Plugin\Reply\Entity\NoteReply::getReplyToNote lacked a check to make sure the 'reply_to' key existed within the array resulting from the query.
2021-11-29 23:12:09 +00:00
3477ad5efc
[PLUGINS][RelatedTags] Add related tags plugin and needed infrastructure. Initial work on pinned content 2021-11-29 22:42:51 +00:00
6680772e47
[UI][I18N][UTIL][FormFields][Language][COMPONENTS][Posting][PLUGINS][Reply] Factor out translation from FormFields::language and remove help text in cases from Posting and Reply 2021-11-29 22:42:50 +00:00
798a5f3796
[PLUGINS][Oomox] HTML's input[type='color'] doesn't support alpha values. Feature to apply custom shadow color removed as a result. 2021-11-29 22:42:48 +00:00
6ec0b9f077
[CSS] User panel CSS fixes.
[PLUGINS][Oomox] Reformatted file.
2021-11-29 22:42:48 +00:00
04257c5fd9
[PLUGINS][Oomox] Resulting forms are now aware of user defined colours and fallback to defaults. 2021-11-29 22:42:48 +00:00
3da524af58
[PLUGINS][Oomox] WIP Settings for both the light and dark themes. 2021-11-29 22:42:47 +00:00
56526c9ba6
[ActivityPub][Inbox] Restore Create Note Functionality
Minor bug fixes
2021-11-29 22:42:46 +00:00
7145dba8af
[PLUGINS][Oomox] getEntity added.
[CORE][Cache] exists added.
2021-11-27 15:14:17 +00:00
42f40f9ebe
[CORE][CONTROLLER][Network] Refactor term 'network' into 'feeds' 2021-11-26 23:34:37 +00:00
d46a6163a0
[PLUGINS][Oomox] Hotfix: cache wasn't set. Proper labels. 2021-11-26 15:01:30 +00:00
180ae15647
[PLUGINS][Oomox] User theme CSS file is served. Settings page needs polish, and option to revert changes. 2021-11-26 14:45:28 +00:00
7fa2418e54
[PLUGINS][Oomox] Theme colours WIP. 2021-11-26 14:45:28 +00:00
6cd7be6abc
[UI][CONTROLLER][ENTITY][DOCS] Refactor term 'timeline' into 'feed' 2021-11-26 13:05:23 +00:00
b1262919da
[TOOLS] Fix (most) issues found by PHPStan 2021-11-25 23:08:30 +00:00
98b719dca3
[COMPONENTS][Tag] Split tag into words and stem each 2021-11-25 20:37:53 +00:00
a64c488e21
[PLUGINS] Add StemWord plugin, which stems words, given a language. Currently used for tags 2021-11-25 20:37:53 +00:00
d8147cbd2d
[PLUGINS][AttachmentShowRelated] Fixed note template error. Fixed if statement.
[CORE][Controller] Commented CSP out.
2021-11-24 12:46:32 +00:00
1dd86a2302
[TESTS] Many tests fixes (already fixed the dependant code) 2021-11-20 21:32:25 +00:00
0aa43783e8
[PLUGIN][Repeat] Repeat now repeats attachments as it should.
[COMPONENTS][Posting] Now accepts attachments already processed.
[ENTITY][Note] Added getAttachmentsWithTitle().
2021-11-17 17:14:15 +00:00
89d36a68e5
[ENTITY][Actor] Add is_local, it's common to depend, and this makes it much faster, with a low space cost 2021-11-16 23:26:20 +00:00
2561823550
[PLUGIN][Repeat] Fixed corner case where the user would return to repeat form page and try to repeat the note again. 2021-11-16 19:39:03 +00:00
acc43a276b
[PLUGIN][Reply] User's own replies wont display their own nickname on rendering the original note. 2021-11-16 19:36:17 +00:00
9dbbc9e18e
[PLUGIN][Repeat] Fixed bug where checks dependant on user being logged in were attempted. 2021-11-15 19:25:52 +00:00
6e90e51f0c
[PLUGIN][CONTROLLER][Repeat] Fixed Repeat controller to update note_repeat table on removal. 2021-11-15 19:25:52 +00:00
b71e869843
[PLUGIN][Repeat] onAppendCardNote added. getNoteRepeats implemented. 2021-11-15 19:25:52 +00:00
f667b558f7
[TESTS] Fix SecurityTest
This test was broken by changes in the routing and in the templates.
However, this revealead a potential open redirect and duplicated code
in the Reply and Favourite plugins
2021-11-11 12:39:28 +00:00
d0f9fde7c2
[PLUGIN][Reply] WIP. Note complementary info now shows who has replied on the original note! 2021-11-10 15:44:28 +00:00
f2f1bdc145
[PLUGIN][Reply] Separated replies from Note table.
[PLUGIN][Repeat] Deleted unnecessary card note template, info now to
appended at the end of note.
[PLUGIN][TreeNotes] WIP to accomodate reply plugin changes.
[TWIG][Runtime] Removed getAdditionalTemplateVars event.
2021-11-10 13:29:53 +00:00
cf09b48e92
[PLUGINS][Repeat] Added note_repeat entity, fixed visual discrepancies, and completed the expected functionality.
[ENTITY][Note] Removed repeat_off from table. It is now part of the Repeat plugin.
2021-11-01 21:19:56 +00:00
c862c9bf18
[ActivityPub] Make remote mentions great again 2021-11-01 12:16:46 +00:00
9a23e03330
[PLUGINS][Repeat] Repeat template override WIP. 2021-10-29 17:26:20 +01:00
4d9a5aae5a
[ActivityPub] Always explicitly compare the results of Event::handle to the constants next or stop 2021-10-28 17:28:02 +01:00
3388e0e8f1
[TWIG][Cards] Note template fully refactored. Template has now macros for different views for the card.
[PLUGINS][Repeat] WIP: Action added.
[PLUGINS][Favourite] Changes to accomodate note card template refactoring.
[CSS] Fixed textarea from being resized horizontally.
2021-10-27 20:44:51 +01:00
d47f125894
[PLUGINS][Favourite] Refactored redirection to previous url. User is now unable to do invalid actions (ex. favour an already favourited note).
[PLUGINS][ActivityPub] Fixed favour route id to be more consistent.
2021-10-27 20:44:50 +01:00
51c984849f
[ActivityPub] Port Explorer 2021-10-27 04:22:19 +01:00
45f65baf96
[PLUGINS][Embed] Polished embed template in order to better utilize space.
[CSS][Feed] Embed related additions.
2021-10-27 04:19:34 +01:00
0407ac38cf
[AudioEncoder] Introduce basic audio plugin to provide an attachment template and duration metadata for audio mimetype 2021-10-27 04:19:34 +01:00
ebf675ec59
[Plugins][FAVOURITE] Redirect added. Only redirects from the route the user came from, not the anchored note. To be added. Further corner cases fixed. 2021-10-27 04:19:33 +01:00
56ba7bd845
[ImageEncoder][VideoEncoder] Properly decide when to take action 2021-10-27 04:19:33 +01:00
60b15ea79d
[Plugins][FAVOURITE] No longer a form, a link to a new page is provided instead. The amount of forms per page were blocking rendering for the majority of its duration. 2021-10-27 04:19:32 +01:00
299e893ca9
[TOOLS][PHPStan][DocCheck] Fix errors found by PHPStan and Doc Check 2021-10-27 04:19:31 +01:00
028ea79fff
[CORE][Router] Properly act on Accept headers 2021-10-27 04:19:30 +01:00
eli
f78cfed41a
[TWIG][CSS] Template refactoring, classes and their respective CSS is now more consistent. CSS variables are back. 2021-10-27 04:19:29 +01:00
8fdc52636f
[ActivityPub] Port RSA 2021-10-27 04:19:29 +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
9109c61af5
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types 2021-10-27 04:19:28 +01:00
517ed953f2
[FreeNetwork] First step towards de-duplication mechanism for federation
Refactored AS2 inside AP; [ENTITY][Activity] went from core to AP
Webfinger plugin will be part of FreeNetwork component
2021-10-06 11:48:22 +01:00
eli
3cb6563c40 [TWIG][EndShowStyles] Route as an event argument 2021-10-06 00:34:27 +01:00
eli
78dd7137f8 [PLUGIN] ProfileColor color settings can be null. 2021-10-05 19:12:51 +01:00
eli
a268aee53a [CSS][PLUGIN] ProfileColor now handles both the background and foreground colors. Various button CSS fixes. 2021-10-05 19:04:30 +01:00
eli
1705b543d3 [PLUGIN] Delete note action added. If the author of a note is logged in, the action will be added to that note. Once the author presses it, the note will be deleted from the DB. 2021-10-04 17:11:44 +01:00
eli
80d1be323d [COMPONENTS][Search][CSS] Extra header forms now accessible through a details element. Re-organizing templates structure. 2021-10-04 12:17:14 +01:00
eli
d38ad60c76 [COMPONENTS][CSS] Adding components styling properly. 2021-10-01 17:25:51 +01:00
19c2a91232
[TOOLS][PHPStan][ProfileColor][ENTITY][TEST][AttachmentThumbnail] Fix issues reported by phpstan 2021-09-27 19:50:56 +01:00
4a17adc182
[PLUGINS][ProfileColor] Actors are now shown with their own colors for other. 2021-09-25 19:40:17 +01:00
7b8eb3fda9
[PLUGINS][ProfileColor] Current color is now selected by default. Not found exception is now handled. 2021-09-25 19:40:17 +01:00
a681acae67
[ENTITY][AttachmentThumbnail] Every image should have width and height attributes 2021-09-25 19:40:11 +01:00
808da203ad [PLUGINS][ProfileColor] Settings page render problem fixed. ColorType given data wasn't a string. 2021-09-25 12:51:25 +01:00
57b94af9f6 [PLUGINS][ProfileColor] Re-organized plugins templates and assets. ProfileColor plugin fixed. 2021-09-25 11:17:56 +01:00
3268559f9a
[AttachmentThumbnail] Use other thumbnail when requested isn't available and there's no original file 2021-09-23 16:19:50 +01:00
bb81f1f717
[Embed] Use new attachment route format 2021-09-23 14:54:21 +01:00
6a2c3eb711
[ImageEncoder] Ensure proper memory limits are used when loading images from disk 2021-09-23 14:54:21 +01:00
a557ba0224 [Timelines][Plugins][Left] Plugins now provide their path ID. Feed redone as it's own independant template. 2021-09-22 16:47:06 +01:00