Commit Graph

339 Commits

Author SHA1 Message Date
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
Diogo Peralta Cordeiro
8b5286c383
[COMPONENT][Notification] Do not re-render content just to grab attentions
Other minor improvements and bug fixes
2021-12-21 16:05:24 +00:00
Hugo Sales
6a8144003f
[ENTITY][Actor] Add missing 'break' statements in switches in getUr{i,l} 2021-12-21 12:46:42 +00:00
Hugo Sales
d6d5926b6e
[TOOLS][DOC] Add missing documentation, as flagged by doc-check 2021-12-21 12:24:23 +00:00
Hugo Sales
da8c41e094
[TOOLS] Fix errors found by PHPStan 2021-12-21 12:17:51 +00:00
Hugo Sales
fa863d9e03
[CONTROLLER][ENTITY][Actor] Add way of creating a group that doesn't exist 2021-12-21 12:12:03 +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
Hugo Sales
e27f2dd202
[ENTITY] Remove Group entity, as groups are actors 2021-12-20 20:20:25 +00:00
Eliseu Amaro
918e6823a9
[ENTITY][Actor] Init Actor's class variable homepage, bio, and location to null
The template cards/profile/view.html.twig tries to access the bio variable before it's initialized, an is null check was already in place. However, even then, the variable needs to be init beforehand. The same change was applied to homepage and location since they might lead to similar issues.
2021-12-20 16:31:26 +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
ed67da89dc
[TAGS] Fix some minor logic issues with Actor Tags and Circles 2021-12-20 13:32:49 +00:00
Diogo Peralta Cordeiro
a9feb79825
[SECURITY] New actors are Person user on register by default 2021-12-20 13:32:49 +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
93fa7eb0b5
[ENTITY][Note] Language in notes is optional 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
10ddbf692a
[ENTITY][LocalUser] Make more use of caching and factor out the cache keys 2021-12-12 16:21:09 +00:00
Hugo Sales
1e8eea0434
[ENTITY][Actor] Add type field, which denotes whether the actor is a person, org, group, business or bot 2021-12-11 22:19:37 +00:00
Hugo Sales
e62896b84e
[UTIL][FormFields] Allow specifying a null actor in the language field, for when there isn't a logged in user 2021-12-11 22:18:31 +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
60d31e097e
[COMPONENT][Notification] Support empty array of targets 2021-12-10 04:05:34 +00:00
Diogo Peralta Cordeiro
b89f57ce93
[ENTITY][Note] Language can be null 2021-12-10 04:05:34 +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
5f167517ad
[ENTITY][Note] Add deleter 2021-12-10 02:46:25 +00:00
Hugo Sales
b1585f0ef2
[ENTITY][Actor][ActorTag] Ensure only one copy of each tag is inserted 2021-12-09 22:23:17 +00:00
Hugo Sales
ab9dd1db77
[CACHE][ENTITY][Actor] Refactor Actor so that all cache keys are kept in one cacheKeys function, so that we can more easily be certain there are no mismatches in cache keys between gets and deletes 2021-12-09 21:59:49 +00:00
Hugo Sales
c137a484af
[ENTITY][ActorTag] Fix url in actor tag 2021-12-09 16:34:07 +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
b1227d36f1
[CARDS][Note] In conversation time ago information added 2021-12-08 22:48:04 +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
Diogo Peralta Cordeiro
63bf93d7f3
[CORE][Entity][Note] Language can be null 2021-12-05 21:03:13 +00:00
Hugo Sales
2a161c9c66
[PLUGIN][TagBasedFiltering] Block actor tags, but don't block notes from the current actor 2021-12-05 19:18:57 +00:00
Hugo Sales
259e07b259
[ENTITY][ActorTag][ActorTagBlock] Add 'use_canonical' column 2021-12-05 17:55:49 +00:00
Hugo Sales
9f445632b2
[PLUGIN][TagBasedFiltering] Expand to allow filtering by actor tags 2021-12-05 17:55:49 +00:00
Hugo Sales
e29e1cc87c
[ENTITY] Rename 'getFrom' to 'getBy' 2021-12-05 17:55:46 +00:00
Hugo Sales
4f669d4e01
[ENTITY][NoteTag][Language] Add convinience cache getters 2021-12-05 17:54:58 +00:00
Hugo Sales
a47a01abee
[ENTITY][ActorTagBlock][NoteTagBlock] Add ActorTagBlock and NoteTagBlock 2021-12-05 17:54:58 +00:00
Hugo Sales
314859b775
[ENTITY][NoteTag] Add 'use_canonical' column, which indicates whether the user wanted to canonicalize the tag or not (for themselves, the canonical field is still filled, for blocks) 2021-12-05 17:54:58 +00:00
Hugo Sales
969df371dd
[COMPONENT][Avatar] Small refactor 2021-12-05 17:54:58 +00:00
Eliseu Amaro
4501b7e85e
[CONTROLLER][UserPanel] Re-organised all settings forms. Added email, password, language forms separated from account or personal account info
[CORE][Form] Better PHPDoc and used is_null() for checks

[ENTITY][LocalUser] Add setNicknameSanitisedAndCached

[UTIL][Exception] Better NicknameNotAllowedException default message
2021-12-03 03:32:43 +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
Hugo Sales
772ec6efcf
[UI] Set html img width and height attributes for avatar 2021-12-02 19:13:33 +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
Eliseu Amaro
37ef8cddfa
[ENTITY][Note] Add getLanguageLocale() and getNoteLanguageShortDisplay()
[CARDS][Note] Render note's language short display

[PLUGINS] Bring back titles to Reply, Repeat and Favourite actions
2021-12-02 15:05:49 +00:00
Eliseu Amaro
eeb42ef8ea
[CONTROLLER][Actor] Provide template with all notes by actor
[ENTITY][Note] Add getAllNotesByActor

[TWIG] Actor profile page now renders all notes by the actor
2021-12-01 21:41:41 +00:00
Hugo Sales
d58483a6ca
[TOOLS] Cleanup PHPStan warnings 2021-12-01 19:47:43 +00:00
Hugo Sales
0b57b20d38
[UI][PLUGIN][Reply][Favourite][ENTITY][Feed] Remove replies and favourite links from navigation/view.html.twig and add them to the feeds section 2021-12-01 19:47:43 +00:00
Hugo Sales
d4c77925d2
[CORE][DB][ENTITY][Actor] Make DB::dql return a chunked array if selecting multiple entities, remove partitioning from callsite
`DB::dql('select a, b, from a join b')` would previously return `[a,
b, a, b, ...]` (or even `[b, a, b, a, ...]`), and now will return
`[[a, a, ...], [b, b, ...]]`. The issue would be further compounded
when selecting even more entities, where the order would be
unpredictable
2021-12-01 19:47:42 +00:00
Hugo Sales
6c7f69dd94
[ENTITY][Actor] Partition the results of the joint query into a separate list of ActorsCircles and ActorTags, as desired 2021-12-01 19:47:42 +00:00
Diogo Peralta Cordeiro
424df54a1b
[ActivityPub] Add HTTP Signatures 2021-12-01 19:47:41 +00:00
Diogo Peralta Cordeiro
123544fa50
[ActivityPub] Port Postman 2021-12-01 19:47:40 +00:00
Diogo Peralta Cordeiro
df3fbbc9e7
[ActivityPub] Add ActivityToType
Minor bug fixes
2021-12-01 19:47:39 +00:00
Hugo Sales
98568b6f53
[ENTITY][Actor][ActorTag] Make Actor->getSelfTags and Actor->getOtherTags return [ActorCircle[], ActorTag[]], rather than ActorCrircle alone 2021-11-29 23:12:07 +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
fc81f7301c
[CORE][DB][ENTITY][Actor] Add DB::removeBy and use it in Actor->setSelfTags 2021-11-29 22:42:50 +00:00
Hugo Sales
f986f59424
[ENTITY][ActorTag] Add 'canonical' field to actor_tag 2021-11-29 22:42:49 +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
Diogo Peralta Cordeiro
51994406da
[CORE][ENTITY] Properly port ProfileTag, ProfileTagSubscription and ProfileList as ActorTag, ActorTagSubscription and ActorCircle 2021-11-27 04:17:18 +00:00
Hugo Sales
11d2cfb9ed
[UI][FEEDS][ENTITY][Feed] Add way to customize the feeds that are displayed in the left panel. The user can add, delete, reoder and rename them 2021-11-26 23:35:10 +00:00
Hugo Sales
6cd7be6abc
[UI][CONTROLLER][ENTITY][DOCS] Refactor term 'timeline' into 'feed' 2021-11-26 13:05:23 +00:00
Hugo Sales
283820a4a5
[UI][ENTITY][Language] Use list rather than hashmap so actor language ordering is preserved 2021-11-26 12:30:21 +00:00
Hugo Sales
04e6b2fb53
[ENTITY][Language] Properly handle context actor language 2021-11-26 12:29:27 +00:00
Hugo Sales
b1262919da
[TOOLS] Fix (most) issues found by PHPStan 2021-11-25 23:08:30 +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
Diogo Peralta Cordeiro
05758c999f
[ENTITY][Actor] fix typo in findRelativeActors query 2021-11-25 02:07:12 +00:00
Hugo Sales
3a5e52ee0d
[CORE][SECURITY] Move to the new authentication format, for Symfony 5.3
Keep using (deprecated) Guard
2021-11-24 12:46:26 +00:00
Hugo Sales
7e4a971fac
[ENTITY][LocalUser][CACHE] Remove bad keys from getByNickname cache key 2021-11-20 21:33:25 +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
Diogo Peralta Cordeiro
89d36a68e5
[ENTITY][Actor] Add is_local, it's common to depend, and this makes it much faster, with a low space cost 2021-11-16 23:26:20 +00:00
Hugo Sales
b8b19abed2
[ENTITY][AttachmentThumbnail] Do not attempt to check if a file exists if the path is null 2021-11-15 19:25:52 +00:00
Hugo Sales
774eb49af4
[UI][CONTROLLER][UserPanel][ENTITY][ActorLanguage][Language][Actor] Add interface to allow user to select thier preferred languages and to order them. Rename ActorLanguage::order to ordering 2021-11-15 19:25:52 +00:00
Hugo Sales
c509692102
[ENTITY][AttachmentThumbnail] Uncache when deleting, cleanup code and ensure the biggest thumbnail is used when the original is not avaliable 2021-11-15 19:25:51 +00:00
Hugo Sales
eab6de3609
[TESTS][Security] Fix SecurityTest. Remove nickname normalization on register (a plugin can handle that). Move from filter_var(FILTER_VALIDATE_EMAIL) as it does not support dotless domains 2021-11-15 19:25:50 +00:00
Hugo Sales
a1c78696f7
[CORE][Actor][Posting] Fixup Actor::getPreferredLanguageChoices following changes in how the data is cached 2021-11-11 12:39:36 +00:00
Eliseu Amaro
d0f9fde7c2
[PLUGIN][Reply] WIP. Note complementary info now shows who has replied on the original note! 2021-11-10 15:44:28 +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
7d8819a3da
[DB][CONTROLLER][Network][ENTITY][Note] Fix Note::getAllNotes 2021-11-09 23:38:37 +00:00
Hugo Sales
f0c532340e
[DB] Fix uses of DB::sql, to remove the deprecated second entities parameter 2021-11-08 20:35:38 +00:00
Hugo Sales
767b2035e7
[ENTITY][ActorLanguage] Remove duplicate specification of 'not null' in table schema 2021-11-08 20:32:10 +00:00
Diogo Peralta Cordeiro
f98afd15ce
[ENTITY] Refactor Follow as Subscription 2021-11-08 16:14:23 +00:00
Hugo Sales
68c6dd1ba9
[CORE][Cache] Use hashmaps to store language related items 2021-11-08 16:08:04 +00:00
Hugo Sales
2eb31952bc
[ENTITY][Language] Use varchar as char leads to a padded string, which isn't helpful 2021-11-08 16:08:03 +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
9444c34071
[ENTITY][Actor][ActorLanguage][Language] Remove Actor::preferred_lang_id. Add ActorLanguage::order. Add Language::{short_display,long_display}. Instead of an actor having a single preffered language, the entries in ActorLanguage should be used, sorted by ActorLanguage::order 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
Eliseu Amaro
cf09b48e92
[PLUGINS][Repeat] Added note_repeat entity, fixed visual discrepancies, and completed the expected functionality.
[ENTITY][Note] Removed repeat_off from table. It is now part of the Repeat plugin.
2021-11-01 21:19:56 +00:00
Diogo Peralta Cordeiro
712d1739e4
[UTIL][Formatting] Make local mentions great again 2021-11-01 12:16:29 +00:00
Eliseu Amaro
91dd6e1428
[Controller][Security] Fullname is not setup automatically upon registering anymore.
[ENTITY][Actor] Changes to accomodate fullname from potentially being null.
[ENTITY][Note] Changes to accomodate fullname from potentially being null.
2021-10-29 22:05:10 +01:00
Hugo Sales
458c09485a
[CORE][ENTITY] Move preferred language setting from [LocalUser] to [Actor], make [Language] language unique and make [Note] content_type not null 2021-10-28 17:34:01 +01:00
Hugo Sales
18aeeb3850
[ENTITY] Add a [Language] table, which has a char 64 field that maps to an int. This is then used in [Note], [LocalUser] and [ActorLanguage] 2021-10-28 11:26:34 +01:00
Eliseu Amaro
3e2fefa8af
[TWIG][Cards] Fullname is now displayed as the note author, nickname as an identification.
[CONTROLLER][Security] Fullname is set on resgistration to enable it to be shown by default in notes.
[CONTROLLER][UserPanel] Fullname extra step added.
[CSS] Fullname and nickname representation work.
2021-10-27 20:44:50 +01:00
Hugo Sales
299e893ca9
[TOOLS][PHPStan][DocCheck] Fix errors found by PHPStan and Doc Check 2021-10-27 04:19:31 +01:00
Hugo Sales
dff5647b97
[DB][Note] Add langauge field to notes 2021-10-27 04:19:31 +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
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
03f6029ce5
[SECURITY] Fix nickname validation and properly allow email auth 2021-10-18 13:22:55 +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