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