Commit Graph

31 Commits

Author SHA1 Message Date
Diogo Peralta Cordeiro ae7516c893
[ATTACHMENTS] Always store in the same location 2021-08-14 17:00:48 +01:00
Diogo Peralta Cordeiro 32ad5dbd74
[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-08-14 17:00:46 +01:00
Hugo Sales 4297eb71a0
[CORE][GSFile] Change actor_id paramenter of validateAndStoreFileAsAttachment to optional and reorder them and their usages 2021-08-03 19:23:02 +00:00
Diogo Peralta Cordeiro 832a5c0bd9 [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-07-22 21:10:45 +01:00
Diogo Peralta Cordeiro 0eebcdbd51 [POSTING] Make it possible for plugins to change the placeholder string 2021-07-22 13:02:09 +01:00
Diogo Peralta Cordeiro 3f565442d2 [Posting] Don't sanitize on storage
We prefer to have the original input in database and sanitize on output when appropriate
2021-05-02 00:00:03 +01:00
Diogo Peralta Cordeiro ced6e236ce [ATTACHMENTS][GSFile] Rename ValidateAndStore functions 2021-05-01 23:57:51 +01:00
Hugo Sales d9a3ecb116 [Posting] Add missing default visibility option 2021-04-30 23:08:08 +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 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 c1db9bd0a3 [Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event 2021-04-25 21:20:28 +00: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 2232f28283 [Posting] Rename file to attachment and cache result of actor tag query 2021-04-16 20:28:39 +01:00
Diogo Peralta Cordeiro a1cac40f6a [MODULES] Introduce the concept of abstract modules to V3
Introduce placeholder for abstract upload and thumb modules
Temporarily supress some bugs
2021-04-16 20:21:54 +01:00
Daniel 168b7d313a [Poll] Polls now have an associated note, poll templates, start_show_styles event, started css 2021-04-14 15:37:23 +00:00
Hugo Sales 5cced1c9ed [DOCUMENTATION][REFACTOR] Add documentation to all flagged function and do some small cleanup 2021-04-14 15:37:23 +00:00
Hugo Sales 4c021a2838 [POSTING] Fix missing use statement 2021-04-14 15:37:23 +00:00
Hugo Sales a7b7d487d7 POSTING remove REPLY route 2021-04-14 15:37:22 +00:00
Hugo Sales 774d7ffdf9 [Reply] Move reply functionality to a plugin 2021-04-14 15:37:22 +00:00
Hugo Sales 1c37eb7c72 [UI] Display error when submitted form is invalid 2021-04-14 15:37:22 +00:00
Hugo Sales 3affbc3c78 [Posting] Fix form name and remove unused recycle route and controller 2021-04-14 15:37:22 +00:00
Hugo Sales 54e8852fb7 [Posting] Fix posting form name and css 2021-04-14 15:37:22 +00:00
rainydaysavings 492f32c555 [COMPONENT][CONTROLLER][TWIG] Recycle component work 2021-04-14 15:37:22 +00:00
rainydaysavings 8f7790fa3c [COMPONENT] Fixing typo 2021-04-14 15:37:22 +00:00
Hugo Sales e13e763d5c [NOTE][UI] Add note replying and UI displaying 2021-04-14 15:37:22 +00:00
rainydaysavings b9355b49f3 [COMPONENT] Posting form restructure and minor fixes 2021-04-14 15:37:22 +00:00
rainydaysavings 5dbde32f01 [COMPONENT] Posting form now shows a random default string 2021-04-14 15:37:22 +00:00
rainydaysavings f16fcb0200 [COMPONENTS] Small fix 2021-04-14 15:37:22 +00:00
rainydaysavings dec35a6aa1 [COMPONENT] Posts scope initial form 2021-04-14 15:37:22 +00:00
Hugo Sales 1b0cab6dc8 [UI][NOTE] Post and see attachments 2021-04-14 15:37:22 +00:00
Hugo Sales 75958fc9b4 [MODULE][Posting] Add Posting module, which handles notice posting 2021-04-14 15:37:22 +00:00