Fixed various bugs
Some important concepts to bear in mind:
* Notification: Associated with activities, won't be reconstructed
together with objects, can be thought of as transient
* Attention: Associated with objects, will be reconstructed with them, can
be thought as persistent
* Notifications and Attentions have no direct implications.
* Mentions are a specific form of attentions in notes, leads to the creation of Attentions.
Finally,
Potential PHP issue detected and reported: https://github.com/php/php-src/issues/8199
`static::method()` from a non static context (such as a class method) calls `__call`, rather than
the expected `__callStatic`. Can be fixed by using `(static fn() => static::method())()`, but the
usage of the magic method is strictly unnecessary in this case.
- Replies ordering now correct
- Replies count added
- Posting adds new replies to cache (when concerning replies cache is not empty) and increments replies count
- Configuration to specify number of in-tree replies shown added
- TreeNotes templates was moved from core to plugin
- Button to read more replies was added
[PLUGINS][Favourite] Foreign keys now properly defined on schema
[CARDS][Note] Note text is now hidden by default if too many paragraphs/line breaks are present, BlogCollection plugin will certainly need this feature
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.
[PLUGINS][Favourite] Added complementary information on user action
[COMPONENTS][Conversation] Fixed AppendCardNote issue where cached query
would only act on Notes with depth > 1
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.
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.