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
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
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
d64bd17422
[COMPONENTS][LeftPanel] Fix template filename
2021-12-01 22:19:00 +00:00
e7ee558f4a
[TWIG] Fix empty accessibility menu anchor, accesskey anchors placement
...
[CSS] Dark theme hover/focus border, settings page form visibility
2021-12-01 20:29:11 +00:00
74bab8e7aa
[COMPONENTS][Left][CONTROLLER][EditFeeds] Add missing action and method to <form>
2021-12-01 19:47:44 +00:00
b7fe924bdd
[TOOLS][DOCS] Add missing doc blocks, as signaled by doc-checker
2021-12-01 19:47:44 +00:00
d58483a6ca
[TOOLS] Cleanup PHPStan warnings
2021-12-01 19:47:43 +00:00
73981030fa
[CONTROLLER][COMPONENT][Left] Move edit feeds controller to the Left component
2021-12-01 19:47:43 +00:00
ed5f6b6eed
[COMPONENTS][Search][UI] Use base template and macros to display search results
2021-12-01 19:47:41 +00:00
424df54a1b
[ActivityPub] Add HTTP Signatures
2021-12-01 19:47:41 +00:00
4ddd00a091
[NOTIFICATION] Add FreeNetwork distribution
2021-11-30 00:48:46 +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
5c3d561a67
[COMPONENTS][Tag] Refactor Tag and add self tag stream
2021-11-29 22:42:50 +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
56526c9ba6
[ActivityPub][Inbox] Restore Create Note Functionality
...
Minor bug fixes
2021-11-29 22:42:46 +00:00
7b9d388a44
[NOTIFICATION] Implement Target Collector
2021-11-27 15:14:15 +00:00
6cd7be6abc
[UI][CONTROLLER][ENTITY][DOCS] Refactor term 'timeline' into 'feed'
2021-11-26 13:05:23 +00:00
6919f38592
[UI][COMPONENT][Tag] Use base template and properly display notes in tag stream
2021-11-26 11:59:11 +00:00
c178054433
[COMPONENT][Tag] Add stream for multiple tags
2021-11-26 11:48:35 +00:00
98b719dca3
[COMPONENTS][Tag] Split tag into words and stem each
2021-11-25 20:37:53 +00:00
2d057024b9
[TAGS][ENTITY][Note] Properly store the note language, pass it along when rendering content. Add mechanism for stemming tags, with fallback to simply slug-ifying them
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
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
e9cc760ca8
[COMPONENTS][Posting][Right] Fix TypeError (which somehow only popped up in tests) caused by assigning a FormView to an out array param
2021-11-15 19:25:52 +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
2cf3a0b4e6
[COMPONENT][Posting] Display short language signifier rather than the full name for the first preffered language
2021-11-08 16:08:03 +00:00
019ad794d1
[Posting] Add dropdown with language choice, with preferred choice according to user choice and context (group, etc)
2021-11-08 16:08:02 +00:00
839fa070c7
[CORE][Posting] Default Posting language to site language, if the user hasn't selected one
2021-11-02 11:14:59 +00:00
c862c9bf18
[ActivityPub] Make remote mentions great again
2021-11-01 12:16:46 +00:00
7fef18e95a
[COMPONENTS][Posting] LocaleType::class doesn't have a default attribute, replaced with 'preferred_choices' instead.
2021-10-29 17:46:25 +01:00
0f358a9c5d
[CORE][Posting] Add language choice field to the note posting block
2021-10-28 17:37:00 +01:00
5189269e5b
[FreeNetwork] Port Discovery
2021-10-27 04:22:18 +01:00
364c14ef2c
[COMPONENT][Link] Fix mistake where only the first URL was matched and the match included the preceeding whitespace character
2021-10-27 04:19:34 +01:00
b7d9da8ae6
[Posting] Add Content Length constraint to form validation
2021-10-27 04:19:33 +01:00
8038fdbce9
[UTIL][Common] Added Common::getUploadLimit().
...
[COMPONENT][Posting] Update Posting to warn the user of submtting attachments too large.
2021-10-27 04:19:32 +01:00
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
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
8ef2d3339f
[COMPONENTS][Search] Slightly refactor parser, since the inline lambda was somewhat complex (and cs-fixer kept moving the comment, so doc-checker complained)
2021-10-27 04:19:27 +01:00
ce0cfa7a63
[COMPONENT][Search] Update Search to be able to search for either notes or actors
2021-10-27 04:19:27 +01:00
99ab24ec23
[CORE][Controller] Allow routes without text/html response
...
Improve GET getters
2021-10-27 04:19:23 +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
3cb6563c40
[TWIG][EndShowStyles] Route as an event argument
2021-10-06 00:34:27 +01:00
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
d38ad60c76
[COMPONENTS][CSS] Adding components styling properly.
2021-10-01 17:25:51 +01:00
de984ac8e1
[COMPONENTS][Search][Tag] Implement basic search functionality that allows only searching through note tags, currently
2021-09-27 19:50:56 +01:00
5249ccfc68
[Posting][CSS] Right panel form render simplified.
2021-09-25 21:02:11 +01:00
4820a863a9
[Avatar] Fix cache usage and other minor bugs
2021-09-23 14:34:34 +01:00
7beb5c2995
[GSFile] Fix sanitize configuration
2021-09-22 15:13:46 +01:00
c1e7d486a3
[Posting] Fix bug with early DB::flush that would discard attachments relations
2021-09-22 15:13:44 +01:00
c6082bab10
[COMPONENT][Tag] Update tag stream to use new pagedStream format
2021-09-21 16:39:36 +01:00
14c173df7a
[CACHE][COMPONENT][Tag] Add generic Cache::pagedStream and use it for the tag stream. Note that it doesn't respect scope yet
2021-09-21 15:35:07 +01:00
6cd86cac25
[COMPONENT][Tag] Add tag stream, with paging
2021-09-21 11:04:27 +01:00
2f3f7b8469
[COMPONENTS][Posting][Link][Tag] Pass the note, not just the id in ProcessNoteContent
2021-09-21 11:04:27 +01:00
958cbffb91
[Posting] Add text/html content type, must actually treat it
2021-09-20 17:02:35 +01:00
85969a8cff
[Avatar] Add default avatar route and improve url getter
2021-09-20 17:01:36 +01:00
e8f4563633
[UTIL][Formatting][COMPONENT][Link][Tag] Refactor code from formatting into Link and Tag, where appropriate. Drop 'perfect url regex' as the one used in v2 is better
2021-09-20 13:28:18 +01:00
baeb1dde7a
[Posting][CSS] Fix for qtwebengine and gecko not displaying background color on input elements.
...
Minor bug fixes.
2021-09-20 12:49:05 +01:00
67d62cf37b
[TWIG] Remove kludge event TwigPopulateVars
2021-09-18 07:27:35 +01:00
fda998e335
[Avatar] We definitely don't need an event to retrieve avatar urls
2021-09-18 07:26:10 +01:00
2bd19fa087
[NOTE][Posting] Revert regressions introduced with c90efe2c52
...
Entity Note: It doesn't make sense to handle attachments on Note::create.
Attachments exist out of Notes, they are a thing on their own.
Furthermore, they aren't always handled the same, they most definitely
aren't always uploaded files.
FileQuota: It doesn't make sense to check if a file is greater than max
allowed upload size here. The plugin ensures a user is inside his
allowed quota, it's ignorant to anything else. Whether a file respect
max upload is a core thing that must be handled directly in the Posting
component. TODO: The configuration regarding user and monthly quota
must become FileQuotaPlugin settings and be removed from core.
c90efe2c52 - [UI] Add mechanism for rendering note contents in different formats. Implement plaintext rendering. Use rendered field for note content, rather than the content itself
2021-09-18 05:12:18 +01:00
941cbe6599
[Actor] Refactor GSActor into Actor
2021-09-18 05:12:17 +01:00
6c899b7b61
[Plugins][Components] Fixed issue where right panel form was rendered multiple times in actors plugin page. Actors page done.
2021-09-18 05:12:16 +01:00
d6f31d102a
[CORE][ActivityStreamsTwo][ActivityPub] Set all routes
...
Allow global routes to act for every actor
Fix Favoured stream query
2021-09-18 05:12:15 +01:00
8f0a3e4977
[UI] Add mechanism for rendering note contents in different formats. Implement plaintext rendering. Use rendered field for note content, rather than the content itself
2021-09-18 05:12:06 +01:00
bebf4fdbce
[I18n][Posting] Move ':' to inside the translate call
2021-09-14 13:13:45 +01:00
7c465bba5f
[NOTE] Add mimetype to notes
2021-09-14 13:13:45 +01:00
0cecc67376
[COMPONENT][Posting][Link] Create ProcessNoteContent
event. Move link extraction to Link component. Cleanup Posting
2021-09-14 13:13:42 +01:00
add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1
2021-09-14 13:13:42 +01:00
6ef07e04d1
[Posting][CSS] Right panel form uses a select box instead of radio buttons. Hover and focus of <a> elements using just an underline. Note author and actions padding redone. File-picker font is now correct. Left panel hierarchy should now be more clear.
2021-09-14 13:13:38 +01:00
033c4db914
[MODULES] Add function to defer module initialization and cleanup to plugin and component. Add example in Avatar component
...
Forward onInitializeModule to onInitializePlugin if the component is a plugin
2021-09-14 13:13:37 +01:00
4d3da08b1e
[CONFIG] Add example module configuration
2021-09-14 13:13:36 +01:00
9739cc5f21
[Posting] Respect process_links setting
2021-09-14 13:13:36 +01:00
ab142ab52d
[FileQuota] Update plugin to respect the new entities
2021-09-14 13:13:35 +01:00
458b6d0009
[UI] Rename all forms to more specific names, to avoid form name collisions
2021-09-14 13:13:33 +01:00
de444a2a5a
[Posting] Fix wrong usage of DB::findBy
2021-09-14 13:13:31 +01:00
41b42407cd
[Posting] Store uploaded filenames as titles
2021-09-14 13:13:31 +01:00
036e9cb58e
[Avatar] Preserve uploaded filename and use Avatar's own route instead of attachment
2021-09-14 13:13:30 +01:00
9e4cac0123
[ENTITY] Refactor RemoteURL entities to Link
...
RemoteURL was being an awfully confusing term.
2021-09-14 13:13:26 +01:00
4cc4523632
[Posting] Re-add original file to attachment on upload, if it was previously removed
2021-09-14 13:13:26 +01:00
75f70f8182
[ENTITY][Posting] Remove GSActorToRemoteURL, Fix URL database store
2021-09-14 13:13:25 +01:00
f5175cc59d
[ATTACHMENTS] Always store in the same location
2021-09-14 13:13:24 +01:00
3f61537140
[ENTITY] Split Attachment in various new entities
...
Remove Attachment Scope
Fixed some minor bugs
Scope will be implemented later in v3. It doesn't make sense to have
the scope handling being per attachment. Different actors can post
the same attachment with different scopes. The attachment controller
will assume the highest level of scope applied to the attachment and
the rest will be handled at the note level.
Motivation:
* Remove title from attachment, as it's part of the relation between attachment and note.
* Remove actor from attachment, many actors may publish the same attachment.
* Remove is_local from attachment, as it's part of the relation between attachment and note.
* Remove remote_url from attachment, different urls can return the same attachment.
Addition:
* Attachment now has a lives attribute, it's a reference counter with a nicer name
* GSActorToAttachment
* GSActorToRemoteURL
* RemoteURL
* RemoteURLToNote
* RemoteURLToAttachment
* AttachmentToNote now has a title attribute
2021-09-14 13:13:24 +01:00
39006fb6b5
[DB][Attachments] Use count function rathar than fetch and count, rename to refCount, rather than countDepencies
2021-09-14 13:13:24 +01:00
a77f51dd06
[Avatar] Delete attachment only if safe
2021-09-14 13:13:21 +01:00
21362d1e4d
[ATTACHMENTS] Add dependencies counter
2021-09-14 13:13:21 +01:00
0c612bddbe
[Avatar] Store as regular attachments
2021-09-14 13:13:21 +01:00
3334aca7b9
[Avatar] Move entity from core to component
2021-09-14 13:13:20 +01:00
88dd9e542f
[CORE][GSFile] Change actor_id paramenter of validateAndStoreFileAsAttachment to optional and reorder them and their usages
2021-09-14 13:13:17 +01:00
c8a8e94d48
[SETTINGS][PLUGIN][CONTROLLER] Populate profile tabs event added. Settings base template populated with such event for plugins and components.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:12 +01:00
861732176e
[Media] Support any kind of thumbnails in the Core
...
Sanitize Attachments instead of Validate (part 1)
Ensure the intended filetypes and mimetypes during Vips conversions (part 1)
Various bug fixes
2021-09-14 13:13:03 +01:00
488e700fab
[POSTING] Make it possible for plugins to change the placeholder string
2021-09-14 13:13:03 +01:00
c8cf8c3f13
[FILE][TemporaryFile] Fix various issues now that we also have Symfony's file abstractions
2021-09-14 13:13:03 +01:00
d31c3b1784
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:13:01 +01:00
2b83a4b627
[UTILS][TemporaryFile] Change way TemporaryFile takes arguments and it's internal implementation
2021-09-14 13:12:58 +01:00
ab060332f0
[Posting] Don't sanitize on storage
...
We prefer to have the original input in database and sanitize on output when appropriate
2021-09-14 13:12:57 +01:00
8f43c8b405
[AUTOGENERATED] Update auto generated code
2021-09-14 13:12:57 +01:00
c9090e6cee
[ATTACHMENTS][GSFile] Rename ValidateAndStore functions
2021-09-14 13:12:56 +01:00
353595eb97
[Posting] Add missing default visibility option
2021-09-14 13:12:55 +01:00
d11615ded6
[Avatar][Embed] Change use of TemporaryFile::getPath to getRealPath
2021-09-14 13:12:55 +01:00
e9b2b18093
[Avatar] Implement avatar deletion
2021-09-14 13:12:53 +01:00
2ec7059076
[AVATAR] Move avatar settings page to Avatar component
2021-09-14 13:12:53 +01:00
cbd383f92d
[RIGHT] Introduce component abstraction
2021-09-14 13:12:53 +01:00
aea8639d44
[ATTACHMENTS] Restrict thumbnail generation to allowed sizes. Defaults to only configured sizes, but can be extended with the event 'GetAllowedThumbnailSizes'. The intention is to prevent DoS attacks, since handling a thumbnail request is a relatively slow process
2021-09-14 13:12:53 +01:00
a7ef2babe6
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:12:52 +01:00
34059a8d3d
[ATTACHMENTS][EVENT] Add onHashFile event, which can be used to deduplicate files
...
Currently, we simply hash the contents of the file with sha256, but in the future we can use something smarter,
which could find visual feature similarity between images
2021-09-14 13:12:51 +01:00
e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event
2021-09-14 13:12:23 +01:00
0eaccc32fe
[ATTACHMENTS] Further refactoring
...
Some key points:
- Components and Plugins shouldn't extend Module directly
- Avatars should be fetched via GSActor ID, not by nickname as that isn't unique
- Avatar now is a separate Component
- Common file utilities are now to be placed in Core\GSFile, this will
handle storage and trigger validation
- Some bug fixes
2021-09-14 13:11:51 +01:00
4358656c55
[ImageThumbnail] Implement image resizing with Intervention/Image
2021-09-14 13:11:50 +01:00
c053e8da8e
[Posting] Rename file to attachment and cache result of actor tag query
2021-09-14 13:11:50 +01:00
5579f4fa5d
[MEDIA] Rename File to Attachment
2021-09-14 13:11:50 +01:00
c44443b52c
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:11:50 +01:00
ccf3aa990a
[MODULES] Introduce the concept of abstract modules to V3
...
Introduce placeholder for abstract upload and thumb modules
Temporarily supress some bugs
2021-09-14 13:11:45 +01:00
Daniel
7a299162e1
[Poll] Polls now have an associated note, poll templates, start_show_styles event, started css
2021-09-14 13:10:13 +01:00
481027b09b
[AUTOGENERATED][DB][File][GroupJoinQueue] Update autogenerated code and add select fields as specified in the previous commit
2021-09-14 13:06:57 +01:00
460712e15e
[GIT] Change my email to the new one in all files and bump copyright year
2021-09-14 13:06:56 +01:00
Hugo Sales
e8feb2ae84
[DOCUMENTATION][REFACTOR] Add documentation to all flagged function and do some small cleanup
2021-09-14 13:06:55 +01:00
Hugo Sales
74350becc5
[POSTING] Fix missing use statement
2021-09-14 13:06:54 +01:00
Hugo Sales
29082f4aa9
POSTING remove REPLY route
2021-09-14 13:06:52 +01:00
Hugo Sales
a248f23cef
[Reply] Move reply functionality to a plugin
2021-09-14 13:06:52 +01:00
Hugo Sales
4c15271d36
[UI] Display error when submitted form is invalid
2021-09-14 13:06:51 +01:00
Hugo Sales
41f90f07b1
[Bridge] Replace zero dates with CURRENT_TIMESTAMP
2021-09-14 13:06:51 +01:00
Hugo Sales
cc758f6a8e
[AUTOGENERATED] Update autogenerated code in module entities
2021-09-14 13:06:51 +01:00
Hugo Sales
9573cab4cb
[Posting] Fix form name and remove unused recycle route and controller
2021-09-14 13:06:50 +01:00
Hugo Sales
9865798766
[Media] Add cache control directive to all files served
2021-09-14 13:06:50 +01:00
Hugo Sales
6165f7cd55
[Media] Display images and videos inline in notes
2021-09-14 13:06:49 +01:00
Hugo Sales
26f01c4c92
[Posting] Fix posting form name and css
2021-09-14 13:06:49 +01:00
Hugo Sales
6dbd239544
[Posting] Add missing includes
2021-09-14 13:06:48 +01:00
rainydaysavings
a804c5f981
[COMPONENT][CONTROLLER][TWIG] Recycle component work
2021-09-14 13:06:47 +01:00
rainydaysavings
e1e3e2d9b3
[COMPONENT] Favourite initial implementation
2021-09-14 13:06:46 +01:00
rainydaysavings
f1a687b057
[COMPONENT] Fixing typo
2021-09-14 13:06:45 +01:00
Hugo Sales
0b50905ac8
[NOTE][UI] Add note replying and UI displaying
2021-09-14 13:06:45 +01:00
rainydaysavings
ecfda08d37
[CONTROLLER] Reply initial implementation
2021-09-14 13:06:44 +01:00
rainydaysavings
bc66e2c2a2
[COMPONENT] Posting form restructure and minor fixes
2021-09-14 13:06:44 +01:00
rainydaysavings
1eab561b40
[COMPONENT] Posting form now shows a random default string
2021-09-14 13:06:44 +01:00
rainydaysavings
9b421e0095
[COMPONENTS] Small fix
2021-09-14 13:06:43 +01:00
rainydaysavings
1563ebc546
[COMPONENT] Posts scope initial form
2021-09-14 13:06:43 +01:00
Hugo Sales
4507b12976
[MEDIA] Only try to get an avatar if a user is logged in
2021-09-14 13:05:58 +01:00
Hugo Sales
6ed89c77f4
[UI][NOTE] Post and see attachments
2021-09-14 13:05:57 +01:00
Hugo Sales
9649bec01e
[MEDIA][CACHE] Cache avatar queries and delete stale values; small refactoring
2021-09-14 13:05:57 +01:00
Hugo Sales
e3c5d7e5dc
[UI][MEDIA] Add actor avatar in feed timeline
2021-09-14 13:05:57 +01:00
Hugo Sales
65a129aac6
[UI][CACHE][DB] Add follow counts to left panel, caching the results; change follow table
2021-09-14 13:05:56 +01:00
Hugo Sales
d548dc9284
[MODULE][Left][UI][TAGS] Add Left module which handles fetching tags and followers, fix self tags
2021-09-14 13:05:56 +01:00
Hugo Sales
31ccb2d07b
[DB][File] Remove timestamp, add actor_id
2021-09-14 13:05:55 +01:00
Hugo Sales
f255d29078
[Media] Use utils
2021-09-14 13:05:55 +01:00
Hugo Sales
688ee18411
[Media] Move code from media.php to utils.php
2021-09-14 13:05:55 +01:00
Hugo Sales
72876fe8dc
[MODULE][Posting] Add Posting module, which handles notice posting
2021-09-14 13:05:55 +01:00
Hugo Sales
e1002eb605
[MEDIA] Move avatar fetching and adding to ouput to media component
2021-09-14 13:05:55 +01:00
Hugo Sales
8716d700a6
[CORE][DB] Fix uses of db tables after previous restructure
2021-09-14 13:05:53 +01:00
Hugo Sales
4128a5403d
[MEDIA][EXCEPTIONS] Fix errors and deprecations
2021-09-14 13:05:51 +01:00
Hugo Sales
6438092d86
[AVATAR] Update way avatar is sent, to use proper symfony responses, make config('site', 's_static_delivery') into a boolean
2021-09-14 13:05:51 +01:00
Hugo Sales
bd8f4bd277
[AVATAR] Fixed avatar upload, added avatar inline download and updated template and base controller
2021-09-14 13:05:51 +01:00
Hugo Sales
113c250c41
[MEDIA][AVATAR] Handle avatar validation and storage
2021-09-14 13:05:50 +01:00
Hugo Sales
86b9f7d7a1
[COMPONENT][PLUGIN] Move Email and XMPP notification handlers from components to plugins, so they can be disabled
2021-09-14 13:05:50 +01:00
Hugo Sales
3fb45176b8
[COMPONENT] Remove 'post on status change' option for email transport
2021-09-14 13:05:49 +01:00
Hugo Sales
e5082657b7
[COMPONENT][PLUGIN] Small refactor and add license
2021-09-14 13:05:48 +01:00
Hugo Sales
da0d88e0f2
[MODULE] Renamed modules to components
2021-09-14 13:05:46 +01:00