Diogo Peralta Cordeiro
255055d149
[Embed] Add docblock to handle function to pass pre-commit hook
2021-04-29 17:42:31 +01:00
Diogo Peralta Cordeiro
55c4ad40cd
[ENTITY][GSActor] Fix getAvatarUrl method
2021-04-29 17:42:06 +01:00
Diogo Peralta Cordeiro
5fbc079c55
[RIGHT] Introduce component abstraction
2021-04-29 17:40:19 +01:00
Diogo Peralta Cordeiro
22c79db540
[VIEWS] Minor proofreading of templates and css
2021-04-29 17:08:09 +01:00
Hugo Sales
bb56b24d8f
[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-04-28 21:53:02 +00:00
Hugo Sales
b2841cb5fc
[UI] Fix 'hide_attachments is not defined' error
2021-04-28 21:50:55 +00:00
Hugo Sales
f264cd6125
[ATTACHMENTS] Add controller and templates for the attachment show page, which shows extra info about an attachment, such as related notes and tags
2021-04-28 21:25:35 +00:00
Hugo Sales
d49de9d35e
[CORE] Typo in GSFile and slight Twig weirdness in base template
2021-04-28 20:16:59 +00:00
Hugo Sales
7f765c530e
[Embed][ENTITY] Fix embed route and use attachment_view rather than _show. Rename Entity::have to Entity::has, because grammar
2021-04-28 20:15:43 +00:00
Hugo Sales
e699824b1d
[Embed] Fix plugin. Only attempt to show an image, if we have one
2021-04-28 15:03:17 +00:00
Hugo Sales
6da8cf7f14
[ATTACHMENTS] Add event 'AttachmentFileInfo' to allow a plugin to override the file displayed
2021-04-28 15:01:40 +00:00
Hugo Sales
e08767cec0
[UTIL] Fix remove affix utilities, so they only try to remove an affix if the string starts/ends with it
2021-04-28 15:00:04 +00:00
Hugo Sales
83415b7aa6
[CONFIG] Add attachment related parameters to default config
2021-04-28 14:59:04 +00:00
Hugo Sales
495e66f4ae
[AUTOGENERATED] Update autogenerated code
2021-04-27 21:24:48 +00:00
Hugo Sales
17ea4ecce1
[DB] Fix error in config/services.yaml where the wrong namespace was used for the UpdateListener
2021-04-27 21:23:47 +00:00
Hugo Sales
1d7375b9cb
[TOOLS] Use \DateTimeInterface rather than DateTimeInterface
2021-04-27 21:23:00 +00:00
Hugo Sales
0a69f6de8c
[AUTOGENERATED] Run bin/generate_entity_fields for the Embed plugin
2021-04-27 21:18:44 +00:00
Hugo Sales
72cd2e7a30
[Embed] Review and port v2 code
2021-04-27 20:56:50 +00:00
Hugo Sales
c6389c63b8
[ENTITY] Add meta method 'have*' to Entity base class, which checks if a field 'isset'
2021-04-27 20:56:13 +00:00
Hugo Sales
f388554166
[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-04-27 20:53:59 +00:00
Hugo Sales
b4ad396cd1
[FORMATTING] Add utilities to remove affixes from strings
2021-04-27 20:52:12 +00:00
Hugo Sales
c3473e45d2
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler'
2021-04-27 20:50:43 +00:00
Hugo Sales
075b495f5a
[ENTITY] Add utils to Attachment and AttachmentThumbnail to get the corresponding URL and html representation parameters
2021-04-27 18:10:18 +00:00
Hugo Sales
9b3ccac246
[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-04-27 18:10:18 +00:00
Hugo Sales
82d9326343
[PLUGINS] Remove scripts. These will need to be implemented with Commands
2021-04-27 18:10:18 +00:00
Hugo Sales
464406cccc
[Emebed] Add Embed plugin and initial cleanup
2021-04-27 18:10:18 +00:00
Hugo Sales
2782aa9924
[UI] Use event 'ShowAttachment' to permit plugins like Embed to alter the representation
2021-04-27 18:10:18 +00:00
Hugo Sales
1df7be7e8a
[UTIL] Add method to validate url
2021-04-27 18:10:18 +00:00
Hugo Sales
792a9f097c
[HTTPClient] Add utility functions for all HTTP methods
2021-04-27 18:10:18 +00:00
Hugo Sales
4649ee9e71
[DB] Make DB::findOneBy throw a different exception if two values are found
2021-04-27 18:10:18 +00:00
Hugo Sales
c1db9bd0a3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event
2021-04-25 21:20:28 +00:00
Hugo Sales
cc47cda3d1
[TESTS] Fix Nickname test
2021-04-23 15:38:26 +00:00
Hugo Sales
1503c98f26
[Favourite] Make twig event operate on array rather than string
2021-04-23 12:55:42 +00:00
Hugo Sales
b82658e345
[SECURITY][DB] Make user register 'atomic', by using a single transaction for inserting all objects, to avoid partial inserts
2021-04-23 12:54:25 +00:00
Hugo Sales
1bad2fa050
[TESTS] Fix wrong namespace in tests
2021-04-22 18:26:00 +00:00
Hugo Sales
926d0af663
[PLUGIN] Change base class from Module to Plugin for all plugins
2021-04-19 18:51:42 +00:00
Hugo Sales
0a7496de1e
[AVATAR] Display avatar rounded
2021-04-19 18:41:40 +00:00
Diogo Peralta Cordeiro
9814baf192
[UI] Use thumbnail path for thumbs
2021-04-19 13:22:50 +01:00
Hugo Sales
5ec7717fa1
[ATTACHMENTS] Move thumbnail controller to core and cleanup
2021-04-19 13:22:50 +01:00
Hugo Sales
d316f9dd6f
[ImageEncoder] Change preferred type to always be WEBP
2021-04-19 13:22:50 +01:00
Hugo Sales
529ec19801
[AVATAR] Display avatar as round on the default theme
2021-04-19 13:22:50 +01:00
Hugo Sales
e105889a59
[AVATAR] Fix JS cropping script and save square image, in case other themes need it
2021-04-19 13:22:50 +01:00
Hugo Sales
c37a75cf7b
[ImageEncoder] Move DB::persist call to AttachmentThumbnail
2021-04-19 13:22:40 +01:00
Hugo Sales
a33a25983e
[ImageEncoder] Fix error when not providing a width and/or height
2021-04-19 13:22:26 +01:00
Diogo Peralta Cordeiro
2f137f8b44
[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-04-19 13:22:04 +01:00
Diogo Peralta Cordeiro
0f52638a80
[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-04-19 13:21:32 +01:00
Hugo Sales
bbc2fe1b5a
[ENTITY] Cache AttachmentThumbnail query result
2021-04-16 20:28:39 +01:00
Hugo Sales
45a894c953
[Poll] Move tables from core to plugin
2021-04-16 20:28:39 +01:00
Hugo Sales
c8915df31e
[ImageThumbnail] Finish image thumbnailing functionality
2021-04-16 20:28:39 +01:00
Hugo Sales
f6dea6e162
[DB] Fix bug in custom criteria format wrangling
2021-04-16 20:28:39 +01:00