Commit Graph

949 Commits

Author SHA1 Message Date
Hugo Sales 5f4968ac05
[ENTITY][Note][CACHE] Store lists as lists in the cache 2021-12-30 18:28:57 +00:00
Hugo Sales 2e0bfc0bcd
[TOOLS] Run CS-Fixer on all files 2021-12-30 18:28:57 +00:00
Hugo Sales 8831276489
[TOOLS] Fix errors reported by PHPStan 2021-12-30 18:28:57 +00:00
Hugo Sales cbb70a5054
[COMPONENT][Feed] Refactor Feed component 2021-12-30 18:28:56 +00:00
Phablulo Joel 85e31c684d [MODULES][Collection] Fixing mistakes 2021-12-30 12:16:29 -03:00
Phablulo Joel d7f70d288d [MODULES][Collection] Abstracting Collections 2021-12-29 21:56:45 -03:00
Eliseu Amaro 836560f55f
[CARDS][Note] AppendCardNote event overhaul
[PLUGINS][Favourite] Added complementary information on user action

[COMPONENTS][Conversation] Fixed AppendCardNote issue where cached query
would only act on Notes with depth > 1
2021-12-29 18:35:12 +00:00
Phablulo Joel 01d5e84a08 [COMPONENT][ACTOR CIRCLE] mention self tag circle with @#self_tag 2021-12-29 14:13:25 -03:00
Diogo Peralta Cordeiro 9585472679
[ENTITY][Actor] Basic check if can admin for remote actors 2021-12-28 15:38:41 +00:00
Diogo Peralta Cordeiro bf4a0008ef
[ENTITY][Note] GNU social uses Tombstones for deleted notes instead of fully removing them.
Various corrections.
2021-12-28 06:56:05 +00:00
Diogo Peralta Cordeiro f5b06e2c7e
[UTIL][Formatting] Fix group mentions 2021-12-27 21:38:20 +00:00
Hugo Sales c40e38c5ba
[TOOLS] Fix errors found by PHPStan 2021-12-27 20:37:16 +00:00
Hugo Sales d74a9ad373
[ENTITY][Subscription] Add Subscription::cacheKeys 2021-12-27 20:37:16 +00:00
Hugo Sales 76440961ca
[CORE][DB] Add option to findOneBy to return null rather than throw 2021-12-27 20:37:16 +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 eb761609aa
[ENTITY][Note] If note is a reply to, notify reply's actor 2021-12-27 04:56:00 +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
Diogo Peralta Cordeiro fec1861b80
[CONTROLLER][Note] Respect note scope 2021-12-26 21:19:06 +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
Eliseu Amaro 4df80be095
[ENTITY][Actor] Set default null values 2021-12-26 19:16:16 +00:00
Diogo Peralta Cordeiro d37f38a1ea
[ENTITY][Note] A note by default isn't a reply 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 000ec680e6
[CORE][TOOL] Minor fixes and run cs-fixer 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 5e42723624
[ENTITY][Note] Include reply_to's targets in child's 2021-12-26 19:16:14 +00:00
Diogo Peralta Cordeiro f5f7fc6056
[PLUGIN][Favourite][Repeat] Add notification target getter 2021-12-26 19:16:14 +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
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
Diogo Peralta Cordeiro de89cffc34
[COMPONENT][Feed] Restrict non-public feeds to logged in users 2021-12-24 14:39:23 +00:00
Hugo Sales dabf5576d3
[CONTROLLER][Feeds] Implement query for home feed: note-from:subscribed 2021-12-24 09:27:24 +00:00
Hugo Sales 2e69eac63e
[CONTROLLER][UserPanel][UTIL][FORM][ActorForms] Move UserPanel::personalInfo to ActorForms::personalInfo 2021-12-24 02:46:43 +00:00
Hugo Sales 1e6bc5b6ab
[CORE][Form] Fix Form::handle and report back any errors 2021-12-24 02:46:42 +00:00
Hugo Sales 59abffe744
[ENTITY][Actor][DOC] Add explanation in Actor::__call 2021-12-24 02:46:42 +00:00
Hugo Sales be197bc82b
[ENTITY][LocalUser] Fix LocalUser::setNicknameSanitizedAndCached so it updates the actor nickname and propagates the exceptions 2021-12-24 02:46:42 +00:00
Hugo Sales 764a30695d
[ENTITY][ActorTag][Actor][Activity] Add Actor::getActorCircles 2021-12-24 02:46:42 +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 072caad845
[CONTROLLER][UserPanel] Remove self tags settings from profile settings section, so it can be abstracted and reused 2021-12-24 02:46:41 +00:00
Hugo Sales 774b33a522
[DEPENDENCIES] Update dependencies and Symfony to 5.4 LTS 2021-12-24 02:46:41 +00:00
Hugo Sales 80ebd6fb7b
[ENTITY][Actor] Add helper function for checking if the current actor can admin another 2021-12-24 02:46:40 +00:00
Hugo Sales 63679426b6
[UTIL][HTML] Allow <b> and <hr> tags 2021-12-24 02:46:40 +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
Hugo Sales 67f09d4e50
[CONTROLLER][Actor] Handle case where there isn't a logged in user 2021-12-24 02:46:39 +00:00
Diogo Peralta Cordeiro 4b98200ecd
[UI][CARD][Note] Add Conversation link 2021-12-24 02:46:39 +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 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 d04b68a3ce
[PLUGIN][MediaFeed] Add Media plugin which filters a feed by notes containing media 2021-12-22 11:13:06 +00: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 af122df6e1
[CONTROLLER][Actor] Fix actor view route 2021-12-21 16:45:59 +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 e7dcea3f26
[CONTROLLER][Actor] Add group notes query and fixup template 2021-12-21 12:47:16 +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 25900d38bd
[UTIL][EXCEPTION][RedirectException] Remove hack that would attempt to generate a URL inplace 2021-12-21 12:46:02 +00:00
Hugo Sales 027adc97b2
[CONTROLLER][ActorController] Make ActorController extend the FeedController, so notes get filtered 2021-12-21 12:45:15 +00:00
Hugo Sales 7f65b23074
[DB] Allow mentioning 'note' in a DQL query (in quotes), in order to be able to search in the activity table (previously would be replaced by the class name) 2021-12-21 12:44:34 +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 88a137fb15
[ROUTES] Rename actor routes and add route for groups 2021-12-21 12:10:51 +00:00
Hugo Sales 87aa9360a3
[CORE][ActorController] Refactor actor related controllers (Actor, Subscribers, Subscriptions) to remove duplicated code 2021-12-21 12:10:08 +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 23f94ac961
[CORE][Controller] Define html format as default 2021-12-20 13:32:49 +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
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 5dca5568b7
[CORE][Cache] Fix wrong return type in Cache::delete 2021-12-16 11:01:23 +00:00
Hugo Sales 24291a268a
[CORE][Cache][DOCS] Add documentation to complex private function 'Cache::redisMaybeRecompute' 2021-12-16 10:47:01 +00:00
Hugo Sales 6d8679d86b
[CORE] Fix resetting the config to the default values 2021-12-13 15:49:52 +00:00
Hugo Sales 3ba7e1804b
[CORE][Cache] Add fast path for redis cache interactions 2021-12-13 15:49:52 +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 6a9388a789
[UTIL][FormFields] Add option language form field so the user can provide no selection 2021-12-10 21:03:37 +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 c720ce7daf
[UTIL][Functional] Add cartesianProduct while it doesn't get merged upstream to \Functional 2021-12-10 13:53:23 +00:00
Hugo Sales dd33720957
[TWIG] Add 'dd' and 'die' functions to twig 2021-12-10 12:06:47 +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