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