Commit Graph

480 Commits

Author SHA1 Message Date
Eliseu Amaro 20d89f0f24
[COMPONENTS][Avatar] Make sure dimension values are integers
[CARDS][Note] Fix assumed avatar dimension values
2021-12-27 19:08:55 +00:00
Eliseu Amaro 19975b8d8d
[COMPONENTS][Avatar] Make sure dimension values are integers
[CARDS][Note] Fix assumed avatar dimension values
2021-12-27 19:08:51 +00:00
Hugo Sales 72a19d7eac
[COMPONENT][Posting] Fix error around mentions of actors that don't exist 2021-12-27 17:35:33 +00:00
Hugo Sales b84315c95b
[TOOLS] Fix errors reported by PHPStan at level 4 2021-12-27 17:35:33 +00:00
Diogo Peralta Cordeiro c9d05d71f5
[COMPONENT][Group] Fix group creation, Refactor related entities to inside the component
Other minor bug fixes and improvements
2021-12-27 17:28:03 +00:00
Diogo Peralta Cordeiro de148c1f78
[COMPONENT][Avatar][Controller] Implement multiple dimensions 2021-12-27 05:08:29 +00:00
Diogo Peralta Cordeiro 80afc0fa6c
[TEMPLATES][Cards][Profile] Provide both actor uri and url, as well as full mention guidance 2021-12-27 05:08:27 +00:00
Diogo Peralta Cordeiro c4dacd7626
[COMPONENT][Attachment] Vinculate note information with attachment controllers
Various minor bug fixes
2021-12-27 04:56:00 +00:00
Hugo Sales 93276ce8d0
[AUTOGENERATED] Update autogenerated code 2021-12-27 03:06:30 +00:00
Hugo Sales 7eff22d548
[TOOLS] Fix errors reported by updated PHPStan 2021-12-27 03:03:57 +00:00
Eliseu Amaro 7402e749cb
[COMPONENTS][Feed] Removed unnecessary ARIA 2021-12-26 21:19:33 +00:00
Diogo Peralta Cordeiro 0c421116a6
[ENTITY][Note] Relive isVisibleTo method 2021-12-26 19:50:21 +00:00
Diogo Peralta Cordeiro a1d9909379
[CORE][VisibilityScope] Use enum type instead of Bitmap 2021-12-26 19:16:56 +00:00
Hugo Sales 3d9141f4ce
[COMPONENT][Tag] Allow searching for actor circles with {actor,people}-{circle,list}:#tag 2021-12-26 19:16:16 +00:00
Diogo Peralta Cordeiro 8e7c94fe1d
[COMPONENT][Attachment] Entity should have default refCount value, every attachment starts with 1 life 2021-12-26 19:16:16 +00:00
Diogo Peralta Cordeiro 94e216a943
[COMPONENT][Conversation] remove early flush in utility function 2021-12-26 19:16:16 +00:00
Hugo Sales 726613cd96
[ENTITY][ActorCircle][COMPONENT][Tag] Add fields to ActorCircle and add or remove target to actor circle when they add or remove a selftag 2021-12-26 19:16:15 +00:00
Hugo Sales c79b1e4c94
[AUTOGENERATED] Update auto generated code 2021-12-26 19:16:15 +00:00
Hugo Sales ec28f23025
[TOOLS] Run CS-fixer on all files 2021-12-26 19:16:15 +00:00
Diogo Peralta Cordeiro 21f585ef7e
[COMPONENT][Language] Do not exclude notes without language from the feeds 2021-12-26 16:48:36 +00:00
Diogo Peralta Cordeiro 9d5e149dec
[COMPONENT][Feed] Correct ordering 2021-12-26 16:48:35 +00:00
Diogo Peralta Cordeiro 3e13765f62
[CORE][SCOPE] Implement basic visibility in feeds 2021-12-26 16:48:34 +00:00
Diogo Peralta Cordeiro d4bc1d097d
[ENTITY][NoteTag][COMPONENT][Language] Add language to NoteTag and minor corrections 2021-12-26 06:22:30 +00:00
Diogo Peralta Cordeiro 78fddaf86a
[PLUGIN][ActivityPub] Notify mentions in tags 2021-12-26 06:22:28 +00:00
Diogo Peralta Cordeiro 9d0b39e680
[PLUGIN][ActivityPub] Support tags in notes 2021-12-25 18:04:31 +00:00
Diogo Peralta Cordeiro 36483a6ecd
[COMPONENT][Link] Ignore html anchors that include mention class 2021-12-25 18:04:30 +00:00
Eliseu Amaro 0d5e545a6e
[TWIG] Replaced unused markup classes 2021-12-25 17:59:49 +00:00
Eliseu Amaro ab640b110b
[COMPONENTS][Feed] Remove 'feed' from header
When not logged in, the word would be repeated
2021-12-25 17:47:12 +00:00
Eliseu Amaro 7891461d36
[PLUGINS][AttachmentCollections] Fix template
[PLUGINS][AttachmentShowRelated] Fix template

[CSS] Fix section-subtitle-details children padding issues

[COMPONENTS][Posting] Remove unnecessary colon

Overall polish of existing plugins templates
2021-12-25 17:31:16 +00:00
Hugo Sales b604ee3146
[COMPONENT][Posting][Tag][Group][Conversation][RightPanel] Rename posting_form.to to posting_form.in, fill in with current group. Refactor context_actor 2021-12-25 11:24:41 +00:00
Hugo Sales 0f54d2121e
[CONTROLLER][Feeds] In Home feed, include specifically subscribed-{person,group,business,organization}, but allow querying for subscribed or subscribed-actor{,s} 2021-12-25 10:12:38 +00:00
Phablulo Joel dad322e577 [TWIG][Templates] check if variable is defined in twig before using it
fixes error in /actor/X, where there's no page_title defined
2021-12-24 11:44:12 -03:00
Diogo Peralta Cordeiro de89cffc34
[COMPONENT][Feed] Restrict non-public feeds to logged in users 2021-12-24 14:39:23 +00:00
Phablulo Joel 63f9c6341e [COMPONENT][RightPanel] Sends request object in the `AppendRightPanelBlock` event 2021-12-24 10:20:55 -03:00
Hugo Sales 1947e99430
[DOC] Add documentation to methods flagged by doc-check 2021-12-24 09:34:13 +00:00
Hugo Sales dabf5576d3
[CONTROLLER][Feeds] Implement query for home feed: note-from:subscribed 2021-12-24 09:27:24 +00:00
Diogo Peralta Cordeiro 10e7c71b6e
[COMPONENT][Tag] Do not perform DB::flush in an event 2021-12-24 02:46:45 +00:00
Diogo Peralta Cordeiro 8cd703d68b
[COMPONENT][Link] Even if everything else in Posting fails, no reason to discard the finding about the Link 2021-12-24 02:46:45 +00:00
Eliseu Amaro 671c3968e2
[TWIG][Templates] Rename inconsistent CSS classes
[CSS] Font size hierarchy refactor
[PLUGINS][MediaFeed] Renamed BeforeFeed event

Type scale hierarchy redone. Bigger line height added, making it easier
to click on links and separate contents.

Feed title added. AddFeedActions replaces BeforeFeed event.
MediaFeed links will now show an icon to the right of the feed title,
smaller footprint and more consistent with the overall design.
2021-12-24 02:46:44 +00:00
Hugo Sales 333e71ed50
[COMPONENT][Group] Add group settings, with support for editing the group's personal info and self tags 2021-12-24 02:46:43 +00:00
Hugo Sales 69565e3f49
[COMPONENT][Tag] Add missing required route paramter nickname 2021-12-24 02:46:43 +00:00
Hugo Sales 95783d6109
[CONTROLLER][UserPanel][COMPONENT][Tag] Re-add way of adding self tags, but in a more reusable (and less buggy) way 2021-12-24 02:46:41 +00:00
Hugo Sales a28c0da4af
[COMPONENT][Language][Settings] Factor out language settings into the language component 2021-12-24 02:46:40 +00:00
Hugo Sales 1682b04e74
[COMPONENT][Group][CONTROLLER][Actor] Move group related stuff to it's own component 2021-12-24 02:46:39 +00:00
Diogo Peralta Cordeiro b05106e7f9
[COMPONENT][Conversation] Minor corrections and don't store URI in DB 2021-12-24 02:46:38 +00:00
Diogo Peralta Cordeiro e04d927fe9
[COMPONENT][Feed][Conversation] Add note-conversation: 2021-12-24 02:46:36 +00:00
Diogo Peralta Cordeiro 17b7ef13a0
[COMPONENT][Conversation] Remove Feed list entry
Notifications feed is enough
2021-12-24 00:47:36 +00:00
Diogo Peralta Cordeiro e743a17883
[COMPONENT][Notification] Introduce Notifications Feed 2021-12-24 00:47:36 +00:00
Diogo Peralta Cordeiro 2004f1883a
[COMPONENT][FreeNetwork] Move feeds that only make sense with FreeNetwork enabled to this component 2021-12-24 00:47:34 +00:00
Diogo Peralta Cordeiro 7d8cce3b27
[COMPONENT][Feed] Correct queries and introduce new feeds
Refactor feeds and search to use a common query builder
2021-12-24 00:44:39 +00:00
Eliseu Amaro 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
Eliseu Amaro 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
Eliseu Amaro 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
Phablulo Joel fb64444325 [UI][CORE][COMPONENT][Search] Refactor templates
Just DRY
2021-12-21 14:38:58 -03:00
Phablulo Joel dd5d46c556 [CORE] Add option to filter notes even when there's no actor 2021-12-21 14:33:19 -03:00
Hugo Sales 012e0665b0
[COMPONENT][Search] Only display search subscribe field if a user is logged in 2021-12-21 16:45:59 +00:00
Hugo Sales 85735222cb
[COMPONENT][Posting] When a group is mentioned, add that note to the group inbox 2021-12-21 12:43:28 +00:00
Hugo Sales 315fd95b94
[COMPONENT][Posting] Add facility to allow mentioning groups that don't yet exist 2021-12-21 12:07:54 +00:00
Eliseu Amaro 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
Diogo Peralta Cordeiro 57beb178cc
[Notification][ENTITY][Activity] Avoid including sender in notification targets 2021-12-19 19:04:05 +00:00
Diogo Peralta Cordeiro 1d09a02ad6
[FreeNetwork][ActivityPub] Sometimes remote Actors report empty full names in not very explicit manners 2021-12-19 19:04:05 +00:00
Hugo Sales a81ac673ac
[CORE][ENTITY] Rename 'Entity::getWithPK' to 'Entity::getByPK' 2021-12-19 19:04:01 +00:00
Hugo Sales 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
Hugo Sales 1b45fb251a
[COMPONENT][Search][Attachment][DOC] Add doocumentation to search related functions 2021-12-16 10:52:06 +00:00
Hugo Sales b0d5ce8aab
[COMPONENT][Search] Don't explode if provided an empty search query 2021-12-16 10:41:29 +00:00
Hugo Sales a16d31b70e
[COMPONENT][Search] Add support for searching in notes' contents 2021-12-16 10:39:36 +00:00
Hugo Sales f6a8ee86b6
[COMPONENT][Search] Add support for searching for a given actor type 2021-12-11 22:21:31 +00:00
Hugo Sales 4be226edd5
[COMPONENT][Search] Make search title field not required 2021-12-11 22:20:25 +00:00
Hugo Sales 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
Hugo Sales bad5efe819
[COMPONENT][Search] Be explicit about including : 2021-12-11 20:56:47 +00:00
Hugo Sales 01470ee664
[COMPONENT][Search] Add facility for supporting searching for note types 2021-12-11 19:33:30 +00:00
Hugo Sales d667c3a453
[COMPONENTS][Search][UI] Add options to filter by note or actor type. Reorganize UI 2021-12-11 17:48:40 +00:00
Hugo Sales e8ddca6b06
[COMPONENT][LeftPanel] Add previous title to error message when a duplicate feed is found 2021-12-11 16:50:52 +00:00
Hugo Sales 682f9aa611
[COMPONENT][LeftPanel] Ensure given url corresponds to a feed 2021-12-11 10:50:29 +00:00
Hugo Sales dbc8bf2ae1
[COMPONENT][Search][LeftPanel] Add way of adding a search result as a left panel feed 2021-12-11 10:49:57 +00:00
Hugo Sales 9afe6ecfac
[COMPONENT][Search] Add search query builder 2021-12-10 21:19:21 +00:00
Hugo Sales fceb014606
[COMPONENT][Language] Add support for searching for multiple languages at the same time 2021-12-10 21:15:12 +00:00
Hugo Sales 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
Hugo Sales 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
Hugo Sales 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
Diogo Peralta Cordeiro b89f57ce93
[ENTITY][Note] Language can be null 2021-12-10 04:05:34 +00:00
Diogo Peralta Cordeiro 0c11fe413c
[COMPONENT][Tag] We don't always have information about if a tag is canonical 2021-12-10 04:05:22 +00:00
Diogo Peralta Cordeiro 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
Diogo Peralta Cordeiro dcc867dad7
[COMPONENT][Attachment] Delete related 2021-12-10 02:46:25 +00:00
Hugo Sales 45d1ca88a6
[COMPONENT][Tag] Ensure only one copy of each tag is inserted 2021-12-09 22:22:31 +00:00
Hugo Sales 4d2230ff43
[COMPONENT][Language] Add Language component and implement language based note filtering 2021-12-09 21:39:00 +00:00
Hugo Sales 3405312a5b
[COMPONENT][Search] Add way of searching for only notes or poeple with a given language 2021-12-09 21:39:00 +00:00
Hugo Sales 659ea5cd1f
[COMPONENT][Search] Use correct template for displaying actors 2021-12-09 16:23:09 +00:00
Hugo Sales bc3e6ac704
[COMPONENT][Search] Fix searching for actors 2021-12-09 16:23:09 +00:00
Hugo Sales 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
Eliseu Amaro 774e32f834
[PLUGINS][TreeNotes] Working, however feed is still not formatted
[ENTITY][Note] Fix for getReplies()
2021-12-09 00:15:47 +00:00
Diogo Peralta Cordeiro 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
Eliseu Amaro 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
Hugo Sales e9dfa0f08c
[COMPONENT][Attachment][Posting] Move `onHashFile` from Posting to Attachment. Remove `onGetAllowedThumbnailSizes` 2021-12-08 20:42:29 +00:00
Hugo Sales d52a043705
[TWIG] Restructure user settings template, making it much easier to use and extend 2021-12-08 19:57:35 +00:00
Hugo Sales 6627006e61
[COMPONENT][Avatar] Move avatar settings template from core to component 2021-12-08 19:57:29 +00:00
Eliseu Amaro 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
Eliseu Amaro 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
Hugo Sales 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
Hugo Sales ba87944732
[COMPONENT][CONTROLLER][Search][CORE][FeedController] Use new FeedController base class 2021-12-07 21:07:37 +00:00
Hugo Sales b8e9c2ce41
[COMPONENT][Search] Add title so it's clearer these are search results 2021-12-07 20:36:25 +00:00
Hugo Sales f9fedfb131
[COMPONENT][Search] Fix search 2021-12-07 20:26:39 +00:00
Hugo Sales 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
Eliseu Amaro 4657a1d6a5
[COMPONENTS][Tag] Fix actor tag template
[PLUGINS][RelatedTags] Fix actor tag template
2021-12-07 15:35:27 +00:00
Eliseu Amaro 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
Eliseu Amaro 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
Eliseu Amaro ef435b824b
[CSS] You can hide Posting section on command now 2021-12-06 21:07:45 +00:00
Diogo Peralta Cordeiro 5196b669b9
[PLUGIN][ActivityPub] Add attachment support to Notes 2021-12-05 21:04:20 +00:00
Hugo Sales e29e1cc87c
[ENTITY] Rename 'getFrom' to 'getBy' 2021-12-05 17:55:46 +00:00
Hugo Sales 6b719daa14
FIXUP POSTING TAG COMP 2021-12-05 17:54:58 +00:00
Hugo Sales 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
Hugo Sales 969df371dd
[COMPONENT][Avatar] Small refactor 2021-12-05 17:54:58 +00:00
Diogo Peralta Cordeiro 9506909e7a
[COMPONENT][FreeNetwork] Iterate documentation 2021-12-04 21:05:09 +00:00
Diogo Peralta Cordeiro 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
Eliseu Amaro d802af6d91
[COMPONENTS] Accesskey highlight class set 2021-12-02 22:44:58 +00:00
Diogo Peralta Cordeiro 5130e7e70f
[COMPONENT][Attachment] Update routes to use /object/ namespace 2021-12-02 21:26:06 +00:00
Diogo Peralta Cordeiro bfec10fc95
[COMPONENT][Attachment][Entity][Attachment] getThumbnail can be null 2021-12-02 21:26:05 +00:00
Hugo Sales f5ec099e9a
[COMPONENT][Tag][Search] Fix typo in event handler name mismatch 2021-12-02 19:17:37 +00:00
Hugo Sales 772ec6efcf
[UI] Set html img width and height attributes for avatar 2021-12-02 19:13:33 +00:00
Hugo Sales 92d5f3ec1e
[COMPONENTS][Avatar] Delete correct cache key on avatar update 2021-12-02 19:13:23 +00:00
Eliseu Amaro f35dbbd8c1
[COMPONENTS][Search] Polished template
[COMPONENTS][Search] Fix event typo
2021-12-02 16:37:17 +00:00
Eliseu Amaro 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
Diogo Peralta Cordeiro 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
Diogo Peralta Cordeiro d044039272
[FreeNetwork] Initial multi-protocol support 2021-12-02 14:23:21 +00:00
Diogo Peralta Cordeiro dbaee08038
[FreeNetwork] Move mentions logic from AP to FN and handle local webfinger mentions properly 2021-12-02 11:12:04 +00:00
Eliseu Amaro d64bd17422
[COMPONENTS][LeftPanel] Fix template filename 2021-12-01 22:19:00 +00:00
Eliseu Amaro 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
Hugo Sales 74bab8e7aa
[COMPONENTS][Left][CONTROLLER][EditFeeds] Add missing action and method to <form> 2021-12-01 19:47:44 +00:00
Hugo Sales b7fe924bdd
[TOOLS][DOCS] Add missing doc blocks, as signaled by doc-checker 2021-12-01 19:47:44 +00:00
Hugo Sales d58483a6ca
[TOOLS] Cleanup PHPStan warnings 2021-12-01 19:47:43 +00:00
Hugo Sales 73981030fa
[CONTROLLER][COMPONENT][Left] Move edit feeds controller to the Left component 2021-12-01 19:47:43 +00:00
Hugo Sales ed5f6b6eed
[COMPONENTS][Search][UI] Use base template and macros to display search results 2021-12-01 19:47:41 +00:00
Diogo Peralta Cordeiro 424df54a1b
[ActivityPub] Add HTTP Signatures 2021-12-01 19:47:41 +00:00
Diogo Peralta Cordeiro 4ddd00a091
[NOTIFICATION] Add FreeNetwork distribution 2021-11-30 00:48:46 +00:00
Hugo Sales 3477ad5efc
[PLUGINS][RelatedTags] Add related tags plugin and needed infrastructure. Initial work on pinned content 2021-11-29 22:42:51 +00:00
Hugo Sales 5c3d561a67
[COMPONENTS][Tag] Refactor Tag and add self tag stream 2021-11-29 22:42:50 +00:00
Hugo Sales 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
Diogo Peralta Cordeiro 56526c9ba6
[ActivityPub][Inbox] Restore Create Note Functionality
Minor bug fixes
2021-11-29 22:42:46 +00:00
Diogo Peralta Cordeiro 7b9d388a44
[NOTIFICATION] Implement Target Collector 2021-11-27 15:14:15 +00:00
Hugo Sales 6cd7be6abc
[UI][CONTROLLER][ENTITY][DOCS] Refactor term 'timeline' into 'feed' 2021-11-26 13:05:23 +00:00
Hugo Sales 6919f38592
[UI][COMPONENT][Tag] Use base template and properly display notes in tag stream 2021-11-26 11:59:11 +00:00
Hugo Sales c178054433
[COMPONENT][Tag] Add stream for multiple tags 2021-11-26 11:48:35 +00:00
Hugo Sales 98b719dca3
[COMPONENTS][Tag] Split tag into words and stem each 2021-11-25 20:37:53 +00:00
Hugo Sales 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
Eliseu Amaro d8147cbd2d
[PLUGINS][AttachmentShowRelated] Fixed note template error. Fixed if statement.
[CORE][Controller] Commented CSP out.
2021-11-24 12:46:32 +00:00
Eliseu Amaro 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
Hugo Sales 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
Eliseu Amaro 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
Hugo Sales 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
Hugo Sales 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
Hugo Sales 839fa070c7
[CORE][Posting] Default Posting language to site language, if the user hasn't selected one 2021-11-02 11:14:59 +00:00
Diogo Peralta Cordeiro c862c9bf18
[ActivityPub] Make remote mentions great again 2021-11-01 12:16:46 +00:00
Eliseu Amaro 7fef18e95a
[COMPONENTS][Posting] LocaleType::class doesn't have a default attribute, replaced with 'preferred_choices' instead. 2021-10-29 17:46:25 +01:00
Hugo Sales 0f358a9c5d
[CORE][Posting] Add language choice field to the note posting block 2021-10-28 17:37:00 +01:00
Diogo Peralta Cordeiro 5189269e5b
[FreeNetwork] Port Discovery 2021-10-27 04:22:18 +01:00
Hugo Sales 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
Eliseu Amaro b7d9da8ae6
[Posting] Add Content Length constraint to form validation 2021-10-27 04:19:33 +01:00
Eliseu Amaro 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
Eliseu Amaro 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
Diogo Peralta Cordeiro 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
Hugo Sales 9109c61af5
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types 2021-10-27 04:19:28 +01:00
Hugo Sales 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
Hugo Sales ce0cfa7a63
[COMPONENT][Search] Update Search to be able to search for either notes or actors 2021-10-27 04:19:27 +01:00
Diogo Peralta Cordeiro 99ab24ec23
[CORE][Controller] Allow routes without text/html response
Improve GET getters
2021-10-27 04:19:23 +01:00
Diogo Peralta Cordeiro 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
Eliseu Amaro 3cb6563c40 [TWIG][EndShowStyles] Route as an event argument 2021-10-06 00:34:27 +01:00
Eliseu Amaro 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
Eliseu Amaro d38ad60c76 [COMPONENTS][CSS] Adding components styling properly. 2021-10-01 17:25:51 +01:00
Hugo Sales de984ac8e1
[COMPONENTS][Search][Tag] Implement basic search functionality that allows only searching through note tags, currently 2021-09-27 19:50:56 +01:00
Eliseu Amaro 5249ccfc68 [Posting][CSS] Right panel form render simplified. 2021-09-25 21:02:11 +01:00
Diogo Peralta Cordeiro 4820a863a9
[Avatar] Fix cache usage and other minor bugs 2021-09-23 14:34:34 +01:00
Diogo Peralta Cordeiro 7beb5c2995
[GSFile] Fix sanitize configuration 2021-09-22 15:13:46 +01:00
Diogo Peralta Cordeiro c1e7d486a3
[Posting] Fix bug with early DB::flush that would discard attachments relations 2021-09-22 15:13:44 +01:00
Hugo Sales c6082bab10
[COMPONENT][Tag] Update tag stream to use new pagedStream format 2021-09-21 16:39:36 +01:00
Hugo Sales 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
Hugo Sales 6cd86cac25
[COMPONENT][Tag] Add tag stream, with paging 2021-09-21 11:04:27 +01:00
Hugo Sales 2f3f7b8469
[COMPONENTS][Posting][Link][Tag] Pass the note, not just the id in ProcessNoteContent 2021-09-21 11:04:27 +01:00
Diogo Peralta Cordeiro 958cbffb91
[Posting] Add text/html content type, must actually treat it 2021-09-20 17:02:35 +01:00
Diogo Peralta Cordeiro 85969a8cff
[Avatar] Add default avatar route and improve url getter 2021-09-20 17:01:36 +01:00
Hugo Sales 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
Eliseu Amaro 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
Diogo Peralta Cordeiro 67d62cf37b
[TWIG] Remove kludge event TwigPopulateVars 2021-09-18 07:27:35 +01:00
Diogo Peralta Cordeiro fda998e335
[Avatar] We definitely don't need an event to retrieve avatar urls 2021-09-18 07:26:10 +01:00
Diogo Peralta Cordeiro 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
Diogo Peralta Cordeiro 941cbe6599
[Actor] Refactor GSActor into Actor 2021-09-18 05:12:17 +01:00
Eliseu Amaro 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
Diogo Peralta Cordeiro 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
Hugo Sales 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
Hugo Sales bebf4fdbce
[I18n][Posting] Move ':' to inside the translate call 2021-09-14 13:13:45 +01:00
Diogo Peralta Cordeiro 7c465bba5f
[NOTE] Add mimetype to notes 2021-09-14 13:13:45 +01:00
Hugo Sales 0cecc67376
[COMPONENT][Posting][Link] Create `ProcessNoteContent` event. Move link extraction to Link component. Cleanup Posting 2021-09-14 13:13:42 +01:00
Hugo Sales add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1 2021-09-14 13:13:42 +01:00
Eliseu Amaro 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
Hugo Sales 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
Hugo Sales 4d3da08b1e
[CONFIG] Add example module configuration 2021-09-14 13:13:36 +01:00
Diogo Peralta Cordeiro 9739cc5f21
[Posting] Respect process_links setting 2021-09-14 13:13:36 +01:00
Diogo Peralta Cordeiro ab142ab52d
[FileQuota] Update plugin to respect the new entities 2021-09-14 13:13:35 +01:00
Hugo Sales 458b6d0009
[UI] Rename all forms to more specific names, to avoid form name collisions 2021-09-14 13:13:33 +01:00
Diogo Peralta Cordeiro de444a2a5a
[Posting] Fix wrong usage of DB::findBy 2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro 41b42407cd
[Posting] Store uploaded filenames as titles 2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro 036e9cb58e
[Avatar] Preserve uploaded filename and use Avatar's own route instead of attachment 2021-09-14 13:13:30 +01:00
Diogo Peralta Cordeiro 9e4cac0123
[ENTITY] Refactor RemoteURL entities to Link
RemoteURL was being an awfully confusing term.
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro 4cc4523632
[Posting] Re-add original file to attachment on upload, if it was previously removed 2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro 75f70f8182
[ENTITY][Posting] Remove GSActorToRemoteURL, Fix URL database store 2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro f5175cc59d
[ATTACHMENTS] Always store in the same location 2021-09-14 13:13:24 +01:00
Diogo Peralta Cordeiro 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
Hugo Sales 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
Diogo Peralta Cordeiro a77f51dd06
[Avatar] Delete attachment only if safe 2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro 21362d1e4d
[ATTACHMENTS] Add dependencies counter 2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro 0c612bddbe
[Avatar] Store as regular attachments 2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro 3334aca7b9
[Avatar] Move entity from core to component 2021-09-14 13:13:20 +01:00
Hugo Sales 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
Eliseu Amaro 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
Diogo Peralta Cordeiro 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
Diogo Peralta Cordeiro 488e700fab
[POSTING] Make it possible for plugins to change the placeholder string 2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro c8cf8c3f13
[FILE][TemporaryFile] Fix various issues now that we also have Symfony's file abstractions 2021-09-14 13:13:03 +01:00
Hugo Sales d31c3b1784
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:13:01 +01:00
Hugo Sales 2b83a4b627
[UTILS][TemporaryFile] Change way TemporaryFile takes arguments and it's internal implementation 2021-09-14 13:12:58 +01:00
Diogo Peralta Cordeiro 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
Diogo Peralta Cordeiro 8f43c8b405
[AUTOGENERATED] Update auto generated code 2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro c9090e6cee
[ATTACHMENTS][GSFile] Rename ValidateAndStore functions 2021-09-14 13:12:56 +01:00
Hugo Sales 353595eb97
[Posting] Add missing default visibility option 2021-09-14 13:12:55 +01:00
Hugo Sales d11615ded6
[Avatar][Embed] Change use of TemporaryFile::getPath to getRealPath 2021-09-14 13:12:55 +01:00
Hugo Sales e9b2b18093
[Avatar] Implement avatar deletion 2021-09-14 13:12:53 +01:00
Hugo Sales 2ec7059076
[AVATAR] Move avatar settings page to Avatar component 2021-09-14 13:12:53 +01:00
Diogo Peralta Cordeiro cbd383f92d
[RIGHT] Introduce component abstraction 2021-09-14 13:12:53 +01:00
Hugo Sales 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
Hugo Sales a7ef2babe6
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:12:52 +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 e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event 2021-09-14 13:12:23 +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 4358656c55
[ImageThumbnail] Implement image resizing with Intervention/Image 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 c44443b52c
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:11:50 +01:00
Diogo Peralta Cordeiro 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
Hugo Sales 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
Hugo Sales 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