Commit Graph

5659 Commits

Author SHA1 Message Date
Diogo Peralta Cordeiro b69f4a46c5
[COMPONENT][Posting] Page should flush with a different notification 2022-02-16 19:35:27 +00:00
Diogo Peralta Cordeiro b6ed0b4c6c
[CORE][Actor] Fix generic profile route 2022-02-16 18:53:08 +00:00
Diogo Peralta Cordeiro 2d5fac7a89
[COMPONENT][Notification] Re-introduce the concept of note attention
Minor refactoring and bug fixing
2022-02-16 18:53:08 +00:00
Eliseu Amaro e70acd5c3b
[UTIL][HTML] HTML abstraction class was extended with a more specialised Heading class
This little abstraction layer made it a bit easier to add a different title to a Note or Actor Feed Collection template, from whichever controller that uses it. Please, bear in mind, that abstract templates such as those found in Components\Collection, may act in a very 'declarative' way upon using them. This makes it difficult to dynamically choose what type of header is used without undergoing a mining operation in the likes of a pyramid of doom. Hence, this _little_ change.
2022-02-16 18:53:08 +00:00
Diogo Peralta Cordeiro 397b54a207
[PLUGIN][Bundles] Refactor BlogCollections to Bundles 2022-02-16 18:53:07 +00:00
Diogo Peralta Cordeiro 3f9c86f0df
[COMPONENT][Group] More flexible member roles than only isAdmin
Refactor terminology of canAdmin to match current roles system
2022-02-14 05:02:10 +00:00
Diogo Peralta Cordeiro bc63c3727a
[COMPONENT][GROUP] Allow to create a group as private and prioritise group scope on Posting in that context 2022-02-14 05:02:09 +00:00
Diogo Peralta Cordeiro 10d1a7ed2a
[PLUGIN][ActivityPub] Implement Group Inbox POST 2022-02-13 23:15:00 +00:00
Diogo Peralta Cordeiro 3ae8f8213f
[GROUP] Notifity group subscribers of new activity concerning the group 2022-02-13 23:15:00 +00:00
Diogo Peralta Cordeiro 66323c5a73
[PLUGIN][ActivityPub] Fix several issues with target and notifications inserted by AP 2022-02-13 23:14:59 +00:00
Diogo Peralta Cordeiro 17733f32d6
[PLUGIN][ActivityPub] Implement Group Outbox
Fix various minor issues
2022-02-11 10:06:01 +00:00
Diogo Peralta Cordeiro fb3e900b28
[CORE] Add CONFIG_ prefix to environment whitelist
Fixed minor issues with Commong:config of env not being included and ported to local social yaml

Fixed some regressions introduced with [CORE] Unset sensitive information from the environment
2022-02-11 10:05:58 +00:00
Diogo Peralta Cordeiro 416451a519
[CORE][Actor] Simplify logic so more is reused between different types of actors
Minor bug fixes
2022-02-11 00:27:03 +00:00
Diogo Peralta Cordeiro 1f1524c2b3
[GROUP] Simplify logic by making Actor::Organisation a type of Actor::Group
Some minor bug fixes
2022-02-11 00:26:43 +00:00
Eliseu Amaro ba131bdb16
[CSS] Background noise is back, default_theme directory hierarchy simplified
[PLUGINS][Oomox] Fixed issue where resetting colours when no entity was present would lead to an error (it expected an entity, but NULL was given)
2022-02-08 14:12:59 +00:00
Eliseu Amaro 99593a19ef
[CSS] Default theme polish work, more consistent font sizes and improved dark theme colors 2022-02-07 23:54:29 +00:00
Eliseu Amaro 9a53f94b77
[TWIG] Replaced getRightPanelBlocks with addRightPanelBlock, provides more control on block placement
[COMPONENTS][RightPanel] Refactored template, improved clarity, and added Posting form related macros

[PLUGINS][NoteTypeFeedFilter] Removed icons from template, added them through CSS to further improve performance
2022-02-07 20:29:14 +00:00
Eliseu Amaro b3d582f665
[PLUGINS][AttachmentCollections] Fixed "Error: Expected Doctrine\ORM\Query\Lexer::T_IDENTIFIER, got 'Plugin\AttachmentCollections\Entity\AttachmentCollection'"
[TWIG] Cards are now divided into blocks and macros, additional macros done, attachments page no longer inside cards directory
[CARDS][Navigation] Now using macros to create section, details, and nav elements
2022-02-07 01:54:04 +00:00
Eliseu Amaro 2b9f70f89f
[PLUGINS][BlogCollections] Entities and base plugin and controller done 2022-02-07 01:52:35 +00:00
Diogo Peralta Cordeiro 81f6d496c6
[PLUGIN][OAuth2] Fix some static issues 2022-02-04 19:56:17 +00:00
Eliseu Amaro 4dd976eb22
[ENTITY][Note] Added function getRenderedSplit, return an array of paragraphs/line breaks
[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
2022-02-04 16:07:24 +00:00
Eliseu Amaro 222e1fbb2b
[PLUGINS][AttachmentShowRelated] Replacing h2 with span, its supposed to be complementary content, not main 2022-01-27 01:13:18 +00:00
Eliseu Amaro 117549bf1e
[PLUGINS][Favourite] Remove favourite action properly removes note_favourite Entity now [COMPONENTS][Collection] Simplyfying feed-action-details template section
[COMPONENTS] Documentation work [PLUGINS] Documentation work
2022-01-27 00:54:27 +00:00
Eliseu Amaro adf484f58a
[COMPONENTS][Posting] No error to ignore was reported on line 161, removed ignore
[PLUGINS][Directory] Further documentation work

[CORE][Controller] Separating workflows, setting proper return types

[TWIG][Security] Removing unused stylesheet calls
2022-01-26 20:54:55 +00:00
Eliseu Amaro 16e7d6cff7
[COMPONENTS] Documenting methods with high cognitive complexity, specifically in Group and Posting components
[PLUGINS][Directory] Updating docs, @params weren't set correctly
2022-01-26 20:01:37 +00:00
Hugo Sales c7c5fe7979
[PLUGIN][OAuth2] Add 'me' field to token responses 2022-01-25 16:07:39 +00:00
Hugo Sales fa0d02a9ac
[PLUGIN][OAuth2] Start adding OAuth2 support with client registration
This hardcodes the user, and has some other issues, so it is not yet
complete.

We follow mastodon's spec for automatic client registration, available
at both `/api/v1/apps` and a more reasonable `/oauth/client`. This
accepts a JSON POST with the client info and returns JSON with a
`client_id` and a `client_secret`, to be used with `/oauth/authorize`
and `/oauth/token`. It also, seemingly, requires returning an `id`
with unclear purpose.

The `/oauth/token` endpoint doesn't currently return a `me` field.
2022-01-25 13:35:44 +00:00
Eliseu Amaro ee04571f4d
[TWIG] Various fixes related to header elements hierarchy
Widgets shouldn't have a header element from here forward, since their location varies
2022-01-23 19:46:47 +00:00
Eliseu Amaro bf07fa1ade
[COMPONENTS][Collection] Added PrependActorsCollection event [COMPONENTS][Group] Added getGroupCreateForm, used in PrependActorsCollection event to build create a new Group form view
[COMPONENTS][LeftPanel] Removed onEndShowStyles event since the corresponding CSS needed is now consolidated into the default_theme itself [COMPONENTS][RightPanel] Deleted components/RightPanel/RightPanel.php, since its only method (onEndShowStyles) wasn't needed anymore
2022-01-23 19:07:39 +00:00
Eliseu Amaro e4a3438d55
[CORE][I18n] Fixing 'file_get_contents(): Argument #1 () must be of type string, Symfony\Component\Finder\SplFileInfo given' error by using Symfony's Finder to iterate through existing files 2022-01-23 19:07:39 +00:00
Diogo Peralta Cordeiro 6b1c6f603e
[CORE][ActorLocalRoles] Improve Roles 2022-01-22 18:47:56 +00:00
Eliseu Amaro 3d9edd1db8
[COMPONENTS][LeftPanel] Edit feeds page polish, existing links are shown in a grid, saving space
[COMPONENTS][Collection] Fixing details summary class [PLUGINS][WebMonetization] Fixing widget details summary class
2022-01-21 22:05:34 +00:00
Eliseu Amaro e2e1b0172d
[COMPONENTS][Collection] Actors view template ordering section polished [PLUGINS][RepeatNote] Note to be repeated now uses full note card
[CSS] Simplyfying rules, re-ordering and removing unnecessary and costly 'display: flex' rules
[CARDS][Note] Minimal note macro has info inside the note itself now, since horizontal space is limited
2022-01-21 22:05:33 +00:00
Eliseu Amaro f731850f5c
[CSS] .section-widget class and derivatives replaced as .frame-section, since a widget implies a simple element with a specific function 2022-01-21 22:05:33 +00:00
Eliseu Amaro 7d546e8901
[CSS] Improved performance, reduced padding [COMPONENTS][LeftPanel] Consolidated CSS into base.css [COMPONENTS][RightPanel] Consolidated CSS into base.css [PLUGINS][WebMonetization] Replaced fieldset with section
Accessibility tests failed if the fieldset had no legend, since it
wasn't really neeeded, it was replaced as another element.
2022-01-21 22:05:33 +00:00
Diogo Peralta Cordeiro bdeb3bcff5
[PLUGIN][ActivityPub] Federate Actor of types other than Person
Fix some other minor bugs
2022-01-21 22:05:31 +00:00
Hugo Sales 1856af68b3
[PLUGIN][RepeatNote][COMPONENTS][Posting] Review and fix RepeatNote. Handle attachment lives in Posting 2022-01-21 21:03:08 +00:00
Phablulo Joel 04431885aa
[PLUGIN][PinnedNotes] Fix ActivityPub config 2022-01-21 21:03:07 +00:00
Phablulo Joel b8a35f9d6d
[PLUGIN][WebMonetization] Fix ActivityPub config 2022-01-21 21:03:07 +00:00
Eliseu Amaro 184d0246a5
[COMPONENTS][RightPanel] AppendRightPanelBlock event refactored,
replaced with src/Twig/Rintime::getRightPanelBlocks
[COMPONENTS] Re-ordered onAppendRightPanelBlock event calls arguments for improved consistency across events
2022-01-21 21:03:07 +00:00
Phablulo Joel 9e4aed84f8
[PLUGIN][LatexNotes] add LaTeX support for notes 2022-01-21 21:03:07 +00:00
Phablulo Joel db42ade2b6
[PLUGIN][MarkdownNotes] add markdown support for notes 2022-01-21 21:03:07 +00:00
Phablulo Joel 06d11d8337
[PLUGINS[WebMonetization] Basic activityPub support 2022-01-21 21:03:07 +00:00
Phablulo Joel 148dd6db50
[PLUGINS][PinnedNotes] Basic activityPub support 2022-01-21 21:03:06 +00:00
Phablulo Joel 21c7912702
[PLUGIN][Pinned Notes] Allow user to pin his notes 2022-01-21 21:03:06 +00:00
Eliseu Amaro fa9df9962e
[COMPONENTS][Conversation] Route 'conversation_mute' now has the
corresponding conversation view embedded, user is also redirected
properly
[PLUGINS][Favourite] Fixed typo
2022-01-13 17:47:47 +00:00
Diogo Peralta Cordeiro 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
Eliseu Amaro 600a1511cb
[TWIG] Removed all instances were 'arrow-down' icon was called in twig templates, replaced it's intended feedback by using :after pseudo-selector within CSS
In user panel render time reduced dramatically, by ~70ms. Said icon was requested by twig >10 times.
2022-01-12 16:07:28 +00:00
Diogo Peralta Cordeiro 59b8bdf99b
[PLUGIN][ActivityPub] Provide ActivityStreams 2.0 responses for every Collection
Implemented ActivityPub Outbox
2022-01-11 20:30:25 +00:00
Hugo Sales a697399a6f
[PLUGIN][DeleteNote][Favourite][ProfileColor][RepeatNote][WebMonetization] Refactor, cleanup and cache results 2022-01-09 12:29:34 +00:00
Hugo Sales 57604b3851
[PLUGIN][NoteTypeFilter] Always show filtering options 2022-01-09 12:29:34 +00:00
Eliseu Amaro 1438433859
[PLUGINS][NoteTypeFeedFilter] Polish feed actions HTML, adding proper anchor titles and better user feedback when a filter in applied
[COMPONENTS][Collection] Notes feed template HTML polish to accomodate changes needed for NoteTypeFeedFilter
2022-01-07 21:14:51 +00:00
Phablulo Joel cb1dc4c10f [PLUGIN][WebMonetization] Adding Web Monetization plugin which allows for donations using the Web Monetizations protocol 2022-01-07 14:55:35 -03:00
Phablulo Joel c3d58c350e [COMPONENTS][Collections] Iterating documentation 2022-01-07 09:23:37 -03:00
Diogo Peralta Cordeiro 3f8fab0021
[PLUGIN][Favourite] Fix routes 2022-01-05 04:19:35 +00:00
Diogo Peralta Cordeiro cd6ce3542e
[COMPONENT][Circle] Move circles to a component, various bug fixes
Mention links are now correct
2022-01-05 04:19:22 +00:00
Diogo Peralta Cordeiro 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
Diogo Peralta Cordeiro ee007befa4
[COMPONENT][Posting] DB::Flush after Notification and fix minor issues with In targets 2022-01-05 01:30:01 +00:00
Diogo Peralta Cordeiro 9df9c6a19c
[COMPONENT][Collection] Make MetaCollectionPlugin a trait and abstract collection delete and name update 2022-01-05 01:30:00 +00:00
Eliseu Amaro 135bf8bc68
[COMPONENTS][Conversation] Documented respective Controller
[PLUGINS][TreeNotes] Documentation added, feedFormatTree explained in detail
2022-01-03 19:26:17 +00:00
Eliseu Amaro 4ae160b0f8
[PLUGINS][AttachmentShowRelated] Fix onEndShowStyles condition to add proper stylesheet to array 2022-01-03 17:51:19 +00:00
Diogo Peralta Cordeiro 9ea230d12b
[COMPONENT][Subscription] Implement subscription handlers 2022-01-03 02:23:06 +00:00
Diogo Peralta Cordeiro fe087b2217
[PLUGIN][ActivityPub] Accept Undo Follow 2022-01-03 02:23:06 +00:00
Hugo Sales a9ea49d34c
[TOOLS][DOC] Add documentation to functions flagged by doc-check 2022-01-03 02:23:06 +00:00
Hugo Sales 9e0a2dd4a0
[TOOLS] Fix errors found by PHPStan 2022-01-03 02:23:06 +00:00
Hugo Sales 8fa04bb47d
[EVENT][AddFeedActions] Add bool param which denotes whether the feed is empty. [PLUGIN][NoteTypeFeedFilter] Don't show filters if the feed is empty 2022-01-03 02:23:06 +00:00
Hugo Sales 27276ba379
[CONFIG] Rename streams/notes_per_page to feeds/entries_per_page 2022-01-03 02:18:44 +00:00
Hugo Sales ea5a4df1a4
[UI][PLUGIN][Directory] Add UI for Directory listing ordering. This uses a GET parameter, which subits the field in order_by and the operator in order_op. Using order_by=filed^ is still supported 2022-01-03 02:18:44 +00:00
Diogo Peralta Cordeiro 5fa8056899
[COMPONENT][Collection] Refactoring: Further work in abstracting collections 2022-01-03 02:18:43 +00:00
Diogo Peralta Cordeiro def5f36c25
[PLUGIN][ActivityPub][Inbox] Accept Follow Activity
Improve how Core Activity is handled in general
2022-01-02 23:50:16 +00:00
Eliseu Amaro 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
Eliseu Amaro 7ad39fdc83
[PLUGINS][Repeat] Added onNoteDeleteRelated event
Using DB::merge to increment attachment lives when repeating a note,
since it's getting deprecated in the future, an alternative needs to
replace it here
2022-01-02 23:50:15 +00:00
Eliseu Amaro d5080890ac
[PLUGINS][Favourite] Added onNoteDeleteRelated event
All favourite entities are now removed from note_favourite table when the respective note
is deleted. Documented the favourNote and unfavourNote methods
2022-01-02 23:50:15 +00:00
Diogo Peralta Cordeiro 046731a05a
[COMPONENT][Avatar] Save title if possible, delete correctly, no early flushes
[PLUGIN][ActivityPub] Minor bug fixes in Actor translation
2022-01-02 23:50:14 +00:00
Hugo Sales d6cd33019d
[UI][PLUGIN][Directory] Add sort options to UI 2022-01-01 22:18:18 +00:00
Hugo Sales 5662210a2d
[UI][PLUGIN][Directory] Use a single template for all results 2022-01-01 22:18:18 +00:00
Hugo Sales b1fbf7d6ef
[PLUGIN][Directory] Add option to order by subscribers 2022-01-01 22:18:18 +00:00
Hugo Sales 9f11d270f4
[PLUGIN][Directory] Fix opposite sort order 2022-01-01 22:18:18 +00:00
Eliseu Amaro 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
Hugo Sales f6311debbf
[PLUGIN][Directory] Refactor directory controller, so it's hopefully clearer what's happening 2022-01-01 20:50:04 +00:00
Hugo Sales 175c98b043
[PLUGIN][Directory] Add options to sort by nickname, created, modified and activity, ascending or descending 2022-01-01 20:49:17 +00:00
Hugo Sales fc76a00908
[PLUGIN][Directory] Rename actor to people, as it's what's actually interacted with 2022-01-01 20:02:32 +00:00
Hugo Sales 0050371de7
[PLUGIN][NoteTypeFeedFilter][MediaFeed][COMPONENT][Feed] Rename MediaFeed to NoteTypeFeedFilter and add support for filtering by more types, moving functionality from Feed component 2021-12-31 21:03:25 +00:00
Hugo Sales 2e0bfc0bcd
[TOOLS] Run CS-Fixer on all files 2021-12-30 18:28:57 +00:00
Phablulo Joel 2c31f2e440 [PLUGIN][Actor Circles] Actor Circles plugin, allow user to create a custom feed of actors 2021-12-30 12:18:16 -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
Diogo Peralta Cordeiro 137723e59a
[PLUGIN][ActivityPub][Favourite][Repeat][Delete] Document event handlers 2021-12-28 22:57:49 +00:00
Eliseu Amaro 8274e93ed5
[PLUGINS][DeleteNote] Added documentation, stating the scope of what deleting a Note means 2021-12-28 22:43:04 +00:00
Eliseu Amaro ce3c6a7f23
[PLUGINS][RepeatNote] Added documentation (not for ActivityPub related functions) 2021-12-28 21:51:27 +00:00
Diogo Peralta Cordeiro 4d8e39bf69
[PLUGIN][RepeatNote] Do not notify about clone note
Fix redirecion after action
Fix typo in activitypub handler
2021-12-28 18:30:27 +00:00
Eliseu Amaro 182c6265a3
[PLUGINS][RepeatNote] Add onFilterNoteList event
Filters repeats out of Conversations, and replaces a repeat with the original Note on Actor feed

Added isNoteRepeat to plugin's entity, which returns true if a given
Note is a repeat of another Note
2021-12-28 17:37:01 +00:00
Diogo Peralta Cordeiro 1d1d169a5c
[PLUGIN][ActivityPub] Support federation of Tombstones 2021-12-28 17:10:20 +00:00
Diogo Peralta Cordeiro 9cda64f275
[COMPONENT][Notification] Use _m() in reason 2021-12-28 16:36:52 +00:00
Diogo Peralta Cordeiro 3e83387e98
[PLUGIN][DeleteNote] Support ActivityPub 2021-12-28 16:22:38 +00: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 b7c82b9dcb
[PLUGIN][DeleteNote] Ensure permissions properly 2021-12-28 15:38:39 +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 bb4149e092
[PLUGIN][AttachmentCollections] Restore functionality
Some minor corrections
2021-12-28 04:43:13 +00:00
Eliseu Amaro a03429ba03
[PLUGIN][DeleteNote] Delete Note action implemented
Replaces Note content with a tombstone, removes any attachment relations and decrements their lives (possibly even removing the attachment), and creates the respective activity
2021-12-27 22:33:36 +00:00