Commit Graph

19266 Commits

Author SHA1 Message Date
Hugo Sales 8988d89192
[CONFIG] Add attachment related parameters to default config 2021-09-14 13:12:52 +01:00
Hugo Sales a7ef2babe6
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:12:52 +01:00
Hugo Sales ece3c11e1b
[DB] Fix error in config/services.yaml where the wrong namespace was used for the UpdateListener 2021-09-14 13:12:52 +01:00
Hugo Sales fb220e82ed
[TOOLS] Use \DateTimeInterface rather than DateTimeInterface 2021-09-14 13:12:52 +01:00
Hugo Sales bb1ba11fcf
[AUTOGENERATED] Run bin/generate_entity_fields for the Embed plugin 2021-09-14 13:12:51 +01:00
Hugo Sales 4cd152f640
[Embed] Review and port v2 code 2021-09-14 13:12:51 +01:00
Hugo Sales 7adc198a52
[ENTITY] Add meta method 'have*' to Entity base class, which checks if a field 'isset' 2021-09-14 13:12:51 +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 60a9085e56
[FORMATTING] Add utilities to remove affixes from strings 2021-09-14 13:12:51 +01:00
Hugo Sales b647e31495
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler' 2021-09-14 13:12:51 +01:00
Hugo Sales 9a7f1358c2
[ENTITY] Add utils to Attachment and AttachmentThumbnail to get the corresponding URL and html representation parameters 2021-09-14 13:12:51 +01:00
Hugo Sales 2a74dced22
[UTIL] Add TemporaryFile class, courtesy of Alexei Sorokin from v2, a class that ensures files stored in /tmp are removed, as it doesn't happen in some cases 2021-09-14 13:12:51 +01:00
Hugo Sales 7dab063a72
[PLUGINS] Remove scripts. These will need to be implemented with Commands 2021-09-14 13:12:48 +01:00
Hugo Sales 3d8c348cb8
[Emebed] Add Embed plugin and initial cleanup 2021-09-14 13:12:24 +01:00
Hugo Sales 2d91095260
[UI] Use event 'ShowAttachment' to permit plugins like Embed to alter the representation 2021-09-14 13:12:23 +01:00
Hugo Sales 94edad43d9
[UTIL] Add method to validate url 2021-09-14 13:12:23 +01:00
Hugo Sales 5c78def973
[HTTPClient] Add utility functions for all HTTP methods 2021-09-14 13:12:23 +01:00
Hugo Sales 1b8f5b7bf0
[DB] Make DB::findOneBy throw a different exception if two values are found 2021-09-14 13:12:23 +01:00
Hugo Sales e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event 2021-09-14 13:12:23 +01:00
Hugo Sales ae0e410986
[TESTS] Fix Nickname test 2021-09-14 13:12:23 +01:00
Hugo Sales 8dff0b1d0c
[Favourite] Make twig event operate on array rather than string 2021-09-14 13:12:23 +01:00
Hugo Sales 7a90e844b7
[SECURITY][DB] Make user register 'atomic', by using a single transaction for inserting all objects, to avoid partial inserts 2021-09-14 13:12:23 +01:00
Hugo Sales 77655c1248
[TESTS] Fix wrong namespace in tests 2021-09-14 13:12:23 +01:00
Hugo Sales aeabf64051
[PLUGIN] Change base class from Module to Plugin for all plugins 2021-09-14 13:12:23 +01:00
Hugo Sales a66118aee7
[AVATAR] Display avatar rounded 2021-09-14 13:12:22 +01:00
Diogo Peralta Cordeiro 3afa872cec
[UI] Use thumbnail path for thumbs 2021-09-14 13:12:22 +01:00
Hugo Sales e1995f44ce
[ATTACHMENTS] Move thumbnail controller to core and cleanup 2021-09-14 13:12:22 +01:00
Hugo Sales 3a7e92ed01
[ImageEncoder] Change preferred type to always be WEBP 2021-09-14 13:12:22 +01:00
Hugo Sales 1b1b3007db
[AVATAR] Display avatar as round on the default theme 2021-09-14 13:12:22 +01:00
Hugo Sales e6c6e7afd7
[AVATAR] Fix JS cropping script and save square image, in case other themes need it 2021-09-14 13:12:22 +01:00
Hugo Sales d2bb5bba14
[ImageEncoder] Move DB::persist call to AttachmentThumbnail 2021-09-14 13:12:22 +01:00
Hugo Sales 0c8c5a4b87
[ImageEncoder] Fix error when not providing a width and/or height 2021-09-14 13:12:22 +01:00
Diogo Peralta Cordeiro e385a9ac29
[ATTACHMENTS] Even more further refactoring
Introduce Encoder plugins Instead of abstract upload and thumb modules

Ported attachment routes. In v3 thumbnail depends on existing attachment
so route updated accordingly.
2021-09-14 13:12:18 +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 cdef6858ce
[ENTITY] Cache AttachmentThumbnail query result 2021-09-14 13:11:51 +01:00
Hugo Sales 65999bd183
[Poll] Move tables from core to plugin 2021-09-14 13:11:51 +01:00
Hugo Sales 716ca063d5
[ImageThumbnail] Finish image thumbnailing functionality 2021-09-14 13:11:51 +01:00
Hugo Sales 19850b5e0d
[DB] Fix bug in custom criteria format wrangling 2021-09-14 13:11:51 +01:00
Hugo Sales e834ac2c8d
[DEPENDENCIES] Add php-vips 2021-09-14 13:11:51 +01:00
Hugo Sales 1d6d20aacb
[TOOLS] In pre-commit hook, only run php-doc-check if some PHP file changed 2021-09-14 13:11:51 +01:00
Hugo Sales 081b0de919
[DOCKER] Add VIPS PHP extension to Docker build 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 ee87961d96
[ImageThumbnail] Structure of plugin to generate thumbnails for image attachments 2021-09-14 13:11:50 +01:00
Hugo Sales 7284c833a6
[DB] Allow DQL queries with table name rather than entity 2021-09-14 13:11:50 +01:00
Hugo Sales 0d01f1d060
[CORE] Add functionality to App\Core\Controller to get and validate GET parameters 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 dc5bdfa1fb
[CORE] Rename NoteScope to VisibilityScope, as it will be used for attachment visbility too 2021-09-14 13:11:50 +01:00
Hugo Sales 9659762726
[DB] Add table map which allows using table names rather than entities in Doctrine operations 2021-09-14 13:11:50 +01:00
Hugo Sales c44443b52c
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:11:50 +01:00