Commit Graph

1034 Commits

Author SHA1 Message Date
859bf0c0bf
[CONTROLLER][UserPanel] Notification settings panel debug information added for future reference 2022-01-13 16:24:23 +00:00
d29e28b829
[CORE][Entity] Replaced get_called_class() calls with static::class since the former is deprecated 2022-01-13 16:24:12 +00:00
14b03c7137
[UI][UserPanel] Do not try to re-set an unchanged nickname 2022-01-12 17:46:13 +00:00
480f570238
[CORE][SECURITY][HTML] Refactor Security::sanitize to HTML::sanitize
Update composer dependencies, move more general deps from ActivityPub to Core
2022-01-12 17:12:58 +00:00
José Marques
d713429d88
[CORE][Nickname] Properly set nickname for existing accounts 2022-01-10 11:33:13 +00:00
cdf1d67d0f
[CORE][Cache] Workaround to redis not allowing empty lists 2022-01-09 12:29:34 +00:00
da6d3bd351
[COMPONENT][Collection] Use current locale 2022-01-09 12:29:34 +00:00
e056920de4
[COMPONENT][Subscription] Fix Notifications 2022-01-06 12:13:11 +00:00
0c245fcb6e
[COMPONENTS][Subscription] Subscribe Actor action implemented
[TWIG] AddProfileAction event added
[CARDS][Profile] Refactor and restyling to accomodate Actor actions
2022-01-06 12:13:10 +00:00
0d1ab2c9cf
[SECURITY][Register] New users should have their current browser language set as first language preference 2022-01-05 04:19:35 +00:00
cd6ce3542e
[COMPONENT][Circle] Move circles to a component, various bug fixes
Mention links are now correct
2022-01-05 04:19:22 +00:00
627d92b290
[COMPONENT][Tag] Improve Note Tag Handling and start extracting Circles logic out of the plugin, various bug fixes 2022-01-05 01:30:02 +00:00
754135743e
[COMPONENT][Subscription] Move respective routes to component 2022-01-05 01:29:27 +00:00
5a0bbfc795
[UTIL][Common][I18N] Use actor's preferred language for _m and utility to retrieve current language even when no actor is logged in 2022-01-05 01:29:26 +00:00
de8eab2cf8
[CORE][FORM][FormTypeNonceExtension] Add a nonce to all forms with a CSRF token 2022-01-04 18:58:32 +00:00
b7e4f79ccc
[CORE][Cache] Add Cache::incr which increments a value at , atomically, in the case of Redis 2022-01-04 18:58:32 +00:00
a8a8cc4046
[COMPONENT][Posting] Plumb in reply_to and redirecto to GET from 2022-01-03 21:20:26 +00:00
7d38c927e1
[ENTITY][Note][CACHE] Consolidate cache keys to helper function and add ensureCanInteract 2022-01-03 21:20:26 +00:00
f5fc7b6cd1
[CORE][Controller] Add facility for either returning null or throwing, from Controller->{int,string,bool} 2022-01-03 18:02:33 +00:00
a9ea49d34c
[TOOLS][DOC] Add documentation to functions flagged by doc-check 2022-01-03 02:23:06 +00:00
27276ba379
[CONFIG] Rename streams/notes_per_page to feeds/entries_per_page 2022-01-03 02:18:44 +00:00
6cfb69d64b
[COMPONENT][Subscription] Start component 2022-01-03 02:18:44 +00:00
5fa8056899
[COMPONENT][Collection] Refactoring: Further work in abstracting collections 2022-01-03 02:18:43 +00:00
def5f36c25
[PLUGIN][ActivityPub][Inbox] Accept Follow Activity
Improve how Core Activity is handled in general
2022-01-02 23:50:16 +00:00
afb7ae0f75
[CORE][Util][Exception] Add log context to BugFoundException 2022-01-02 23:50:15 +00:00
28424402ec
[CONTROLLER][CollectionController] Refactored methods names and form
titles
[PLUGINS][AttachmentCollections] Renamed respective Controller to
differentiate it between The Controller and itself, renamed templates
and removed unnecessary HTML from templates
2022-01-02 23:50:15 +00:00
f42e91d2bc
[CORE][Controller] Allow plugins to override redirect responses 2022-01-02 23:50:14 +00:00
362fc6c7dd
[CORE][Controller] Set some safe default headers for every response 2022-01-02 23:50:14 +00:00
d27e8610d6
[CORE][DB] DB:removeBy Accept class name instead of table. 2022-01-02 23:50:14 +00:00
e7940a21ee
[PLUGINS][TreeNotes] Feed only shows each note and its respective direct
replies, conversation shows whole tree

[COMPONENTS][Feed] Added request to FormatNoteList event

Every single Note that was provided to FeedController::postProcess is
shown. This means, that even though the Feed is formatted to show only a
Note and its respective direct replies, those same replies are shown
individually again (and they get the chance to show their own direct
replies).

The Note list provided to FormatNoteList is reversed, and for every
index, the respective Note replies are filtered out of the original list.
The replies are then added as leafs of the current Note and added to the tree.
2022-01-01 21:42:47 +00:00
acc84d757c
[CORE][Controller] Make Controller->{int,bool,string} functions return null if the GET parameter doesn't exist 2022-01-01 20:03:40 +00:00
7aa90954eb
[UTIL][Functional] Update Functional::cartesian_product to pass an array of collections first and a separator after 2021-12-31 21:03:25 +00:00
b7872ba4ee
[CORE][Controller][FeedController] Use controller instance for filtering, making FeedControler->postProcess function non-static 2021-12-31 21:03:17 +00:00
ba078b7b76
[ENTITY][Note] Caching note replies query
[COMPONENTS][Conversation] Reply route will now present a more suitable title
2021-12-31 17:54:06 +00:00
0ae24f6088
[CORE][Controller][FeedController] Use controller instance for filtering, making FeedControler->postProcess function non-static 2021-12-30 18:28:57 +00:00
5f4968ac05
[ENTITY][Note][CACHE] Store lists as lists in the cache 2021-12-30 18:28:57 +00:00
2e0bfc0bcd
[TOOLS] Run CS-Fixer on all files 2021-12-30 18:28:57 +00:00
8831276489
[TOOLS] Fix errors reported by PHPStan 2021-12-30 18:28:57 +00:00
cbb70a5054
[COMPONENT][Feed] Refactor Feed component 2021-12-30 18:28:56 +00:00
85e31c684d [MODULES][Collection] Fixing mistakes 2021-12-30 12:16:29 -03:00
d7f70d288d [MODULES][Collection] Abstracting Collections 2021-12-29 21:56:45 -03:00
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
01d5e84a08 [COMPONENT][ACTOR CIRCLE] mention self tag circle with @#self_tag 2021-12-29 14:13:25 -03:00
9585472679
[ENTITY][Actor] Basic check if can admin for remote actors 2021-12-28 15:38:41 +00:00
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
f5b06e2c7e
[UTIL][Formatting] Fix group mentions 2021-12-27 21:38:20 +00:00
c40e38c5ba
[TOOLS] Fix errors found by PHPStan 2021-12-27 20:37:16 +00:00
d74a9ad373
[ENTITY][Subscription] Add Subscription::cacheKeys 2021-12-27 20:37:16 +00:00
76440961ca
[CORE][DB] Add option to findOneBy to return null rather than throw 2021-12-27 20:37:16 +00:00
b84315c95b
[TOOLS] Fix errors reported by PHPStan at level 4 2021-12-27 17:35:33 +00:00
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
de148c1f78
[COMPONENT][Avatar][Controller] Implement multiple dimensions 2021-12-27 05:08:29 +00:00
80afc0fa6c
[TEMPLATES][Cards][Profile] Provide both actor uri and url, as well as full mention guidance 2021-12-27 05:08:27 +00:00
eb761609aa
[ENTITY][Note] If note is a reply to, notify reply's actor 2021-12-27 04:56:00 +00:00
c4dacd7626
[COMPONENT][Attachment] Vinculate note information with attachment controllers
Various minor bug fixes
2021-12-27 04:56:00 +00:00
93276ce8d0
[AUTOGENERATED] Update autogenerated code 2021-12-27 03:06:30 +00:00
7eff22d548
[TOOLS] Fix errors reported by updated PHPStan 2021-12-27 03:03:57 +00:00
fec1861b80
[CONTROLLER][Note] Respect note scope 2021-12-26 21:19:06 +00:00
0c421116a6
[ENTITY][Note] Relive isVisibleTo method 2021-12-26 19:50:21 +00:00
a1d9909379
[CORE][VisibilityScope] Use enum type instead of Bitmap 2021-12-26 19:16:56 +00:00
4df80be095
[ENTITY][Actor] Set default null values 2021-12-26 19:16:16 +00:00
d37f38a1ea
[ENTITY][Note] A note by default isn't a reply 2021-12-26 19:16:16 +00:00
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
000ec680e6
[CORE][TOOL] Minor fixes and run cs-fixer 2021-12-26 19:16:15 +00:00
c79b1e4c94
[AUTOGENERATED] Update auto generated code 2021-12-26 19:16:15 +00:00
ec28f23025
[TOOLS] Run CS-fixer on all files 2021-12-26 19:16:15 +00:00
5e42723624
[ENTITY][Note] Include reply_to's targets in child's 2021-12-26 19:16:14 +00:00
f5f7fc6056
[PLUGIN][Favourite][Repeat] Add notification target getter 2021-12-26 19:16:14 +00:00
3e13765f62
[CORE][SCOPE] Implement basic visibility in feeds 2021-12-26 16:48:34 +00:00
d4bc1d097d
[ENTITY][NoteTag][COMPONENT][Language] Add language to NoteTag and minor corrections 2021-12-26 06:22:30 +00:00
78fddaf86a
[PLUGIN][ActivityPub] Notify mentions in tags 2021-12-26 06:22:28 +00:00
9d0b39e680
[PLUGIN][ActivityPub] Support tags in notes 2021-12-25 18:04:31 +00:00
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
de89cffc34
[COMPONENT][Feed] Restrict non-public feeds to logged in users 2021-12-24 14:39:23 +00:00
dabf5576d3
[CONTROLLER][Feeds] Implement query for home feed: note-from:subscribed 2021-12-24 09:27:24 +00:00
2e69eac63e
[CONTROLLER][UserPanel][UTIL][FORM][ActorForms] Move UserPanel::personalInfo to ActorForms::personalInfo 2021-12-24 02:46:43 +00:00
1e6bc5b6ab
[CORE][Form] Fix Form::handle and report back any errors 2021-12-24 02:46:42 +00:00
59abffe744
[ENTITY][Actor][DOC] Add explanation in Actor::__call 2021-12-24 02:46:42 +00:00
be197bc82b
[ENTITY][LocalUser] Fix LocalUser::setNicknameSanitizedAndCached so it updates the actor nickname and propagates the exceptions 2021-12-24 02:46:42 +00:00
764a30695d
[ENTITY][ActorTag][Actor][Activity] Add Actor::getActorCircles 2021-12-24 02:46:42 +00:00
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
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
774b33a522
[DEPENDENCIES] Update dependencies and Symfony to 5.4 LTS 2021-12-24 02:46:41 +00:00
80ebd6fb7b
[ENTITY][Actor] Add helper function for checking if the current actor can admin another 2021-12-24 02:46:40 +00:00
63679426b6
[UTIL][HTML] Allow <b> and <hr> tags 2021-12-24 02:46:40 +00:00
a28c0da4af
[COMPONENT][Language][Settings] Factor out language settings into the language component 2021-12-24 02:46:40 +00:00
1682b04e74
[COMPONENT][Group][CONTROLLER][Actor] Move group related stuff to it's own component 2021-12-24 02:46:39 +00:00
67f09d4e50
[CONTROLLER][Actor] Handle case where there isn't a logged in user 2021-12-24 02:46:39 +00:00
4b98200ecd
[UI][CARD][Note] Add Conversation link 2021-12-24 02:46:39 +00:00
2004f1883a
[COMPONENT][FreeNetwork] Move feeds that only make sense with FreeNetwork enabled to this component 2021-12-24 00:47:34 +00:00
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
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
d04b68a3ce
[PLUGIN][MediaFeed] Add Media plugin which filters a feed by notes containing media 2021-12-22 11:13:06 +00:00
dd5d46c556 [CORE] Add option to filter notes even when there's no actor 2021-12-21 14:33:19 -03:00
af122df6e1
[CONTROLLER][Actor] Fix actor view route 2021-12-21 16:45:59 +00:00
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
e7dcea3f26
[CONTROLLER][Actor] Add group notes query and fixup template 2021-12-21 12:47:16 +00:00
6a8144003f
[ENTITY][Actor] Add missing 'break' statements in switches in getUr{i,l} 2021-12-21 12:46:42 +00:00
25900d38bd
[UTIL][EXCEPTION][RedirectException] Remove hack that would attempt to generate a URL inplace 2021-12-21 12:46:02 +00:00
027adc97b2
[CONTROLLER][ActorController] Make ActorController extend the FeedController, so notes get filtered 2021-12-21 12:45:15 +00:00
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
d6d5926b6e
[TOOLS][DOC] Add missing documentation, as flagged by doc-check 2021-12-21 12:24:23 +00:00
da8c41e094
[TOOLS] Fix errors found by PHPStan 2021-12-21 12:17:51 +00:00
fa863d9e03
[CONTROLLER][ENTITY][Actor] Add way of creating a group that doesn't exist 2021-12-21 12:12:03 +00:00
88a137fb15
[ROUTES] Rename actor routes and add route for groups 2021-12-21 12:10:51 +00:00
87aa9360a3
[CORE][ActorController] Refactor actor related controllers (Actor, Subscribers, Subscriptions) to remove duplicated code 2021-12-21 12:10:08 +00:00
315fd95b94
[COMPONENT][Posting] Add facility to allow mentioning groups that don't yet exist 2021-12-21 12:07:54 +00:00
e27f2dd202
[ENTITY] Remove Group entity, as groups are actors 2021-12-20 20:20:25 +00:00
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
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
23f94ac961
[CORE][Controller] Define html format as default 2021-12-20 13:32:49 +00:00
ed67da89dc
[TAGS] Fix some minor logic issues with Actor Tags and Circles 2021-12-20 13:32:49 +00:00
a9feb79825
[SECURITY] New actors are Person user on register by default 2021-12-20 13:32:49 +00:00
57beb178cc
[Notification][ENTITY][Activity] Avoid including sender in notification targets 2021-12-19 19:04:05 +00:00
93fa7eb0b5
[ENTITY][Note] Language in notes is optional 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
5dca5568b7
[CORE][Cache] Fix wrong return type in Cache::delete 2021-12-16 11:01:23 +00:00
24291a268a
[CORE][Cache][DOCS] Add documentation to complex private function 'Cache::redisMaybeRecompute' 2021-12-16 10:47:01 +00:00
6d8679d86b
[CORE] Fix resetting the config to the default values 2021-12-13 15:49:52 +00:00
3ba7e1804b
[CORE][Cache] Add fast path for redis cache interactions 2021-12-13 15:49:52 +00:00
10ddbf692a
[ENTITY][LocalUser] Make more use of caching and factor out the cache keys 2021-12-12 16:21:09 +00:00
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
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
6a9388a789
[UTIL][FormFields] Add option language form field so the user can provide no selection 2021-12-10 21:03:37 +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
c720ce7daf
[UTIL][Functional] Add cartesianProduct while it doesn't get merged upstream to \Functional 2021-12-10 13:53:23 +00:00
dd33720957
[TWIG] Add 'dd' and 'die' functions to twig 2021-12-10 12:06:47 +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
60d31e097e
[COMPONENT][Notification] Support empty array of targets 2021-12-10 04:05:34 +00:00
b89f57ce93
[ENTITY][Note] Language can be null 2021-12-10 04:05:34 +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
5f167517ad
[ENTITY][Note] Add deleter 2021-12-10 02:46:25 +00:00
b1585f0ef2
[ENTITY][Actor][ActorTag] Ensure only one copy of each tag is inserted 2021-12-09 22:23:17 +00:00
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
1be4b3d481
[EVENT][FilterNoteList] Use an in-out parameter, so multiple events can act on this 2021-12-09 21:39:00 +00:00
f547fd3bb9
[CONTROLLER][FeedController] Fix return value, from notes to notes_out 2021-12-09 19:06:18 +00:00
c137a484af
[ENTITY][ActorTag] Fix url in actor tag 2021-12-09 16:34:07 +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
b1227d36f1
[CARDS][Note] In conversation time ago information added 2021-12-08 22:48:04 +00:00
d52a043705
[TWIG] Restructure user settings template, making it much easier to use and extend 2021-12-08 19:57:35 +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
4c0210fb00
[CORE][FeedController][CONTROLLER][Feeds] Refactor feed filtering into base class 2021-12-07 21:06: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
c093eb9089
[TWIG] Update instanceof filter to be able to check for native types 2021-12-07 19:52:27 +00:00
63bf93d7f3
[CORE][Entity][Note] Language can be null 2021-12-05 21:03:13 +00:00
2a161c9c66
[PLUGIN][TagBasedFiltering] Block actor tags, but don't block notes from the current actor 2021-12-05 19:18:57 +00:00
259e07b259
[ENTITY][ActorTag][ActorTagBlock] Add 'use_canonical' column 2021-12-05 17:55:49 +00:00