Commit Graph

430 Commits

Author SHA1 Message Date
48b2c8c04e
[COMPONENTS][Conversation] Local Conversations done
[COMPONENTS][Posting] Call Conversation::assignLocalConversation upon
creating a new note

By using the AddExtraArgsToNoteContent event upon posting a Note, an
extra argument ('reply_to') is added before storing the aforementioned Note.
When storeLocalNote eventually creates the Note, the corresponding
Conversation is assigned.
2021-12-24 00:42:02 +00:00
3ca7a35158
[COMPONENT][Conversation] added onProcessNoteContent event
If the source lacks capability of sending the reply_to metadata, it might be on the note content itself as a reference.

[ENTITY][Note] Documenting conversation/reply related functions. The entity Note reply_to shouldn't be trusted toknow whether or not the Note is a Conversation root. This will happen if a known remote user replies to an unknown remote user - within a known conversation.
2021-12-24 00:42:02 +00:00
c83ae76a68
[COMPONENTS][Conversation] Conversation entity moved to respective component, URI column added
Route for conversation added and Conversation Controller created.

[CONTROLLER][Conversation] Created ConversationShow function, will be used to render the conversation route page

[ENTITY][Note] Conversation id column added, this way a Note can have a direct relation with its respective conversation.
2021-12-24 00:42:01 +00:00
fb64444325 [UI][CORE][COMPONENT][Search] Refactor templates
Just DRY
2021-12-21 14:38:58 -03:00
dd5d46c556 [CORE] Add option to filter notes even when there's no actor 2021-12-21 14:33:19 -03:00
012e0665b0
[COMPONENT][Search] Only display search subscribe field if a user is logged in 2021-12-21 16:45:59 +00:00
85735222cb
[COMPONENT][Posting] When a group is mentioned, add that note to the group inbox 2021-12-21 12:43:28 +00:00
315fd95b94
[COMPONENT][Posting] Add facility to allow mentioning groups that don't yet exist 2021-12-21 12:07:54 +00:00
622057ba0d
[CONTROLLER][Feeds] Added should_format field on returned array
FeedController will only handle FormatNoteList if the should_format field is true.

This change was made to make the replies route feed possible, this route is added by the Conversation component. Since a reply isn't a conversation root, if the FeedController handled the FormatNoteList event, this feed wouldn't have any notes to display.
2021-12-20 15:39:23 +00:00
57beb178cc
[Notification][ENTITY][Activity] Avoid including sender in notification targets 2021-12-19 19:04:05 +00:00
1d09a02ad6
[FreeNetwork][ActivityPub] Sometimes remote Actors report empty full names in not very explicit manners 2021-12-19 19:04:05 +00:00
a81ac673ac
[CORE][ENTITY] Rename 'Entity::getWithPK' to 'Entity::getByPK' 2021-12-19 19:04:01 +00:00
330b6b49a2
[COMPONENT][Posting] Add support for posting with empty content. At least one of content and attachments must be provided 2021-12-16 11:08:53 +00:00
1b45fb251a
[COMPONENT][Search][Attachment][DOC] Add doocumentation to search related functions 2021-12-16 10:52:06 +00:00
b0d5ce8aab
[COMPONENT][Search] Don't explode if provided an empty search query 2021-12-16 10:41:29 +00:00
a16d31b70e
[COMPONENT][Search] Add support for searching in notes' contents 2021-12-16 10:39:36 +00:00
f6a8ee86b6
[COMPONENT][Search] Add support for searching for a given actor type 2021-12-11 22:21:31 +00:00
4be226edd5
[COMPONENT][Search] Make search title field not required 2021-12-11 22:20:25 +00:00
6b38972cca
[COMPONENT][Search] Add support for searching for notes with media or with text
`note-types:media` will search for notes with an associated attachment or no text
2021-12-11 20:59:13 +00:00
bad5efe819
[COMPONENT][Search] Be explicit about including : 2021-12-11 20:56:47 +00:00
01470ee664
[COMPONENT][Search] Add facility for supporting searching for note types 2021-12-11 19:33:30 +00:00
d667c3a453
[COMPONENTS][Search][UI] Add options to filter by note or actor type. Reorganize UI 2021-12-11 17:48:40 +00:00
e8ddca6b06
[COMPONENT][LeftPanel] Add previous title to error message when a duplicate feed is found 2021-12-11 16:50:52 +00:00
682f9aa611
[COMPONENT][LeftPanel] Ensure given url corresponds to a feed 2021-12-11 10:50:29 +00:00
dbc8bf2ae1
[COMPONENT][Search][LeftPanel] Add way of adding a search result as a left panel feed 2021-12-11 10:49:57 +00:00
9afe6ecfac
[COMPONENT][Search] Add search query builder 2021-12-10 21:19:21 +00:00
fceb014606
[COMPONENT][Language] Add support for searching for multiple languages at the same time 2021-12-10 21:15:12 +00:00
ada94a98e2
[COMPONENT][Search] Move search form to utility function. Add search form and search builder forms to search results page 2021-12-10 13:53:23 +00:00
8beb9682ee
[COMPONENTS][Search][Language] Move language search features to the language component. Add support for searching for notes from people with a given language 2021-12-10 13:53:23 +00:00
33fba0d970
[COMPONENT][Language][ENTITY][ActorLanguage] Refactor cache keys in ActorLanguage. Add ActorLangauge::getActorRelatedLanguagesIds and use it in note filtering in the Language component 2021-12-10 10:19:23 +00:00
b89f57ce93
[ENTITY][Note] Language can be null 2021-12-10 04:05:34 +00:00
0c11fe413c
[COMPONENT][Tag] We don't always have information about if a tag is canonical 2021-12-10 04:05:22 +00:00
dcc37b055d
[COMPONENT][Link] Remove relation to note when note is removed
Moved entity NoteToLink to the component
2021-12-10 04:04:56 +00:00
dcc867dad7
[COMPONENT][Attachment] Delete related 2021-12-10 02:46:25 +00:00
45d1ca88a6
[COMPONENT][Tag] Ensure only one copy of each tag is inserted 2021-12-09 22:22:31 +00:00
4d2230ff43
[COMPONENT][Language] Add Language component and implement language based note filtering 2021-12-09 21:39:00 +00:00
3405312a5b
[COMPONENT][Search] Add way of searching for only notes or poeple with a given language 2021-12-09 21:39:00 +00:00
659ea5cd1f
[COMPONENT][Search] Use correct template for displaying actors 2021-12-09 16:23:09 +00:00
bc3e6ac704
[COMPONENT][Search] Fix searching for actors 2021-12-09 16:23:09 +00:00
139da2c07f
[COMPONENT][Search][Tag] Add support for searching for actors or notes with a language. Use leftJoins, rather than inner joins 2021-12-09 16:22:59 +00:00
774e32f834
[PLUGINS][TreeNotes] Working, however feed is still not formatted
[ENTITY][Note] Fix for getReplies()
2021-12-09 00:15:47 +00:00
480a42cca5
[PLUGIN][ActivityPub] Introduce ActivitypubObject. Beware, inside the plugin, an Object can never be an Activity.
Many bug fixes and other major changes (interface changed, see EVENTS.md)
2021-12-08 23:24:23 +00:00
df92b0d225
[COMPONENTS][Conversation] Refactored Reply plugin into Conversation component
[PLUGIN][TreeNotes] TODO: think it is broken, perhaps a problem of the conversation arguments passed in note card template
2021-12-08 22:48:04 +00:00
e9dfa0f08c
[COMPONENT][Attachment][Posting] Move onHashFile from Posting to Attachment. Remove onGetAllowedThumbnailSizes 2021-12-08 20:42:29 +00:00
d52a043705
[TWIG] Restructure user settings template, making it much easier to use and extend 2021-12-08 19:57:35 +00:00
6627006e61
[COMPONENT][Avatar] Move avatar settings template from core to component 2021-12-08 19:57:29 +00:00
870f866c23
[CARDS][Navigation] Section styling more consistent and can now be selectively hidden by user
[COMPONENTS][Right] Changed additional options div class names
2021-12-08 15:16:30 +00:00
a285128dab
[COMPONENTS][Posting] Added language help text
[COMPONENTS][Tag] Added Posting form canonical tags field help text
2021-12-08 14:28:58 +00:00
3b8a3e953d
[CONTROLLER][FeedController] Make post processing happen more automatically, reducing noise in individual controllers. Now it's enough to simply extends App\Core\Controller\FeedController, to implement a feed 2021-12-08 10:20:37 +00:00
ba87944732
[COMPONENT][CONTROLLER][Search][CORE][FeedController] Use new FeedController base class 2021-12-07 21:07:37 +00:00
b8e9c2ce41
[COMPONENT][Search] Add title so it's clearer these are search results 2021-12-07 20:36:25 +00:00
f9fedfb131
[COMPONENT][Search] Fix search 2021-12-07 20:26:39 +00:00
c131e47176
[COMPONENT][Tag] Remove wrong canonicalization of tags in tag feed controller. Fix display of original tags 2021-12-07 20:10:59 +00:00
4657a1d6a5
[COMPONENTS][Tag] Fix actor tag template
[PLUGINS][RelatedTags] Fix actor tag template
2021-12-07 15:35:27 +00:00
0bac6a229e
[COMPONENTS][RightPanel] Added 'Additional options' details on posting form
[CSS] Trimming down wasted space and vendor related prefixes

[TWIG][Templates] Added main navigation to navigation card, removed note car language short display
2021-12-07 15:33:02 +00:00
546c5c84fd
[COMPONENTS][Tag] Actor/Note tag template polished
[PLUGINS][RelatedTags] Disable rendering of template when no results are found
2021-12-06 22:22:23 +00:00
ef435b824b
[CSS] You can hide Posting section on command now 2021-12-06 21:07:45 +00:00
5196b669b9
[PLUGIN][ActivityPub] Add attachment support to Notes 2021-12-05 21:04:20 +00:00
e29e1cc87c
[ENTITY] Rename 'getFrom' to 'getBy' 2021-12-05 17:55:46 +00:00
6b719daa14
FIXUP POSTING TAG COMP 2021-12-05 17:54:58 +00:00
2f5bde913c
[COMPONENT][Posting][Tag] Add mechanism for adding extra fields to and handling the data from the Posting form. Add 'use canonical tag' field 2021-12-05 17:54:58 +00:00
969df371dd
[COMPONENT][Avatar] Small refactor 2021-12-05 17:54:58 +00:00
9506909e7a
[COMPONENT][FreeNetwork] Iterate documentation 2021-12-04 21:05:09 +00:00
70ed04a7db
[COMPONENT][Link] Fix some minor issues with empty headed links, typo in event handler's name, and refactor entity to inside component 2021-12-03 00:46:52 +00:00
d802af6d91
[COMPONENTS] Accesskey highlight class set 2021-12-02 22:44:58 +00:00
5130e7e70f
[COMPONENT][Attachment] Update routes to use /object/ namespace 2021-12-02 21:26:06 +00:00
bfec10fc95
[COMPONENT][Attachment][Entity][Attachment] getThumbnail can be null 2021-12-02 21:26:05 +00:00
f5ec099e9a
[COMPONENT][Tag][Search] Fix typo in event handler name mismatch 2021-12-02 19:17:37 +00:00
772ec6efcf
[UI] Set html img width and height attributes for avatar 2021-12-02 19:13:33 +00:00
92d5f3ec1e
[COMPONENTS][Avatar] Delete correct cache key on avatar update 2021-12-02 19:13:23 +00:00
f35dbbd8c1
[COMPONENTS][Search] Polished template
[COMPONENTS][Search] Fix event typo
2021-12-02 16:37:17 +00:00
5cd96669fd
[COMPONENTS] LeftPanel and RightPanel checkbox hack trick
The anchor used for the accessibility menu preceded the left/right panel sections, rendering the checkbox useless
2021-12-02 15:49:09 +00:00
eeaad19754
[Attachment] Move Controller and Entities to a Component
There's no problem in having the templates in the core
2021-12-02 15:14:07 +00:00
d044039272
[FreeNetwork] Initial multi-protocol support 2021-12-02 14:23:21 +00:00
dbaee08038
[FreeNetwork] Move mentions logic from AP to FN and handle local webfinger mentions properly 2021-12-02 11:12:04 +00:00
d64bd17422
[COMPONENTS][LeftPanel] Fix template filename 2021-12-01 22:19:00 +00:00
e7ee558f4a
[TWIG] Fix empty accessibility menu anchor, accesskey anchors placement
[CSS] Dark theme hover/focus border, settings page form visibility
2021-12-01 20:29:11 +00:00
74bab8e7aa
[COMPONENTS][Left][CONTROLLER][EditFeeds] Add missing action and method to <form> 2021-12-01 19:47:44 +00:00
b7fe924bdd
[TOOLS][DOCS] Add missing doc blocks, as signaled by doc-checker 2021-12-01 19:47:44 +00:00
d58483a6ca
[TOOLS] Cleanup PHPStan warnings 2021-12-01 19:47:43 +00:00
73981030fa
[CONTROLLER][COMPONENT][Left] Move edit feeds controller to the Left component 2021-12-01 19:47:43 +00:00
ed5f6b6eed
[COMPONENTS][Search][UI] Use base template and macros to display search results 2021-12-01 19:47:41 +00:00
424df54a1b
[ActivityPub] Add HTTP Signatures 2021-12-01 19:47:41 +00:00
4ddd00a091
[NOTIFICATION] Add FreeNetwork distribution 2021-11-30 00:48:46 +00:00
3477ad5efc
[PLUGINS][RelatedTags] Add related tags plugin and needed infrastructure. Initial work on pinned content 2021-11-29 22:42:51 +00:00
5c3d561a67
[COMPONENTS][Tag] Refactor Tag and add self tag stream 2021-11-29 22:42:50 +00:00
6680772e47
[UI][I18N][UTIL][FormFields][Language][COMPONENTS][Posting][PLUGINS][Reply] Factor out translation from FormFields::language and remove help text in cases from Posting and Reply 2021-11-29 22:42:50 +00:00
56526c9ba6
[ActivityPub][Inbox] Restore Create Note Functionality
Minor bug fixes
2021-11-29 22:42:46 +00:00
7b9d388a44
[NOTIFICATION] Implement Target Collector 2021-11-27 15:14:15 +00:00
6cd7be6abc
[UI][CONTROLLER][ENTITY][DOCS] Refactor term 'timeline' into 'feed' 2021-11-26 13:05:23 +00:00
6919f38592
[UI][COMPONENT][Tag] Use base template and properly display notes in tag stream 2021-11-26 11:59:11 +00:00
c178054433
[COMPONENT][Tag] Add stream for multiple tags 2021-11-26 11:48:35 +00:00
98b719dca3
[COMPONENTS][Tag] Split tag into words and stem each 2021-11-25 20:37:53 +00:00
2d057024b9
[TAGS][ENTITY][Note] Properly store the note language, pass it along when rendering content. Add mechanism for stemming tags, with fallback to simply slug-ifying them 2021-11-25 20:37:53 +00:00
d8147cbd2d
[PLUGINS][AttachmentShowRelated] Fixed note template error. Fixed if statement.
[CORE][Controller] Commented CSP out.
2021-11-24 12:46:32 +00:00
0aa43783e8
[PLUGIN][Repeat] Repeat now repeats attachments as it should.
[COMPONENTS][Posting] Now accepts attachments already processed.
[ENTITY][Note] Added getAttachmentsWithTitle().
2021-11-17 17:14:15 +00:00
e9cc760ca8
[COMPONENTS][Posting][Right] Fix TypeError (which somehow only popped up in tests) caused by assigning a FormView to an out array param 2021-11-15 19:25:52 +00:00
f2f1bdc145
[PLUGIN][Reply] Separated replies from Note table.
[PLUGIN][Repeat] Deleted unnecessary card note template, info now to
appended at the end of note.
[PLUGIN][TreeNotes] WIP to accomodate reply plugin changes.
[TWIG][Runtime] Removed getAdditionalTemplateVars event.
2021-11-10 13:29:53 +00:00
2cf3a0b4e6
[COMPONENT][Posting] Display short language signifier rather than the full name for the first preffered language 2021-11-08 16:08:03 +00:00
019ad794d1
[Posting] Add dropdown with language choice, with preferred choice according to user choice and context (group, etc) 2021-11-08 16:08:02 +00:00
839fa070c7
[CORE][Posting] Default Posting language to site language, if the user hasn't selected one 2021-11-02 11:14:59 +00:00
c862c9bf18
[ActivityPub] Make remote mentions great again 2021-11-01 12:16:46 +00:00
7fef18e95a
[COMPONENTS][Posting] LocaleType::class doesn't have a default attribute, replaced with 'preferred_choices' instead. 2021-10-29 17:46:25 +01:00
0f358a9c5d
[CORE][Posting] Add language choice field to the note posting block 2021-10-28 17:37:00 +01:00
5189269e5b
[FreeNetwork] Port Discovery 2021-10-27 04:22:18 +01:00
364c14ef2c
[COMPONENT][Link] Fix mistake where only the first URL was matched and the match included the preceeding whitespace character 2021-10-27 04:19:34 +01:00
b7d9da8ae6
[Posting] Add Content Length constraint to form validation 2021-10-27 04:19:33 +01:00
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
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
9109c61af5
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types 2021-10-27 04:19:28 +01:00
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
ce0cfa7a63
[COMPONENT][Search] Update Search to be able to search for either notes or actors 2021-10-27 04:19:27 +01:00
99ab24ec23
[CORE][Controller] Allow routes without text/html response
Improve GET getters
2021-10-27 04:19:23 +01:00
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
de984ac8e1
[COMPONENTS][Search][Tag] Implement basic search functionality that allows only searching through note tags, currently 2021-09-27 19:50:56 +01:00
5249ccfc68 [Posting][CSS] Right panel form render simplified. 2021-09-25 21:02:11 +01:00
4820a863a9
[Avatar] Fix cache usage and other minor bugs 2021-09-23 14:34:34 +01:00
7beb5c2995
[GSFile] Fix sanitize configuration 2021-09-22 15:13:46 +01:00
c1e7d486a3
[Posting] Fix bug with early DB::flush that would discard attachments relations 2021-09-22 15:13:44 +01:00
c6082bab10
[COMPONENT][Tag] Update tag stream to use new pagedStream format 2021-09-21 16:39:36 +01:00
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
6cd86cac25
[COMPONENT][Tag] Add tag stream, with paging 2021-09-21 11:04:27 +01:00
2f3f7b8469
[COMPONENTS][Posting][Link][Tag] Pass the note, not just the id in ProcessNoteContent 2021-09-21 11:04:27 +01:00
958cbffb91
[Posting] Add text/html content type, must actually treat it 2021-09-20 17:02:35 +01:00
85969a8cff
[Avatar] Add default avatar route and improve url getter 2021-09-20 17:01:36 +01:00
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
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
67d62cf37b
[TWIG] Remove kludge event TwigPopulateVars 2021-09-18 07:27:35 +01:00
fda998e335
[Avatar] We definitely don't need an event to retrieve avatar urls 2021-09-18 07:26:10 +01:00
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
941cbe6599
[Actor] Refactor GSActor into Actor 2021-09-18 05:12:17 +01:00
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
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
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
bebf4fdbce
[I18n][Posting] Move ':' to inside the translate call 2021-09-14 13:13:45 +01:00
7c465bba5f
[NOTE] Add mimetype to notes 2021-09-14 13:13:45 +01:00
0cecc67376
[COMPONENT][Posting][Link] Create ProcessNoteContent event. Move link extraction to Link component. Cleanup Posting 2021-09-14 13:13:42 +01:00
add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1 2021-09-14 13:13:42 +01:00
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
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
4d3da08b1e
[CONFIG] Add example module configuration 2021-09-14 13:13:36 +01:00
9739cc5f21
[Posting] Respect process_links setting 2021-09-14 13:13:36 +01:00
ab142ab52d
[FileQuota] Update plugin to respect the new entities 2021-09-14 13:13:35 +01:00
458b6d0009
[UI] Rename all forms to more specific names, to avoid form name collisions 2021-09-14 13:13:33 +01:00
de444a2a5a
[Posting] Fix wrong usage of DB::findBy 2021-09-14 13:13:31 +01:00
41b42407cd
[Posting] Store uploaded filenames as titles 2021-09-14 13:13:31 +01:00
036e9cb58e
[Avatar] Preserve uploaded filename and use Avatar's own route instead of attachment 2021-09-14 13:13:30 +01:00
9e4cac0123
[ENTITY] Refactor RemoteURL entities to Link
RemoteURL was being an awfully confusing term.
2021-09-14 13:13:26 +01:00
4cc4523632
[Posting] Re-add original file to attachment on upload, if it was previously removed 2021-09-14 13:13:26 +01:00
75f70f8182
[ENTITY][Posting] Remove GSActorToRemoteURL, Fix URL database store 2021-09-14 13:13:25 +01:00
f5175cc59d
[ATTACHMENTS] Always store in the same location 2021-09-14 13:13:24 +01:00
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
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
a77f51dd06
[Avatar] Delete attachment only if safe 2021-09-14 13:13:21 +01:00
21362d1e4d
[ATTACHMENTS] Add dependencies counter 2021-09-14 13:13:21 +01:00
0c612bddbe
[Avatar] Store as regular attachments 2021-09-14 13:13:21 +01:00
3334aca7b9
[Avatar] Move entity from core to component 2021-09-14 13:13:20 +01:00
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
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
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
488e700fab
[POSTING] Make it possible for plugins to change the placeholder string 2021-09-14 13:13:03 +01:00
c8cf8c3f13
[FILE][TemporaryFile] Fix various issues now that we also have Symfony's file abstractions 2021-09-14 13:13:03 +01:00
d31c3b1784
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:13:01 +01:00
2b83a4b627
[UTILS][TemporaryFile] Change way TemporaryFile takes arguments and it's internal implementation 2021-09-14 13:12:58 +01:00
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
8f43c8b405
[AUTOGENERATED] Update auto generated code 2021-09-14 13:12:57 +01:00
c9090e6cee
[ATTACHMENTS][GSFile] Rename ValidateAndStore functions 2021-09-14 13:12:56 +01:00
353595eb97
[Posting] Add missing default visibility option 2021-09-14 13:12:55 +01:00
d11615ded6
[Avatar][Embed] Change use of TemporaryFile::getPath to getRealPath 2021-09-14 13:12:55 +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
cbd383f92d
[RIGHT] Introduce component abstraction 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
a7ef2babe6
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:12:52 +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
e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event 2021-09-14 13:12:23 +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
4358656c55
[ImageThumbnail] Implement image resizing with Intervention/Image 2021-09-14 13:11:50 +01:00
c053e8da8e
[Posting] Rename file to attachment and cache result of actor tag query 2021-09-14 13:11:50 +01:00
5579f4fa5d
[MEDIA] Rename File to Attachment 2021-09-14 13:11:50 +01:00
c44443b52c
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:11:50 +01:00
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
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
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