110c2572a4
[TEMPLATES] Minor refactoring, extending left was weird
2021-09-14 13:12:54 +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
ced610d942
[Embed] Use Formatting utilities rather than substr and such
2021-09-14 13:12:53 +01:00
9008bee558
[Embed] Add docblock to handle function to pass pre-commit hook
2021-09-14 13:12:53 +01:00
88e5cec8fc
[ENTITY][GSActor] Fix getAvatarUrl method
2021-09-14 13:12:53 +01:00
cbd383f92d
[RIGHT] Introduce component abstraction
2021-09-14 13:12:53 +01:00
143b2460e9
[VIEWS] Minor proofreading of templates and css
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
4f6f1941da
[UI] Fix 'hide_attachments is not defined' error
2021-09-14 13:12:53 +01:00
436528172c
[ATTACHMENTS] Add controller and templates for the attachment show page, which shows extra info about an attachment, such as related notes and tags
2021-09-14 13:12:53 +01:00
be91fb754d
[CORE] Typo in GSFile and slight Twig weirdness in base template
2021-09-14 13:12:52 +01:00
b1e514832b
[Embed][ENTITY] Fix embed route and use attachment_view rather than _show. Rename Entity::have to Entity::has, because grammar
2021-09-14 13:12:52 +01:00
30107de079
[Embed] Fix plugin. Only attempt to show an image, if we have one
2021-09-14 13:12:52 +01:00
2adb3c3521
[ATTACHMENTS] Add event 'AttachmentFileInfo' to allow a plugin to override the file displayed
2021-09-14 13:12:52 +01:00
708a910870
[UTIL] Fix remove affix utilities, so they only try to remove an affix if the string starts/ends with it
2021-09-14 13:12:52 +01:00
8988d89192
[CONFIG] Add attachment related parameters to default config
2021-09-14 13:12:52 +01:00
a7ef2babe6
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:12:52 +01:00
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
fb220e82ed
[TOOLS] Use \DateTimeInterface rather than DateTimeInterface
2021-09-14 13:12:52 +01:00
bb1ba11fcf
[AUTOGENERATED] Run bin/generate_entity_fields for the Embed plugin
2021-09-14 13:12:51 +01:00
4cd152f640
[Embed] Review and port v2 code
2021-09-14 13:12:51 +01:00
7adc198a52
[ENTITY] Add meta method 'have*' to Entity base class, which checks if a field 'isset'
2021-09-14 13:12:51 +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
60a9085e56
[FORMATTING] Add utilities to remove affixes from strings
2021-09-14 13:12:51 +01:00
b647e31495
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler'
2021-09-14 13:12:51 +01:00
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
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
7dab063a72
[PLUGINS] Remove scripts. These will need to be implemented with Commands
2021-09-14 13:12:48 +01:00
3d8c348cb8
[Emebed] Add Embed plugin and initial cleanup
2021-09-14 13:12:24 +01:00
2d91095260
[UI] Use event 'ShowAttachment' to permit plugins like Embed to alter the representation
2021-09-14 13:12:23 +01:00
94edad43d9
[UTIL] Add method to validate url
2021-09-14 13:12:23 +01:00
5c78def973
[HTTPClient] Add utility functions for all HTTP methods
2021-09-14 13:12:23 +01:00
1b8f5b7bf0
[DB] Make DB::findOneBy throw a different exception if two values are found
2021-09-14 13:12:23 +01:00
e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event
2021-09-14 13:12:23 +01:00
ae0e410986
[TESTS] Fix Nickname test
2021-09-14 13:12:23 +01:00
8dff0b1d0c
[Favourite] Make twig event operate on array rather than string
2021-09-14 13:12:23 +01:00
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
77655c1248
[TESTS] Fix wrong namespace in tests
2021-09-14 13:12:23 +01:00
aeabf64051
[PLUGIN] Change base class from Module to Plugin for all plugins
2021-09-14 13:12:23 +01:00
a66118aee7
[AVATAR] Display avatar rounded
2021-09-14 13:12:22 +01:00
3afa872cec
[UI] Use thumbnail path for thumbs
2021-09-14 13:12:22 +01:00
e1995f44ce
[ATTACHMENTS] Move thumbnail controller to core and cleanup
2021-09-14 13:12:22 +01:00
3a7e92ed01
[ImageEncoder] Change preferred type to always be WEBP
2021-09-14 13:12:22 +01:00
1b1b3007db
[AVATAR] Display avatar as round on the default theme
2021-09-14 13:12:22 +01:00
e6c6e7afd7
[AVATAR] Fix JS cropping script and save square image, in case other themes need it
2021-09-14 13:12:22 +01:00
d2bb5bba14
[ImageEncoder] Move DB::persist call to AttachmentThumbnail
2021-09-14 13:12:22 +01:00
0c8c5a4b87
[ImageEncoder] Fix error when not providing a width and/or height
2021-09-14 13:12:22 +01:00
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
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