Eliseu Amaro
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
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
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
9109c61af5
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types
2021-10-27 04:19:28 +01:00
Hugo Sales
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
Hugo Sales
ce0cfa7a63
[COMPONENT][Search] Update Search to be able to search for either notes or actors
2021-10-27 04:19:27 +01:00
Diogo Peralta Cordeiro
99ab24ec23
[CORE][Controller] Allow routes without text/html response
...
Improve GET getters
2021-10-27 04:19:23 +01:00
Diogo Peralta Cordeiro
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
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
Hugo Sales
de984ac8e1
[COMPONENTS][Search][Tag] Implement basic search functionality that allows only searching through note tags, currently
2021-09-27 19:50:56 +01:00
Eliseu Amaro
5249ccfc68
[Posting][CSS] Right panel form render simplified.
2021-09-25 21:02:11 +01:00
Diogo Peralta Cordeiro
4820a863a9
[Avatar] Fix cache usage and other minor bugs
2021-09-23 14:34:34 +01:00
Diogo Peralta Cordeiro
7beb5c2995
[GSFile] Fix sanitize configuration
2021-09-22 15:13:46 +01:00
Diogo Peralta Cordeiro
c1e7d486a3
[Posting] Fix bug with early DB::flush that would discard attachments relations
2021-09-22 15:13:44 +01:00
Hugo Sales
c6082bab10
[COMPONENT][Tag] Update tag stream to use new pagedStream format
2021-09-21 16:39:36 +01:00
Hugo Sales
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
Hugo Sales
6cd86cac25
[COMPONENT][Tag] Add tag stream, with paging
2021-09-21 11:04:27 +01:00
Hugo Sales
2f3f7b8469
[COMPONENTS][Posting][Link][Tag] Pass the note, not just the id in ProcessNoteContent
2021-09-21 11:04:27 +01:00
Diogo Peralta Cordeiro
958cbffb91
[Posting] Add text/html content type, must actually treat it
2021-09-20 17:02:35 +01:00
Diogo Peralta Cordeiro
85969a8cff
[Avatar] Add default avatar route and improve url getter
2021-09-20 17:01:36 +01:00
Hugo Sales
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
Eliseu Amaro
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
Diogo Peralta Cordeiro
67d62cf37b
[TWIG] Remove kludge event TwigPopulateVars
2021-09-18 07:27:35 +01:00
Diogo Peralta Cordeiro
fda998e335
[Avatar] We definitely don't need an event to retrieve avatar urls
2021-09-18 07:26:10 +01:00
Diogo Peralta Cordeiro
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
Diogo Peralta Cordeiro
941cbe6599
[Actor] Refactor GSActor into Actor
2021-09-18 05:12:17 +01:00
Eliseu Amaro
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
Diogo Peralta Cordeiro
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
Hugo Sales
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
Hugo Sales
bebf4fdbce
[I18n][Posting] Move ':' to inside the translate call
2021-09-14 13:13:45 +01:00
Diogo Peralta Cordeiro
7c465bba5f
[NOTE] Add mimetype to notes
2021-09-14 13:13:45 +01:00
Hugo Sales
0cecc67376
[COMPONENT][Posting][Link] Create ProcessNoteContent
event. Move link extraction to Link component. Cleanup Posting
2021-09-14 13:13:42 +01:00
Hugo Sales
add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1
2021-09-14 13:13:42 +01:00
Eliseu Amaro
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
Hugo Sales
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
Hugo Sales
4d3da08b1e
[CONFIG] Add example module configuration
2021-09-14 13:13:36 +01:00
Diogo Peralta Cordeiro
9739cc5f21
[Posting] Respect process_links setting
2021-09-14 13:13:36 +01:00
Diogo Peralta Cordeiro
ab142ab52d
[FileQuota] Update plugin to respect the new entities
2021-09-14 13:13:35 +01:00
Hugo Sales
458b6d0009
[UI] Rename all forms to more specific names, to avoid form name collisions
2021-09-14 13:13:33 +01:00
Diogo Peralta Cordeiro
de444a2a5a
[Posting] Fix wrong usage of DB::findBy
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
41b42407cd
[Posting] Store uploaded filenames as titles
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
036e9cb58e
[Avatar] Preserve uploaded filename and use Avatar's own route instead of attachment
2021-09-14 13:13:30 +01:00
Diogo Peralta Cordeiro
9e4cac0123
[ENTITY] Refactor RemoteURL entities to Link
...
RemoteURL was being an awfully confusing term.
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
4cc4523632
[Posting] Re-add original file to attachment on upload, if it was previously removed
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
75f70f8182
[ENTITY][Posting] Remove GSActorToRemoteURL, Fix URL database store
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
f5175cc59d
[ATTACHMENTS] Always store in the same location
2021-09-14 13:13:24 +01:00
Diogo Peralta Cordeiro
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
Hugo Sales
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
Diogo Peralta Cordeiro
a77f51dd06
[Avatar] Delete attachment only if safe
2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro
21362d1e4d
[ATTACHMENTS] Add dependencies counter
2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro
0c612bddbe
[Avatar] Store as regular attachments
2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro
3334aca7b9
[Avatar] Move entity from core to component
2021-09-14 13:13:20 +01:00
Hugo Sales
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
Eliseu Amaro
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
Diogo Peralta Cordeiro
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
Diogo Peralta Cordeiro
488e700fab
[POSTING] Make it possible for plugins to change the placeholder string
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
c8cf8c3f13
[FILE][TemporaryFile] Fix various issues now that we also have Symfony's file abstractions
2021-09-14 13:13:03 +01:00
Hugo Sales
d31c3b1784
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:13:01 +01:00
Hugo Sales
2b83a4b627
[UTILS][TemporaryFile] Change way TemporaryFile takes arguments and it's internal implementation
2021-09-14 13:12:58 +01:00
Diogo Peralta Cordeiro
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
Diogo Peralta Cordeiro
8f43c8b405
[AUTOGENERATED] Update auto generated code
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
c9090e6cee
[ATTACHMENTS][GSFile] Rename ValidateAndStore functions
2021-09-14 13:12:56 +01:00
Hugo Sales
353595eb97
[Posting] Add missing default visibility option
2021-09-14 13:12:55 +01:00
Hugo Sales
d11615ded6
[Avatar][Embed] Change use of TemporaryFile::getPath to getRealPath
2021-09-14 13:12:55 +01:00
Hugo Sales
e9b2b18093
[Avatar] Implement avatar deletion
2021-09-14 13:12:53 +01:00
Hugo Sales
2ec7059076
[AVATAR] Move avatar settings page to Avatar component
2021-09-14 13:12:53 +01:00
Diogo Peralta Cordeiro
cbd383f92d
[RIGHT] Introduce component abstraction
2021-09-14 13:12:53 +01:00
Hugo Sales
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
Hugo Sales
a7ef2babe6
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:12:52 +01:00
Hugo Sales
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
Hugo Sales
e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event
2021-09-14 13:12:23 +01:00
Diogo Peralta Cordeiro
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
Hugo Sales
4358656c55
[ImageThumbnail] Implement image resizing with Intervention/Image
2021-09-14 13:11:50 +01:00
Hugo Sales
c053e8da8e
[Posting] Rename file to attachment and cache result of actor tag query
2021-09-14 13:11:50 +01:00
Hugo Sales
5579f4fa5d
[MEDIA] Rename File to Attachment
2021-09-14 13:11:50 +01:00
Hugo Sales
c44443b52c
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:11:50 +01:00
Diogo Peralta Cordeiro
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
Hugo Sales
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
Hugo Sales
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