Eliseu Amaro
1244f64bb2
[CARD][Note] Refactor notification targets
2022-03-12 13:27:09 +00:00
Diogo Peralta Cordeiro
d91bc5ec66
wip2
2022-03-11 16:52:48 +00:00
Diogo Peralta Cordeiro
5ddc6b0c34
wip
2022-03-11 14:55:58 +00:00
Diogo Peralta Cordeiro
9f49fbacc9
[COMPONENT][Posting] Fix request handling issues that resulted from splitting creation and controller
2022-03-11 03:14:47 +00:00
Diogo Peralta Cordeiro
68ee996ec4
[PLUGIN][ActivityPub][Tests] Add some fixtures for GNU social's
2022-03-10 23:29:55 +00:00
Diogo Peralta Cordeiro
e9170a9cbd
[PLUGIN][ActivityPub][Tests] Borrow test fixtures from Lemmy
2022-03-10 23:29:25 +00:00
Hugo Sales
8433771465
[TOOLING][TESTS] Allow specifying any phpunit flag when invoking make
...
Examples:
make test -- --filter 'method'
make test -- directory
2022-03-10 01:23:36 +00:00
Hugo Sales
0ce5eba355
[PLUGINS][Favourite][RepeatNote][DeleteNote][WebMonetization] Make use of 'activitypub_handler' more readable
2022-03-10 00:40:54 +00:00
Hugo Sales
9a9eed1457
[CORE][Router][Form] Add Router::sanitizeLocalURL and use it in Form::forceRedirect
2022-03-09 20:51:42 +00:00
Hugo Sales
f540711948
[CORE][GNUsocial] Remove Session parameter, as it's no longer a service. Use session from Request
2022-03-09 20:51:42 +00:00
Hugo Sales
c870fd44e3
[PLUGIN][Embed] Fix test folder name, so Symfony doesn't attempt to autowire it
2022-03-09 20:51:42 +00:00
Hugo Sales
c30fcead74
[DEPENDENCIES] Move from Symfony 5.4 to 6 and update all other packages, where applicable
2022-03-09 20:51:42 +00:00
Hugo Sales
301421ea15
[SECURITY][EVENT] Remove deprecated uses of Symfony Guard. Add LoginSucess and LoginFailure events
2022-03-09 20:51:16 +00:00
Diogo Peralta Cordeiro
4d77f3497d
[COMPONENT][Person][TESTS] Fix Controller/PersonSettingsTest
2022-03-09 14:24:50 +00:00
Diogo Peralta Cordeiro
f735e6b31c
[TESTS] Fix Util/CommonTest
2022-03-09 14:24:50 +00:00
Diogo Peralta Cordeiro
893d299e29
[UTIL][Common] Respect detect language setting
...
Minor bug fix
2022-03-09 14:24:50 +00:00
Diogo Peralta Cordeiro
d857baa0f1
[TESTS] Fix Twig/ExtensionTest
2022-03-09 01:43:58 +00:00
Diogo Peralta Cordeiro
0441f030ab
[COMPONENT][Group][TESTS] Fix Entity/GroupTest
2022-03-09 01:43:51 +00:00
Diogo Peralta Cordeiro
cac68a6372
[TESTS] Fix Entity/NoteTest
2022-03-09 01:42:11 +00:00
Diogo Peralta Cordeiro
28453c585f
[COMPONENT][Attachment][TESTS] Fix Entity/AttachmentThumbnailTest
2022-03-09 01:42:11 +00:00
Diogo Peralta Cordeiro
5c7b079df5
[COMPONENT][Attachment][Controller] Security fix: We were not ensuring that attachment was related to note
2022-03-09 01:42:11 +00:00
Diogo Peralta Cordeiro
47f03d4c9f
[COMPONENT][Attachment][TESTS] Fix Entity/AttachmentTest
2022-03-09 01:42:06 +00:00
Diogo Peralta Cordeiro
cc4f967186
[TESTS] Fix Circle SelfTags Setting test
2022-03-09 01:40:35 +00:00
Diogo Peralta Cordeiro
ff06a2656a
[COMPONENT][Group][Entity] Useless URI column removed
...
Add table to Makefile backup
2022-03-09 01:40:34 +00:00
Diogo Peralta Cordeiro
d5fd7da707
[TESTS] Fix Core/RouterTest
2022-03-09 01:40:34 +00:00
Diogo Peralta Cordeiro
1bdeac7076
[TESTS] Fix Core/DB/UpdateListenerTest
2022-03-09 01:40:34 +00:00
Diogo Peralta Cordeiro
e67ed58286
[TESTS] Temporarily Disable Controller/AdminTest: It seems we are repeating values arbitrarily - specially in plugins, and the generated file is just nonsense overall really, wrong sections and stuff
2022-03-09 01:40:34 +00:00
Diogo Peralta Cordeiro
487791d606
[TESTS] Fix Core/ControllerTest
2022-03-09 01:40:33 +00:00
Diogo Peralta Cordeiro
813e66e83e
[TESTS] Fix Core/CacheTest
2022-03-09 01:40:33 +00:00
Diogo Peralta Cordeiro
88ace68627
[TESTS] Fix Controller/FeedsTest
2022-03-09 01:40:33 +00:00
Diogo Peralta Cordeiro
416665d830
[COMPONENT][Attachment][TESTS] Fix Controller/AttachmentTest
2022-03-09 01:40:09 +00:00
Hugo Sales
808a3b219e
[TESTS] Specify non-null fields for use of creating actors in tests
2022-03-09 01:37:11 +00:00
Hugo Sales
df40dd7c66
[TESTS] Add support for loading test suites from plugins and components
2022-03-09 01:37:11 +00:00
Hugo Sales
afa8443949
[TESTS] Fix some failing tests broken by restructuring and dependency updates
2022-03-09 01:37:11 +00:00
Hugo Sales
46de2d47e9
[TOOLS] Add explicit return types to fix deprecation warnings raised by PHPUnit
2022-03-09 01:37:10 +00:00
Hugo Sales
372cf91fbc
[TOOLS][TESTS] Split tests into different test suites
2022-03-09 01:37:10 +00:00
Diogo Peralta Cordeiro
9c9e86649a
[TESTS] Fix Controller/SecurityTest
2022-03-09 01:37:10 +00:00
Diogo Peralta Cordeiro
a37ce86d05
[TESTS] Fix DataFixtures
2022-03-07 15:26:27 +00:00
Hugo Sales
9a0c74cb0c
[CORE][SECURITY] Replicate 'next' form submission feature on login form
2022-03-07 15:26:27 +00:00
Hugo Sales
46c91a4b39
[I18N] Fix use of string concatenations in translations
2022-03-07 15:26:26 +00:00
Hugo Sales
3f14ad0f69
[COMPONENT][Posting][FORM] Refactor Posting form to use a form action with a separate controller and the new Form::forceRedirect
2022-03-07 15:26:26 +00:00
Hugo Sales
6ddc176faf
[CORE][Form] Add facilities for automattically adding a _next field to all forms, which can be customized by the in Form::create and defaults to the current URL. Usage of RedirectedException should mostly be replaced with Form::forceRedirect
2022-03-07 15:26:26 +00:00
Diogo Peralta Cordeiro
d629976322
[UTIL][Notification] Remove deprecated code
2022-03-07 15:26:24 +00:00
Diogo Peralta Cordeiro
1a0c9e720f
[COMPONENT][FreeNetwork] Start using queues
...
[COMPONENT][Notification] Start using queues
[PLUGIN][ActivityPub] Start using queues
2022-03-05 14:23:08 +00:00
Diogo Peralta Cordeiro
6fa5ec3218
[CORE][Queue] Fix some minor issues
2022-03-05 14:22:44 +00:00
Diogo Peralta Cordeiro
626b4263f1
[PLUGIN][ActivityPub][Model][Actor] Fix internal logic for updating
...
Actors
2022-03-05 14:19:12 +00:00
Hugo Sales
1daa314c55
[COMPONENT][Posting][FORM] Refactor Posting form to use a form action with a separate controller and the new Form::forceRedirect
2022-03-04 15:16:19 +00:00
Hugo Sales
7814697f82
[UTIL][EXCEPTION] Forward given status code in RedirectException
2022-03-04 15:15:04 +00:00
Hugo Sales
7a8d67f1e2
[CORE][Controller] Fix bug where a JSON request could not recieve a redirect response
2022-03-04 15:14:05 +00:00
Hugo Sales
94449c9153
[CORE][Form] Add facilities for automattically adding a _next field to all forms, which can be customized by the in Form::create and defaults to the current URL. Usage of RedirectedException should mostly be replaced with Form::forceRedirect
2022-03-04 15:12:35 +00:00
Hugo Sales
7c9b01c516
[UTIL][Common] Add Common::getRequest
2022-03-04 15:09:39 +00:00
Hugo Sales
6cae6c925d
[TOOLS] Keep feed table in delete content Make rule
2022-03-01 18:12:58 +00:00
Diogo Peralta Cordeiro
12fb876a6d
[PLUGIN][ActivityPub][Model][Activity] No @context to exclude when object is not embedded.
2022-03-01 18:00:24 +00:00
Hugo Sales
7ca4330f17
[TEMPLATES] Tweak note complimentary info to not output empty <span>s
2022-03-01 17:58:53 +00:00
Hugo Sales
802a8d124a
[TOOLS] For delete content, restore local_groups and actor_subscriptions
2022-03-01 17:57:39 +00:00
Hugo Sales
87354c06bf
[TEMPLATES] For note complementary info, compare identity by the ID, rather than nickname, which is not unique
2022-03-01 17:39:14 +00:00
Hugo Sales
5600218924
[TWIG][I18N] Remove unnecessary wrappers for translation functions, use them directly
2022-03-01 17:25:51 +00:00
Hugo Sales
90f9378bca
[TEMPLATES] Use transList and trans function for note complimentary info
2022-03-01 13:46:06 +00:00
Hugo Sales
070f53c10e
[TWIG][I18N] Add transList function, which uses _m_list
2022-03-01 13:46:01 +00:00
Hugo Sales
f73e9c12ba
[CORE][I18n] Add I18n::_m_list, which formats an array of elements into a list. Limited to 5 elements, as that should be enough (tm) and ICU doesn't support this natively
2022-03-01 13:45:40 +00:00
Hugo Sales
fc203e2e38
[TWIG][TEMPLATES] Rename transchoice to trans and make it more generic
2022-03-01 13:45:11 +00:00
Hugo Sales
b3374333f3
[TEMPLATES][I18N] Fixup use of trans filter, in favour of trans tags. These are much more flexible and facilitate parameterized translations, rather than using concats. The only appropriate use of the trans filter is when a whole string in a variable needs to be translated (which should probably be avoided anyway)
2022-03-01 13:16:11 +00:00
Hugo Sales
0b864e85fd
[TEMPLATES] Fixup uses of deprecated noteView, in favour of new NoteFactory facility
2022-03-01 11:23:39 +00:00
Hugo Sales
a9a60bbd92
[COMPONENT][Posting] Clarify use of cache in note replies when posting
2022-03-01 11:19:47 +00:00
Hugo Sales
4cc4d06b11
[CORE][Cache] Fix bug where empty lists must be stored as a string in Redis (not supported natively), so we can't directly push to it, but the key still exists
2022-03-01 11:07:21 +00:00
Hugo Sales
f8c1b0f71d
[TOOLS] Add Make rule to delete content, but keep actors and sequences
2022-02-28 23:37:16 +00:00
Hugo Sales
43ae3add43
[TEMPLATE] Update uses of NoteFactory macro, to pass the values seperately, rather than inside a converstation key
2022-02-28 15:48:47 +00:00
Hugo Sales
d5f90a1206
[ENTITY][Note][CONFIG] Use getListPartialCache for getReplies. Add feeds/cached_replies config entry to control how many replies get cached
2022-02-28 15:47:38 +00:00
Hugo Sales
85ce6bfd41
[CORE][Cache] Add getListPartialCache, which allows for fetching a list and backing only a portion of it in the cache (useful for feeds and replies to notes, for instance)
2022-02-28 15:47:38 +00:00
Hugo Sales
46c4bd9099
[COMPONENT][Conversation] Sort conversation correctly
2022-02-28 15:47:38 +00:00
Hugo Sales
35f3781a32
[COMPONENT][Collection] Add mechanism for specifying the ordering of note and actor queries
2022-02-28 15:47:38 +00:00
Hugo Sales
45c7888676
[TOOLS] Run CS-Fixer on whole project
2022-02-28 15:47:37 +00:00
Hugo Sales
255c44bbf0
[ENTITY][LocalUser] Don't use FILTER_SANITIZE_EMAIL, use just want to validate. Up to the user to fix any errors. Use setter, rather than duplicate it's code
2022-02-28 15:47:37 +00:00
Hugo Sales
5188a473d0
[TOOLS] Fix errors reported by PHPStan
2022-02-28 15:47:37 +00:00
Hugo Sales
8c15d21591
[TOOLS] Add update-dependencies and update-autocode Make rules
2022-02-28 15:47:37 +00:00
Hugo Sales
df640f60d2
[DEPENDENCIES] Update dependencies
2022-02-28 15:47:37 +00:00
Hugo Sales
6e85a4adbb
[CONFIG] Change default config to make media files (attachments and their thumbnails) to a subfolder to file, so cleanup scripts can avoid files meant to be persistent (plugin files, certificates)
2022-02-28 15:47:37 +00:00
Hugo Sales
eccf21edef
[TOOLS][PLUGINS][OAuth2] Add mechanism to allow plugins to have an install script. Add script for generating keys for OAuth
2022-02-28 15:47:32 +00:00
Eliseu Amaro
9b86794cda
[CSS] Details inside another details (accordion widget) will represent their 'open/close feedback arrows' properly now
2022-02-28 13:09:12 +00:00
Eliseu Amaro
077975136e
[CARDS][Note] Both 'in conversation' and 'in reply to' link to note's conversation. The former anchors it's id, while the latter it's parent id
2022-02-28 12:43:40 +00:00
Diogo Peralta Cordeiro
5495a3c5ec
[ENTITY][Note] NoteType now becomes a varchar as predicted
2022-02-27 02:04:48 +00:00
Diogo Peralta Cordeiro
a9b34b75b6
[PLUGIN][TreeNotes] Correct cache issues and iterate functionality
...
- 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
2022-02-27 01:46:25 +00:00
Diogo Peralta Cordeiro
2f539d176d
[TWIG] Implement transchoice for ICU plural translations
2022-02-27 00:44:23 +00:00
Diogo Peralta Cordeiro
d4c908c194
[CORE][Cache] Implement listPushRight
2022-02-27 00:44:23 +00:00
Diogo Peralta Cordeiro
b630d530f4
[PLUGIN][ActivityPub][Postman] JSON_UNESCAPED_SLASHES
...
Only record webfinger matches for acct
2022-02-25 13:52:56 +00:00
Eliseu Amaro
26a50618b0
[CARDS][Note] Notification targets are now used as target info, instead of previous reply dependant implementation [COMPONENTS][Group] Feed title is applied to GroupFeed view
2022-02-25 13:12:16 +00:00
Diogo Peralta Cordeiro
d5731e6351
[COMPONENT][Notification] Consider attention properly in notes
2022-02-25 13:12:16 +00:00
Diogo Peralta Cordeiro
f5e92de62d
[PLUGIN][ActivityPub][Util][Explorer] Simplify fetching Actor by URI
2022-02-25 13:12:14 +00:00
Eliseu Amaro
7c80277436
[CSS] Fix header position on >1080p displays
2022-02-24 19:16:41 +00:00
Diogo Peralta Cordeiro
4754593cde
[PLUGIN][ActivityPub][Model][Activity] If the object is wrapped in an activity, exclude the @context
2022-02-24 19:07:46 +00:00
Eliseu Amaro
d12038a9f8
[CSS] Complete refactor, removing all useless rules, squashing related separate files, and limiting folder depth
2022-02-24 19:05:14 +00:00
Diogo Peralta Cordeiro
af02bc7b32
[PLUGIN][ActivityPub][Model][Note] Replace our directMessage extension with LitePub's
2022-02-23 22:27:32 +00:00
Diogo Peralta Cordeiro
bc3d5245f5
[PLUGIN][ActivityPub][Model][Note] Handle Mentions properly
2022-02-23 22:27:32 +00:00
Diogo Peralta Cordeiro
f3c2e49e3f
[PLUGIN][ActivityPub] Correct @context
2022-02-23 22:27:30 +00:00
Diogo Peralta Cordeiro
05b7f2c28b
[CORE][DB] Remove doc from deprecated DB::merge and add about DB::refresh
2022-02-23 17:42:20 +00:00
Eliseu Amaro
338ea0ea58
[COMPONENTS][Group] Group view template now extends the Collection of Notes view instead of trying to reinvent the wheel [COMPONENTS][Conversation] Replaced deprecated DB::merge with DB::persist
2022-02-23 17:01:41 +00:00
Diogo Peralta Cordeiro
57a07ef74f
[COMPONENT][FreeNetwork] Add to Search the query expression
2022-02-21 04:53:12 +00:00
Diogo Peralta Cordeiro
c380cbd846
[COMPONENT][FreeNetwork] Mention and Group tags in notes are handled differently
2022-02-21 04:52:30 +00:00
Diogo Peralta Cordeiro
7678e155d9
[COMPONENT][Search] Ensure title is set when saving as feed
2022-02-21 04:49:08 +00:00
Diogo Peralta Cordeiro
59380ed2ac
[COMPONENT][Collection] If invalid term, just perform a regular search for it
2022-02-21 04:48:18 +00:00
Diogo Peralta Cordeiro
1e310aa124
[PLUGIN][ActivityPub][FreeNetwork] DB::findBy won't work if not commited first
2022-02-20 15:01:49 +00:00
José Marques
8b0e9c7890
[UTIL][Form][ActorForms] Fix Full Name validate: Tried to mb_strln on null
...
If the trim(string) is empty, then store null without further ado
2022-02-20 05:03:55 +00:00
Eliseu Amaro
f1caabd296
[CARDS][Note] Note factory template macro created, allows Notes to be represented with completely different macros/blocks, possible to extend types through additional events. Compact Notes have a max height, content can be scrolled by [CSS] Avatars, and Embed attachments now have a max-block-size which acts independently of image orientation
2022-02-20 05:03:54 +00:00
Eliseu Amaro
a71c16d654
[COMPONENTS][Posting] Fixed issue where an embed attachment would violate Note's conversation_id not null constraint
...
Conversation was only assigned after storing Note's attachments
2022-02-20 05:03:41 +00:00
Diogo Peralta Cordeiro
ecfd6b5ad2
[PLUGIN][ActivityPub][Model][Note] Sometimes content is explicitely null
2022-02-20 05:03:40 +00:00
Diogo Peralta Cordeiro
496701ce73
[PLUGIN][ActivityPub][Inbox] Add event for notifications triggered by AP Inbox
2022-02-20 05:03:40 +00:00
Diogo Peralta Cordeiro
e86dbad6d6
[COMPONENT][Notification] Don't explode with understandable duplicate notifications
...
This is common when a duplicate federation request is received
2022-02-20 05:03:40 +00:00
Diogo Peralta Cordeiro
6f3e760c63
[PLUGIN][ActivityPub][Inbox] Separate handler by method
2022-02-20 05:03:40 +00:00
Diogo Peralta Cordeiro
51cccd0155
[PLUGIN][ActivityPub] Simplify DB usage
2022-02-20 05:03:40 +00:00
Diogo Peralta Cordeiro
9523927b8e
[PLUGIN][ActivityPub][Model][Note] There may be no attachments, nor tags, nor to, nor cc
2022-02-19 05:46:48 +00:00
Diogo Peralta Cordeiro
ebbd8bf1e4
[PLUGIN][ActivityPub][HTTPSignatures] Fix wrong assumption that sha512 is used in hs2019
2022-02-19 04:49:50 +00:00
Diogo Peralta Cordeiro
7a59d5a002
[PLUGIN][ActivityPub][HTTPSignatures] Validate draft-cavage-http-signatures-11
2022-02-19 04:49:50 +00:00
Diogo Peralta Cordeiro
52ae5fa690
[PLUGIN][ActivityPub][Inbox] Improve logs
2022-02-19 04:49:50 +00:00
Diogo Peralta Cordeiro
99f7e7cd79
[PLUGIN][ActivityPub][Model][Note] Handle group scope properly
2022-02-19 04:49:50 +00:00
Diogo Peralta Cordeiro
27635d8ec2
[PLUGIN][ActivityPub][Model][Note] Add name property as note title
2022-02-19 04:49:49 +00:00
Diogo Peralta Cordeiro
0a741903a1
[PLUGIN][ActivityPub][Model][Note] Federate content out
2022-02-19 04:49:49 +00:00
Diogo Peralta Cordeiro
8f60fc4685
[PLUGIN][ActivityPub][Model][Note] Federate attentions out
2022-02-19 04:49:49 +00:00
Diogo Peralta Cordeiro
8cf60275e6
[PLUGIN][ActivityPub][Model][Note] Add support to Pages
2022-02-19 04:49:49 +00:00
Eliseu Amaro
75837af412
[CSS] Replacing problematic special Unicode glyphs
...
A browser will use Unicode glyphs from other font families if the glyph in question is not present for the current typeface. This leads to unnerving situations, whereby setting content through pseudo-selectors will cause text to misalign. And no, line-height won't make a difference in this case. This happens because fonts have different heights. Another reason may reside on CSS3 having pseudo selectors but not really having a proper spec for them to begin with.
2022-02-19 04:01:47 +00:00
Eliseu Amaro
03a475b642
[TWIG] Form layout is all new, since extending form_div_layout.html.twig was quite limiting
...
[COMPONENTS][Posting] It is now visible on Actor profiles [COMPONENTS][Search] Overall rework of search results template, there's also additional help text added [CSS] Header no longer translucent, font sizes yet more consistent, replies marker less pronounced, and font hierarchy is now applied in both weight and size
2022-02-19 04:01:47 +00:00
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
cee2d143c9
[COMPONENT][Posting] Add storeLocalPage
...
Minor refactoring and bug fixing
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
f66e178dfc
[CORE][Actor][Settings] Fix nickname change and refactor Core Form::handle so it's harder to repeat these mistakes again
...
Minor improvements on actor->getLocal
2022-02-16 18:53:07 +00:00
Diogo Peralta Cordeiro
397b54a207
[PLUGIN][Bundles] Refactor BlogCollections to Bundles
2022-02-16 18:53:07 +00:00
Diogo Peralta Cordeiro
33e1d3eb20
[COMPONENT][Conversation] Use Router::url's _fragment for anchor
2022-02-16 18:53:07 +00:00
Diogo Peralta Cordeiro
54b9ec48b4
[COMPONENT][Collection][FeedController] Fix group scope, we should use the IN context actor to check the group
2022-02-16 18:53:07 +00:00
Diogo Peralta Cordeiro
40590bbd11
[COMPONENT][Group] Restore settings functionality
2022-02-16 18:53:07 +00:00
Eliseu Amaro
5b94973079
[COMPONENTS][Posting] Form is no longer added to RightPanel if not on a feed|conversation|groups route
2022-02-16 18:53:07 +00:00
Eliseu Amaro
9d9abf8afb
[CARDS][Note] Removed incorrect aria attributes, polished Note card
2022-02-16 18:53:06 +00:00
Diogo Peralta Cordeiro
be0a2d27e2
[COMPONENT][Blog] Initial support for in group blogs
2022-02-16 18:53:06 +00:00
Diogo Peralta Cordeiro
bf23ae2dcf
[ENTITY][Note] Some notes aren't exactly just a note but rather a Page, or further (like happening or poll), this is only initial support for that
...
It prolly will become a varchar instead of an enum, so plugins can add their own note types
2022-02-16 18:53:06 +00:00
Diogo Peralta Cordeiro
33e768c298
[COMPONENT][Group][Controller] Separate feed from other group features
2022-02-15 17:13:16 +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
090a087832
[COMPONENT][Group] Check nickname on register
2022-02-14 01:21:40 +00:00
Diogo Peralta Cordeiro
262b14a977
[COMPONENT][Collection] Organisation no longer is an actor type but rather a type of Actor Group
2022-02-14 00:41:57 +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
56c884026f
[COMPONENT][Notification] We must record remote notifications because of feeds
2022-02-13 23:14:59 +00:00
Diogo Peralta Cordeiro
62bf788b90
[CORE][Note] Implement private group scope properly
2022-02-13 23:14:59 +00:00
Diogo Peralta Cordeiro
6500e99b69
[COMPONENT][Posting] Respect context actor concerning visibility and In sorting
2022-02-13 23:14:58 +00:00
Diogo Peralta Cordeiro
cda1568db5
[TEMPLATES][Cards][Blocks] Provide both actor uri and url, as well as full mention guidance
2022-02-13 23:14:58 +00:00
Diogo Peralta Cordeiro
1f2638d15a
[ROUTES] Remove ActorCircle holdover route
2022-02-11 15:31:47 +00:00
Diogo Peralta Cordeiro
6b4fa8c303
[COMPONENT][Notification] Additional check to avoid unnecessary notifications
2022-02-11 15:31:47 +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
35e907f7b2
[CARDS][Note] Note's 'in reply to' information added, overall polish of feeds templates and proper titles added for every single section that makes up a note
2022-02-09 18:49:34 +00:00
Eliseu Amaro
79bb258ba6
[CSS] Further dialing of sizes and media queries for a better mobile UX
2022-02-08 17:14:28 +00:00
Eliseu Amaro
80dfea6812
[CARDS][Note] Note's actions are now inside the same div as Note's complementary info, overall footprint of replies diminished
2022-02-08 17:01:58 +00:00
Eliseu Amaro
f6b19d2a0f
[CARDS][Note] Note's actions are now inside the same div as Note's complementary info, overall footprint of replies diminished
2022-02-08 16:13:46 +00:00
Eliseu Amaro
67a2387b31
[CARDS][Note] Removed note's complementary info related to the current user everywhere, which was criticized from being redundant
2022-02-08 15:19:33 +00:00
Eliseu Amaro
5d0b8930e1
[COMPONENTS][Conversation] Removed redundant complementary information from notes replied to
2022-02-08 14:43:39 +00:00
Eliseu Amaro
22741702bf
[CSS] Replaced .section-details-subtitle summary, .section-details-title summary outline to a border, since Firefox ESR doesn't apply border-radius to outline
2022-02-08 14:22:52 +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
7b0667109d
[CARDS][Note] Note actions are now displayed at the end
...
Due to space constraint on mobile screens, prior actions placement proved to be a problem. Additionally, note replies are now separated from their parent, allowing more horizontal space to be used if necessary/more reply depth to be presented in a reasonable fashion.
2022-02-08 01:26:25 +00:00
Eliseu Amaro
5cd3bc3206
[CSS] Touch devices are now able to scroll horizontally on note author information
2022-02-08 00:30:15 +00:00
Eliseu Amaro
79d022e850
[CSS] Fixing note attachments padding, height and allowing their wrap when limited space is available
2022-02-08 00:18:24 +00:00
Eliseu Amaro
cb393ca554
[CARDS][Note] Fix note replies from calling note macro as if it was still part of the same template
2022-02-08 00:05:51 +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
d6666cf209
[CSS] Aligned details marker arrows
2022-02-07 02:46:08 +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
Eliseu Amaro
e0ceddc2e6
[CSS] Replaced fooobar:not([foo=bar], [foo2=bar2]) rule, as Firefox ESR 78.x doesn't support that specific syntax
2022-02-04 21:12:22 +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
Bruno Aleixo
fb76775716
[TOOLS][COMPONENTS][CORE] Ran cs-fixer on all files
2022-01-30 16:41:54 +00:00
Bruno Aleixo
162b01e2c5
[CORE] Unset sensitive information from the environment
2022-01-30 16:39:43 +00:00
Eliseu Amaro
afd1211852
[CSS] Using accent-color rule to stylize checkbox
2022-01-28 23:15:01 +00:00
Eliseu Amaro
8f8070036c
[CSS] Eliminated repeated rules, improved icon alignment, and removed checkbox and radio custom styling
...
Browser specific quirks made it impossible to stylize checkbox and radio buttons. High DPI, custom default font sizes and/or custom GTK themes make it very difficult to keep it consistent.
2022-01-28 18:21:04 +00:00
Eliseu Amaro
2e6f91f34e
[FORM][ActorForms] Fullname length is now validated prior to being set
2022-01-27 17:53:02 +00:00
Eliseu Amaro
5036b72a71
[ENTITY][Actor] Nickname is lower case transformed when generating 'actor_view_nickname', making sure that actor pages are linked accordingly
2022-01-27 17:19:50 +00:00
Eliseu Amaro
a17a514bfd
[CONTROLLER][Security] Further sanity checks and validation done on email entry
2022-01-27 17:08:20 +00:00
Eliseu Amaro
1576d253a5
[CONTROLLER][UserPanel] Email is now sanitized and validated before calling corresponding setter
2022-01-27 16:59:43 +00:00
Eliseu Amaro
64a698d255
[COMPONENTS][Search] Polished search template for a clearer header hierarchy
2022-01-27 02:17:41 +00:00
Eliseu Amaro
ab6dabf4f7
[CSS] Fix issue where panels wouldn't scroll independantly
2022-01-27 01:53:30 +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
Eliseu Amaro
6a5312aca9
[CORE][GNUsocial] social.local.yaml is now updated with the proper node name
2022-01-26 18:46:31 +00:00
Eliseu Amaro
14bb1b2876
[COMPONENTS][Conversation] Note being replied to now appears before Posting's own form, RightPanel is also open by default on smaller screens when the current route is 'conversation_reply_to'
2022-01-25 19:18:42 +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
Hugo Sales
4736146b80
[TOOLS] Update autocode, allow for abstract entity classes, derive namespace from file rather than using 'get_declared_classes'
2022-01-25 13:35:44 +00:00
Eliseu Amaro
e3bfb1ebc5
[CSS] .note-info text will automatically crop when no space is available, on hover will show contents
2022-01-25 00:02:38 +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
Hugo Sales
5f243f68be
[DEPENDENCIES] Add symfony/psr-http-message-bridge
2022-01-21 22:05:34 +00:00
Hugo Sales
68c3204e71
[DEPENDENCIES] Update dependencies
2022-01-21 22:05:34 +00:00
Hugo Sales
559f6d650b
[COMPONENT][Language] Fix template name in language sorting
2022-01-21 22:05:34 +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
402300fe93
[COMPONENTS][Search] Fixing Search form incorrect class names
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
25b2847201
[TOOLS][AYY1] Improve accesibility testing to save images and compare the differences against a reference (tests/screenshots/
2022-01-21 21:03:09 +00:00
Diogo Peralta Cordeiro
23d45ffab7
[UTIL][Formatting] Mention prefix was hardcoded, fixed.
2022-01-21 21:03:09 +00:00
Diogo Peralta Cordeiro
b253ce5e70
[DOCS][Design] Add guidelines menu entry
2022-01-21 21:03:09 +00:00
Eliseu Amaro
c4f9e58e8d
[COMPONENTS][Attachment] Fixed typo on attachmentShowWithNote, where the template called was somehow replaced with a child of it
2022-01-21 21:03:09 +00:00
Hugo Sales
6ab740d780
[COMPONENT][Search][UI] Fix template, which included the search builder form inside the search form, chaos ensuing
2022-01-21 21:03:09 +00:00
Hugo Sales
de795b78f9
[DOCKER][DEPENDENCIES] Restructure PHP Dockerfile to install each package in separate layers and add WikiMedia texvc
2022-01-21 21:03:09 +00:00
Eliseu Amaro
29d498770c
[COMPONENTS][Group] Create a group route added, template polished
...
[COMPONENTS][Circle] Removed any Group related route from shouldAddToRightPanel event
[CARDS][Profile] Block should now allow inline long nicknames to not
break
2022-01-21 21:03:09 +00:00
Eliseu Amaro
d7039b1c5c
[COMPONENTS][Group] Create a group route added, template polished
...
[COMPONENTS][Circle] Removed any Group related route from shouldAddToRightPanel event
[CARDS][Profile] Block should now allow inline long nicknames to not
break
2022-01-21 21:03:08 +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
Hugo Sales
9bd1f42843
[TOOLS] Use sudo to remove files
2022-01-21 21:03:08 +00:00
Hugo Sales
145c88d43f
[ENTITY][Note] Only attempt to find mentions if we have content
2022-01-21 21:03:08 +00:00
Hugo Sales
4717dde12e
[TWIG][I18N] Improve base template facilitate translations of the accessibility panel text
2022-01-21 21:03:08 +00:00
Eliseu Amaro
c028a601a5
[COMPONENTS][Group] Create a group route added, template polished
...
[COMPONENTS][Circle] Removed any Group related route from shouldAddToRightPanel event
[CARDS][Profile] Block should now allow inline long nicknames to not
break
2022-01-21 21:03:08 +00:00
Eliseu Amaro
692ecf1c99
[TWIG] Improved templates HTML structure, removed unnecessary element nesting, and refactored content sectioning
...
[COMPONENTS][Search] Refactored widget event as 'PrependRightPanel' (making it able to accomodate more generic blocks)
2022-01-21 21:03:08 +00:00
Eliseu Amaro
242fe3fd6e
[PLUGINS][PinnedNotes] Replacing arbitary size values with common variables
2022-01-21 21:03:08 +00:00
Eliseu Amaro
dbdf1d9b0b
[CSS] Fixed footer responsiveness, since its content wouldn't wrap up from insuficient space for all of its content
2022-01-21 21:03:08 +00:00
Eliseu Amaro
7daa61500d
[COMPONENTS][Collection] Notes collection template now has a default title
...
[CARDS][Note] Removed note actions from minimal note block
2022-01-21 21:03:07 +00:00
Eliseu Amaro
077cbcf424
[TWIG] Improved accessibility menu
...
[COMPONENTS][RightPanel] Content form row is now preceeded by the content type form row
2022-01-21 21:03:07 +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
Hugo Sales
da7ae5e1f5
[TESTS][A11Y] Login and check all user pages for accessibility
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
Phablulo Joel
f7cbfbff8c
[COMPONENT][Collection] Add event to render html before drawing feed
2022-01-21 21:03:06 +00:00
Phablulo Joel
3f0d996dc9
[COMPONENT][Tag] Fix event handling
2022-01-21 21:03:06 +00:00
Hugo Sales
9e891ed020
[TOOLS][PHPStan] Ignore errors due to lack of namespace in CodeCeption acceptance tester
2022-01-21 21:03:06 +00:00
Hugo Sales
6c6c0270c5
[TESTS][CodeCeption] Update acceptance tests to remove accesibility test kludge
2022-01-21 21:03:06 +00:00
Hugo Sales
a59997b41f
[TOOLS][DOCKER][A11Y] Switch to Pa11y CI and don't run it 'integrated' with codeception, since there was no good way to share cookies
2022-01-21 21:03:06 +00:00
Eliseu Amaro
d542be1df4
[ACCESSIBILITY] Fix regressions in panel checkboxes and accessibility menu accesskeys
...
Accessibility menu accesskey regressions introduced with [ACCESSIBILITY][BASE] Accessibility menu was unreachable.
2022-01-13 19:47:41 +00:00
Eliseu Amaro
eff9318c1d
[UTIL][Formatting] Mention title is not always defined
2022-01-13 18:07:19 +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
Eliseu Amaro
859bf0c0bf
[CONTROLLER][UserPanel] Notification settings panel debug information added for future reference
2022-01-13 16:24:23 +00:00
Eliseu Amaro
d29e28b829
[CORE][Entity] Replaced get_called_class() calls with static::class since the former is deprecated
2022-01-13 16:24:12 +00:00
Diogo Peralta Cordeiro
14b03c7137
[UI][UserPanel] Do not try to re-set an unchanged nickname
2022-01-12 17:46:13 +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
968b1751fd
[CSS] Further styling optimizations, compacting common rules. Removed select dropdown images, since they are no longer required
2022-01-12 16:42:33 +00:00
Eliseu Amaro
c8daa82c1d
[TWIG] Replaced base.css @import with HTML link imports
...
According to 'High Performance Web Sites' (ISBN 10: 0596529309), @import has a negative impact on web page performance. Since all imports dependant on base.css will only start downloading after that one is fully gathered.
2022-01-12 16:32:47 +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
f3a7e8f04d
[TOOLS] Remove CodeCeption files from composer autoload-dev, since they're not available before installing, and ignore errors in PHPStan
2022-01-10 23:14:43 +00:00
Hugo Sales
65504b72bb
[TOOLS] Setup pa11y to run on pages after codeception
2022-01-10 23:09:39 +00:00
José Marques
d713429d88
[CORE][Nickname] Properly set nickname for existing accounts
2022-01-10 11:33:13 +00:00
Diogo Peralta Cordeiro
1056bc661f
[COMPONENT][FreeNetwork] Restore Galaxy feed
2022-01-10 10:29:55 +00:00
Hugo Sales
f40eb3955f
[TOOLS] Update makefile to add an acceptance and accesibility testing target
2022-01-09 14:45:33 +00:00
Hugo Sales
b2b445d21e
[TOOLS][DOCKER] Add pa11y and nginx container to tooling toolchain
2022-01-09 14:44:56 +00:00
Hugo Sales
528f6df240
[TOOLS][PHPStan] Ignore autogenerated Codeception classes
2022-01-09 14:44:08 +00:00
Hugo Sales
894c78bf99
[TOOLS] Keep git in docker image, since we use patched composer packages, temporarily
2022-01-09 14:43:33 +00:00
Hugo Sales
38baa192d8
[DEPENDENCIES][TOOL] Add codeception and bootstrap it for acceptance and accessibility testing
2022-01-09 14:42:16 +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
cdf1d67d0f
[CORE][Cache] Workaround to redis not allowing empty lists
2022-01-09 12:29:34 +00:00
Hugo Sales
06ece5b72e
[COMPONENT][Collection] Only run queries if the criteria is not empty
2022-01-09 12:29:34 +00:00
Hugo Sales
da6d3bd351
[COMPONENT][Collection] Use current locale
2022-01-09 12:29:34 +00:00
Hugo Sales
c835fc6aca
[COMPONENT][Collection][Feed][Attachment][Feed][Language][Tag] Refactor and consolidate Search and Feed query mechanisms into Collection. Remame 'onSearch' events to 'onCollectionQuery'
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
Hugo Sales
b1abd81aca
[DEPENDENCIES] Update dependencies
2022-01-08 00:11:12 +00:00
Hugo Sales
5cfed3d536
[TWIG] Display errors in templates that display forms with form_start
2022-01-08 00:11:08 +00:00
Hugo Sales
0758d6145b
[COMPONENT][Collection][CONTROLLER][Collection] Use null-safe calls to attempt to get a language
2022-01-08 00:07:32 +00:00
Eliseu Amaro
d17f276419
[COMPONENTS][Conversation] Added missing foreign keys to ConversationMute Entity
...
Fixed 'is_muted' variable check logic that impeded the Conversation from being muted
2022-01-07 21:14:51 +00:00
Eliseu Amaro
fc57b3290e
[COMPONENTS][Search] Polished results page HTML view
2022-01-07 21:14:51 +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
9cf8970603
[TEMPLATES][Base] AppendToHead event added to base template
2022-01-07 14:53:55 -03:00
Phablulo Joel
c3d58c350e
[COMPONENTS][Collections] Iterating documentation
2022-01-07 09:23:37 -03:00
Diogo Peralta Cordeiro
e056920de4
[COMPONENT][Subscription] Fix Notifications
2022-01-06 12:13:11 +00:00
Eliseu Amaro
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
Diogo Peralta Cordeiro
0d1ab2c9cf
[SECURITY][Register] New users should have their current browser language set as first language preference
2022-01-05 04:19:35 +00: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
Diogo Peralta Cordeiro
754135743e
[COMPONENT][Subscription] Move respective routes to component
2022-01-05 01:29:27 +00:00
Diogo Peralta Cordeiro
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
Hugo Sales
6247dd4c1a
[COMPONENT][RightPanel] Display form errors
2022-01-04 18:58:32 +00:00
Hugo Sales
de8eab2cf8
[CORE][FORM][FormTypeNonceExtension] Add a nonce to all forms with a CSRF token
2022-01-04 18:58:32 +00:00
Hugo Sales
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
Eliseu Amaro
a5b5362be2
[DOCS][Designer] General guidelines for styling initiated
...
Added wireframes of default page, dividing page into 4 distinct general
areas.
Added CSS classes reference table.
2022-01-04 00:02:21 +00:00
Hugo Sales
d444ea7963
[COMPONENT][Conversation] Refactor and fix Conversation component
2022-01-03 21:20:27 +00:00
Hugo Sales
a729a8eddb
[COMPONENT][Collection] Pass current actor and their top language to query, if not otherwise specified
2022-01-03 21:20:26 +00:00
Hugo Sales
a8a8cc4046
[COMPONENT][Posting] Plumb in reply_to and redirecto to GET from
2022-01-03 21:20:26 +00:00
Hugo Sales
7d38c927e1
[ENTITY][Note][CACHE] Consolidate cache keys to helper function and add ensureCanInteract
2022-01-03 21:20:26 +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
5a31258190
[COMPONENTS][Conversation] Further documentation work, expected arguments explained in more detail
2022-01-03 19:26:17 +00:00
Hugo Sales
f5fc7b6cd1
[CORE][Controller] Add facility for either returning null or throwing, from Controller->{int,string,bool}
2022-01-03 18:02:33 +00:00
Hugo Sales
141c5f6785
[COMPONENT][Collection][CONTROLLER][Collection] Add utility method to call Feed::query in Collection, which handles getting and passing the page
2022-01-03 18:02:33 +00:00
Eliseu Amaro
07b65584ff
[COMPONENTS][Posting] Replaced is_int() with is_numeric(), casting target to int when using Actor getter
...
From php-stan: is int with string evaluates to false
Thus, the change was made in order to behave as intended
2022-01-03 17:58:48 +00:00
Eliseu Amaro
4ae160b0f8
[PLUGINS][AttachmentShowRelated] Fix onEndShowStyles condition to add proper stylesheet to array
2022-01-03 17:51:19 +00:00
Eliseu Amaro
a622b175bc
[DEPENDENCIES] Update dependencies
2022-01-03 16:38:51 +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
d5a6fa924b
[COMPONENT][Conversation][ENTITY][ConversationMute] Rename Conversation{Block,Mute}
2022-01-03 02:23:05 +00:00
Hugo Sales
ba0b0629b7
[TOOLS] Fix deprecations in php-doc-check by providing my own implementation
2022-01-03 02:18:44 +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
6cfb69d64b
[COMPONENT][Subscription] Start component
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
Diogo Peralta Cordeiro
afb7ae0f75
[CORE][Util][Exception] Add log context to BugFoundException
2022-01-02 23:50:15 +00:00
Eliseu Amaro
064288e33b
[CSS] Applying correct border-radius to note-info and adding a greater margin on note-complementary, in case its the last of type
2022-01-02 23:50:15 +00:00
Eliseu Amaro
c7ea56d571
[CSS] Fixing checkboxes from displaying background cropped
2022-01-02 23:50:15 +00:00
Eliseu Amaro
17b46b9aeb
[CSS] Fixed radio button, it didnt change its own background upon being checked, making it invisible
2022-01-02 23:50:15 +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
f42e91d2bc
[CORE][Controller] Allow plugins to override redirect responses
2022-01-02 23:50:14 +00:00
Diogo Peralta Cordeiro
362fc6c7dd
[CORE][Controller] Set some safe default headers for every response
2022-01-02 23:50:14 +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
Diogo Peralta Cordeiro
d27e8610d6
[CORE][DB] DB:removeBy Accept class name instead of table.
2022-01-02 23:50:14 +00:00
Diogo Peralta Cordeiro
b7574500f8
[COMPONENT][FreeNetwork] Set discovery cors enabled by default
2022-01-01 23:57:28 +00:00
Diogo Peralta Cordeiro
6ea45df3b8
[COMPONENT][FreeNetwork] Set JRD as the default mimetype for .well-know/host-meta
2022-01-01 23:57:28 +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
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
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
1f01923aa1
[COMPONENT][Conversation] Implement Conversation muting
2022-01-01 10:32:07 +00:00
Hugo Sales
1a99762699
[COMPONENT][Posting][Notification] Move group inbox message creation to Notification component
2022-01-01 10:32:07 +00:00
Hugo Sales
f346cd8167
[COMPONENT][Language][Tag] Update usage of Functional::cartesian_product
2021-12-31 21:03:25 +00:00
Hugo Sales
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
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
b7872ba4ee
[CORE][Controller][FeedController] Use controller instance for filtering, making FeedControler->postProcess function non-static
2021-12-31 21:03:17 +00:00
Eliseu Amaro
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
Eliseu Amaro
d7b46735ac
[CARDS][Note] Removing unnecessary elements on replies block, and fixing gaps between note-info and the note border itself
2021-12-31 17:02:18 +00:00
Eliseu Amaro
6dd31926ad
[COMPONENTS][Conversation] reply_add route nows shows the given Note entire conversation, the Note itself is highlighted in the conversation
2021-12-30 18:34:47 +00:00
Eliseu Amaro
34cc010136
[CARDS][Note] Separating complementary info as its own block
2021-12-30 18:34:47 +00:00
Hugo Sales
9a6bdf74dc
[COMPONENT][Feed] Add way of filtering the notes on an arbitrary feed with a types GET parameter, that accepts {,!}<[media,text,link,tags]...>
2021-12-30 18:28:57 +00:00
Hugo Sales
0ae24f6088
[CORE][Controller][FeedController] Use controller instance for filtering, making FeedControler->postProcess function non-static
2021-12-30 18:28:57 +00:00
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
2dbc35fcc3
[DEPENDENCIES] Update dependencies
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
5229d4cd8c
[COMPONENT][Notification] Remove nickname GET parameter
2021-12-30 18:28:56 +00:00
Hugo Sales
cbb70a5054
[COMPONENT][Feed] Refactor Feed component
2021-12-30 18:28:56 +00:00
Eliseu Amaro
f16df759a9
[Components][Posting] Posting section title set accordingly if in 'reply_add' route
2021-12-30 16:18:16 +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
85e31c684d
[MODULES][Collection] Fixing mistakes
2021-12-30 12:16:29 -03:00
Phablulo Joel
bdd8cbf36d
[COMPONENT][Right Panel] Send request to AppendRightPanelBlock event
2021-12-30 12:14:41 -03:00
Phablulo Joel
d7f70d288d
[MODULES][Collection] Abstracting Collections
2021-12-29 21:56:45 -03:00
Eliseu Amaro
49d247aec2
[COMPONENTS][Feed] Styling for the empty feed page added
2021-12-29 19:31:28 +00:00
Eliseu Amaro
f28ed5e359
[CSS] .note-complementary-info now smaller in general
2021-12-29 19:02:06 +00:00
Eliseu Amaro
6b82708968
[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:47:12 +00: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
0caec6ab9e
[COMPONENT][ACTOR CIRCLE] fixing template text
2021-12-29 14:13:25 -03:00
Phablulo Joel
01d5e84a08
[COMPONENT][ACTOR CIRCLE] mention self tag circle with @#self_tag
2021-12-29 14:13:25 -03:00
Phablulo Joel
f9bc1c790f
[PLUGIN][AttachmentCollections] Dark mode
2021-12-29 10:52:04 -03:00
Phablulo Joel
25120c6630
[PLUGIN][AttachmentCollections] Responsive pages
2021-12-29 10:52:04 -03: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
846ec37cd9
[COMPONENT][Notification] Add event to decide whether local actors should be bothered
2021-12-28 18:45:18 +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
5c2b46a71d
[COMPONENT][Link] Wrap delete operations in transactions
2021-12-28 06:56:05 +00:00
Diogo Peralta Cordeiro
46d121ef7b
[COMPONENT][Attachment] Wrap delete operations in transactions and correct sequence of deletation
2021-12-28 06:56:05 +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
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
8796885fa0
[COMPONENT][Tag] Remove '.' from tag regex
2021-12-27 20:37:16 +00:00
Hugo Sales
5c10448080
[COMPONENT][Group] Add group subscribe button
2021-12-27 20:37:16 +00:00
Eliseu Amaro
559ec3df39
[TWIG] Fix login template
2021-12-27 19:09:32 +00:00
Eliseu Amaro
20d89f0f24
[COMPONENTS][Avatar] Make sure dimension values are integers
...
[CARDS][Note] Fix assumed avatar dimension values
2021-12-27 19:08:55 +00:00
Eliseu Amaro
19975b8d8d
[COMPONENTS][Avatar] Make sure dimension values are integers
...
[CARDS][Note] Fix assumed avatar dimension values
2021-12-27 19:08:51 +00:00
Phablulo Joel
65a3d738ca
[PLUGIN][AttachmentCollections] Make it look good
2021-12-27 15:38:47 -03:00
Phablulo Joel
7ddfe92773
fix: redirect
2021-12-27 15:35:09 -03:00
Phablulo Joel
e932ff43d0
[PLUGIN][AttachmentCollections] changes path name to be the same as the one introduced in c4dacd7626
2021-12-27 15:31:19 -03:00
Phablulo Joel
672df5165c
[PLUGIN][AttachmentCollections] Fixing forms submission
2021-12-27 15:25:20 -03:00
Hugo Sales
72a19d7eac
[COMPONENT][Posting] Fix error around mentions of actors that don't exist
2021-12-27 17:35:33 +00:00
Hugo Sales
b84315c95b
[TOOLS] Fix errors reported by PHPStan at level 4
2021-12-27 17:35:33 +00:00
Hugo Sales
edd996d281
[DEPENDENCIES] Update dependencies, including PHPStan to dev version
2021-12-27 17:35:33 +00:00
Hugo Sales
cf2f87fc1d
[AUTOGENERATED] Update autogenerated code
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
d03572e366
[PLUGIN][Directory] Make it list groups
2021-12-27 17:10:58 +00:00
Diogo Peralta Cordeiro
de148c1f78
[COMPONENT][Avatar][Controller] Implement multiple dimensions
2021-12-27 05:08:29 +00:00
Diogo Peralta Cordeiro
2a902d6a7e
[ASSETS][css][sections] rename profile-avatar to avatar
2021-12-27 05:08:29 +00:00
Diogo Peralta Cordeiro
195618801b
[TEMPLATES][Cards][Note] Fix some issues with note minimal
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
Eliseu Amaro
fd44bc3ac5
[CARDS][Note] Minimize calls between different tables
...
For instance, the actor_url was set using note.getActor().getUrl() instead of using the actor from the start (since actor was needed in other setters as well).
2021-12-27 03:06:35 +00:00
Eliseu Amaro
65676d3980
[CARDS][Note] Fix attachment page from retrieving image dimensions
...
Attachments may use only a specific block, not the full note macro itself. Since this is the case, the actor needs to be retrieved for the minimal macro note.
2021-12-27 03:06:35 +00:00
Eliseu Amaro
ea42ba9f26
[CARDS][Profile] Fix bio
...
Was using 'hasBio()' instead of 'getBio()'
2021-12-27 03:06:35 +00:00
Hugo Sales
a1a6f5f4fd
[TOOLS] Add warning to update code in bin/generate_entity_fields
2021-12-27 03:06:35 +00:00
Hugo Sales
93276ce8d0
[AUTOGENERATED] Update autogenerated code
2021-12-27 03:06:30 +00:00
Hugo Sales
0df423e84b
[TOOLS] Update bin/generate_entity_fields so it defaults nullable variables to null and handles null in varchars
2021-12-27 03:03:57 +00:00
Hugo Sales
7eff22d548
[TOOLS] Fix errors reported by updated PHPStan
2021-12-27 03:03:57 +00:00
Hugo Sales
52e2231661
[DEPENDENCIES] Update PHPStan and other dependencies
2021-12-27 03:03:57 +00:00
Eliseu Amaro
9d3c01312f
[CARDS][Note] Fix assumed avatar dimension values
2021-12-27 03:03:53 +00:00
Diogo Peralta Cordeiro
ce23660dba
[PLUGIN][ImageEncoder] Only show thumbnails if they exist
2021-12-27 03:02:21 +00:00
Diogo Peralta Cordeiro
58715f1733
[PLUGIN][ImageEncoder] If vips doesn't support, don't throw exception, just let other plugin try
2021-12-27 03:02:20 +00:00
Eliseu Amaro
838510ced2
[CARDS][Navigation] Replaced footer to nav
...
Since the footer is inside a section, it couldn't be a footer element
2021-12-27 03:02:20 +00:00
Eliseu Amaro
b30198413c
[PLUGINS][Oomox] Add rel to response headers
2021-12-26 21:26:04 +00:00
Eliseu Amaro
7402e749cb
[COMPONENTS][Feed] Removed unnecessary ARIA
2021-12-26 21:19:33 +00:00
Eliseu Amaro
18cfcc0796
[ICONS] Removed XML processing instructions in svg files
2021-12-26 21:19:06 +00:00
Eliseu Amaro
045ff6fb68
[PLUGINS][XMPPNotifications] Fix typo
2021-12-26 21:19:06 +00:00
Diogo Peralta Cordeiro
fec1861b80
[CONTROLLER][Note] Respect note scope
2021-12-26 21:19:06 +00:00
Diogo Peralta Cordeiro
d891089945
[PLUGIN][StoreRemoteMedia] Let the user decide the max file size to download
2021-12-26 21:19:04 +00:00
Diogo Peralta Cordeiro
0c421116a6
[ENTITY][Note] Relive isVisibleTo method
2021-12-26 19:50:21 +00:00
Eliseu Amaro
78cc9c4659
[PLUGINS][Repeat] Repeat now added has a reply and conversation of original note
2021-12-26 19:16:57 +00:00
Eliseu Amaro
e10a38a3e2
[CSS] Align page header on ultrawide screens
2021-12-26 19:16:57 +00:00
Eliseu Amaro
feb2631f00
[CARDS][Note] Add permalink to extra note actions
2021-12-26 19:16:57 +00:00
Diogo Peralta Cordeiro
a1d9909379
[CORE][VisibilityScope] Use enum type instead of Bitmap
2021-12-26 19:16:56 +00:00
Diogo Peralta Cordeiro
6f0d9add08
[DEPENDENCIES] Run composer after php version bump from 8.0 to 8.1
2021-12-26 19:16:17 +00:00
Hugo Sales
6883e51fc8
[DOCKER] Force docker php to use proper PHP executable
2021-12-26 19:16:16 +00:00
Hugo Sales
3d9141f4ce
[COMPONENT][Tag] Allow searching for actor circles with {actor,people}-{circle,list}:#tag
2021-12-26 19:16:16 +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
Eliseu Amaro
dd268ba8db
[CARDS][Profile] Use Actor::hasBio() instead of getter
2021-12-26 19:16:16 +00:00
Diogo Peralta Cordeiro
8e7c94fe1d
[COMPONENT][Attachment] Entity should have default refCount value, every attachment starts with 1 life
2021-12-26 19:16:16 +00:00
Diogo Peralta Cordeiro
94e216a943
[COMPONENT][Conversation] remove early flush in utility function
2021-12-26 19:16:16 +00:00
Eliseu Amaro
fdf506b9f9
[CARDS][Note] Fix structure to break content in a controlled manner
...
[CSS] Responsive feed styling work
Note info content will now break as expected, useless space trimmed down to accomodate smaller screens.
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
97243151fa
[TOOL] CS-fixer does not accept a list of files, so we need to run it on each file individually
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
68076d73dd
[TOOLS] Update bin/generate_entity_fields so it automatically truncates values in setters
2021-12-26 19:16:15 +00:00
Hugo Sales
29bb11e8bc
[TOOLS] Don't fail commit when checking tools fail
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
625618b4e0
[PLUGIN][Favourite][Repeat] Fix incorrect use of RedirectException
2021-12-26 19:16:14 +00:00
Diogo Peralta Cordeiro
91f8c86efa
[PLUGIN][ActivityPub] Support and federate scopes
2021-12-26 19:16:12 +00:00
Diogo Peralta Cordeiro
21f585ef7e
[COMPONENT][Language] Do not exclude notes without language from the feeds
2021-12-26 16:48:36 +00:00
Diogo Peralta Cordeiro
9d5e149dec
[COMPONENT][Feed] Correct ordering
2021-12-26 16:48:35 +00:00
Diogo Peralta Cordeiro
19502050e0
[TOOLS] Add remove-file and minor corrections to nuke everything
2021-12-26 16:48:35 +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
Diogo Peralta Cordeiro
36483a6ecd
[COMPONENT][Link] Ignore html anchors that include mention class
2021-12-25 18:04:30 +00:00
Eliseu Amaro
0d5e545a6e
[TWIG] Replaced unused markup classes
2021-12-25 17:59:49 +00:00
Eliseu Amaro
3275a989db
[CSS] Style paging info
2021-12-25 17:48:07 +00:00
Eliseu Amaro
ab640b110b
[COMPONENTS][Feed] Remove 'feed' from header
...
When not logged in, the word would be repeated
2021-12-25 17:47:12 +00:00
Eliseu Amaro
7891461d36
[PLUGINS][AttachmentCollections] Fix template
...
[PLUGINS][AttachmentShowRelated] Fix template
[CSS] Fix section-subtitle-details children padding issues
[COMPONENTS][Posting] Remove unnecessary colon
Overall polish of existing plugins templates
2021-12-25 17:31:16 +00:00
Eliseu Amaro
ce3b677833
[CONFIG][Twig] Replaced form theme to a custom one
...
[CARDS][Forms] Added custom social form theme
[CSS] Replaced/added new classes to be used with forms
Base form theme created, can be extended to create complex blocks to be
called by twig when rendering a specific form.
2021-12-25 16:19:46 +00:00
Eliseu Amaro
8651bd44c2
[PLUGINS][ProfileColor] Fix callable argument when retrieving cache data
2021-12-25 15:31:24 +00:00
Hugo Sales
6ada5e60d2
[TOOLS] Make PHP-CS-Fixer and PHP-Doc-check run inside the tooling container
2021-12-25 15:20:21 +00:00
Phablulo Joel
af3d278fde
[PLUGIN][AttachmentCollections] Prevent user from appending stuff in a collection (s)he doesn't own
2021-12-25 11:27:00 -03:00
Phablulo Joel
1e965157de
[PLUGIN][AttachmentCollections] Iterate documentation
2021-12-25 11:25:50 -03:00
Hugo Sales
b604ee3146
[COMPONENT][Posting][Tag][Group][Conversation][RightPanel] Rename posting_form.to to posting_form.in, fill in with current group. Refactor context_actor
2021-12-25 11:24:41 +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
Phablulo Joel
dad322e577
[TWIG][Templates] check if variable is defined in twig before using it
...
fixes error in /actor/X, where there's no page_title defined
2021-12-24 11:44:12 -03:00
Diogo Peralta Cordeiro
de89cffc34
[COMPONENT][Feed] Restrict non-public feeds to logged in users
2021-12-24 14:39:23 +00:00
Phablulo Joel
82e6e95b6a
[PLUGIN][AttachmentCollections] Add Attachment Collection plugin which allow users to save attachments in collections
2021-12-24 11:29:37 -03:00
Phablulo Joel
63f9c6341e
[COMPONENT][RightPanel] Sends request object in the `AppendRightPanelBlock` event
2021-12-24 10:20:55 -03:00
Hugo Sales
1947e99430
[DOC] Add documentation to methods flagged by doc-check
2021-12-24 09:34:13 +00:00
Hugo Sales
dabf5576d3
[CONTROLLER][Feeds] Implement query for home feed: note-from:subscribed
2021-12-24 09:27:24 +00:00
Diogo Peralta Cordeiro
e3efd25b43
[PLUGIN][ActivityPub] Fix typo in getObjectByUri
2021-12-24 02:46:45 +00:00
Diogo Peralta Cordeiro
7407028891
[PLUGIN][RepeatNote] Fix getRepeatNotes query
2021-12-24 02:46:45 +00:00
Diogo Peralta Cordeiro
10e7c71b6e
[COMPONENT][Tag] Do not perform DB::flush in an event
2021-12-24 02:46:45 +00:00
Diogo Peralta Cordeiro
8cd703d68b
[COMPONENT][Link] Even if everything else in Posting fails, no reason to discard the finding about the Link
2021-12-24 02:46:45 +00:00
Eliseu Amaro
671c3968e2
[TWIG][Templates] Rename inconsistent CSS classes
...
[CSS] Font size hierarchy refactor
[PLUGINS][MediaFeed] Renamed BeforeFeed event
Type scale hierarchy redone. Bigger line height added, making it easier
to click on links and separate contents.
Feed title added. AddFeedActions replaces BeforeFeed event.
MediaFeed links will now show an icon to the right of the feed title,
smaller footprint and more consistent with the overall design.
2021-12-24 02:46:44 +00:00
Eliseu Amaro
f10b3bb05c
[PLUGINS][MediaFeed] Fixed template path typos
2021-12-24 02:46:44 +00:00
Hugo Sales
1e7a285ded
[TOOL] Add force-nuke-everything make rule, which deletes the whole database and caches
2021-12-24 02:46:44 +00:00
Hugo Sales
333e71ed50
[COMPONENT][Group] Add group settings, with support for editing the group's personal info and self tags
2021-12-24 02:46:43 +00:00
Hugo Sales
a36bdf9719
[UI][I18N] Add missing translation tags in templates/cards/navigation/view.html.twig
2021-12-24 02:46:43 +00:00
Hugo Sales
69565e3f49
[COMPONENT][Tag] Add missing required route paramter nickname
2021-12-24 02:46:43 +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
2acf0bcbb6
[TEMPLATE][Settings] Factor out settings macros
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
3c79d82b80
[PLUGIN][ActivityPub][Note] Support inReplyTo
2021-12-24 02:46:39 +00:00
Diogo Peralta Cordeiro
b05106e7f9
[COMPONENT][Conversation] Minor corrections and don't store URI in DB
2021-12-24 02:46:38 +00:00
Diogo Peralta Cordeiro
e04d927fe9
[COMPONENT][Feed][Conversation] Add note-conversation:
2021-12-24 02:46:36 +00:00
Diogo Peralta Cordeiro
17b7ef13a0
[COMPONENT][Conversation] Remove Feed list entry
...
Notifications feed is enough
2021-12-24 00:47:36 +00:00
Diogo Peralta Cordeiro
e743a17883
[COMPONENT][Notification] Introduce Notifications Feed
2021-12-24 00:47:36 +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
Diogo Peralta Cordeiro
1865d2b41e
[ActivityPub][Postman] Fill To and CC with mentions
2021-12-24 00:42:02 +00:00
Eliseu Amaro
48b2c8c04e
[COMPONENTS][Conversation] Local Conversations done
...
[COMPONENTS][Posting] Call Conversation::assignLocalConversation upon
creating a new note
By using the AddExtraArgsToNoteContent event upon posting a Note, an
extra argument ('reply_to') is added before storing the aforementioned Note.
When storeLocalNote eventually creates the Note, the corresponding
Conversation is assigned.
2021-12-24 00:42:02 +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
c494928b46
[PLUGIN][MediaFeed] Remove unused import
2021-12-24 00:41:53 +00:00
Phablulo Joel
5115145901
[PLUGIN][MediaFeed] Iterate Documentation
2021-12-24 00:41:44 +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
fb64444325
[UI][CORE][COMPONENT][Search] Refactor templates
...
Just DRY
2021-12-21 14:38:58 -03:00
Phablulo Joel
dd5d46c556
[CORE] Add option to filter notes even when there's no actor
2021-12-21 14:33:19 -03:00
Phablulo Joel
ce91826d31
[CORE][UI] Added the possibility to draw stuff before feed starts
2021-12-21 14:29:05 -03:00
Hugo Sales
012e0665b0
[COMPONENT][Search] Only display search subscribe field if a user is logged in
2021-12-21 16:45:59 +00: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
Diogo Peralta Cordeiro
e2c0505620
[ActivityPub][Inbox] Add request to debug logs
2021-12-21 15:52:41 +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
85735222cb
[COMPONENT][Posting] When a group is mentioned, add that note to the group inbox
2021-12-21 12:43:28 +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
36976d8fe7
[DOCKER] Update configuration script to include the worker container
2021-12-20 20:39: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
1832397363
[ActivityPub] Include recent actor type attribute in its creation
...
Improve debug logs
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
630e22579e
[PLUGIN][RepeatNote] Add support for onGSVerbToActivityStreamsTwoActivityType
2021-12-20 13:32:48 +00:00
Diogo Peralta Cordeiro
8d1e000574
[PLUGIN][Favourite] Add support for onGSVerbToActivityStreamsTwoActivityType
2021-12-20 13:32:48 +00:00
Diogo Peralta Cordeiro
a9c73a8f33
[PLUGIN][ActivityPub] Add mention tags
2021-12-20 13:32:48 +00:00
Diogo Peralta Cordeiro
a005a7bcea
[PLUGIN][ActivityPub] Add getUriByObject, so that we can construct activities referring to other known objects (local or foreign)
2021-12-20 13:32:46 +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
330b6b49a2
[COMPONENT][Posting] Add support for posting with empty content. At least one of content and attachments must be provided
2021-12-16 11:08:53 +00:00
Hugo Sales
5dca5568b7
[CORE][Cache] Fix wrong return type in Cache::delete
2021-12-16 11:01:23 +00:00
Hugo Sales
1b45fb251a
[COMPONENT][Search][Attachment][DOC] Add doocumentation to search related functions
2021-12-16 10:52:06 +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
b0d5ce8aab
[COMPONENT][Search] Don't explode if provided an empty search query
2021-12-16 10:41:29 +00:00
Hugo Sales
a16d31b70e
[COMPONENT][Search] Add support for searching in notes' contents
2021-12-16 10:39:36 +00:00
Hugo Sales
060c3f01a6
[CACHE][CONFIG] Disable early recompute by default
2021-12-13 15:49:53 +00:00
Hugo Sales
6d8679d86b
[CORE] Fix resetting the config to the default values
2021-12-13 15:49:52 +00:00
Hugo Sales
ff38efd5f1
[PLUGIN][ProfileColor] Cache results
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
f6a8ee86b6
[COMPONENT][Search] Add support for searching for a given actor type
2021-12-11 22:21:31 +00:00
Hugo Sales
4be226edd5
[COMPONENT][Search] Make search title field not required
2021-12-11 22:20:25 +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
6b38972cca
[COMPONENT][Search] Add support for searching for notes with media or with text
...
`note-types:media` will search for notes with an associated attachment or no text
2021-12-11 20:59:13 +00:00
Hugo Sales
bad5efe819
[COMPONENT][Search] Be explicit about including :
2021-12-11 20:56:47 +00:00
Hugo Sales
01470ee664
[COMPONENT][Search] Add facility for supporting searching for note types
2021-12-11 19:33:30 +00:00
Hugo Sales
d667c3a453
[COMPONENTS][Search][UI] Add options to filter by note or actor type. Reorganize UI
2021-12-11 17:48:40 +00:00
Hugo Sales
e8ddca6b06
[COMPONENT][LeftPanel] Add previous title to error message when a duplicate feed is found
2021-12-11 16:50:52 +00:00
Hugo Sales
682f9aa611
[COMPONENT][LeftPanel] Ensure given url corresponds to a feed
2021-12-11 10:50:29 +00:00
Hugo Sales
dbc8bf2ae1
[COMPONENT][Search][LeftPanel] Add way of adding a search result as a left panel feed
2021-12-11 10:49:57 +00:00
Hugo Sales
9afe6ecfac
[COMPONENT][Search] Add search query builder
2021-12-10 21:19:21 +00:00
Hugo Sales
fceb014606
[COMPONENT][Language] Add support for searching for multiple languages at the same time
2021-12-10 21:15:12 +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
ab5e074d9e
[DEPENDENCIES] Update lstrojny/functional-php
2021-12-10 13:54:10 +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
8beb9682ee
[COMPONENTS][Search][Language] Move language search features to the language component. Add support for searching for notes from people with a given language
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
5dd9e5a3d7
[PLUGIN][RepeatNote] Add Notifications and ActivityPub support
...
Minor bug fixes
2021-12-10 04:05:41 +00:00
Diogo Peralta Cordeiro
0ee4cc7709
[PLUGIN][Favourite] Notify when actor favours a note
2021-12-10 04:05:35 +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
4992ff153b
[PLUGIN][RepeatNote] Fill activity log and fix some bugs
...
Refactored the plugin.
2021-12-10 04:05:26 +00:00
Diogo Peralta Cordeiro
01689edc66
[PLUGIN][Favourite] Report already favoured or unfavoured
2021-12-10 04:05:22 +00:00
Diogo Peralta Cordeiro
0c11fe413c
[COMPONENT][Tag] We don't always have information about if a tag is canonical
2021-12-10 04:05:22 +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
dcc867dad7
[COMPONENT][Attachment] Delete related
2021-12-10 02:46:25 +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
45d1ca88a6
[COMPONENT][Tag] Ensure only one copy of each tag is inserted
2021-12-09 22:22:31 +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
4d2230ff43
[COMPONENT][Language] Add Language component and implement language based note filtering
2021-12-09 21:39:00 +00:00
Hugo Sales
1be4b3d481
[EVENT][FilterNoteList] Use an in-out parameter, so multiple events can act on this
2021-12-09 21:39:00 +00:00
Hugo Sales
3405312a5b
[COMPONENT][Search] Add way of searching for only notes or poeple with a given language
2021-12-09 21:39:00 +00:00
Eliseu Amaro
f547fd3bb9
[CONTROLLER][FeedController] Fix return value, from notes to notes_out
2021-12-09 19:06:18 +00:00
Hugo Sales
c137a484af
[ENTITY][ActorTag] Fix url in actor tag
2021-12-09 16:34:07 +00:00
Hugo Sales
26b95fae96
[PLUGIN][StemWord] Remove the country part from the code. Ignore if no stemmer is found for the given language
2021-12-09 16:23:09 +00:00
Hugo Sales
659ea5cd1f
[COMPONENT][Search] Use correct template for displaying actors
2021-12-09 16:23:09 +00:00
Hugo Sales
bc3e6ac704
[COMPONENT][Search] Fix searching for actors
2021-12-09 16:23:09 +00:00
Hugo Sales
139da2c07f
[COMPONENT][Search][Tag] Add support for searching for actors or notes with a language. Use leftJoins, rather than inner joins
2021-12-09 16:22:59 +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
64122a9612
[PLUGIN][Favourite] Add ActivityPub Inbox support
2021-12-08 23:24:25 +00:00
Diogo Peralta Cordeiro
5025901c86
[PLUGIN][Favourite] Log changes into Activity
2021-12-08 23:24:25 +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
Eliseu Amaro
df92b0d225
[COMPONENTS][Conversation] Refactored Reply plugin into Conversation component
...
[PLUGIN][TreeNotes] TODO: think it is broken, perhaps a problem of the conversation arguments passed in note card template
2021-12-08 22:48:04 +00:00
Hugo Sales
e9dfa0f08c
[COMPONENT][Attachment][Posting] Move `onHashFile` from Posting to Attachment. Remove `onGetAllowedThumbnailSizes`
2021-12-08 20:42:29 +00:00
Hugo Sales
614e02b4c6
[PLUGIN][TagBasedFiltering] Add to user settings page and split adding tags from note/actor from editing blocked
2021-12-08 19:57:36 +00:00
Hugo Sales
d52a043705
[TWIG] Restructure user settings template, making it much easier to use and extend
2021-12-08 19:57:35 +00:00
Hugo Sales
6627006e61
[COMPONENT][Avatar] Move avatar settings template from core to component
2021-12-08 19:57:29 +00:00
Eliseu Amaro
870f866c23
[CARDS][Navigation] Section styling more consistent and can now be selectively hidden by user
...
[COMPONENTS][Right] Changed additional options div class names
2021-12-08 15:16:30 +00:00
Eliseu Amaro
a285128dab
[COMPONENTS][Posting] Added language help text
...
[COMPONENTS][Tag] Added Posting form canonical tags field help text
2021-12-08 14:28:58 +00:00
Eliseu Amaro
a4f18b937e
[CSS] Forced to re-add webkit mask image prefix for checkbox styling
2021-12-08 13:44:06 +00:00
Hugo Sales
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
Hugo Sales
7783922b2e
[CONTROLLER][PLUGIN][Directory][Favourite][Reply][CORE][FeedController] Refactor to new FeedController
2021-12-07 23:34:32 +00:00
Hugo Sales
ba87944732
[COMPONENT][CONTROLLER][Search][CORE][FeedController] Use new FeedController base class
2021-12-07 21:07:37 +00:00
Hugo Sales
4c0210fb00
[CORE][FeedController][CONTROLLER][Feeds] Refactor feed filtering into base class
2021-12-07 21:06:39 +00:00
Hugo Sales
b8e9c2ce41
[COMPONENT][Search] Add title so it's clearer these are search results
2021-12-07 20:36:25 +00:00
Hugo Sales
f9fedfb131
[COMPONENT][Search] Fix search
2021-12-07 20:26:39 +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
Hugo Sales
c093eb9089
[TWIG] Update instanceof filter to be able to check for native types
2021-12-07 19:52:27 +00:00
Eliseu Amaro
26a324ee4b
[TWIG][Templates] Sort languages settings template polish
2021-12-07 18:46:58 +00:00
Eliseu Amaro
c21d4d1811
[CSS] Added webkit required vendor specific prefix for mask image
2021-12-07 18:46:07 +00:00
Eliseu Amaro
b0fea51251
[TWIG][Templates] Clearer visual feedback that a note is a reply
2021-12-07 16:17:49 +00:00
Eliseu Amaro
4657a1d6a5
[COMPONENTS][Tag] Fix actor tag template
...
[PLUGINS][RelatedTags] Fix actor tag template
2021-12-07 15:35:27 +00:00
Eliseu Amaro
0bac6a229e
[COMPONENTS][RightPanel] Added 'Additional options' details on posting form
...
[CSS] Trimming down wasted space and vendor related prefixes
[TWIG][Templates] Added main navigation to navigation card, removed note car language short display
2021-12-07 15:33:02 +00:00
Eliseu Amaro
92314403bb
[CSS] Preventing note actions extra from overflowing
2021-12-06 23:38:38 +00:00
Eliseu Amaro
546c5c84fd
[COMPONENTS][Tag] Actor/Note tag template polished
...
[PLUGINS][RelatedTags] Disable rendering of template when no results are found
2021-12-06 22:22:23 +00:00
Eliseu Amaro
ef435b824b
[CSS] You can hide Posting section on command now
2021-12-06 21:07:45 +00:00
Eliseu Amaro
a6af3a9b7a
[CSS] Removed unnecessary box-shadow rules that slowed down performance (see edit feeds page)
2021-12-06 20:56:06 +00:00
Eliseu Amaro
cd607ce6ce
[CSS] Note actions extra line height removed, margin-bottom used instead
...
[CSS] Anchors use underline again on hover
2021-12-06 20:47:56 +00:00
Eliseu Amaro
6303f480f7
[TWIG] Note actions extra structural changes to reflect standard note actions styling
...
[CSS] Note actions extra details styling done
2021-12-06 20:35:44 +00:00
Eliseu Amaro
cb276aee81
[CSS] Screen media queries are now clearly documented and calculated using various takes on the Van de Graaf Canon and Tschichold’s recommended 2:3 page-size ratio
2021-12-06 19:07:59 +00:00
Diogo Peralta Cordeiro
330e09f2d3
[PLUGIN][ActivityPub] Only store a new object if there were no previous activities with it before
2021-12-05 21:09:30 +00:00
Diogo Peralta Cordeiro
5196b669b9
[PLUGIN][ActivityPub] Add attachment support to Notes
2021-12-05 21:04:20 +00:00
Diogo Peralta Cordeiro
63bf93d7f3
[CORE][Entity][Note] Language can be null
2021-12-05 21:03:13 +00:00
Diogo Peralta Cordeiro
19b8a7648e
[PLUGIN][ActivityPub] Implement Avatar support
2021-12-05 20:08:14 +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
c40866ecf6
[PLUGIN][TagBasedFiltering] Add TagBasedFiltering plugin, which allows filtering feeds by note tags and (soon) actor tags
2021-12-05 17:54:58 +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
6b719daa14
FIXUP POSTING TAG COMP
2021-12-05 17:54:58 +00:00
Hugo Sales
8a495bd714
[CONTROLLER][Feeds][EVENT] Refactor and add 'FilterNoteList' event
2021-12-05 17:54:58 +00:00
Hugo Sales
2f5bde913c
[COMPONENT][Posting][Tag] Add mechanism for adding extra fields to and handling the data from the Posting form. Add 'use canonical tag' field
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
1457aa8220
[UI][PLUGIN][DeleteNote][EVENT] Add 'AddExtraNoteActions' event, which can be leveraged to add extra actions on each note, but which are normally collapsed
2021-12-05 17:54:58 +00:00
Hugo Sales
969df371dd
[COMPONENT][Avatar] Small refactor
2021-12-05 17:54:58 +00:00
Diogo Peralta Cordeiro
9512890264
[PLUGIN][ActivityPub] Implement Actor Update
...
Diverse minor bug fixes
2021-12-05 03:11:08 +00:00
Diogo Peralta Cordeiro
9506909e7a
[COMPONENT][FreeNetwork] Iterate documentation
2021-12-04 21:05:09 +00:00
Diogo Peralta Cordeiro
778cb57d83
[PLUGIN][ActivityPub] Finish base ActivityStreams 2.0 interface
...
Instructions below
To extend an Activity properties do:
public function onActivityPubValidateActivityStreamsTwoData(string $type_name, array &$validators): bool {
if ($type_name === '{Type}') {
$validators['attribute'] = myValidator::class;
}
return Event::next;
}
The Validator should be of the form:
use ActivityPhp\Type;
use ActivityPhp\Type\Util;
use Plugin\ActivityPub\Util\ModelValidator;
class myValidator extends ModelValidator
{
/**
* Validate Attribute's value
*
* @param mixed $value from JSON's attribute
* @param mixed $container A {Type}
* @return bool
* @throws Exception
*/
public function validate($value, $container): bool
{
// Validate that container is a {Type}
Util::subclassOf($container, Type\Extended\Object\{Type}::class, true);
return {Validation Result};
To act on received activities do:
public function onActivityPubNew{Type}(&$obj): bool {
To add information to Activities being federated by ActivityPub do:
public function ActivityPubAddActivityStreamsTwoData(string $type_name, &$type): bool {
To implement an ActivityStreams 2.0 representation do:
public function onActivityPubActivityStreamsTwoResponse(string $route, arrray $vars, ?TypeResponse &$response = null): bool {
if ($route === '{Object route}') {
$response = ModelResponse::handle($vars[{Object}]);
return Event::stop;
}
return Event::next;
}
2021-12-04 21:05:07 +00:00
Diogo Peralta Cordeiro
044649c745
[PLUGIN][VideoEncoder] Some videos don't have images (video stream), only audio, handle that
2021-12-03 03:32:44 +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
e16fade490
[CONFIGURATION] Add webp to attachments:supported whitelist
2021-12-03 03:32:43 +00:00
Diogo Peralta Cordeiro
582519e13e
[COMPONENT][Attachment] Do not show download links for non-local attachments
2021-12-03 03:32:43 +00:00
Eliseu Amaro
ff5f346fec
[PLUGINS][Oomox] Further checks done when handling form requests. Improved documentation, fixed typos and diminished repeated calls
2021-12-03 03:32:38 +00:00
Eliseu Amaro
ba632b4514
[CSS] Note content text decoration underline set on anchor links
2021-12-03 01:19:09 +00:00
Diogo Peralta Cordeiro
b66873e289
[PLUGIN][StoreRemoteMedia] Do not save empty files
2021-12-03 01:16:57 +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
Eliseu Amaro
56d653d980
[CSS] Adding margin-left to .note-author-nickname
2021-12-02 22:55:01 +00:00
Diogo Peralta Cordeiro
bded039282
[PLUGIN][Embed] try catch absence of favicon
2021-12-02 22:49:27 +00:00
Eliseu Amaro
d802af6d91
[COMPONENTS] Accesskey highlight class set
2021-12-02 22:44:58 +00:00
Eliseu Amaro
a1b002659f
[CSS] Focusable elements only show accent inset shadow when focused by keyboard, not by any other way
2021-12-02 22:40:27 +00:00
Diogo Peralta Cordeiro
2e11001b8f
[PLUGIN][Embed] Fix links
2021-12-02 22:21:49 +00:00
Eliseu Amaro
e5f09a26d4
[CSS] Ultra widescreen dimensions fix
2021-12-02 22:21:49 +00:00
Eliseu Amaro
6ce78141a8
[CONTROLLER][UserPanel] Actor nickname cache is updated
2021-12-02 22:21:47 +00:00
Diogo Peralta Cordeiro
5130e7e70f
[COMPONENT][Attachment] Update routes to use /object/ namespace
2021-12-02 21:26:06 +00:00
Diogo Peralta Cordeiro
2445b5318d
[PLUGIN][Embed] Make it work when content-length header is not provided
2021-12-02 21:26:06 +00:00
Diogo Peralta Cordeiro
bfec10fc95
[COMPONENT][Attachment][Entity][Attachment] getThumbnail can be null
2021-12-02 21:26:05 +00:00
Eliseu Amaro
2967b544f5
[CONTROLLER][UserPanel] Nickname now normalized
2021-12-02 20:49:10 +00:00
Eliseu Amaro
12557a1e16
[PLUGINS][Oomox] Reset theme colors added
2021-12-02 20:26:27 +00:00
Eliseu Amaro
863cfbdedc
[CONTROLLER] Old password input type set to password
...
[CONTROLLER] Notification form fields requirement set to false
2021-12-02 19:32:39 +00:00
Hugo Sales
f5ec099e9a
[COMPONENT][Tag][Search] Fix typo in event handler name mismatch
2021-12-02 19:17:37 +00:00
Hugo Sales
772ec6efcf
[UI] Set html img width and height attributes for avatar
2021-12-02 19:13:33 +00:00
Hugo Sales
92d5f3ec1e
[COMPONENTS][Avatar] Delete correct cache key on avatar update
2021-12-02 19:13:23 +00:00
Eliseu Amaro
d915b4b628
[CSS] Note language note view polish
2021-12-02 18:36:18 +00:00
Eliseu Amaro
f35dbbd8c1
[COMPONENTS][Search] Polished template
...
[COMPONENTS][Search] Fix event typo
2021-12-02 16:37:17 +00:00
Eliseu Amaro
5cd96669fd
[COMPONENTS] LeftPanel and RightPanel checkbox hack trick
...
The anchor used for the accessibility menu preceded the left/right panel sections, rendering the checkbox useless
2021-12-02 15:49:09 +00:00
Eliseu Amaro
9482bb2254
[CSS] Avatar max-height defined
2021-12-02 15:30:24 +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
Diogo Peralta Cordeiro
d044039272
[FreeNetwork] Initial multi-protocol support
2021-12-02 14:23:21 +00:00
Diogo Peralta Cordeiro
dbaee08038
[FreeNetwork] Move mentions logic from AP to FN and handle local webfinger mentions properly
2021-12-02 11:12:04 +00:00
Diogo Peralta Cordeiro
53c46127c1
[ActivityPub][Explorer] Store remote's url properly
2021-12-02 11:12:03 +00:00
Diogo Peralta Cordeiro
30f3e2c462
[FEEDS][Home] Fix bug nickname is not unique, but it is for local users
2021-12-02 11:12:03 +00:00
Eliseu Amaro
d64bd17422
[COMPONENTS][LeftPanel] Fix template filename
2021-12-01 22:19:00 +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
Eliseu Amaro
6bcd42a3a7
[TWIG][Base] Remove user has to be logged in condition when rendering right panel.
2021-12-01 21:15:31 +00:00
Eliseu Amaro
5d8bd6c74a
[TWIG][Note] Add single note view
2021-12-01 21:07:14 +00:00
Diogo Peralta Cordeiro
6f543ccc06
[ActivityPub][Model][Activity] Translate including objects
2021-12-01 20:53:51 +00:00
Eliseu Amaro
e7ee558f4a
[TWIG] Fix empty accessibility menu anchor, accesskey anchors placement
...
[CSS] Dark theme hover/focus border, settings page form visibility
2021-12-01 20:29:11 +00:00
Eliseu Amaro
030c966b74
[DOCKER][Accessibility] Add pa11y docker image for automated accessibility tests
...
TODO: Testing within local social container
2021-12-01 20:29:06 +00:00
Eliseu Amaro
dcbb3488c4
[PLUGINS][Reply] Fix onAppendCardNote return
2021-12-01 19:47:45 +00:00
Eliseu Amaro
fa7fa81e35
[ICONS][Edit] Add icon class twig block
...
[CSS] Move edit feed link aligment rules to base.css
2021-12-01 19:47:45 +00:00
Eliseu Amaro
4155926ebf
[CSS] Removing arbitrary unit values
2021-12-01 19:47:44 +00:00
Eliseu Amaro
db0909a1c7
[CSS] Fix color swatch styling, simplified rules
2021-12-01 19:47:44 +00:00
Hugo Sales
74bab8e7aa
[COMPONENTS][Left][CONTROLLER][EditFeeds] Add missing action and method to <form>
2021-12-01 19:47:44 +00:00
Hugo Sales
b7fe924bdd
[TOOLS][DOCS] Add missing doc blocks, as signaled by doc-checker
2021-12-01 19:47:44 +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
36613a826d
[CONTROLLER][PLUGIN][Reply] Move reply controller to it's plugin
2021-12-01 19:47:43 +00:00
Hugo Sales
73981030fa
[CONTROLLER][COMPONENT][Left] Move edit feeds controller to the Left component
2021-12-01 19:47:43 +00:00
Hugo Sales
475bb1a033
[UTIL][EXCEPTION][BugFoundException] Use only the relative path, for convenience and to avoid potentially leaking the sysadmin's user
2021-12-01 19:47:42 +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
Hugo Sales
a3e5f7646c
[CONTROLLER][UserPanel] Use only the ActorTags in the settings
2021-12-01 19:47:42 +00:00
Hugo Sales
3fbd2cd2b9
[PLUGIN][RelatedTags] Remove duplicate results
2021-12-01 19:47:41 +00:00
Hugo Sales
4f7e243bee
[CORE][DB] Don't do column renaming if a list of entities is specified
2021-12-01 19:47:41 +00:00
Hugo Sales
ed5f6b6eed
[COMPONENTS][Search][UI] Use base template and macros to display search results
2021-12-01 19:47:41 +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
Diogo Peralta Cordeiro
4ddd00a091
[NOTIFICATION] Add FreeNetwork distribution
2021-11-30 00:48:46 +00:00
Eliseu Amaro
84217ec866
[CSS] Fix multiple select box styling
2021-11-29 23:12:10 +00:00
Eliseu Amaro
f92c00c7aa
[CONTROLLER][Feeds] Add block prefixes to distinguish form groups
...
[TWIG] Divide form into various groupings for clearer representation
2021-11-29 23:12:09 +00:00
Eliseu Amaro
c8ba81897c
[PLUGINS][Reply] getReplyToNote performance improvement
...
[CSS] Replies padding fix
2021-11-29 23:12:09 +00:00
Eliseu Amaro
01078e20fb
[PLUGINS][Reply] Fix return on getReplyToNote
...
The array contained an object, the result was within that object and not the object itself.
2021-11-29 23:12:09 +00:00
Eliseu Amaro
db33800ade
[PLUGINS][Reply] Array key 'reply_to' checked if it exists.
...
Plugin\Reply\Entity\NoteReply::getReplyToNote lacked a check to make sure the 'reply_to' key existed within the array resulting from the query.
2021-11-29 23:12:09 +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
3227018963
[CORE][DB] Allow specifying the entites to be retrieved, as when using renaming, tables in join would attempt to be selected
2021-11-29 22:42:50 +00:00
Hugo Sales
5c3d561a67
[COMPONENTS][Tag] Refactor Tag and add self tag stream
2021-11-29 22:42:50 +00:00
Hugo Sales
6680772e47
[UI][I18N][UTIL][FormFields][Language][COMPONENTS][Posting][PLUGINS][Reply] Factor out translation from `FormFields::language` and remove help text in cases from Posting and Reply
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
66ff3c594d
[UTIL][Formatting] Fix wrong event name
2021-11-29 22:42:49 +00:00
Hugo Sales
8f5b404941
[CACHE] Switch to 'empty' rather than 'is_null' is Cache::getHashMapKey, as it may return null or false
2021-11-29 22:42:49 +00:00
Hugo Sales
f986f59424
[ENTITY][ActorTag] Add 'canonical' field to actor_tag
2021-11-29 22:42:49 +00:00
Eliseu Amaro
798a5f3796
[PLUGINS][Oomox] HTML's input[type='color'] doesn't support alpha values. Feature to apply custom shadow color removed as a result.
2021-11-29 22:42:48 +00:00
Eliseu Amaro
7df2783686
[CSS] Fixed edit feed icon styling.
2021-11-29 22:42:48 +00:00
Eliseu Amaro
6ec0b9f077
[CSS] User panel CSS fixes.
...
[PLUGINS][Oomox] Reformatted file.
2021-11-29 22:42:48 +00:00
Eliseu Amaro
04257c5fd9
[PLUGINS][Oomox] Resulting forms are now aware of user defined colours and fallback to defaults.
2021-11-29 22:42:48 +00:00
Eliseu Amaro
3da524af58
[PLUGINS][Oomox] WIP Settings for both the light and dark themes.
2021-11-29 22:42:47 +00:00
Diogo Peralta Cordeiro
56526c9ba6
[ActivityPub][Inbox] Restore Create Note Functionality
...
Minor bug fixes
2021-11-29 22:42:46 +00:00
Eliseu Amaro
7145dba8af
[PLUGINS][Oomox] getEntity added.
...
[CORE][Cache] exists added.
2021-11-27 15:14:17 +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
cdc8886bb8
[CORE][DB] Rename parameters 'orderBy' to 'order_by'
2021-11-26 23:34:37 +00:00
Hugo Sales
42f40f9ebe
[CORE][CONTROLLER][Network] Refactor term 'network' into 'feeds'
2021-11-26 23:34:37 +00:00
Diogo Peralta Cordeiro
0ab8febab3
[CORE][DB] Document magic methods
2021-11-26 15:11:51 +00:00
Eliseu Amaro
d46a6163a0
[PLUGINS][Oomox] Hotfix: cache wasn't set. Proper labels.
2021-11-26 15:01:30 +00:00
Eliseu Amaro
180ae15647
[PLUGINS][Oomox] User theme CSS file is served. Settings page needs polish, and option to revert changes.
2021-11-26 14:45:28 +00:00
Eliseu Amaro
7fa2418e54
[PLUGINS][Oomox] Theme colours WIP.
2021-11-26 14:45:28 +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
d7a71ebe33
[UI][ENTITY][Language] Extend base template for user panel language sorting
2021-11-26 12:28:03 +00:00
Hugo Sales
6919f38592
[UI][COMPONENT][Tag] Use base template and properly display notes in tag stream
2021-11-26 11:59:11 +00:00
Hugo Sales
c178054433
[COMPONENT][Tag] Add stream for multiple tags
2021-11-26 11:48:35 +00:00
Hugo Sales
edf1b30e89
[TOOLS][DOCS] Add missing doc blocks
2021-11-25 23:16:04 +00:00
Hugo Sales
b1262919da
[TOOLS] Fix (most) issues found by PHPStan
2021-11-25 23:08:30 +00:00
Hugo Sales
8fd02ef152
[TOOLS][COMPONENT][FreeNetwork][PLUGIN][ActivityPub] Temporarily exclude FreeNetwork and ActivityPub from PHPStan analysis, since it's a WIP
2021-11-25 20:37:53 +00:00
Hugo Sales
98b719dca3
[COMPONENTS][Tag] Split tag into words and stem each
2021-11-25 20:37:53 +00:00
Hugo Sales
4571b18c60
[DEPENDENCIES] Update dependencies
2021-11-25 20:37:53 +00:00
Hugo Sales
a64c488e21
[PLUGINS] Add StemWord plugin, which stems words, given a language. Currently used for tags
2021-11-25 20:37:53 +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
Hugo Sales
f837df5753
[CACHE] Add way of calculating hash map if key is not found
2021-11-25 20:37:53 +00:00
Hugo Sales
e64fd5aaf6
[TOOLS] Exclude src/PHPStan from test coverage
2021-11-25 20:37:53 +00:00
Hugo Sales
c1779dc12d
[UI] Don't display short language form in user panel language selection
2021-11-25 20:37:53 +00:00
Hugo Sales
0194b6b14c
[TESTS] Fix tests by adding missing is_local columns and by login in the admin user in the admin panel test
2021-11-25 20:37:52 +00:00
Hugo Sales
d9544c6edb
[CORE][SECURITY] Move to the new authentication format, for Symfony 5.3
2021-11-25 20:37:45 +00:00
Diogo Peralta Cordeiro
05758c999f
[ENTITY][Actor] fix typo in findRelativeActors query
2021-11-25 02:07:12 +00:00
Eliseu Amaro
d9c0a72e36
[CONFIG] Replaced form theme used since it was too opinionated.
2021-11-24 14:03:50 +00:00
Eliseu Amaro
477a5cb92d
[CSS] Fixed all buttons/select/input display rules from being overriden.
2021-11-24 12:46:32 +00:00
Eliseu Amaro
d8147cbd2d
[PLUGINS][AttachmentShowRelated] Fixed note template error. Fixed if statement.
...
[CORE][Controller] Commented CSP out.
2021-11-24 12:46:32 +00:00
Eliseu Amaro
8edaabbabf
[TWIG][Settings] WIP Refactoring of user panel. Now using macros to diminish repeated code.
...
[CONTROLLER][UserPanel] Replaced form names. More readable.
2021-11-24 12:46:31 +00:00
Hugo Sales
d5fc2cac8a
[TOOLS] Make Makefile rule database-force-nuke stop and restart the worker container
2021-11-24 12:46:31 +00:00
Hugo Sales
30f4131f5d
[TESTS] Add missing 'is_local' to actors in data fixtures
2021-11-24 12:46:31 +00:00
Hugo Sales
206856e1ba
[FORM][FormFields] Add way of specifying attributes for password fields (namely form autocomplete=new-password)
2021-11-24 12:46:31 +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
b4ce77320e
[TESTS] Fix remaining tests, back to 100% passed. Some minor semantic changes
2021-11-20 21:33:25 +00:00
Hugo Sales
c68d7ae406
[CONTROLLER][UserPanel] Make function names camelCase
2021-11-20 21:33:25 +00:00
Hugo Sales
7e4a971fac
[ENTITY][LocalUser][CACHE] Remove bad keys from getByNickname cache key
2021-11-20 21:33:25 +00:00
Hugo Sales
0e104a9701
[UTIL][HTML][TESTS] Fix test and implementation and expand HTML generation utilities
2021-11-20 21:33:25 +00:00
Hugo Sales
fe755f7c42
[UTIL][FormFields] Accomodate use of FormFields::repeated_password without a 'required' option
2021-11-20 21:33:23 +00:00
Hugo Sales
1dd86a2302
[TESTS] Many tests fixes (already fixed the dependant code)
2021-11-20 21:32:25 +00:00
Eliseu Amaro
d254147988
[CSS] Note attachments fixes, fancy note-complementary accents.
2021-11-17 17:28:46 +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
Eliseu Amaro
8077bdb0b5
[CORE][Controller] CSP default-src changed to 'self' to allow internal redirects.
2021-11-17 01:29:36 +00:00
Eliseu Amaro
1d31bd651e
[CORE][Controller] Added Content-Security-Policy response header.
2021-11-17 00:49:23 +00:00
Eliseu Amaro
e1b9ab4b9a
[TWIG] Added CSP in base template meta tag. This isn't optimal.
2021-11-16 23:48:12 +00:00
Diogo Peralta Cordeiro
f07dce4604
[UTIL][Form] Fix bug with repeated_password
2021-11-16 23:27:29 +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
Eliseu Amaro
f1a30ac0e6
[CSS] Added a top margin for buttons.
2021-11-16 19:40:07 +00:00
Eliseu Amaro
2561823550
[PLUGIN][Repeat] Fixed corner case where the user would return to repeat form page and try to repeat the note again.
2021-11-16 19:39:03 +00:00
Eliseu Amaro
acc43a276b
[PLUGIN][Reply] User's own replies wont display their own nickname on rendering the original note.
2021-11-16 19:36:17 +00:00
Hugo Sales
0dd4b62ded
[TOOLS][DOCKER] Add worker container and script, which handles the queues
2021-11-15 19:25:53 +00:00
Hugo Sales
5e4ada7b78
[DEPENDENCIES] Update symfony to 5.3, which fixes a bug with the doctrine postgres message worker
2021-11-15 19:25:53 +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
5cafc80d01
[UTIL][FormFields] Refactor duplicated language choice form entry logic
2021-11-15 19:25:52 +00:00
Hugo Sales
e6c0db9ee1
[CORE][Cache] Allow retrieving multiple keys from a hashmap
2021-11-15 19:25:52 +00:00
Hugo Sales
587d701d11
[CONTROLLER][Network] Temporarily remove replies from streams, following planned changes to the Reply plugin
2021-11-15 19:25:52 +00:00
Hugo Sales
e9cc760ca8
[COMPONENTS][Posting][Right] Fix TypeError (which somehow only popped up in tests) caused by assigning a FormView to an out array param
2021-11-15 19:25:52 +00:00
Eliseu Amaro
9dbbc9e18e
[PLUGIN][Repeat] Fixed bug where checks dependant on user being logged in were attempted.
2021-11-15 19:25:52 +00:00
Eliseu Amaro
6e90e51f0c
[PLUGIN][CONTROLLER][Repeat] Fixed Repeat controller to update note_repeat table on removal.
2021-11-15 19:25:52 +00:00
Eliseu Amaro
b71e869843
[PLUGIN][Repeat] onAppendCardNote added. getNoteRepeats implemented.
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
Eliseu Amaro
83fc31b485
[CSS] Polished light theme.
2021-11-15 19:25:51 +00:00
Eliseu Amaro
2d941cbb16
[CSS] Fixed Chromium from overriding the page stylesheet on fieldset element.
2021-11-15 19:25:51 +00:00
Eliseu Amaro
337fe272a3
[CSS] Re-arranged CSS rules, overall refactor to minimize duplications.
2021-11-15 19:25:51 +00:00
Eliseu Amaro
a23f7d5aa3
[CSS] Removed 'colors.css', colors are declared within their respective classes/ids instead.
2021-11-15 19:25:51 +00:00
Hugo Sales
d5e6fd603d
[CONTROLLER][UserPanel] Fix 'could not convert IntergetType to string' error
2021-11-15 19:25:51 +00:00
Hugo Sales
1abd28c949
[UI][TWIG][CONTROLLER][UserPanell] Add way to expand details with a GET parameter. Implement it in UserPanel
2021-11-15 19:25:51 +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
a3074662b8
[TESTS] Remove 'reply_to' in note creation in data fixtures
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
bf5ffe7d3d
[CACHE][TEST] Fix errors in cache implementation found by tests
2021-11-15 19:25:44 +00:00
Hugo Sales
98352cfece
[TESTS] Properly provide both createClient and bootKernel in test base class
2021-11-11 12:39:36 +00:00
Hugo Sales
2239845a00
[CONTROLLER][Security] Remove nickname normalization when trying to login
2021-11-11 12:39:36 +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
Hugo Sales
316723075b
[TESTS] Reload the initial table values after loading the data fixtures (as this purges the DB)
2021-11-11 12:39:36 +00:00
Hugo Sales
f39f800a8e
[TESTS] Add now-required content-type to notes created in data fixtures
2021-11-11 12:39:35 +00:00
Hugo Sales
f667b558f7
[TESTS] Fix SecurityTest
...
This test was broken by changes in the routing and in the templates.
However, this revealead a potential open redirect and duplicated code
in the Reply and Favourite plugins
2021-11-11 12:39:28 +00:00
Hugo Sales
dea9aa4dcf
[CORE][Router] Remove duplicate service for URL generation, as that is actually the same object
2021-11-11 12:38:09 +00:00
Hugo Sales
420ebcda26
[TESTS] Run tests without runuser as it's generating very weird permission errors. This is temporary (TM)
2021-11-11 12:38:09 +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
c3705112ba
[DEPENDENCIES] Update dependencies
2021-11-09 23:38:37 +00:00
Hugo Sales
98b1b7072c
[TOOLS] Fix running tests without filters
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
Hugo Sales
1d84f1629e
[CORE][DB] Make DB::sql not error when selecting from tables with columns of the same name and remove the second enitites paramter, calculating it internally instead
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
705bf815ab
[CACHE] Add partial implmentation for caching hashmaps (non-list arrays, i.e. array<string,string>). No non-redis-fallback yet
2021-11-08 16:08:03 +00:00
Hugo Sales
cd470cbf93
[CORE] Fix loading of settings from modules
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
2bd05fbd47
[TOOLS][COMMAND] Add 'app:populate_initial_values' command, which inserts values into the language table if it does not yet contain values. Add database-force-nuke to Makefile, which does all the steps necessary to reset the database
2021-11-08 16:08:02 +00:00
Hugo Sales
1960f6944f
[CORE][DB] Fix error in regex that prevented selecting collumns that are named the same way a column is
2021-11-02 11:14:59 +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
Diogo Peralta Cordeiro
d9265c5402
[TEMPLATES][Profile] Use URI instead of URL
2021-11-02 08:34:44 +00:00
Eliseu Amaro
c4088e221f
[CSS] Very important colour change.
2021-11-01 22:09:10 +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
Hugo Sales
73e772e576
[TOOLS] Allow specifying a list of filters when running tests with `make`. When running `make test foobar` only the test `foobar` is executed (read the documentation for `phpunit --filter`)
2021-11-01 12:16:50 +00:00
Diogo Peralta Cordeiro
c862c9bf18
[ActivityPub] Make remote mentions great again
2021-11-01 12:16:46 +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
Eliseu Amaro
ac8513741d
[CSS] New themes! No images used anymore.
2021-10-29 22:01:28 +01:00
Eliseu Amaro
eb5bc36390
[CSS] Fixed widgets from overflowing.
2021-10-29 18:14:39 +01:00
Eliseu Amaro
7fef18e95a
[COMPONENTS][Posting] LocaleType::class doesn't have a default attribute, replaced with 'preferred_choices' instead.
2021-10-29 17:46:25 +01:00
Eliseu Amaro
9a23e03330
[PLUGINS][Repeat] Repeat template override WIP.
2021-10-29 17:26:20 +01:00
Hugo Sales
0f358a9c5d
[CORE][Posting] Add language choice field to the note posting block
2021-10-28 17:37:00 +01:00
Hugo Sales
44454ac28a
[UTIL][TemporaryFile] Ensure `resource` is neither `false` nor `null` when attempting to cleanup, otherwise `getRealPath` returns `false` and we get sad
2021-10-28 17:36:02 +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
e6c5312025
[CORE][GSFile] Add `check_is_supported_mimetype` option to `GSFile::storeFileAsAttachment`
2021-10-28 17:29:57 +01:00
Hugo Sales
4d9a5aae5a
[ActivityPub] Always explicitly compare the results of `Event::handle` to the constants `next` or `stop`
2021-10-28 17:28:02 +01:00
Hugo Sales
86ac5c52a1
[TESTS] Add to the supported configuration list, the mimetypes of all `sample-upload` files
2021-10-28 17:26:57 +01:00
Hugo Sales
8238980395
[TOOLS] Allow specifying a list of filters when running tests with `make`. When running `make test foobar` only the test `foobar` is executed (read the documentation for `phpunit --filter`)
2021-10-28 17:24:43 +01:00
Hugo Sales
a55d60d880
[DEPENDENCIES] Update dependencies
2021-10-28 14:31:56 +01:00
Hugo Sales
c352e40518
[CORE][Controller] Allow plugins to override the Twig templates
2021-10-28 14:29:34 +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
3388e0e8f1
[TWIG][Cards] Note template fully refactored. Template has now macros for different views for the card.
...
[PLUGINS][Repeat] WIP: Action added.
[PLUGINS][Favourite] Changes to accomodate note card template refactoring.
[CSS] Fixed textarea from being resized horizontally.
2021-10-27 20:44:51 +01:00
Eliseu Amaro
d47f125894
[PLUGINS][Favourite] Refactored redirection to previous url. User is now unable to do invalid actions (ex. favour an already favourited note).
...
[PLUGINS][ActivityPub] Fixed favour route id to be more consistent.
2021-10-27 20:44:50 +01:00
Eliseu Amaro
e54e55dfbf
[EXCEPTION][RedirectException] You are now able to redirect to a specific url.
2021-10-27 20:44:50 +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
Diogo Peralta Cordeiro
51c984849f
[ActivityPub] Port Explorer
2021-10-27 04:22:19 +01:00
Diogo Peralta Cordeiro
5189269e5b
[FreeNetwork] Port Discovery
2021-10-27 04:22:18 +01:00
Diogo Peralta Cordeiro
3cdaf6671a
[CORE][HTTPClient] Add some shortcut functions inspired by pre-v3
2021-10-27 04:22:18 +01:00
Diogo Peralta Cordeiro
3227e1f919
[CORE][Log] Document magic methods
2021-10-27 04:22:18 +01:00
Eliseu Amaro
45f65baf96
[PLUGINS][Embed] Polished embed template in order to better utilize space.
...
[CSS][Feed] Embed related additions.
2021-10-27 04:19:34 +01:00
Diogo Peralta Cordeiro
0407ac38cf
[AudioEncoder] Introduce basic audio plugin to provide an attachment template and duration metadata for audio mimetype
2021-10-27 04:19:34 +01:00
Hugo Sales
364c14ef2c
[COMPONENT][Link] Fix mistake where only the first URL was matched and the match included the preceeding whitespace character
2021-10-27 04:19:34 +01:00
Eliseu Amaro
ebf675ec59
[Plugins][FAVOURITE] Redirect added. Only redirects from the route the user came from, not the anchored note. To be added. Further corner cases fixed.
2021-10-27 04:19:33 +01:00
Diogo Peralta Cordeiro
56ba7bd845
[ImageEncoder][VideoEncoder] Properly decide when to take action
2021-10-27 04:19:33 +01:00
Diogo Peralta Cordeiro
bccafd0d7b
[CORE][GSFile] Respect mimetype whitelist and extensions blacklist before saving files
2021-10-27 04:19:33 +01:00
Eliseu Amaro
b7d9da8ae6
[Posting] Add Content Length constraint to form validation
2021-10-27 04:19:33 +01:00
Eliseu Amaro
8038fdbce9
[UTIL][Common] Added Common::getUploadLimit().
...
[COMPONENT][Posting] Update Posting to warn the user of submtting attachments too large.
2021-10-27 04:19:32 +01:00
Eliseu Amaro
656c2c7812
[SECURITY][Authenticator] fix wrong route id on after login redirection
2021-10-27 04:19:32 +01:00
Eliseu Amaro
60b15ea79d
[Plugins][FAVOURITE] No longer a form, a link to a new page is provided instead. The amount of forms per page were blocking rendering for the majority of its duration.
2021-10-27 04:19:32 +01:00
Hugo Sales
a6d5752748
[TOOLS][PHPStan] Make a standalone phpstan executable, which executes inside the docker container
2021-10-27 04:19:31 +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
769b901060
[TOOLS] Add doc-check target to Makefile
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
Hugo Sales
8a10fec31d
[CONTROLLER][UserPanel] Make all fields in settings not required
2021-10-27 04:19:30 +01:00
Hugo Sales
2694d83ae4
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types
2021-10-27 04:19:30 +01:00
Diogo Peralta Cordeiro
028ea79fff
[CORE][Router] Properly act on Accept headers
2021-10-27 04:19:30 +01:00
Eliseu Amaro
99fd2f725b
[Core][Util] Hotfix: In App\Core\DB\DB persistWithSameId, casting the id to an int. In App\Util\HTML html, tag is now evaluated beforehand, making sure it's a string.
2021-10-27 04:19:30 +01:00
Eliseu Amaro
f78cfed41a
[TWIG][CSS] Template refactoring, classes and their respective CSS is now more consistent. CSS variables are back.
2021-10-27 04:19:29 +01:00
Diogo Peralta Cordeiro
8fdc52636f
[ActivityPub] Port RSA
2021-10-27 04:19:29 +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
44cf1fa24c
[UTIL][Nickname] Fix some parameters issues found with strict types
2021-10-27 04:19:29 +01:00
Hugo Sales
5eefea7a29
[TOOLS] Update Makefile to support both the new and old container naming conventions, as of docker-compose v2
2021-10-27 04:19:28 +01:00
Hugo Sales
b524c5bc90
[TOOLS][PHPStan] Add missing toString on the call to DB::filterName, as it seems something changed in some update
2021-10-27 04:19:28 +01:00
Hugo Sales
b65ee4c21d
[TOOLS][CS-FIXER] Fix incorrect transformation
2021-10-27 04:19:28 +01:00
Hugo Sales
9109c61af5
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types
2021-10-27 04:19:28 +01:00
Hugo Sales
8ef2d3339f
[COMPONENTS][Search] Slightly refactor parser, since the inline lambda was somewhat complex (and cs-fixer kept moving the comment, so doc-checker complained)
2021-10-27 04:19:27 +01:00
Hugo Sales
703e66fd2e
[TOOLS] Update PHP CS fixer and adjust configuration
2021-10-27 04:19:27 +01:00
Hugo Sales
7aad58b440
[DEPENDENCIES] Update composer dependencies
2021-10-27 04:19:27 +01:00
Hugo Sales
ce0cfa7a63
[COMPONENT][Search] Update Search to be able to search for either notes or actors
2021-10-27 04:19:27 +01:00
Hugo Sales
d575f8aef5
[UTIL][Formatting] Make it possible to supply string|array to either or both argument of Formatting::{starts,ends}With
2021-10-27 04:19:26 +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
071b769997
[CORE][Util][Common] Correct behaviour for absense of value
2021-10-18 13:22:45 +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
Eliseu Amaro
bd5c426046
[TWIG] Removing unnecessary CSS classes. Removing network/feed CSS preloading.
2021-10-06 00:45:37 +01:00
Eliseu Amaro
3cb6563c40
[TWIG][EndShowStyles] Route as an event argument
2021-10-06 00:34:27 +01:00
Eliseu Amaro
6412b632ab
[CSS] Note actions size further compatibility work.
2021-10-05 23:36:15 +01:00
Eliseu Amaro
e467cf5ec2
[CSS] Fixed: note actions size.
2021-10-05 23:29:46 +01:00
Eliseu Amaro
31857e1eab
[CSS] Fixed: User panel hr elements styling.
2021-10-05 23:00:16 +01:00
Eliseu Amaro
1d6b22551b
[CSS] Fixed: Body text colors weren´t applied.
2021-10-05 22:51:46 +01:00
Eliseu Amaro
d4513e3597
[CSS] Browser compatibility improvements.
2021-10-05 22:44:22 +01:00
Eliseu Amaro
78dd7137f8
[PLUGIN] ProfileColor color settings can be null.
2021-10-05 19:12:51 +01:00
Eliseu Amaro
a268aee53a
[CSS][PLUGIN] ProfileColor now handles both the background and foreground colors. Various button CSS fixes.
2021-10-05 19:04:30 +01:00
Eliseu Amaro
5373655170
[CSS] Firefox ESR doesnt know what a colour is.
2021-10-05 16:09:01 +01:00
Eliseu Amaro
2a2331d692
[CSS] Colours by classes. Refactored all CSS.
2021-10-05 16:03:17 +01:00
Eliseu Amaro
caa04525bd
[CSS] Fixed embed width.
2021-10-04 17:16:53 +01:00
Eliseu Amaro
1705b543d3
[PLUGIN] Delete note action added. If the author of a note is logged in, the action will be added to that note. Once the author presses it, the note will be deleted from the DB.
2021-10-04 17:11:44 +01:00
Eliseu Amaro
70d1521a2b
[CSS] Fix: article header was being selected has the page header.
2021-10-04 15:30:01 +01:00
Eliseu Amaro
17a13b3f20
[CSS] Fix: Left and right panel checkbox border when active.
2021-10-04 12:31:06 +01:00
Eliseu Amaro
0dfb41230e
[CSS] Fix: Instance name centered.
2021-10-04 12:20:31 +01:00
Eliseu Amaro
80d1be323d
[COMPONENTS][Search][CSS] Extra header forms now accessible through a details element. Re-organizing templates structure.
2021-10-04 12:17:14 +01:00
Eliseu Amaro
d38ad60c76
[COMPONENTS][CSS] Adding components styling properly.
2021-10-01 17:25:51 +01:00
Eliseu Amaro
441c411efe
[CSS] Complete re-organization of stylesheets.
2021-10-01 16:37:28 +01:00
Hugo Sales
19c2a91232
[TOOLS][PHPStan][ProfileColor][ENTITY][TEST][AttachmentThumbnail] Fix issues reported by phpstan
2021-09-27 19:50:56 +01:00
Hugo Sales
de984ac8e1
[COMPONENTS][Search][Tag] Implement basic search functionality that allows only searching through note tags, currently
2021-09-27 19:50:56 +01:00
Hugo Sales
1107d8257d
[TWIG] Add `instanceof` test
...
Use with:
{% if var is instanceof(Namespace\Class) %}
2021-09-27 19:50:56 +01:00
Hugo Sales
2d8b220e92
[CORE][Controller] Make Controller abstract, `handle` an optional non static method and use `static::class` rather than `get_called_class`
2021-09-27 19:50:56 +01:00
Eliseu Amaro
4fef97f930
[CSS] Profile text mix blend difference with background. Browser's cache
...
was playing tricks on me and wouldn't display the changes accordingly.
2021-09-27 19:40:34 +01:00
Eliseu Amaro
ab26162217
[CARDS][Profile] No longer ids, now classes (CSS). Profile info nickname for instance. The inversion filter now actually works.
2021-09-25 22:30:46 +01:00
Eliseu Amaro
f8c108bdf3
[CSS] Profile text color doesn't blend in anymore.
2021-09-25 21:42:23 +01:00
Eliseu Amaro
fdd43f4b11
[CSS] More consistent padding across input elements.
2021-09-25 21:12:07 +01:00
Eliseu Amaro
5249ccfc68
[Posting][CSS] Right panel form render simplified.
2021-09-25 21:02:11 +01:00
Eliseu Amaro
3001f91918
[CSS] Very slight shadow on key elements.
2021-09-25 20:36:07 +01:00
Eliseu Amaro
ff26831d1e
[CSS] Note action icons back to a sane size.
2021-09-25 19:59:06 +01:00
Eliseu Amaro
20ae2dba5d
[CSS] Reverting desktop side margins. All margins, sizes, radius, etc were redone.
2021-09-25 19:40:18 +01:00
Eliseu Amaro
4a17adc182
[PLUGINS][ProfileColor] Actors are now shown with their own colors for other.
2021-09-25 19:40:17 +01:00
Eliseu Amaro
7b8eb3fda9
[PLUGINS][ProfileColor] Current color is now selected by default. Not found exception is now handled.
2021-09-25 19:40:17 +01:00
Diogo Peralta Cordeiro
a681acae67
[ENTITY][AttachmentThumbnail] Every image should have width and height attributes
2021-09-25 19:40:11 +01:00
Eliseu Amaro
808da203ad
[PLUGINS][ProfileColor] Settings page render problem fixed. ColorType given data wasn't a string.
2021-09-25 12:51:25 +01:00
Eliseu Amaro
57b94af9f6
[PLUGINS][ProfileColor] Re-organized plugins templates and assets. ProfileColor plugin fixed.
2021-09-25 11:17:56 +01:00
Eliseu Amaro
765cf66ff2
[CSS] Simplified window resize media queries. Desktop view's left and right margins were wrong. Some embedded links with empty blocks had padding on them again, fixed.
2021-09-25 09:02:13 +01:00
Eliseu Amaro
321d5b4be8
[CSS] Embedded width didn't conform to note's own properly.
2021-09-23 17:22:44 +01:00
Eliseu Amaro
fe77dc0996
[CSS] Resetting headers browser styling. Fixing embedded links styling inconsistencies.
2021-09-23 17:15:11 +01:00
Diogo Peralta Cordeiro
3268559f9a
[AttachmentThumbnail] Use other thumbnail when requested isn't available and there's no original file
2021-09-23 16:19:50 +01:00
Eliseu Amaro
b6d80003d8
[CSS] Note attachments layout fix. Added a very small radius to avatars.
2021-09-23 16:18:23 +01:00
Diogo Peralta Cordeiro
3ef1077f90
[DOCKER] TODOify mail server certificate
2021-09-23 15:47:51 +01:00
Eliseu Amaro
be8610a7a1
[CSS] Note attachments uses a grid layout now.
2021-09-23 15:39:14 +01:00
Hugo Sales
af3531f1c7
[CORE][GSFile] Add type annotation to the `$encoders` used in attachment handling
2021-09-23 14:54:21 +01:00
Hugo Sales
bb81f1f717
[Embed] Use new attachment route format
2021-09-23 14:54:21 +01:00
Hugo Sales
6a2c3eb711
[ImageEncoder] Ensure proper memory limits are used when loading images from disk
2021-09-23 14:54:21 +01:00
Eliseu Amaro
1c1bef76ef
[Cards][Navigation] Navigation cards! Left panel now composed entirely of cards.
2021-09-23 14:46:18 +01:00
Hugo Sales
21e598d877
[ENTITY][Actor] Fix issue with deleting a self tag
2021-09-23 14:34:34 +01:00
Diogo Peralta Cordeiro
4820a863a9
[Avatar] Fix cache usage and other minor bugs
2021-09-23 14:34:34 +01:00
Eliseu Amaro
64c881173b
[Cards][Profile] Fixing nested anchor tags.
2021-09-23 13:53:02 +01:00
Eliseu Amaro
a439b7130e
[Cards][Profile] Re-organizing elements.
2021-09-22 17:20:06 +01:00
Eliseu Amaro
a557ba0224
[Timelines][Plugins][Left] Plugins now provide their path ID. Feed redone as it's own independant template.
2021-09-22 16:47:06 +01:00
Diogo Peralta Cordeiro
05f16a3084
[ENTITY][AttachmentThumbnail] Now thumbnails are always only available in three sizes: small, medium, big
...
Commit jointly produced with eli (Eliseu Amaro)
Breaking change: Entity changed to only store the tinyint referring to the size stored
With this, the logic was simplified and now it's not possible to make an
instance produce unnecessary thumbs. The aspect ratio is preserved and
thus the thumbs will always look nice. New configuration was added to
maintain flexibility.
2021-09-22 15:13:46 +01:00
Diogo Peralta Cordeiro
7beb5c2995
[GSFile] Fix sanitize configuration
2021-09-22 15:13:46 +01:00
Diogo Peralta Cordeiro
c1e7d486a3
[Posting] Fix bug with early DB::flush that would discard attachments relations
2021-09-22 15:13:44 +01:00
Eliseu Amaro
3f618c2674
[TWIG][Cards][Profile] Card templates! Profile now has a card template to be used everywhere you need to show quick actor information.
2021-09-22 14:11:59 +01:00
Hugo Sales
c6082bab10
[COMPONENT][Tag] Update tag stream to use new pagedStream format
2021-09-21 16:39:36 +01:00
Hugo Sales
69e7dc44bd
[ENTITY][Note] Change `isVisibleTo` to allow for not supplying an actor
2021-09-21 16:38:50 +01:00
Hugo Sales
879f54c772
[CACHE] Filter notes by scope in `pagedStream`
...
This currently does not return a fixed number of notes per page. Fixing this is left as an exercise to the reader
2021-09-21 16:37:51 +01:00
Hugo Sales
14c173df7a
[CACHE][COMPONENT][Tag] Add generic Cache::pagedStream and use it for the tag stream. Note that it doesn't respect scope yet
2021-09-21 15:35:07 +01:00
Hugo Sales
6cd86cac25
[COMPONENT][Tag] Add tag stream, with paging
2021-09-21 11:04:27 +01:00
Hugo Sales
2f3f7b8469
[COMPONENTS][Posting][Link][Tag] Pass the note, not just the id in ProcessNoteContent
2021-09-21 11:04:27 +01:00
Hugo Sales
7926f18f93
[CONFIG] Add streams:notes_per_page config value
2021-09-21 11:04:27 +01:00
Hugo Sales
6715a036e9
[CACHE] Add way to fetch limit,offset values from a list
2021-09-21 11:04:26 +01:00
Hugo Sales
15a87055a6
[DOCKER][Redis] Add way to override Redis config. Default to only one database
2021-09-21 11:04:26 +01:00
Hugo Sales
ce80065775
[DB] Add mechanism for specifying limit and offset in dql query
2021-09-21 11:04:26 +01:00
Hugo Sales
91fd7d1cfa
[CONFIG][CORE] Fix bug in overriding default config
2021-09-21 11:04:14 +01:00
Diogo Peralta Cordeiro
8bb6285522
[ENTITY][Note] A note may have no content
2021-09-20 17:06:21 +01:00
Diogo Peralta Cordeiro
b7298eaa44
[ENTITY] ActorTag: use getter for tag name on toString
2021-09-20 17:05:50 +01:00
Diogo Peralta Cordeiro
9e4c43e8fd
[ActivityStreamsTwo] Further work on routes and use render event on note's content
2021-09-20 17:05:04 +01:00
Diogo Peralta Cordeiro
7813723ca1
[ActivityPub] Inbox must work without actor, specify source for AS2
2021-09-20 17:03:23 +01:00
Diogo Peralta Cordeiro
958cbffb91
[Posting] Add text/html content type, must actually treat it
2021-09-20 17:02:35 +01:00
Diogo Peralta Cordeiro
85969a8cff
[Avatar] Add default avatar route and improve url getter
2021-09-20 17:01:36 +01:00
Eliseu Amaro
0ef151edac
[CSS] Now properly following Van de Graaf / Tschichold Page Construction Canon.
2021-09-20 16:06:57 +01:00
Eliseu Amaro
543853c374
[PLUGINS][Actor][Profile] Current user profile in line with other users. Directory plugin actor template standardized.
2021-09-20 14:39:11 +01:00
Hugo Sales
8fe8687c5b
[UTIL][HTML] Move to a unified array
2021-09-20 13:28:18 +01:00
Hugo Sales
e8f4563633
[UTIL][Formatting][COMPONENT][Link][Tag] Refactor code from formatting into Link and Tag, where appropriate. Drop 'perfect url regex' as the one used in v2 is better
2021-09-20 13:28:18 +01:00
Hugo Sales
556b8f8265
[ENTITY][NoteTag] Add 'canonical' field to tag
2021-09-20 13:27:27 +01:00
Hugo Sales
04174bc56d
[UTIL][UI] Change how plaintext notes are rendered to be split into paragraphs. Remove span around tags
2021-09-20 13:27:27 +01:00
Hugo Sales
51c7e10483
[UTIL][HTML] Allow specifying `options: [raw => bool]`, whether to escape the provided inner HTML or not. Use with care
2021-09-20 13:27:21 +01:00
Eliseu Amaro
baeb1dde7a
[Posting][CSS] Fix for qtwebengine and gecko not displaying background color on input elements.
...
Minor bug fixes.
2021-09-20 12:49:05 +01:00
Diogo Peralta Cordeiro
67d62cf37b
[TWIG] Remove kludge event TwigPopulateVars
2021-09-18 07:27:35 +01:00
Diogo Peralta Cordeiro
fda998e335
[Avatar] We definitely don't need an event to retrieve avatar urls
2021-09-18 07:26:10 +01:00
Diogo Peralta Cordeiro
2bd19fa087
[NOTE][Posting] Revert regressions introduced with c90efe2c52
...
Entity Note: It doesn't make sense to handle attachments on Note::create.
Attachments exist out of Notes, they are a thing on their own.
Furthermore, they aren't always handled the same, they most definitely
aren't always uploaded files.
FileQuota: It doesn't make sense to check if a file is greater than max
allowed upload size here. The plugin ensures a user is inside his
allowed quota, it's ignorant to anything else. Whether a file respect
max upload is a core thing that must be handled directly in the Posting
component. TODO: The configuration regarding user and monthly quota
must become FileQuotaPlugin settings and be removed from core.
c90efe2c52 - [UI] Add mechanism for rendering note contents in different formats. Implement plaintext rendering. Use rendered field for note content, rather than the content itself
2021-09-18 05:12:18 +01:00
Diogo Peralta Cordeiro
941cbe6599
[Actor] Refactor GSActor into Actor
2021-09-18 05:12:17 +01:00
Eliseu Amaro
6c899b7b61
[Plugins][Components] Fixed issue where right panel form was rendered multiple times in actors plugin page. Actors page done.
2021-09-18 05:12:16 +01:00
Eliseu Amaro
e4b650be46
[PLUGINS][Settings] Removed unused templates. Directory plugin templates now using actual templates. Notification settings using details element now.
2021-09-18 05:12:16 +01:00
Diogo Peralta Cordeiro
d6f31d102a
[CORE][ActivityStreamsTwo][ActivityPub] Set all routes
...
Allow global routes to act for every actor
Fix Favoured stream query
2021-09-18 05:12:15 +01:00
Eliseu Amaro
738168461c
[CSS] Note avatar hotfix.
2021-09-18 05:12:14 +01:00
Eliseu Amaro
447372d7f6
[CSS] Note actions re-alignment to previous position. Simplified visuals.
2021-09-18 05:12:13 +01:00
Eliseu Amaro
f4ac49e7c7
[CSS] Note avatar now bigger. Note actions and avatar now on the side of note.
2021-09-18 05:12:13 +01:00
Eliseu Amaro
2de071ca7e
[CSS] Note attachments rules simplified. Proper resizing on smaller views.
2021-09-18 05:12:12 +01:00
Eliseu Amaro
a4a7039786
[CSS] Less redraws on details element hover feedback.
2021-09-18 05:12:11 +01:00
Eliseu Amaro
380eec5eb0
[CSS] Fixed inconsistent side panels font size. Note's view improvements.
2021-09-18 05:12:11 +01:00
Eliseu Amaro
b8e66aa9bf
[CSS] Scrollable panels. Attachments width is retained on view now.
2021-09-18 05:12:10 +01:00
Eliseu Amaro
42f9a6a79c
[CSS][Attachments] Attachments page view done. Standardized left and right panels sections. Applying styling through key classes to be defined in docs.
2021-09-18 05:12:10 +01:00
Hugo Sales
eda3a5ffb6
[DOCUMENTATION][DB] Fix database examples and documentation
2021-09-18 05:12:09 +01:00
Hugo Sales
ee7721da96
[DOCUMENTATION] Add documentation on developer tools
2021-09-18 05:12:09 +01:00
Hugo Sales
b177cb69e7
[HTML][SECURITY] Harden implmentation of HTML generation
2021-09-18 05:12:08 +01:00
Eliseu Amaro
030f8afdf5
[ASSETS][FONTS] Poppins and Opens Sans are now used. Better legibility for smaller sizes.
2021-09-18 05:12:07 +01:00
Hugo Sales
c0c7eb32dc
[DEPENDENCIES] Update composer dependencies
2021-09-18 05:12:07 +01:00
Hugo Sales
8f0a3e4977
[UI] Add mechanism for rendering note contents in different formats. Implement plaintext rendering. Use rendered field for note content, rather than the content itself
2021-09-18 05:12:06 +01:00
Hugo Sales
f344ed376c
[ATTACHMENTS][Embed][UI] Allow plugins to provide a title for an attachment, if a note has none, implement such a mechanism in Embed and cache the result, since it is potentially costly
2021-09-18 05:12:06 +01:00
Hugo Sales
15a2a69274
[ROUTER] Add option `is_system_path`, to allow specifying that a route, such as `gsactor_view_nickname` should not be considered a system path, when checking for the collision of nicknames
2021-09-18 05:12:05 +01:00
Hugo Sales
e563c393f8
[ROUTER] Add mechanism for sorting the order in which core routes are loaded
2021-09-18 05:12:05 +01:00
Hugo Sales
b26f3bca14
[BOOTSTRAP] Remove duplicate constant definition
2021-09-18 05:12:04 +01:00
Eliseu Amaro
e9d809d441
[Security][Exception] Security exception handling, login and register. TODO EmailNotFoundException and NicknameNotFoundException.
2021-09-15 14:48:06 +01:00
Eliseu Amaro
26af284353
[CONTROLLER][SECURITY] Registration feedback. The flashError works. However, Symfony's Exception error page is viewed upon trying to register.
2021-09-15 14:48:06 +01:00
Eliseu Amaro
efafc9f7eb
[TWIG][NOTE] Note's author avatar size defined.
2021-09-15 14:48:06 +01:00
Eliseu Amaro
2cbdd43660
[TWIG][BASE] Using preload for main stylesheets. This ensures they are available earlier and are less likely to block the page's render, improving performance.
2021-09-15 14:48:06 +01:00
Eliseu Amaro
0f1bce67a1
[CSS][FONTS] Added a lighter font, mobile optimizations were needed. All icons are more consistent in size. Forms are more consistent in margins, paddings and grouping.
2021-09-15 14:48:06 +01:00
Diogo Peralta Cordeiro
365edbaff0
[ActivityStreamsTwo] Initial Actor support
...
Various bug fixes
2021-09-15 10:26:53 +01:00
Hugo Sales
1f3a6fe6ac
[TESTS] Fix and/or temporarily disable failing tests. We'll get back to this
2021-09-14 13:36:30 +01:00
Hugo Sales
bebf4fdbce
[I18n][Posting] Move ':' to inside the translate call
2021-09-14 13:13:45 +01:00
Hugo Sales
1adde913c6
[PHPStan] Only run custom PHPStan extensions if environment vairable PHPSTAN_BOOT_KERNEL is defined (since it requires having the whole social setup available)
2021-09-14 13:13:45 +01:00
Eliseu Amaro
a21b0afb70
[ASSETS] Removed unused fonts. Variable fonts now used.
2021-09-14 13:13:45 +01:00
Diogo Peralta Cordeiro
7c465bba5f
[NOTE] Add mimetype to notes
2021-09-14 13:13:45 +01:00
Hugo Sales
c69b28d894
[CORE] Fix `Undefined array key 0` in `DB::filterTableName`
2021-09-14 13:13:45 +01:00
Eliseu Amaro
404442ebda
[BASE] Importing fonts through CSS instead, minimizing content blocking. Removed legibility optimizations in font rendering. Removed unused font rules.
2021-09-14 13:13:45 +01:00
Eliseu Amaro
8887efe305
[THEME][DARK] Background image is 73% smaller, added noise to diminish the banding in Firefox.
2021-09-14 13:13:45 +01:00
Hugo Sales
b74d944ae3
[TOOLS][PHPStan] Raise PHPStan level to 3 and fix new errors
2021-09-14 13:13:45 +01:00
Hugo Sales
9d7f43cd28
[TOOLS][PHPStan][TESTS][Docker] Rework testing Docker container into a more generic tooling container. Keep services up and run coverage and phpstan as commands, for performance and ease of use
2021-09-14 13:13:44 +01:00
Hugo Sales
9742a07bae
[TOOLS][git] Add option to skip pre-commit steps by defining one of `SKIP_ALL`, `SKIP_CS_FIX`, `SKIP_DOC_CHECK`, `SKIP_PHPSTAN` variables before the `git commit` command
...
Example:
`SKIP_PHPSTAN=1 git commit`
2021-09-14 13:13:44 +01:00
Hugo Sales
f81bf4a257
[TOOLS][PHPStan] Add mechanism for initializing the whole application
2021-09-14 13:13:44 +01:00
Hugo Sales
ddb9702b1c
[TOOLS][PHPStan] Add support for deducing the correct entity type from a table name. Needs refactoring and can only run inside container, as it connects to the database itself
2021-09-14 13:13:44 +01:00
Hugo Sales
4e30e5aad9
[TOOLS] Fix all issues found by PHPStan level 2
2021-09-14 13:13:44 +01:00
Diogo Peralta Cordeiro
4b1780a2ee
[ActivityStreamsTwo] Introduce a structure for data representation in ActivityStreams 2.0
...
Type factory borrowed from landrok/activitypub
2021-09-14 13:13:44 +01:00
Eliseu Amaro
043c5da58b
[THEME][BASE] New and better light theme.
2021-09-14 13:13:44 +01:00
Eliseu Amaro
26aec5f626
[BASE][NOTE][CSS] Further screen reader cues for note replies.
2021-09-14 13:13:44 +01:00
Eliseu Amaro
9e051273f7
[BASE][NOTE][CSS] Notes are now clearly delimited to visually impaired users. Screen readers will notify when a note begins as well as each reply. Focused elements now provide the same feedback everywhere.
2021-09-14 13:13:43 +01:00
Eliseu Amaro
60af533fa4
[BASE][CSS] Accessibility menu fix when logged out. Proper selector for accesskey used now, ".accessibility-target".
2021-09-14 13:13:43 +01:00
Eliseu Amaro
c4b328c03b
[LEFT][CSS] Fix scrolling when tabbing, navigating through notes is more obvious now. Timeline navigation fix for screen readers to know that the navigation title matters.
2021-09-14 13:13:43 +01:00
Eliseu Amaro
3abf71b707
[CSS] There's no need to tab again after selecting accessibility menu!
2021-09-14 13:13:43 +01:00
Diogo Peralta Cordeiro
8123086881
[Embed] Fix normalizeEmbedLibMetadata for thumbnails starting with '/'
2021-09-14 13:13:43 +01:00
Eliseu Amaro
3c1a9ba3fa
[CSS] Fixed tabbing through accessibility menu. Was invisible when going throught it without a previous target.
2021-09-14 13:13:43 +01:00
Eliseu Amaro
b0b3ae237a
[TWIG][BASE] Fixed taborder, Orca will continue to read the whole header though. Navigation should be more clear for each timeline.
2021-09-14 13:13:43 +01:00
Eliseu Amaro
61071a6821
[PLUGINS][Reply][Repeat][Favourite] Base template semantic rework. Reply, repeat and favourite respective classes are now assigned in their NoteHandlerPlugin.
2021-09-14 13:13:43 +01:00
Diogo Peralta Cordeiro
ddd2ffe26a
[TWIG] Add extension to check if Firefox is being used
2021-09-14 13:13:43 +01:00
Eliseu Amaro
0e50f0692e
[ACCESSIBILITY][BASE] Accessibility menu was unreachable.
2021-09-14 13:13:42 +01:00
Eliseu Amaro
1614b8c8fe
[ACCESSIBILITY][BASE] Workaround Firefox amazing keybindings.
2021-09-14 13:13:42 +01:00
Eliseu Amaro
681144b380
[PLUGINS][Favourite][CSS] Favourite label now shows whether it's favourited or not already.
2021-09-14 13:13:42 +01:00
Hugo Sales
0cecc67376
[COMPONENT][Posting][Link] Create `ProcessNoteContent` event. Move link extraction to Link component. Cleanup Posting
2021-09-14 13:13:42 +01:00
Hugo Sales
add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1
2021-09-14 13:13:42 +01:00
Hugo Sales
0da6ff05ed
[TOOLS] Add config file and raise PHPStan to level 1
2021-09-14 13:13:42 +01:00
Hugo Sales
277a080d7c
[EXCEPTION] Add `NotImplementedException`
2021-09-14 13:13:42 +01:00
Hugo Sales
eb833b62e2
[TOOLS] Fix all level 0 errors found by PHPStan and move constant definition to bootstrap file
2021-09-14 13:13:42 +01:00
Hugo Sales
0eb0236feb
[TOOLS] Run PHPStan on the whole codebase on each commit
2021-09-14 13:13:42 +01:00
Hugo Sales
ecb1064d08
[DEPENDENCIES] Add PHPStan as a dev dependency
2021-09-14 13:13:42 +01:00
Hugo Sales
6ac37bc7fb
[DEPENDENCIES] Update dependencies
2021-09-14 13:13:41 +01:00
Hugo Sales
f65e2b90f2
[CORE] Fix use of `Exception` class without import
2021-09-14 13:13:41 +01:00
Hugo Sales
cbbef90752
[UTIL][CONFIG] Ensure `setConfig` uses a `locals` key
2021-09-14 13:13:41 +01:00
Hugo Sales
4916c8cbda
[CONTROLLER][AdminPanel] Add missing Exception import
2021-09-14 13:13:41 +01:00
Hugo Sales
bfd0acacd1
[TESTS] Fix SecurityTest breakage following UI changes
2021-09-14 13:13:41 +01:00
Hugo Sales
e8ae0b74e0
[CORE][Controller] Switch order for content negotiation: allow events to take precedence. Bring back default JSON response
2021-09-14 13:13:41 +01:00
Hugo Sales
bc5ddc52ea
[UI] Remove stray template file `foo.html.twig`
2021-09-14 13:13:41 +01:00
Eliseu Amaro
c612fe6df5
[PLUGINS][Reply][CSS] Help text added. Styling reply page done.
2021-09-14 13:13:41 +01:00
Eliseu Amaro
9f6acc04aa
[CSS] Light theme panels background image fix. Input elements with proper padding.
2021-09-14 13:13:41 +01:00
Eliseu Amaro
7a0e256557
[CSS] Light theme!
2021-09-14 13:13:40 +01:00
Eliseu Amaro
727133b6ed
[IMAGES][CSS] Dropdown image added for use in select boxes background. Fixed select box background color from being the one used by the system, dark theme inconsistencies found.
2021-09-14 13:13:40 +01:00
Eliseu Amaro
e6449bfe96
[CONFIG][TWIG] Selected a new default form theme. Forms shouldn't have class-less divs now.
2021-09-14 13:13:40 +01:00
Eliseu Amaro
1f792a0183
[CSS] Links should be aligned with content now. Underlined in main content by default. Highlighted when focused.
2021-09-14 13:13:40 +01:00
Hugo Sales
bdde047dfa
[PLUGINS][Embed] Embed references a table that does not exist. It seems to mean `attachment_embed`, rather than `link_to_attachment`
2021-09-14 13:13:40 +01:00
Hugo Sales
cd89106fc0
[EXCEPTION][RedirectException] Add prevention for open redirects by default and ensure we can redirect to the same page
2021-09-14 13:13:40 +01:00
Hugo Sales
16cde6dfd7
[PLUGINS][Reply] Redirect back to previous URL on note reply. Move controller to own class
...
This should be safe against open redirects, as it doesn't allow redirecting to other domains
2021-09-14 13:13:40 +01:00
Hugo Sales
0a7fd9c460
[CORE][MODULES][NoteHandlerPlugin] Add missing import for `Event`
2021-09-14 13:13:40 +01:00
Hugo Sales
1d5fd1aefa
[CORE][Controller] Fix `Controller::__invoke` so it actually passes on the route parameters to the controller method. Add `Controller->string`, which gets a query parameter as a string value, or null if not set
2021-09-14 13:13:40 +01:00
Hugo Sales
330143e549
[ROUTER][DOCUMENTATION] Add `Router::isAbsolute`, add documentation to `Router::url` and `s/setRouter/serServices/
2021-09-14 13:13:39 +01:00
Hugo Sales
61d95265a9
[PLUGINS][Repeat] Delete note repeat rather than the original Note. Don't fetch when we want a simple count
2021-09-14 13:13:39 +01:00
Hugo Sales
be27a10244
[EVENTS] Rename event `RouteInFormat` to `ControllerResponseInFormat`
2021-09-14 13:13:39 +01:00
Eliseu Amaro
f371443884
[CSS] Note's view now properly handles replies.
2021-09-14 13:13:39 +01:00
Eliseu Amaro
6fdec483cd
[Reply] RedirectionException wasn't allowing other handlers to do their job.
2021-09-14 13:13:39 +01:00
Eliseu Amaro
85db9464ca
[Reply] Fixed reply plugin action, there was no need to query the database when handling.
2021-09-14 13:13:39 +01:00
Eliseu Amaro
f000532b7e
[Favourite][Reply][Repeat] The respective svg for note actions is assigned. Repeat note handler needs work. "An exception has been thrown during the rendering of a template ("No value in table note matches the requested criteria")." exception thrown on repeat.
2021-09-14 13:13:39 +01:00
Eliseu Amaro
f9f4f179bb
[Security][Right] login
...
and register padding fix. Select boxes styling done.
2021-09-14 13:13:39 +01:00
Hugo Sales
983e0303a5
[ROUTER] Sort routes so that the one with a smaller list of Accept types matches first
...
This requires a copy, but gets cached, so it's the ideal place to do it.
Note that only routes that match the incoming Accept match anyway, so the order between those with different accept types is not relevant
2021-09-14 13:13:39 +01:00
Hugo Sales
45734d882c
[CONFIG] Make it possible to write module configuration in a config.{php,yml,yaml,xml} file and set each value as properties in the module object
2021-09-14 13:13:38 +01:00
Eliseu Amaro
6ef07e04d1
[Posting][CSS] Right panel form uses a select box instead of radio buttons. Hover and focus of <a> elements using just an underline. Note author and actions padding redone. File-picker font is now correct. Left panel hierarchy should now be more clear.
2021-09-14 13:13:38 +01:00
Eliseu Amaro
7dc390ca1c
[TWIG][CSS] Shortcuts now work in small screen sizes. Header icons further polish. Profile navigation structural rework.
2021-09-14 13:13:38 +01:00
Eliseu Amaro
ca2eff2906
[CSS] Visual feedback from shortcuts polished.
2021-09-14 13:13:38 +01:00
Eliseu Amaro
414b33f97b
[TWIG][CSS] Shortcut menu done. Can access various panel with proper visual feedback.
2021-09-14 13:13:38 +01:00
Eliseu Amaro
e73af2b887
[TWIG][CSS] Left and Right panels now using a checkbox trick to control their visibility. Details element couldn't be properly controlled by CSS without breaking accessibility.
2021-09-14 13:13:38 +01:00
Eliseu Amaro
6e6b2ea87b
[CSS][Icons] Icons width and height wasn't consistent, problem lied within the SVGs themselves.
2021-09-14 13:13:38 +01:00
Eliseu Amaro
b8bb845e24
[TWIG][CSS][Accessibility] Note view accessibility improvements. Left and right panels icon rework (width and height weren't correct, position needs further work).
2021-09-14 13:13:38 +01:00
Eliseu Amaro
d2760f1250
[TWIG][CSS][Accessibility] Base template accessibility improvements. Applying more semantic HTML5 tags and aria to describe content actions.
2021-09-14 13:13:38 +01:00
Eliseu Amaro
671e2d6a9d
[CSS] Fixed Favourite button background size and colour. Fixed right panel incorrect font size.
2021-09-14 13:13:37 +01:00
Diogo Peralta Cordeiro
8880af8197
[ActivityStreamsTwo] Introduce a structure for data representation in ActivityStreams 2.0
...
Type factory borrowed from landrok/activitypub
2021-09-14 13:13:37 +01:00
Diogo Peralta Cordeiro
e4aa3ae968
[NOTE] Add route and controller
2021-09-14 13:13:37 +01:00
Diogo Peralta Cordeiro
fd3b57dc24
[CORE][Controller] Make it possible for plugins to add different content-types to existing routes
2021-09-14 13:13:37 +01:00
Diogo Peralta Cordeiro
8e45637277
[DOCS][User] Elaborate on what is GNU social and IndieWeb
2021-09-14 13:13:37 +01:00
Hugo Sales
626f50080b
[MODULES] Use snake_case for module config keys
2021-09-14 13:13:37 +01:00
Hugo Sales
033c4db914
[MODULES] Add function to defer module initialization and cleanup to plugin and component. Add example in Avatar component
...
Forward onInitializeModule to onInitializePlugin if the component is a plugin
2021-09-14 13:13:37 +01:00
Hugo Sales
bda839be7b
[MODULES] Add InitiializeModule and CleanupModule events, similar to v2
2021-09-14 13:13:37 +01:00
Diogo Peralta Cordeiro
1ee8df1494
[DOCS][Developer] Elaborate on implementing and configuring a module
2021-09-14 13:13:37 +01:00
Hugo Sales
141f919ca7
[CONFIG][TESTS] Fix error found by AdminPanel test
2021-09-14 13:13:36 +01:00
Hugo Sales
4d3da08b1e
[CONFIG] Add example module configuration
2021-09-14 13:13:36 +01:00
Hugo Sales
c71a4b06ef
[CONFIG] Make it possible to write module configuration in a config.{php,yml,yaml,xml} file and set each value as properties in the module object
2021-09-14 13:13:36 +01:00
Hugo Sales
3587b8dc1d
[CONFIG] Refactor configuration loading
2021-09-14 13:13:36 +01:00
Hugo Sales
c94ef26617
[TESTS] Fix namespace on Controller Security test
2021-09-14 13:13:36 +01:00
Hugo Sales
56e5d5c4a0
[TESTS] Fix broken tests and expand tests around Attachments
2021-09-14 13:13:36 +01:00
Hugo Sales
f1bd4db495
[TESTS] Fix Common test
2021-09-14 13:13:36 +01:00
Hugo Sales
2fdd0b0820
[TESTS][DataFixtures] Use Temporary file instead of an ad-hoc solution to copy the upload files
2021-09-14 13:13:36 +01:00
Diogo Peralta Cordeiro
9739cc5f21
[Posting] Respect process_links setting
2021-09-14 13:13:36 +01:00
Diogo Peralta Cordeiro
ab142ab52d
[FileQuota] Update plugin to respect the new entities
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
2b457655ea
[CORE] Fix path configuration
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
e7b985a460
[FIXTURES] Catch any exception, we don't have VIPS-related only
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
aa8412f607
[TESTS][Forms] Respect new naming conventions
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
9067bd8785
[TESTS] remove accidentally duplicate sample upload
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
415089914f
[VideoEncoder] Port plugin to v3 properly
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
5107e06fae
[DOCS][Developer] Paradigms: Update is_null based on poll votes
...
Everything around the use we give to php's null is about the state of having a value or not. Thus, using `is_null` always is the less bad option.
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
2b7232891e
[ImageEncoder] Make plugin respect instance config and use the new core interface
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
f9079784c4
[ENTITY][AttachmentThumbnail] Improve the way EncoderPlugins participate in the thumbnail process
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
e4b2821657
[TWIG][Attachments] Don't throw event with mimetype in its name
2021-09-14 13:13:35 +01:00
Diogo Peralta Cordeiro
bc1fb007aa
[Core][GSFile] Improve the way EncoderPlugins participate in the file sanitization process
2021-09-14 13:13:34 +01:00
Diogo Peralta Cordeiro
210f895e74
[ENTITY][Attachment] Respect rfc6838#section-4.2 mimetype length
2021-09-14 13:13:34 +01:00
Diogo Peralta Cordeiro
e80ad2d87b
[TESTS][Controller][AdminTest] Update int tests to use attachment file_quota instead, as we deleted attachment max width
2021-09-14 13:13:34 +01:00
Diogo Peralta Cordeiro
b0b4f37078
[CONFIG] Add setting for attachment sanitization
2021-09-14 13:13:34 +01:00
Diogo Peralta Cordeiro
2a3db65216
[CONTROLLER][Attachment] Some attachments may not have dimensions
2021-09-14 13:13:34 +01:00
Hugo Sales
450dbfb98f
[DOCUMENTATION] Update documentation regarding route accept formats
2021-09-14 13:13:34 +01:00
Hugo Sales
26bf78360b
[ROUTER][UTIL] Allow specifying the Accept format for a route
2021-09-14 13:13:34 +01:00
Hugo Sales
86bdc398c5
[DOCKER] Update PHP docker container to include ffmpeg, for the VideoEncoderPlugin
2021-09-14 13:13:34 +01:00
Hugo Sales
811caaadf9
[MODULES][PLUGINS] Move noteActionHandle utility to NoteHandlerPlugin which plugins which handle actions on notes should extend
2021-09-14 13:13:34 +01:00
Hugo Sales
458b6d0009
[UI] Rename all forms to more specific names, to avoid form name collisions
2021-09-14 13:13:33 +01:00
Hugo Sales
6af1383e07
[UTIL][Form] Disallow using very generic form names, as they can collide with other forms in the same page
2021-09-14 13:13:33 +01:00
Hugo Sales
a7d5b5599c
[TESTS] Fix LocalUserTest, i forgor to boot the kernel
2021-09-14 13:13:33 +01:00
Hugo Sales
e278efe61d
[TESTS] Fix tests broken with rebased commits
2021-09-14 13:13:33 +01:00
Hugo Sales
8e12f5ee59
[TESTS] Raise test coverage for Link to 100%
2021-09-14 13:13:33 +01:00
Hugo Sales
c78032f1fa
[TESTS] Raise test coverage of LocalGroup to 100%
2021-09-14 13:13:33 +01:00
Hugo Sales
cfc89d8a25
[TESTS] Raise test coverage of LocalUser to 100%
2021-09-14 13:13:33 +01:00
Hugo Sales
a2e302efb4
[TESTS] Raise GSActor test coverage to 100%
2021-09-14 13:13:33 +01:00
Hugo Sales
043e179c23
[TESTS][Attachment][AttachmentThumbnail][GSFile] Reorganize tests and raise test coverage to 100%
2021-09-14 13:13:33 +01:00
Hugo Sales
4cd3924cc1
[ATTACHMENTS][AttachmentThumbnail] Fix implementation of predictScalingValues and small fixes
2021-09-14 13:13:32 +01:00
Hugo Sales
2ccbbd53a6
[TESTS] Add code coverage annotations to entities
2021-09-14 13:13:32 +01:00
Hugo Sales
e7699b3245
[TESTS] Raise test coverage for Note to 100%
2021-09-14 13:13:32 +01:00
Hugo Sales
79215bc439
[Note] Fix scope check for group notes, move away from SQL, to DQL
2021-09-14 13:13:32 +01:00
Hugo Sales
e392a9c90c
[TESTS][DataFixtures] Add user, self follows, group member and group scope note
2021-09-14 13:13:32 +01:00
Hugo Sales
365afb7ba8
[TOOLS] Disable command echo in Makefile
2021-09-14 13:13:32 +01:00
Hugo Sales
4b2a92d052
[UI][Attachment] Use Attachment methods to get the proper URL, rather than crafting it in a template
2021-09-14 13:13:32 +01:00
Hugo Sales
6799052ff5
[ATTACHMENTS] Ensure thumbnail dimensions are bounded and change way cropping is implemented
2021-09-14 13:13:32 +01:00
Diogo Peralta Cordeiro
f67173061b
[VideoEncoder] Add plugin composer dependency php-ffmpeg/php-ffmpeg
2021-09-14 13:13:32 +01:00
Diogo Peralta Cordeiro
ac45008240
[Embed] Move composer dependency embed/embed from core to plugin
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
b50f11a040
[ENTITY][Link] self urls can't be considered a remote url
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
177801c81b
[Embed][StoreRemoteMedia] Re-add {white,black}list check config
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
de444a2a5a
[Posting] Fix wrong usage of DB::findBy
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
e40c7b0509
[DOCS][Developer] Recommend reading the tests cases for when the doc doesn't cover
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
5c8677304c
[DOCS][Developer] Update storage documentation
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
78f4ccb576
[ImageEncoder] Fix ImageSanitization, it should never modify the input image
2021-09-14 13:13:31 +01:00
Eliseu Amaro
ca71e57593
[CSS] Hotfix: Figure captions do not overflow.
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
41b42407cd
[Posting] Store uploaded filenames as titles
2021-09-14 13:13:31 +01:00
Diogo Peralta Cordeiro
036e9cb58e
[Avatar] Preserve uploaded filename and use Avatar's own route instead of attachment
2021-09-14 13:13:30 +01:00
Diogo Peralta Cordeiro
f70eb8f12d
Remove weird empty template
2021-09-14 13:13:30 +01:00
Eliseu Amaro
6166afeec6
[TWIG][CSS] Left and right panels accessibility improvements. Tabindex is now properly set up. When panels have the attribute open but aren't focused (keyboard navigation out of panel, into main content) they aren't displayed anymore.
2021-09-14 13:13:30 +01:00
Hugo Sales
e2e6c7a5bf
[TESTS] Hot-fix Security controller tests, broken with ongoing form rendering changes
2021-09-14 13:13:30 +01:00
Eliseu Amaro
c81795eb96
[TWIG][CSS] More consistent classes. Checkbox styling done. Register and Login pages now done.
2021-09-14 13:13:30 +01:00
Eliseu Amaro
44a581f0f6
[UTIL][FORM] Password form now shows the proper HTML class, and it's respective label.
2021-09-14 13:13:30 +01:00
Eliseu Amaro
87d7318de5
[CONTROLLER][SECURITY] Added class names. Help labels for each form element. Each form element now has a proper block prefix (the resulting HTML won't simply concatenate the form's name to the element's label).
2021-09-14 13:13:30 +01:00
Eliseu Amaro
ab10cd4121
[DOC] Fixed installation.md typos.
2021-09-14 13:13:30 +01:00
Hugo Sales
ebee70621b
[FORM] Fix bug where options were passed in the data parameter
2021-09-14 13:13:30 +01:00
Diogo Peralta Cordeiro
1419035076
[DOCS][Developer] Add an introduction
2021-09-14 13:13:29 +01:00
Diogo Peralta Cordeiro
afd00fbdc5
[DOCS][Developer] httpclient: Add an example of lazyness care
2021-09-14 13:13:29 +01:00
Diogo Peralta Cordeiro
31ca5cb35e
[DOCS][Developer] Paradigms: apply XRevan86 fixes and remove the return types section, we must revisit it later..
2021-09-14 13:13:29 +01:00
Diogo Peralta Cordeiro
54e03d49d4
[DOCS][Developer] Remove low level index, we will approach these themes in another manner
...
Fix some broken links
2021-09-14 13:13:29 +01:00
Hugo Sales
c8e00e4187
[TOOLS] Add make command 'database-force-schema-update' to update the database schema and 'redis-shell'
2021-09-14 13:13:29 +01:00
Hugo Sales
8ca61eea77
Duplicate public/assets/css/bg.jpg history in tests/sample-uploads/attachment-lifecycle-target.jpg history.
2021-09-14 13:13:29 +01:00
Hugo Sales
6d7a0dbc92
[TESTS][TOOLS] Always stop containers regardless of test success
2021-09-14 13:13:29 +01:00
Hugo Sales
5410f22060
[DEPENDENCIES] Update dependencies
2021-09-14 13:13:29 +01:00
Hugo Sales
4f880eb761
[PLUGINS][ENTITY][Cover][ProfileColor] Clean up after interns and move entity defintions to be inside the corresponding plugin, rather than in core
2021-09-14 13:13:29 +01:00
Hugo Sales
5237364a21
[TESTS] Raise test coverage for GSFile to 100%
2021-09-14 13:13:28 +01:00
Hugo Sales
300eccfd17
[TESTS] Raise test coverage for Attachment controller to 100%
2021-09-14 13:13:28 +01:00
Hugo Sales
2351e7c6d1
[CORE][GSFile] Use pathinfo rather than regular expressions and don't attempt to persist an already persisted entity
2021-09-14 13:13:28 +01:00
Hugo Sales
3843348c1b
[CONTROLLER][Attachment] Small refactor and add testing annotation
2021-09-14 13:13:28 +01:00
Hugo Sales
e2caf19b67
[TESTS] Remove copied upload test files, if upload failed
2021-09-14 13:13:28 +01:00
Hugo Sales
aef61e4c73
[TESTS] Add coverage ignore flags to trivial methods
2021-09-14 13:13:28 +01:00
Hugo Sales
fe86735b8b
[DB][DOCUMENTATION] Explain limit: 2 in findOneBy
2021-09-14 13:13:28 +01:00
Hugo Sales
c3db2f60d2
[UTIL][EXCEPTIONS] Introduce NotStoredLocallyException
2021-09-14 13:13:28 +01:00
Hugo Sales
6445a616a8
[ENTITY][Attachment] Raise mimetype max length to 64 characters and ensure we don't attempt to store more than that
2021-09-14 13:13:28 +01:00
Hugo Sales
d4d4f4e950
[TESTS] Cleanup attachment test data
2021-09-14 13:13:27 +01:00
Hugo Sales
6e6d1a946f
[TESTS] Remove MediaFileTest and move setup code to media data fixture
2021-09-14 13:13:27 +01:00
Hugo Sales
53f89ade85
[TESTS] Move Media fixtures to their own file, for organization
2021-09-14 13:13:27 +01:00
Hugo Sales
74d1874991
[DOCUMENTATION][Entity] Improve documentation on Entity::getWithPK, explaining the ways it can be used
2021-09-14 13:13:27 +01:00
Diogo Peralta Cordeiro
060a5abef1
[ENTITY][Link] Sometimes URLs don't work, handle that
2021-09-14 13:13:27 +01:00
Diogo Peralta Cordeiro
1906d4f276
[Embed] Add UI element and fix some bugs
2021-09-14 13:13:27 +01:00
Diogo Peralta Cordeiro
061c953eac
[TWIG] Add Links representation to notes
2021-09-14 13:13:27 +01:00
Diogo Peralta Cordeiro
ef1a9ce3b1
[ImageEncoder] Handle VIPS unsupported image type
2021-09-14 13:13:27 +01:00
Diogo Peralta Cordeiro
f690bc06ae
[ATTACHMENT] Some attachments don't have thumbnails and that's okay
2021-09-14 13:13:27 +01:00
Diogo Peralta Cordeiro
b4a03b814f
[CORE][GSFile] ensureFilenameWithProperExtension: extension isn't an I/O param
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
728f8d8fb8
[ENTITY][Note] Add getter for note links
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
9e4cac0123
[ENTITY] Refactor RemoteURL entities to Link
...
RemoteURL was being an awfully confusing term.
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
fb28a3656a
[Embed] Retrieve remote thumbnails and other improvements
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
7a0a6f1f22
[Embed] Fix usage of EmbedLib
...
Fix other minor bugs
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
968e3431e1
[Attachment] Sometimes we can't provide download of original file
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
4cc4523632
[Posting] Re-add original file to attachment on upload, if it was previously removed
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
d076781c74
[AttachmentToNote][Attachment] Add title getter to Attachment
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
5fd91bf3a2
[TESTS][Twig] Fix ExtensionTest->testIconsExtension
2021-09-14 13:13:26 +01:00
Diogo Peralta Cordeiro
bac18715c5
[StoreRemoteMedia] Implement the first version of it in v3
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
63cbf4052f
[UTIL] Common::config wasn't a proper port from v2, it has to accept one argument only as well
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
33cc9386d2
[RemoteURLToAttachment] Fix primary key, relation is: One Attachment Has Many URLs, One URL Has One Attachment
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
78c5c4b084
[Attachment] Allow to delete the associated file
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
508f1f8796
[MODULES] Add module configuration
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
de8a2f579c
[CORE][Event] Fix bug on handler Log
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
4ecdeac6a3
[CORE][Entity] Compare with object properties when creating/updating, instead of class
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
75f70f8182
[ENTITY][Posting] Remove GSActorToRemoteURL, Fix URL database store
2021-09-14 13:13:25 +01:00
Diogo Peralta Cordeiro
fbbbde4275
[AttachmentShowRelated] Bug fix after re-introduction of NoteActions
2021-09-14 13:13:25 +01:00
Eliseu Amaro
df62d7e4f4
[CSS][Assets] Minified header icons. Reverted footer links position due to Firefox's corageous interpretation of a fixed element's position.
2021-09-14 13:13:25 +01:00
Eliseu Amaro
5de0704de2
[Favourite][TWIG][CSS] Favourite shows alt-text and properly sets colours. Titles translated on the right panel.
2021-09-14 13:13:24 +01:00
Diogo Peralta Cordeiro
f5175cc59d
[ATTACHMENTS] Always store in the same location
2021-09-14 13:13:24 +01:00
Diogo Peralta Cordeiro
3f61537140
[ENTITY] Split Attachment in various new entities
...
Remove Attachment Scope
Fixed some minor bugs
Scope will be implemented later in v3. It doesn't make sense to have
the scope handling being per attachment. Different actors can post
the same attachment with different scopes. The attachment controller
will assume the highest level of scope applied to the attachment and
the rest will be handled at the note level.
Motivation:
* Remove title from attachment, as it's part of the relation between attachment and note.
* Remove actor from attachment, many actors may publish the same attachment.
* Remove is_local from attachment, as it's part of the relation between attachment and note.
* Remove remote_url from attachment, different urls can return the same attachment.
Addition:
* Attachment now has a lives attribute, it's a reference counter with a nicer name
* GSActorToAttachment
* GSActorToRemoteURL
* RemoteURL
* RemoteURLToNote
* RemoteURLToAttachment
* AttachmentToNote now has a title attribute
2021-09-14 13:13:24 +01:00
Diogo Peralta Cordeiro
a7c8da0534
[FileQuota] We'll get back to this plugin later
2021-09-14 13:13:24 +01:00
Hugo Sales
39006fb6b5
[DB][Attachments] Use count function rathar than fetch and count, rename to refCount, rather than countDepencies
2021-09-14 13:13:24 +01:00
Hugo Sales
8880405dee
[DEPENDENCIES] Update dependencies
2021-09-14 13:13:24 +01:00
Hugo Sales
809bf00aa9
[TemporaryFile][TESTS] Throw on attempt to write to null resource and fix tests
2021-09-14 13:13:24 +01:00
Hugo Sales
c24c32334d
[TESTS] Add test for JSON response and invalid accept format
2021-09-14 13:13:24 +01:00
Hugo Sales
6728dd40b0
[ENTITY] Add JsonSerializable interface to Entity base class and implement it for the Note class
2021-09-14 13:13:24 +01:00
Hugo Sales
2851b899b8
[TESTS] Add test annotations to core classes
2021-09-14 13:13:23 +01:00
Hugo Sales
21a5bbe639
[CORE][Controller] Fix JSON response and add test annotations
2021-09-14 13:13:23 +01:00
Hugo Sales
061a85d6b3
[EVENTS] Change FormatNoteList do separate in and out arguments
...
This is necessary due to some weird problem which I wasn't able to figure out (but which doesn't matter)
that somehow causes the event to be called twice during testing, and thus the function was exploding
2021-09-14 13:13:23 +01:00
Hugo Sales
57f43108bb
[TESTS] Fix Entity test in accordance with the changes to createOrUpdate
2021-09-14 13:13:23 +01:00
Hugo Sales
b5de80303a
[TEST] Raise test coverage for UserPanel to 100%
2021-09-14 13:13:23 +01:00
Hugo Sales
480665afc8
[CONTROLLER][UserPanel] Finish implementation of ::notifications so it actually saves the values in the database
2021-09-14 13:13:23 +01:00
Hugo Sales
cdf3426567
[CONTROLLR][UserPanel][PLUGINS] Add submit button to notification settings for each transport
2021-09-14 13:13:23 +01:00
Hugo Sales
afbcb179b2
[CONTROLLER][AdminPanel] Further ensure form validity
2021-09-14 13:13:23 +01:00
Hugo Sales
38a331220f
[CORE][Log] Add Log::unexpected_exception utility which logs and throws a ServerException
2021-09-14 13:13:23 +01:00
Hugo Sales
085e880631
[CORE][Entity] Fix implementation of createOrUpdate so it doesn't throw NotFoundException if trying to create an object
...
This was previously done because we wanted to notify the callee that
and entity existed but not with the provided contents. With the change
of return value, with a bool $is_update, this is no longer a problem.
2021-09-14 13:13:22 +01:00
Hugo Sales
662ad8e9cf
[TESTS] Update PHPUnit config to start executing tests by last failure. This doens't seem to actually work currently, though
2021-09-14 13:13:22 +01:00
Hugo Sales
11e52bcb27
[TOOLS] Add utility commands to the Makefile
2021-09-14 13:13:22 +01:00
Hugo Sales
1b623a85ae
[UTIL][FormFields] Move FormFields class to Util\Form namespace
2021-09-14 13:13:22 +01:00
Eliseu Amaro
1647c5391f
[Favourite][TWIG][CSS] Favourite now works.
2021-09-14 13:13:22 +01:00
Eliseu Amaro
e15044fe36
[CSS] Overall typography resizing to provide proper text hierarchy. Radio buttons polish, notes author box is now smaller. Better organization of CSS rules according to their filename and thus, their aim.
2021-09-14 13:13:22 +01:00
Eliseu Amaro
1962a004aa
[CSS] Fixed top margin, footer elements are now actually footer elements.
2021-09-14 13:13:22 +01:00
Eliseu Amaro
e180143e20
[TWIG][CSS] Buttons are now the correct size in all contexts. Right panel create a notice section re-structure.
2021-09-14 13:13:22 +01:00
Eliseu Amaro
cb21599cef
[TWIG][CSS] Feedback provided to active page. Removed top accent border on notes.
2021-09-14 13:13:22 +01:00
Eliseu Amaro
68cf6dee65
[FAQ][CSS] All FAQ pages stylized, minor structure changes throughout.
2021-09-14 13:13:22 +01:00
Eliseu Amaro
10f930ad4b
[TWIG][CSS] Left panel text hierarchy fix (no <hr> element between timeline navigation and its items). Default CSS fixes for buttons and input file selectors.
2021-09-14 13:13:21 +01:00
Eliseu Amaro
0f032c257b
[CSS] Input file elements polish. It should resize properly and provide feedback when selected (not a thing in Firefox ESR yet).
2021-09-14 13:13:21 +01:00
Eliseu Amaro
bac6d2a490
[CSS] Base CSS polish, reset CSS additions for better cross-browser compatibility.
2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro
a77f51dd06
[Avatar] Delete attachment only if safe
2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro
21362d1e4d
[ATTACHMENTS] Add dependencies counter
2021-09-14 13:13:21 +01:00
Eliseu Amaro
95fd86f8dc
[CSS] Fixed background incorrect sizing.
2021-09-14 13:13:21 +01:00
Eliseu Amaro
d0b2cccb63
[CSS] Mesh gradient works as intended with no banding.
2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro
0c612bddbe
[Avatar] Store as regular attachments
2021-09-14 13:13:21 +01:00
Diogo Peralta Cordeiro
b355f0d590
[DEV] Add PsySH REPL
2021-09-14 13:13:20 +01:00
Diogo Peralta Cordeiro
3334aca7b9
[Avatar] Move entity from core to component
2021-09-14 13:13:20 +01:00
Diogo Peralta Cordeiro
fb6aa78ae8
[CORE][GSFile] Allow storing files under /file
2021-09-14 13:13:20 +01:00
Hugo Sales
e688bf8aed
[TESTS] Ignore coverage of ResetPasswordRequest, as it uses mailing functionality. We may want to introduce this test in the future
2021-09-14 13:13:20 +01:00
Hugo Sales
9ad2cb5e66
[UTIL][FormFields] Allow specifying whether a password is required and provide placeholder text
2021-09-14 13:13:20 +01:00
Hugo Sales
5aedf64e5b
[ROUTES] Remove individual settings pages, as they got merged
2021-09-14 13:13:20 +01:00
Hugo Sales
27f2fbdade
[ENTITY] Refactor LocalUser::changePassword for easier use
2021-09-14 13:13:20 +01:00
Hugo Sales
19318b3163
[UTIL][EXCEPTION] Add AuthenticationException, representing an auth error, status code 401 unauthorized
2021-09-14 13:13:20 +01:00
Hugo Sales
a1592656e0
[TESTS] Change format of data fixtures to allow creating more users
2021-09-14 13:13:20 +01:00
Hugo Sales
2dd3511149
[CORE][DB] Specify desired case in array_change_case, for clarity
2021-09-14 13:13:19 +01:00
Hugo Sales
0ae67d96ea
[TESTS] Raise test coverage for AdminPanel to 100%
2021-09-14 13:13:19 +01:00
Diogo Peralta Cordeiro
b77e35ef09
[SECURITY] Do not require email when in development
2021-09-14 13:13:19 +01:00
Diogo Peralta Cordeiro
e8ef777fb2
[DOCS][Dev] Add Debugging and Testing
2021-09-14 13:13:19 +01:00
Hugo Sales
8240591bd4
[TESTS] Fixup Security controller tests to match new UI
2021-09-14 13:13:19 +01:00
Hugo Sales
fe7c2b5115
[TESTS] Raise test coverage for AdminPanel controller to 100%
2021-09-14 13:13:19 +01:00
Hugo Sales
e0a0df502e
[TESTS] Raise test coverage for Attachment controller to 100%
2021-09-14 13:13:19 +01:00
Hugo Sales
29d77b446f
[TESTS] Add a sample image to the test dataset
2021-09-14 13:13:19 +01:00
Hugo Sales
647e4c03b3
[CORE][GSFile] Ensure files are stored inside the configured storage folder, with a relative filename in the database
2021-09-14 13:13:19 +01:00
Hugo Sales
51f8f004b3
[CORE][CONTROLLER] Add TODO to Controller base class as to where our custom exception pages would be implemented
2021-09-14 13:13:18 +01:00
Hugo Sales
0b80727769
[CORE][ENTITY] Allow create'ing will null values
2021-09-14 13:13:18 +01:00
Hugo Sales
77742c56c3
[ImageEncoder] Don't print_r the exception as that leads to an OOM error
2021-09-14 13:13:18 +01:00
Hugo Sales
4aee27d3a6
[CONFIG] Ensure consistency in config file
2021-09-14 13:13:18 +01:00
Hugo Sales
229a516fd2
[TESTS] Make PHPUnit exit on first fail and some other tweaks
2021-09-14 13:13:18 +01:00
Hugo Sales
855d427442
[UTIL][FORM] Create a utility class that defines common form fields, such as passwords
2021-09-14 13:13:18 +01:00
Hugo Sales
dfc97d2607
[TESTS] Raise test coverage for Controller/Security to 100%
2021-09-14 13:13:18 +01:00
Hugo Sales
dc2b9f940e
[CORE][GSFile] Assert that the destination folder where to store the attachment is inside the INSTALLDIR and store the filepath in the database
2021-09-14 13:13:18 +01:00
Hugo Sales
8139a21eb9
[TESTS] Add coverage ignore to TemplateController and ResetPassword (as it requires sending emails)
2021-09-14 13:13:18 +01:00
Hugo Sales
518995d155
[CONTROLLER][Attachment] Assert that the supplied is positive and add documentation
2021-09-14 13:13:17 +01:00
Hugo Sales
88dd9e542f
[CORE][GSFile] Change actor_id paramenter of validateAndStoreFileAsAttachment to optional and reorder them and their usages
2021-09-14 13:13:17 +01:00
Hugo Sales
7bd88bd101
[AUTOGENERATED] Update entity fields for ResetPasswordRequest entity
2021-09-14 13:13:17 +01:00
Hugo Sales
471dc52c92
[CORE] Add repositories, as needed by the Reset Password Bundle
2021-09-14 13:13:17 +01:00
Hugo Sales
0c54a3297f
[UTIL] Add a class that defines commonly used form fields
2021-09-14 13:13:17 +01:00
Hugo Sales
ccd5ebf8e4
[CORE] Add passowrd reset and forgot password functionality
2021-09-14 13:13:17 +01:00
Hugo Sales
c3d2f04841
[DEPENDENCIES] Add symfonycasts/reset-password-bundle as a dependency
2021-09-14 13:13:17 +01:00
Hugo Sales
769fff2448
[CORE][SECURITY][EMAIL] Move email confirmation functionality to it's own static wrapper, in preparation for adding password reset functionality
2021-09-14 13:13:17 +01:00
Hugo Sales
e27823ae6c
[CONTROLLER][Security] Refactor and make clearer errors with duplicate nicknames and emails. Return notes as a callable, since they're not used in the default template, in the login and register pages
2021-09-14 13:13:17 +01:00
Hugo Sales
32ca61e214
[TESTS][Queue] Add @codeCoverageIgnore to select queueing functions
2021-09-14 13:13:16 +01:00
Hugo Sales
41e4e2de0e
[TESTS][Router] Add tests for Router and use named paramenters, as we can since PHP8
2021-09-14 13:13:16 +01:00
Hugo Sales
6d22932092
[ENTITY][LocalUser] Add method 'findByNicknameOrEmail'
2021-09-14 13:13:16 +01:00
Hugo Sales
e6d20bd30d
[CORE][Controller][TESTS] Fix issue that arrises in tests where the Accept header is not specified
2021-09-14 13:13:16 +01:00
Hugo Sales
d07cb79844
[EXCEPTION] Add Email related exceptions
2021-09-14 13:13:16 +01:00
Hugo Sales
e250edf7fd
[UTIL][Nickname] Refactor Nickname and extract a validate function, as we'll want to perform normalization in select cases in the future, likely as a plugin
2021-09-14 13:13:16 +01:00
Hugo Sales
1521d0d823
[UI] Add TODO annotation to login template, since it's possible to login using email, so the fonrm field names should be updated
2021-09-14 13:13:16 +01:00
Hugo Sales
f904b76ce7
[TESTS][DataFixtures] Add password and email to created test user
2021-09-14 13:13:16 +01:00
Hugo Sales
efacf6da56
[TESTS][Twig] Add @codeCoverageIgnore to select methods, as these are simple wrappers
2021-09-14 13:13:16 +01:00
Hugo Sales
1d40c5cdb3
[TESTS][DB] Update test to reflec fact that GSActor no longer has a normalized_nickname field
2021-09-14 13:13:15 +01:00
Hugo Sales
6b4b3e90fb
[TESTS][Nickname] Update tests to reflect new usage. Normalization functionality will be moved to a plugin
2021-09-14 13:13:15 +01:00
Hugo Sales
adf0897527
[TESTS][TemporaryFile] Update test to reflect new usage
2021-09-14 13:13:15 +01:00
Hugo Sales
e77498ac19
[ENTITY] Remove 'normalized_nickname' field from GSActor as that feature will be moved to a plugin
2021-09-14 13:13:15 +01:00
Hugo Sales
2f69579ddb
[TESTS][DOCUMENTATION][Module] Add documentation and exclude method from testing in Module base class
2021-09-14 13:13:15 +01:00
Hugo Sales
7a2574eafb
[CORE][TemporaryFile] Add option to specify attempts and better handle when reaching the attemp limit without being able to create a file
2021-09-14 13:13:15 +01:00
Hugo Sales
f5fb4ed3c3
[TESTS] Add tests for GSFile
2021-09-14 13:13:15 +01:00
Hugo Sales
af5526d720
[DB] Refactor findOneBy method
2021-09-14 13:13:15 +01:00
Hugo Sales
7263752b18
[TESTS][DOCUMENTATION] Add documenation for the list events command and exclude it from unit testing
2021-09-14 13:13:15 +01:00
Hugo Sales
1c09aefd5a
[CONFIG] Make password length limits configurable
2021-09-14 13:13:14 +01:00
Hugo Sales
6a74102d52
[TESTS] Exclude Data Fixtures from testing, as that happens before testing
2021-09-14 13:13:14 +01:00
Hugo Sales
de5650e98e
[TESTS] Exclude class Security from testing, as it's a simple wrapper
2021-09-14 13:13:14 +01:00
Hugo Sales
d609dafdbc
[TESTS] Raise test coverage for ModuleManager to 100%
2021-09-14 13:13:14 +01:00
Hugo Sales
bd321f05a7
[TESTS] Exclude HTTPClient from testing, as it's a simple wrapper and we don't want to be performing HTTP requests in tests, for speed and reliability
2021-09-14 13:13:14 +01:00
Hugo Sales
2ee99e5176
[TESTS] Raise test coverage for Form to 100%
2021-09-14 13:13:14 +01:00
Hugo Sales
0f634e86c7
[TESTS] Revert exposing Redis docker container ports, as this conflicts with the actual instance, and was intended for testing
2021-09-14 13:13:14 +01:00
Hugo Sales
b111870853
[TESTS][EVENTS] Raise test coverage for Event class to 100%
2021-09-14 13:13:14 +01:00
Hugo Sales
871422e6b6
[TESTS][ENTITY] Raise test coverage for Entity class to 100%
2021-09-14 13:13:14 +01:00
Hugo Sales
3b18853ff1
[TESTS][LOG] Raise test coverage for Log class to 100%
2021-09-14 13:13:14 +01:00
Hugo Sales
f98ce1c3d0
[TESTS] Ignore GNUsocial class from tests, as it simply pipes objects around
2021-09-14 13:13:13 +01:00
Hugo Sales
3cc1756d1b
[FORM][DOCUMENTATION] Add documentation to Form class
2021-09-14 13:13:13 +01:00
Hugo Sales
f9a022745e
[EVENT] Fixup implementation, as imformed by tests
2021-09-14 13:13:13 +01:00
Hugo Sales
d22711504c
[ENTITY] Fixup implementation, as imformed by tests
2021-09-14 13:13:13 +01:00
Hugo Sales
8317c612ff
[DB] Handle using methods with class name as well as table name and add lookup methods
2021-09-14 13:13:13 +01:00
Hugo Sales
747b464c7d
[TESTS] Add missing tests for Common
2021-09-14 13:13:13 +01:00
Hugo Sales
9ce30751af
[TESTS] Expand and fix cache tests
2021-09-14 13:13:13 +01:00
Hugo Sales
bfe9c6c9c4
[TESTS] Add ignore annotations to code paths that serve as hooks in DependencyInjection
2021-09-14 13:13:13 +01:00
Hugo Sales
28c010fcc7
[TESTS][CACHE] Fixup errors found in cache implementation by testing. Ensure the newest values are kept, in pushList with max_count
2021-09-14 13:13:12 +01:00
Hugo Sales
e2f61b05d8
[ENTITY] Fix foreign key type in Cover entity, as found by tests
2021-09-14 13:13:12 +01:00
Hugo Sales
a8081854c2
[TESTS] Exclude Routes from testing, as well as, temporarily, src/Security
2021-09-14 13:13:12 +01:00
Hugo Sales
88f1437ee7
[TESTS] Use vendor/bin/simple-phpunit for running the tests, as it provides the appropriate polyfills
2021-09-14 13:13:12 +01:00
Eliseu Amaro
082656d1ae
[LEFT][RIGHT][CSS] Panels now occupy full page in smaller screen sizes.
2021-09-14 13:13:12 +01:00
Eliseu Amaro
bd9e86afe0
[RIGHT][CSS] Right panel now shows an intuitive icon for other note options available.
2021-09-14 13:13:12 +01:00
Eliseu Amaro
625c056f30
[TWIG][CSS] Overall CSS optimizations. Image gradients are now used, 64x64 px.
2021-09-14 13:13:12 +01:00
Eliseu Amaro
c8a8e94d48
[SETTINGS][PLUGIN][CONTROLLER] Populate profile tabs event added. Settings base template populated with such event for plugins and components.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:12 +01:00
Eliseu Amaro
6dd0292397
[SETTINGS][ROUTES][CONTROLLER] Settings overhaul, refactoring to accommodate new global settings view. WIP, component settings aren't shown at the moment.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:12 +01:00
Eliseu Amaro
eed74972c5
[SETTINGS][TWIG][CSS] Settings WIP. Form polished, dropdowns need styling.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:12 +01:00
Eliseu Amaro
d12f97c623
[BASE][CSS] Snappier and consistent animations.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:11 +01:00
Eliseu Amaro
10d7462d02
[TWIG][SETTINGS] WIP. Settings navigation early sketch.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:11 +01:00
Eliseu Amaro
a6f5c61aef
[CSS] <figcaption> now has top padding for better legibility, hover now resizes it's element accordingly.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:11 +01:00
Eliseu Amaro
d16614982a
[TWIG][CSS] Panels are fixed and base content acts accordingly on all sizes.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:11 +01:00
Diogo Peralta Cordeiro
7b6a44cfbb
[DOCS][Dev] Add HTTP Client
2021-09-14 13:13:11 +01:00
Diogo Peralta Cordeiro
c99e447308
[DOCS][Dev] Add Security
2021-09-14 13:13:11 +01:00
Diogo Peralta Cordeiro
367cc5c5c7
[DOCS][Dev] Add Queues
2021-09-14 13:13:11 +01:00
Diogo Peralta Cordeiro
27fb2da1d0
[DOCS][Dev] Add Internationalisation
2021-09-14 13:13:11 +01:00
Diogo Peralta Cordeiro
3dffbdd0b7
[DOCS][Dev] Add Attachments
2021-09-14 13:13:11 +01:00
Diogo Peralta Cordeiro
2473c9afa9
[DOCS][Dev] Configure search
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
70ab7e7af7
[DOCS][Dev] Add Logging
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
ef827db77c
[DOCS][Dev] Add Templates
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
ce39f6ca4a
[DOCS][Dev] Add Routes and Controllers
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
0c6088225f
[DOCS][Dev] Add Cache
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
b60a07f270
[DOCS][Dev] Cleanup src directory
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
9baf3a3124
[DOCS][Dev] Add database chapter
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
ad49988e0b
[DOCS][DEV] Add events
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
2be4aeaab2
[DOCS][Paradigms] Elaborate on Null, Set and Void
2021-09-14 13:13:10 +01:00
Diogo Peralta Cordeiro
c020958690
[DOCS] Write exceptions chapter
2021-09-14 13:13:09 +01:00
Eliseu Amaro
75bbf6c728
[TWIG][CSS] Final fix for panels, resizing works as intended, content is wrapped when no space is available. Simpler rules throughout.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
ce06c1dfd2
[TWIG][CSS] Panels weren't "flexing" properly, in smaller sizes the right panel form would break.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
e546721ca1
[TWIG][CSS] Fixed right panel buttons, fix issue where the form was invalid on send.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
203b16c5bf
[TWIG][CSS] Right panel WIP. Create a note now looks better, need to style in some way the default user agent buttons without removing features (e.g. current file chosen).
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
4805550c66
[TWIG][CSS] Left panel profile section done.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
9d50289c3f
[TWIG][CSS] Register and Login styling done.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
5e31e3290d
[CSS] Fixing poor responsiveness to main nav element hover animation.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
e0a14f0b86
[CSS][TWIG] Left panel HTML nesting to better aid screen readers.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
cd05589f67
[CSS][TWIG] Panels icons are now hidden on desktop view to stop possible inconsistencies on window resizing. Left Panel polish.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:09 +01:00
Eliseu Amaro
2bae14198b
[CSS][TWIG] Details element is now shown by default on larger screens, and hidden on smaller screens.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:08 +01:00
Eliseu Amaro
e5649d82ba
[CSS][TWIG] Timeline navigation is now a part of the left panel, this way more items could be displayed at a time. Left panel styling WIP.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:08 +01:00
Eliseu Amaro
22f394f28f
[TWIG] Microformats added to timeline, note's view and media. Should be backwards compatiblr as well.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:08 +01:00
Eliseu Amaro
03fb7b43e8
[CSS] Fixed accessibility issues with header and panel elements. Left, instance and right elements are now properly ordered when focused.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:08 +01:00
Eliseu Amaro
8bff04dae1
[CSS] Fixed incorrect Chromium based browsers improper main content view. Flex item order (shouldn't be a problem, but it was) and padding for the container class was the root issue.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:08 +01:00
Eliseu Amaro
7f561376ac
[CSS] Main container 'order' attribute was somehow a problem in Chromium.
2021-09-14 13:13:08 +01:00
Eliseu Amaro
8b5f08a4bd
[CSS] Fixed top content margin.
2021-09-14 13:13:08 +01:00
Eliseu Amaro
c06e666816
[TWIG][CSS] Accessibility improvements, all general links provide proper feedback now. Base theme CSS progress, page now looks more as it should. Panels WIP.
2021-09-14 13:13:08 +01:00
Eliseu Amaro
98e7e94dfa
[TWIG][CSS][ICONS] New profile and notice creation panel, alternative text set correctly for header icons. WIP in base styling and panels.
2021-09-14 13:13:07 +01:00
Eliseu Amaro
868dbbd44e
[TWIG][CSS] Found solution to show details content by default in desktop view. However, post_form is being rendered multiple times, it was already rendered in the Posting Component. Needs to be fixed.
2021-09-14 13:13:07 +01:00
Eliseu Amaro
9519891b92
[TWIG][CSS] Panels are now animated when shown, main content width as well as panel's is now correctly configured. WIP: displaying side panels by default when space is available, "details" element state cannot be manipulated through CSS only, need a better solution.
2021-09-14 13:13:07 +01:00
Eliseu Amaro
95c81cc741
[TWIG][CSS] Panels functionality works as intended, size needs to be worked upon.
2021-09-14 13:13:07 +01:00
Eliseu Amaro
effb4e6f40
[TWIG][CSS] Complete HTML refactoring, now using details element instead of a checkbox trick per panel. Using a "grid" akin to IBM's Carbon design guidelines.
2021-09-14 13:13:07 +01:00
Eliseu Amaro
3de10192ef
[TWIG][CSS] Timeline WIP. Creating a notice is now done on the right panel. HTML structure improvements, such as the timeline divided from the navigation div.
2021-09-14 13:13:07 +01:00
Eliseu Amaro
a3f50e6732
[TWIG][CSS] Base template structural refactoring to accommodate true canons of page construction. CSS WIP to reflect these changes.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:07 +01:00
Eliseu Amaro
0b9cc721c4
[TWIG][CSS] Fixed right panel buttons, fix issue where the form was invalid on send.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:07 +01:00
Eliseu Amaro
c7a28876aa
[TWIG][CSS] Right panel WIP. Create a note now looks better, need to style in some way the default user agent buttons without removing features (e.g. current file chosen).
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:07 +01:00
Eliseu Amaro
fc3ac1c2f4
[TWIG][CSS] Left panel profile section done.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
14358b4b95
[TWIG][CSS] Register and Login styling done.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
0c2272e094
[CSS] Fixing poor responsiveness to main nav element hover animation.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
d45ef53efd
[CSS][TWIG] Left panel HTML nesting to better aid screen readers.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
1037d3397b
[CSS][TWIG] Panels icons are now hidden on desktop view to stop possible inconsistencies on window resizing. Left Panel polish.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
db8a1b125f
[CSS][TWIG] Details element is now shown by default on larger screens, and hidden on smaller screens.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
15cdcd3344
[CSS][TWIG] Timeline navigation is now a part of the left panel, this way more items could be displayed at a time. Left panel styling WIP.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
701b4967b4
[TWIG] Microformats added to timeline, note's view and media. Should be backwards compatible as well.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
cab7ba8e79
[CSS] Fixed accessibility issues with header and panel elements. Left, instance and right elements are now properly ordered when focused.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:06 +01:00
Eliseu Amaro
0620923ac6
[CSS] Fixed incorrect Chromium based browsers improper main content view. Flex item order (shouldn't be a problem, but it was) and padding for the container class was the root issue.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:05 +01:00
Eliseu Amaro
1c4568d064
[CSS] Main container 'order' attribute was somehow a problem in Chromium.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
580f2d9962
[CSS] Fixed top content margin.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
bfd0fa74f2
[TWIG][CSS] Accessibility improvements, all general links provide proper feedback now. Base theme CSS progress, page now looks more as it should. Panels WIP.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
a44e81a1ed
[TWIG][CSS][ICONS] New profile and notice creation panel, alternative text set correctly for header icons. WIP in base styling and panels.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
f687c7b315
[TWIG][CSS] Found solution to show details content by default in desktop view. However, post_form is being rendered multiple times, it was already rendered in the Posting Component. Needs to be fixed.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
b899c9fb2a
[TWIG][CSS] Panels are now animated when shown, main content width as well as panel's is now correctly configured. WIP: displaying side panels by default when space is available, "details" element state cannot be manipulated through CSS only, need a better solution.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
2084ae350e
[TWIG][CSS] Panels functionality works as intended, size needs to be worked upon.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
3812a2d04d
[TWIG][CSS] Complete HTML refactoring, now using details element instead of a checkbox trick per panel. Using a "grid" akin to IBM's Carbon design guidelines.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
ee3ed5f096
[TWIG][CSS] Timeline WIP. Creating a notice is now done on the right panel. HTML structure improvements, such as the timeline divided from the navigation div.
2021-09-14 13:13:05 +01:00
Eliseu Amaro
d3c47a2557
[TWIG][CSS] Base template structural refactoring to accommodate true canons of page construction. CSS WIP to reflect these changes.
...
Signed-off-by: Eliseu Amaro <mail@eliseuama.ro>
2021-09-14 13:13:04 +01:00
Diogo Peralta Cordeiro
80cde06f4b
[MEDIA][Thumbnail] Fix non-instantiated variable
2021-09-14 13:13:04 +01:00
Diogo Peralta Cordeiro
dc3801f6ae
[DOCS][Dev] Write paradigms
2021-09-14 13:13:04 +01:00
Hugo Sales
cb7fa0a081
[SECURITY] Remove aggressive normalization of nicknames. This will be moved to a plugin in the future and we'll open an RFC, as discussed
2021-09-14 13:13:04 +01:00
Hugo Sales
4ec9b910c2
[TOOLS] Fix pre commit hook to allow for partial file commits (git add -p/git reset -p)
2021-09-14 13:13:04 +01:00
Diogo Peralta Cordeiro
a5348f2427
[MEDIA][AttachmentThumbnail] Add mimetype to Entity
2021-09-14 13:13:04 +01:00
Diogo Peralta Cordeiro
41dcef3c7b
[Media] EncoderPlugins should handle the views that concern them
...
Ensure the intended filetypes and mimetypes during Vips conversions (part 2)
Sanitize Attachments instead of Validate (part 2)
Various bug fixes
2021-09-14 13:13:04 +01:00
Diogo Peralta Cordeiro
861732176e
[Media] Support any kind of thumbnails in the Core
...
Sanitize Attachments instead of Validate (part 1)
Ensure the intended filetypes and mimetypes during Vips conversions (part 1)
Various bug fixes
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
481e953cde
[Media] File quota should be triggered by the Core
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
488e700fab
[POSTING] Make it possible for plugins to change the placeholder string
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
72dcff22f7
[MEDIA] We need permissions to run chmod in directories
...
It's better to have in the filename data that we couldnt't otherwise rapidly retrieve
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
6ecdaa5d72
[MEDIA] Fix database misses on thumbnail retrieval
...
We were storing the real scaling values instead of the predictions, but the core is never able to pre-compute the real values generated by the encoding plugins so, we have to rely on our own aproximation function ported from v2
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
c8cf8c3f13
[FILE][TemporaryFile] Fix various issues now that we also have Symfony's file abstractions
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
6c0f3a336e
[DOCS][Developer] Adopt a top-down approach
...
Minor corrections to the overview
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
8817613016
[CORE][GNUsocial] Fix undefined property typo
2021-09-14 13:13:03 +01:00
Diogo Peralta Cordeiro
6cf7693f14
[DOCS][User][SysAdmin] Add thomask as an author as we're starting this from his unofficial docs
2021-09-14 13:13:03 +01:00
Eliseu Amaro
d5ab382485
[DOCS] Add designer book.
2021-09-14 13:13:02 +01:00
Eliseu Amaro
c33a65c45e
[DOCKER][nginx] Removing default nginx config through docker/nginx/domain.sh. The default config conflicts with 'localhost' server_name.
2021-09-14 13:13:02 +01:00
Diogo Peralta Cordeiro
b42128014e
[DOCS] Elaborate initial architecture page
2021-09-14 13:13:02 +01:00
Diogo Peralta Cordeiro
9f553707ba
[CORE] Proxies: constant HEADER_X_FORWARDED_ALL is deprecated
...
Give ENV preference over SERVER
2021-09-14 13:13:02 +01:00
Hugo Sales
687b2e2bc7
[UTIL] Add utility to flatten the result of note queries
2021-09-14 13:13:02 +01:00
Hugo Sales
74f477489b
[TESTS] Raise test coverage for App\Controller\Network to 100% and fixup related code
2021-09-14 13:13:02 +01:00
Hugo Sales
c5d4b7ecac
[UI] Remove margin in timeline container
2021-09-14 13:13:02 +01:00
Hugo Sales
86400ce815
[UTIL] Provide static access to current request and utilities in Common
2021-09-14 13:13:02 +01:00
Hugo Sales
9198797aea
[CORE] Throw more meaningfull error when method doesn't exist in Security and Entity
2021-09-14 13:13:02 +01:00
Hugo Sales
6d93b6fb32
[TESTS] Raise App\Core\DB\DB test coverage to 100% and fix issues found
2021-09-14 13:13:01 +01:00
Hugo Sales
52edaa319b
[TESTS] Raise App\Core\DB\UpdateListener test coverage to 100%
2021-09-14 13:13:01 +01:00
Hugo Sales
d49541629d
[TESTS] Change relevant tests to use GNUsocialTestCase, so they can access all the needed features
2021-09-14 13:13:01 +01:00
Hugo Sales
b9fbed2e3d
[CORE] Clarify message when calling non existent method in Entity
2021-09-14 13:13:01 +01:00
Hugo Sales
45f54e615c
[TESTS] Merge datafixtures to allow for using the correct ID in notes, and add group_inbox
2021-09-14 13:13:01 +01:00
Hugo Sales
e1a1d01844
[TESTS] Add GNUsocialTestCase, which initializes our infrastructure when bootKernel is called
2021-09-14 13:13:01 +01:00
Hugo Sales
d31c3b1784
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:13:01 +01:00
Hugo Sales
10c79bcafe
[TOOLS][TESTS] Add coverage ignore tag to autogenerated code
2021-09-14 13:13:00 +01:00
Hugo Sales
de0c35d5a6
[TOOLS][TESTS] Add a data fixture with example notes, for testing
2021-09-14 13:13:00 +01:00
Hugo Sales
fbe0f36a53
[TESTS] Expand test coverage for App\Util\Forms\ArrayTransformer, App\Util\Notification and App\Twig\Runtime
2021-09-14 13:13:00 +01:00
Hugo Sales
6591d78a9c
[TWIG] Remove unused Twig function 'get_note_other_content'
2021-09-14 13:13:00 +01:00
Hugo Sales
f0c6aa761b
[TESTS] Add ignored files and folders to config
2021-09-14 13:13:00 +01:00
Hugo Sales
c84fcc608f
[TESTS] Raise App\Util\TemporaryFile test coverage to 100%
2021-09-14 13:13:00 +01:00
Hugo Sales
ffa3774c46
[TOOLS][TESTS] Make tests run as www-data
2021-09-14 13:13:00 +01:00
Hugo Sales
fc9b934bbc
[UTIL] Fix App\Util\TemporaryFile, adding default options and preventing warning on not enough permission
2021-09-14 13:12:59 +01:00
Hugo Sales
01a659e5b3
[TESTS] Raise test coverage for NicknameTest to 100%
2021-09-14 13:12:59 +01:00
Hugo Sales
31b6211bd0
[TOOLS][TESTS] Add data fixtures, which populate the database with users used for testing
2021-09-14 13:12:59 +01:00
Hugo Sales
ec1081ed43
[UTIL] Rename and rewrite isTaken to checkTaken
2021-09-14 13:12:59 +01:00
Hugo Sales
bd249b508b
[ENTITY] Add 'normalized_nickname' to GSActor, the result of Nickname::normalize, so we can make sure we don't have very similar nicknames duplicated
2021-09-14 13:12:59 +01:00
Hugo Sales
f2727f9327
[DEPENDENCIES] Add doctrine/doctrine-fixtures-bundle, which allows populating the database in the testing environment
2021-09-14 13:12:59 +01:00
Hugo Sales
d2020eb7d8
[TOOLS][TESTS] Adjust configuration for testing environment
2021-09-14 13:12:59 +01:00
Hugo Sales
a49ee453ab
[TESTS] Raise App\Util\HTML test coverage to 100%
2021-09-14 13:12:58 +01:00
Hugo Sales
fbea08ca9b
[TESTS] Raise App\Util\Bitmap test coverage to 100%
2021-09-14 13:12:58 +01:00
Hugo Sales
abda73b8e3
[TESTS] Raise App\Util\Common test coverage to 100%
2021-09-14 13:12:58 +01:00
Hugo Sales
3fab198c04
[ENTITY] Add uniqueness constraint to Attachment::file_hash
2021-09-14 13:12:58 +01:00
Hugo Sales
4f936108a1
[ATTACHMENTS] Don't store an attachment if it's a dupplicate, reuse it
2021-09-14 13:12:58 +01:00
Hugo Sales
2b83a4b627
[UTILS][TemporaryFile] Change way TemporaryFile takes arguments and it's internal implementation
2021-09-14 13:12:58 +01:00
Hugo Sales
3b39046a38
[UTIL] Fix bugs found in App\Util\Formatting by tests
2021-09-14 13:12:58 +01:00
Hugo Sales
15a8f8ab7f
[TESTS] Add tests increasing coverage of App\Util\Formatting to 100%
2021-09-14 13:12:58 +01:00
Hugo Sales
5d326bd18e
[TESTS] Move testing container's DB and Redis to different ports, so it can be used at the same time as the regular containers
2021-09-14 13:12:58 +01:00
Hugo Sales
ee97cc5b00
[TESTS] Add test container with Xdebug and allow for generation of coverage reports with 'make test'
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
091f4b5194
[ATTACHMENTS] Do not create thumbnails for attachments with mimetype different from 'image|video'
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
6a999b8237
[Embed] Do not create AttachmenThumbnail
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
b6d7d46719
[ENTITY] Fix entity->has to access private properties with closure bindTo
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
da3754efba
[CSS][Network] Minor fixes concerning attachment representation (centering and width)
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
1e7d8cac9a
[ATTACHMENTS] Follow URL redirects and don't duplicate attachments
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
adb6680a01
[ATTACHMENTS] Respect config for smart crop
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
ab060332f0
[Posting] Don't sanitize on storage
...
We prefer to have the original input in database and sanitize on output when appropriate
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
8f43c8b405
[AUTOGENERATED] Update auto generated code
2021-09-14 13:12:57 +01:00
Diogo Peralta Cordeiro
4fcccb1d1c
[CORE][ImageEncoder] Add width and height back in attachment entity and allow for differently sized thumbs
...
The strategy adopted involves predicting the thumb size as we did in v2 before having vips resize
2021-09-14 13:12:56 +01:00
Diogo Peralta Cordeiro
1c9f807595
[Embed] Fix some bugs and change AttachmentEmbed::url to ::media_url
2021-09-14 13:12:56 +01:00
Diogo Peralta Cordeiro
c9090e6cee
[ATTACHMENTS][GSFile] Rename ValidateAndStore functions
2021-09-14 13:12:56 +01:00
Diogo Peralta Cordeiro
a3860e6257
[Embed] Local config
2021-09-14 13:12:56 +01:00
Diogo Peralta Cordeiro
186e31e20d
[DEPENDENCIES] Add ext-curl
2021-09-14 13:12:56 +01:00
Hugo Sales
6d31945401
[ATTACHMENTS] In sendFile, check that file exists or show a custom exception
2021-09-14 13:12:56 +01:00
Hugo Sales
38cf8f8efe
[ENTITY] Change foreign key definition to new format for cover and profile_color tables
2021-09-14 13:12:56 +01:00
Hugo Sales
cfe842b487
[DOCUMENTATION] Add database diagram to developer documentation
2021-09-14 13:12:56 +01:00
Diogo Peralta Cordeiro
06b236374d
[CSS][Network] Improve attachment representation
...
Part of why we have thumbnails with a specific size is so that they are in the proper theme size
2021-09-14 13:12:56 +01:00
Diogo Peralta Cordeiro
612c809469
[CSS][Left] Vertical scroll on left menu when it doesn't fit the screen
2021-09-14 13:12:55 +01:00
Diogo Peralta Cordeiro
7a2f5e352b
[CSS][Network] Fix horizontal menu on smaller screens
2021-09-14 13:12:55 +01:00
Diogo Peralta Cordeiro
837f644458
[UTIL][Formatting] Add twigRenderFile
2021-09-14 13:12:55 +01:00
Hugo Sales
e9a96f1c9b
[DOCUMENTATION] Add high level code walkthrough to developer docs
2021-09-14 13:12:55 +01:00
Hugo Sales
353595eb97
[Posting] Add missing default visibility option
2021-09-14 13:12:55 +01:00
Hugo Sales
5067bcd074
[ImageEncoder][FileQuota] Move quota enforcement to it's own plugin, so it can be easily shared and disabled
2021-09-14 13:12:55 +01:00
Diogo Peralta Cordeiro
5bd16a509e
[TEMPLATES] Fix identation
2021-09-14 13:12:55 +01:00
Diogo Peralta Cordeiro
8cb64ede7f
[AttachmentShowRelated] Move Attachment related to plugin
2021-09-14 13:12:55 +01:00
Diogo Peralta Cordeiro
29a215534d
[SECURITY] We can't really show a stream for this, was a nice concept, but not properly doable without requiring JS
2021-09-14 13:12:55 +01:00
Hugo Sales
d11615ded6
[Avatar][Embed] Change use of TemporaryFile::getPath to getRealPath
2021-09-14 13:12:55 +01:00
Hugo Sales
aad4bddedd
[ImageEncoder] Implement attachment validation for images. This limits the maximum dimensions of the file, enforces a per file, per user and per user-month size quota and fixes the title if it's a filename, by replacing the extension to the new one
2021-09-14 13:12:54 +01:00
Hugo Sales
7509913fcf
[ENTITY] Add field size to attachments, used for quota calculations
2021-09-14 13:12:54 +01:00
Hugo Sales
29457ef50d
[UTIL] Add option for setting a file suffix on TemporaryFile constructor and add missing TemporaryFileException
2021-09-14 13:12:54 +01:00
Hugo Sales
a165e533bb
[CONFIG] Add attachments/max_{width,height} config option, which is used as maximum dimensions when validating attachments
2021-09-14 13:12:54 +01:00
Hugo Sales
8ad8546aab
[DEPENDENCIES] Add oroinc/doctrine-extensions, which provides cross database platform date functions
2021-09-14 13:12:54 +01:00
Diogo Peralta Cordeiro
a0b820fd76
[CSS] Refactor Right Panel style
2021-09-14 13:12:54 +01:00
Diogo Peralta Cordeiro
2d8d8ffb48
[TEMPLATES] Add dynamic blocks to right panel
2021-09-14 13:12:54 +01:00
Diogo Peralta Cordeiro
4bd081ad27
[CSS] Fix invisible checkboxes
2021-09-14 13:12:54 +01:00
Diogo Peralta Cordeiro
110c2572a4
[TEMPLATES] Minor refactoring, extending left was weird
2021-09-14 13:12:54 +01:00
Hugo Sales
e9b2b18093
[Avatar] Implement avatar deletion
2021-09-14 13:12:53 +01:00
Hugo Sales
2ec7059076
[AVATAR] Move avatar settings page to Avatar component
2021-09-14 13:12:53 +01:00
Hugo Sales
ced610d942
[Embed] Use Formatting utilities rather than substr and such
2021-09-14 13:12:53 +01:00
Diogo Peralta Cordeiro
9008bee558
[Embed] Add docblock to handle function to pass pre-commit hook
2021-09-14 13:12:53 +01:00
Diogo Peralta Cordeiro
88e5cec8fc
[ENTITY][GSActor] Fix getAvatarUrl method
2021-09-14 13:12:53 +01:00
Diogo Peralta Cordeiro
cbd383f92d
[RIGHT] Introduce component abstraction
2021-09-14 13:12:53 +01:00
Diogo Peralta Cordeiro
143b2460e9
[VIEWS] Minor proofreading of templates and css
2021-09-14 13:12:53 +01:00
Hugo Sales
aea8639d44
[ATTACHMENTS] Restrict thumbnail generation to allowed sizes. Defaults to only configured sizes, but can be extended with the event 'GetAllowedThumbnailSizes'. The intention is to prevent DoS attacks, since handling a thumbnail request is a relatively slow process
2021-09-14 13:12:53 +01:00
Hugo Sales
4f6f1941da
[UI] Fix 'hide_attachments is not defined' error
2021-09-14 13:12:53 +01:00
Hugo Sales
436528172c
[ATTACHMENTS] Add controller and templates for the attachment show page, which shows extra info about an attachment, such as related notes and tags
2021-09-14 13:12:53 +01:00
Hugo Sales
be91fb754d
[CORE] Typo in GSFile and slight Twig weirdness in base template
2021-09-14 13:12:52 +01:00
Hugo Sales
b1e514832b
[Embed][ENTITY] Fix embed route and use attachment_view rather than _show. Rename Entity::have to Entity::has, because grammar
2021-09-14 13:12:52 +01:00
Hugo Sales
30107de079
[Embed] Fix plugin. Only attempt to show an image, if we have one
2021-09-14 13:12:52 +01:00
Hugo Sales
2adb3c3521
[ATTACHMENTS] Add event 'AttachmentFileInfo' to allow a plugin to override the file displayed
2021-09-14 13:12:52 +01:00
Hugo Sales
708a910870
[UTIL] Fix remove affix utilities, so they only try to remove an affix if the string starts/ends with it
2021-09-14 13:12:52 +01:00
Hugo Sales
8988d89192
[CONFIG] Add attachment related parameters to default config
2021-09-14 13:12:52 +01:00
Hugo Sales
a7ef2babe6
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:12:52 +01:00
Hugo Sales
ece3c11e1b
[DB] Fix error in config/services.yaml where the wrong namespace was used for the UpdateListener
2021-09-14 13:12:52 +01:00
Hugo Sales
fb220e82ed
[TOOLS] Use \DateTimeInterface rather than DateTimeInterface
2021-09-14 13:12:52 +01:00
Hugo Sales
bb1ba11fcf
[AUTOGENERATED] Run bin/generate_entity_fields for the Embed plugin
2021-09-14 13:12:51 +01:00
Hugo Sales
4cd152f640
[Embed] Review and port v2 code
2021-09-14 13:12:51 +01:00
Hugo Sales
7adc198a52
[ENTITY] Add meta method 'have*' to Entity base class, which checks if a field 'isset'
2021-09-14 13:12:51 +01:00
Hugo Sales
34059a8d3d
[ATTACHMENTS][EVENT] Add onHashFile event, which can be used to deduplicate files
...
Currently, we simply hash the contents of the file with sha256, but in the future we can use something smarter,
which could find visual feature similarity between images
2021-09-14 13:12:51 +01:00
Hugo Sales
60a9085e56
[FORMATTING] Add utilities to remove affixes from strings
2021-09-14 13:12:51 +01:00
Hugo Sales
b647e31495
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler'
2021-09-14 13:12:51 +01:00
Hugo Sales
9a7f1358c2
[ENTITY] Add utils to Attachment and AttachmentThumbnail to get the corresponding URL and html representation parameters
2021-09-14 13:12:51 +01:00
Hugo Sales
2a74dced22
[UTIL] Add TemporaryFile class, courtesy of Alexei Sorokin from v2, a class that ensures files stored in /tmp are removed, as it doesn't happen in some cases
2021-09-14 13:12:51 +01:00
Hugo Sales
7dab063a72
[PLUGINS] Remove scripts. These will need to be implemented with Commands
2021-09-14 13:12:48 +01:00
Hugo Sales
3d8c348cb8
[Emebed] Add Embed plugin and initial cleanup
2021-09-14 13:12:24 +01:00
Hugo Sales
2d91095260
[UI] Use event 'ShowAttachment' to permit plugins like Embed to alter the representation
2021-09-14 13:12:23 +01:00
Hugo Sales
94edad43d9
[UTIL] Add method to validate url
2021-09-14 13:12:23 +01:00
Hugo Sales
5c78def973
[HTTPClient] Add utility functions for all HTTP methods
2021-09-14 13:12:23 +01:00
Hugo Sales
1b8f5b7bf0
[DB] Make DB::findOneBy throw a different exception if two values are found
2021-09-14 13:12:23 +01:00
Hugo Sales
e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event
2021-09-14 13:12:23 +01:00
Hugo Sales
ae0e410986
[TESTS] Fix Nickname test
2021-09-14 13:12:23 +01:00
Hugo Sales
8dff0b1d0c
[Favourite] Make twig event operate on array rather than string
2021-09-14 13:12:23 +01:00
Hugo Sales
7a90e844b7
[SECURITY][DB] Make user register 'atomic', by using a single transaction for inserting all objects, to avoid partial inserts
2021-09-14 13:12:23 +01:00
Hugo Sales
77655c1248
[TESTS] Fix wrong namespace in tests
2021-09-14 13:12:23 +01:00
Hugo Sales
aeabf64051
[PLUGIN] Change base class from Module to Plugin for all plugins
2021-09-14 13:12:23 +01:00
Hugo Sales
a66118aee7
[AVATAR] Display avatar rounded
2021-09-14 13:12:22 +01:00
Diogo Peralta Cordeiro
3afa872cec
[UI] Use thumbnail path for thumbs
2021-09-14 13:12:22 +01:00
Hugo Sales
e1995f44ce
[ATTACHMENTS] Move thumbnail controller to core and cleanup
2021-09-14 13:12:22 +01:00
Hugo Sales
3a7e92ed01
[ImageEncoder] Change preferred type to always be WEBP
2021-09-14 13:12:22 +01:00
Hugo Sales
1b1b3007db
[AVATAR] Display avatar as round on the default theme
2021-09-14 13:12:22 +01:00
Hugo Sales
e6c6e7afd7
[AVATAR] Fix JS cropping script and save square image, in case other themes need it
2021-09-14 13:12:22 +01:00
Hugo Sales
d2bb5bba14
[ImageEncoder] Move DB::persist call to AttachmentThumbnail
2021-09-14 13:12:22 +01:00
Hugo Sales
0c8c5a4b87
[ImageEncoder] Fix error when not providing a width and/or height
2021-09-14 13:12:22 +01:00
Diogo Peralta Cordeiro
e385a9ac29
[ATTACHMENTS] Even more further refactoring
...
Introduce Encoder plugins Instead of abstract upload and thumb modules
Ported attachment routes. In v3 thumbnail depends on existing attachment
so route updated accordingly.
2021-09-14 13:12:18 +01:00
Diogo Peralta Cordeiro
0eaccc32fe
[ATTACHMENTS] Further refactoring
...
Some key points:
- Components and Plugins shouldn't extend Module directly
- Avatars should be fetched via GSActor ID, not by nickname as that isn't unique
- Avatar now is a separate Component
- Common file utilities are now to be placed in Core\GSFile, this will
handle storage and trigger validation
- Some bug fixes
2021-09-14 13:11:51 +01:00
Hugo Sales
cdef6858ce
[ENTITY] Cache AttachmentThumbnail query result
2021-09-14 13:11:51 +01:00
Hugo Sales
65999bd183
[Poll] Move tables from core to plugin
2021-09-14 13:11:51 +01:00
Hugo Sales
716ca063d5
[ImageThumbnail] Finish image thumbnailing functionality
2021-09-14 13:11:51 +01:00
Hugo Sales
19850b5e0d
[DB] Fix bug in custom criteria format wrangling
2021-09-14 13:11:51 +01:00
Hugo Sales
e834ac2c8d
[DEPENDENCIES] Add php-vips
2021-09-14 13:11:51 +01:00
Hugo Sales
1d6d20aacb
[TOOLS] In pre-commit hook, only run php-doc-check if some PHP file changed
2021-09-14 13:11:51 +01:00
Hugo Sales
081b0de919
[DOCKER] Add VIPS PHP extension to Docker build
2021-09-14 13:11:51 +01:00
Hugo Sales
4358656c55
[ImageThumbnail] Implement image resizing with Intervention/Image
2021-09-14 13:11:50 +01:00
Hugo Sales
ee87961d96
[ImageThumbnail] Structure of plugin to generate thumbnails for image attachments
2021-09-14 13:11:50 +01:00
Hugo Sales
7284c833a6
[DB] Allow DQL queries with table name rather than entity
2021-09-14 13:11:50 +01:00
Hugo Sales
0d01f1d060
[CORE] Add functionality to App\Core\Controller to get and validate GET parameters
2021-09-14 13:11:50 +01:00
Hugo Sales
c053e8da8e
[Posting] Rename file to attachment and cache result of actor tag query
2021-09-14 13:11:50 +01:00
Hugo Sales
5579f4fa5d
[MEDIA] Rename File to Attachment
2021-09-14 13:11:50 +01:00
Hugo Sales
dc5bdfa1fb
[CORE] Rename NoteScope to VisibilityScope, as it will be used for attachment visbility too
2021-09-14 13:11:50 +01:00
Hugo Sales
9659762726
[DB] Add table map which allows using table names rather than entities in Doctrine operations
2021-09-14 13:11:50 +01:00
Hugo Sales
c44443b52c
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:11:50 +01:00
Hugo Sales
483ac38888
[Directory] Fixup directory plugin
2021-09-14 13:11:49 +01:00
Diogo Peralta Cordeiro
cc9f2d6ff2
[DOCUMENTATION] Three books instead of only one
...
The User one is intended to illustrate the various common use cases, possibilities regarding customization and introduce the existing functionalities.
The Administrator one explains the step by step of how to install and maintain a GNU social instance, be it as node of The Free Network or as an intranet social network in a company setting.
The Developer one starts by introducing the Modules system and architecture, then the plugin development process and finally the exciting internals of GNU social for those looking forward to make the most advanced contributions.
2021-09-14 13:11:49 +01:00
Diogo Peralta Cordeiro
e7ed325ac6
[MEDIA] Refactor File as Attachment
2021-09-14 13:11:49 +01:00
Hugo Sales
566c7694b5
[CONFIG][TWIG] Move twig config to php code to add support for placing templates in modules (plugins and components)
2021-09-14 13:11:49 +01:00
Hugo Sales
a220d07b0f
[Directory] Move templates from core to plugin
2021-09-14 13:11:49 +01:00
Hugo Sales
ed59cce0f9
[COMPOSER][Media] Add example composer.json in plugins/Media
2021-09-14 13:11:49 +01:00
Hugo Sales
299bc5b551
[TWIG] Add way to launch events from TWIG, capture service and add way to render from a string
2021-09-14 13:11:49 +01:00
Hugo Sales
1b7c48c732
[LEFT][EVENT] Add event allowing plugins to add links to the left panel
2021-09-14 13:11:49 +01:00
Hugo Sales
8e56dbb95c
[Favourite] Move table and left panel links to plugin
2021-09-14 13:11:49 +01:00
Hugo Sales
5f4815b12f
[DEPENDENCIES] Add wikimedia/composer-merge-plugin
2021-09-14 13:11:48 +01:00
Hugo Sales
1687ecaa24
[FAVOURITE] Temporary commit to fix exception in timeline
2021-09-14 13:11:48 +01:00
Hugo Sales
974bbe164e
[Favourite] Move controller to plugin
2021-09-14 13:11:48 +01:00
Hugo Sales
00d71e7035
Rename FFmpeg to VideoThumbnail FIXME
2021-09-14 13:11:48 +01:00
Diogo Peralta Cordeiro
ccf3aa990a
[MODULES] Introduce the concept of abstract modules to V3
...
Introduce placeholder for abstract upload and thumb modules
Temporarily supress some bugs
2021-09-14 13:11:45 +01:00
Hugo Sales
539f1861a6
[NETWORK] Fix big brain bug
2021-09-14 13:10:55 +01:00
Hugo Sales
ea802621aa
[ENTITY] Remove extraneous File_thumbnail.php file
2021-09-14 13:10:55 +01:00
Diogo Peralta Cordeiro
55b06705d5
[SCRIPTS] pre-commit now has variables double quoted
2021-09-14 13:10:55 +01:00
Diogo Peralta Cordeiro
9997b231d4
[INSTALL] Elaborate on localhost installation
2021-09-14 13:10:54 +01:00
Hugo Sales
f8199159c3
[FFmpeg] Copy FFmpeg plugin from v2
2021-09-14 13:10:54 +01:00
Hugo Sales
155f30e816
[TOOLS] Fix missing exported variable in bin/configure
2021-09-14 13:10:54 +01:00
Hugo Sales
3b901745d5
[Embed][StoreRemoteMedia][Media] Copy and cleanup plugins from v2
2021-09-14 13:10:54 +01:00
Hugo Sales
fe478c6104
[Media] Copy media subsystem from v2 and roughly structure it for v3
2021-09-14 13:10:54 +01:00
Hugo Sales
a38ee03f18
[TOOLS][DOCKER] Make sure composer doesn't require interaction when installing
2021-09-14 13:10:54 +01:00
Hugo Sales
ad67358c3b
[ActivityPub] Remove ActivityPub plugin until we're ready to work on it, as it needs significant work
2021-09-14 13:10:51 +01:00
Hugo Sales
e2e561e663
[DB][FKEY] Temporarily disable foreign key mapping, as there seems to be a bug in doctrine, which is under investigation
2021-09-14 13:10:23 +01:00
Hugo Sales
faa362e2e2
[DB] Remove unique constraint from GSActor.nickname and fix register and related functionality
2021-09-14 13:10:23 +01:00
Hugo Sales
68de1b09b1
[NICKNAME] Don't throw when normalizing reserved nicknames
2021-09-14 13:10:23 +01:00
Hugo Sales
78548365da
[WEB] Fix translations and small inconsistency when opening on web
2021-09-14 13:10:23 +01:00
Hugo Sales
8b5bd40421
[TESTS] Add tests to all relevant methods under App\Util and fix errors that popup
2021-09-14 13:10:23 +01:00
Hugo Sales
57dad5eca4
[NICKNAME] Add nickname min length config and check it in Nickname::normalize
2021-09-14 13:10:23 +01:00
Hugo Sales
92d0848280
[DEPENDENCIES] Add jchook/phpunit-assert-throws and update dependencies
2021-09-14 13:10:23 +01:00
Hugo Sales
5afd2c9843
Duplicate src/Util/Exception/NicknameTooLongException.php history in src/Util/Exception/NicknameTooShortException.php history.
2021-09-14 13:10:23 +01:00
Hugo Sales
dc2a453e94
[TESTS] Add tests of Common and fix small oddities that pop up
2021-09-14 13:10:22 +01:00
Hugo Sales
b387ea9aa0
[TESTS] Fix error when testing cold redis cache
2021-09-14 13:10:22 +01:00
Hugo Sales
88e4044d02
[TESTS] Add tests for the bitmap utility and fix implementation
2021-09-14 13:10:22 +01:00
Hugo Sales
8d25859de7
[LOG] Only try to log if setup, so logs can be disabled, in tests, for instance
2021-09-14 13:10:22 +01:00
Hugo Sales
7e648a296f
CACHE] Fix cache implementation with the help of tests and remove premature optimization for non-redis list caching
...
This complicated the code significantly and likely didn't help that much, if at all. The recommended setup is using Redis, anyway, which is plenty optimized
2021-09-14 13:10:22 +01:00
Hugo Sales
c539f17ba5
[TESTS] Add App\Core\Cache test
2021-09-14 13:10:22 +01:00
Hugo Sales
121faccb22
[DEPENDENCIES] Update dependencies, including redis-polyfill, to be able to implement a test
2021-09-14 13:10:22 +01:00
Hugo Sales
eb951b49bf
[TESTS] Update PHPUnit configuration and upgrade to version 9.5
2021-09-14 13:10:22 +01:00
Hugo Sales
ff771223af
[DOCKER][TOOLS] Add option to bin/configure to use a prebuilt PHP container ( https://hub.docker.com/repository/docker/gsocial/php )
2021-09-14 13:10:22 +01:00
Hugo Sales
c8b2a7a2e0
[TESTS] Fix deprecations
2021-09-14 13:10:21 +01:00
Hugo Sales
ec9a9cec13
[DOCKER] Fix default docker-compose file
2021-09-14 13:10:21 +01:00
Hugo Sales
1028f05cd8
[TESTS] Fix unkept unit tests
2021-09-14 13:10:21 +01:00
Hugo Sales
2d70f484f2
[TEST] Fix translation test
2021-09-14 13:10:21 +01:00
Hugo Sales
f5a6e2f047
[DEPENDENCIES] Upgrade to Symfony 5.2 to get my upstream ICU translation feature
2021-09-14 13:10:21 +01:00
Hugo Sales
3b897abddb
[DOCUMENTATION] Add documentation on installing without docker and other topics
2021-09-14 13:10:21 +01:00
Hugo Sales
12347af6bc
[DOCUMENTATION] Add documentation on installing with Docker
2021-09-14 13:10:21 +01:00
Hugo Sales
c66801a5c4
[DOCTRINE][CONFIGURATION] Add new required Doctrine DBAL parameter, for testing environments
2021-09-14 13:10:21 +01:00
Hugo Sales
03a0df987e
[DEPENDENCIES] Update all dependencies
2021-09-14 13:10:21 +01:00
Hugo Sales
2174f288d1
[DB] Fix Doctrine errors due to lack of column uniqueness
...
So, Doctrine doesn't like that `GSActorTag.tag` is not unique, even
though composite key `[tagger, tag]` is. `tag` can't unique, but
doctrine doesn't understand this. This seems like a Doctrine bug that
should be investigated. For now we'll just not mark it as a foreign
key
2021-09-14 13:10:20 +01:00
Hugo Sales
2e490756b9
[DOCKER][MAIL] Temporarily disable mail container
2021-09-14 13:10:20 +01:00
Hugo Sales
1773ab7af2
[DOCKER][MAIL] Update config and change the way mail docker handles it, so the edits aren't visible from the outside, polluting the git staging area
2021-09-14 13:10:20 +01:00
Hugo Sales
b3623329e3
[DOKER][MAIL][BOOTSTRAP] Make bootstrap generate separate certificates for the web root and the mail server
2021-09-14 13:10:20 +01:00
Hugo Sales
b824a0425e
[DOCKER] Remove quotes from docker env files, as docker (or at least docker-compose) include them in the actual value
2021-09-14 13:10:20 +01:00
Hugo Sales
c894a4faa4
[DB] Make Note.source reference NoteSource.code, the primary key
2021-09-14 13:10:20 +01:00
Hugo Sales
a4a1a21403
[DOCKER] Rename docker-compose.yaml, so there can still be a default one on the repo, while the previous name can be used by the configurator without having problems with git
2021-09-14 13:10:20 +01:00
Hugo Sales
0e9737ee39
[TOOLS][DOCKER] Rewrite the configuration script to use whiptail/dialog, and refactor
2021-09-14 13:10:20 +01:00
Angelo D. Moura
8a48236d2d
[UI][NOTE][MARKDOWN] Add markdown support to the notes
2021-09-14 13:10:20 +01:00
up201706832
8cc0360298
[REPLY] Fixed CSS for reply form, making it now usable
2021-09-14 13:10:19 +01:00
up201706832
f9443f1e87
[AUTH][REMEMBER-ME] Changed name of column in rememberme_token database table to fix bug
2021-09-14 13:10:19 +01:00
Daniel
15454cab7f
[ProfileColor] Added profile color css
2021-09-14 13:10:19 +01:00
Daniel
d17582094d
[ProfileColor] Visualize profile color
2021-09-14 13:10:19 +01:00
Daniel
afae038cff
[ProfileColor] Added Profile Color entity, color form and db store/load to color settings controler
2021-09-14 13:10:19 +01:00
Daniel
20a5005e1d
[ProfileColor] Added plugin base, controller and settings template
2021-09-14 13:10:19 +01:00
Daniel
746bf70e7d
[REVERSEFAV] Added css to make Reverse favs label in one line
2021-09-14 13:10:19 +01:00
Daniel
ec85b5b96b
[REVERSEFAV] Fixed typo
2021-09-14 13:10:19 +01:00
Daniel
f04923405f
[REVERSEFAV] Added reverse favorourites stream/template
2021-09-14 13:10:19 +01:00
João Brandão
5516a77b33
[UI][TIMELINES] Refactored query for public stream
2021-09-14 13:10:19 +01:00
Daniel
c36436c1a1
[UI][TIMELINES] Fix undefined main_nav_tabs in logged out view
2021-09-14 13:10:18 +01:00
Angelo D. Moura
98145f4f1a
[Directory] Actors stream now includes a link to groups stream
2021-09-14 13:10:18 +01:00
Angelo D. Moura
d4c0f33be4
[Directory] Lint fix - missed a coma
2021-09-14 13:10:18 +01:00
Angelo D. Moura
77d7fcc138
[Directory] Finished implementing groups stream as a plugin
2021-09-14 13:10:18 +01:00
Angelo D. Moura
fe170ff508
[Directory] Finished implementing groups stream using Directory plugin
2021-09-14 13:10:18 +01:00
Angelo D. Moura
098fdb3361
[Directory] Changed the route so the plugin Directory doesn't take over - query is not working for some reason
2021-09-14 13:10:18 +01:00
Angelo D. Moura
eb1ef4dd0f
[Directory] Added the route, controller and a blank template file - something is broken
2021-09-14 13:10:18 +01:00
Angelo D. Moura
4f85efa071
[Directory] Actors are now organized by nickname
2021-09-14 13:10:18 +01:00
Angelo D. Moura
505e60d89f
[Directory] Actors are no longer related with notes, and the logged in user now shows on the stream
2021-09-14 13:10:18 +01:00
Angelo D. Moura
2d91f3d0b3
[Directory] Changed the title of the template and add a css rule for actor-bio
2021-09-14 13:10:17 +01:00
Angelo D. Moura
0c5941f515
[Directory] Almost finishied creating the /actors stream - problems with the css files
2021-09-14 13:10:17 +01:00
Angelo D. Moura
517cba3510
[Directory] Add the route, controller function, and blank template file
2021-09-14 13:10:17 +01:00
Daniel
0289888397
[Directory] Add documentation
2021-09-14 13:10:17 +01:00
Daniel
019e3d91e4
[Directory] Moved /actors stream to directory plugin
2021-09-14 13:10:17 +01:00
Daniel
6c1b1323a0
[Cover] Remove of cover form
2021-09-14 13:10:17 +01:00
Daniel
b79c8b092d
[Cover] Added cover route verifications
2021-09-14 13:10:17 +01:00
Daniel
4eafcd5058
[Cover] Removed commented code
2021-09-14 13:10:17 +01:00
Daniel
fdc2bc39d0
[Cover] Input restrictions, Code cleanup
2021-09-14 13:10:17 +01:00
Daniel
4949abac9d
[Cover] Added cover css, changed cover settings route name
2021-09-14 13:10:16 +01:00
Daniel
e2ce1a8070
[Cover] Added temporary css
2021-09-14 13:10:16 +01:00
Daniel
aeec9149fc
[Cover] Cover route, cover now renders
2021-09-14 13:10:16 +01:00
Daniel
cf8b3b7b73
[Cover] Added TWIG vars for profile plugins
2021-09-14 13:10:16 +01:00
Daniel
1cfe64cc25
[Cover] Added Cover Entity, updated form handler
...
Basically the same as the avatar
2021-09-14 13:10:16 +01:00
Daniel
7739518717
[Cover] Started implementing Cover plugin: base class, route, base templates, added tabs in profile template
2021-09-14 13:10:16 +01:00
Diogo Machado
f18a2a4bb6
[STATIC ANALYSIS] Started removal process for the errors found by PHPStan
2021-09-14 13:10:16 +01:00
Pastilhas
f319ccea78
[DOCKER][MAIL] Fixed hash command
...
Also added permissions to start.sh
2021-09-14 13:10:16 +01:00
margarida
f3c3d80892
[TOOLS][DOCKER] Add mail setup to configure
2021-09-14 13:10:16 +01:00
margarida
c36259f7c1
[TOOLS][DOCKER] Changed script to write docker-compose.yaml
2021-09-14 13:10:15 +01:00
margarida
6cb6eeb8a3
[TOOLS][DOCKER] Change dialog method to command substitution and redirection and add way of finding git's root
2021-09-14 13:10:15 +01:00
margarida
a8d211cdbf
[TOOLS][DOCKER] Added input verfication
2021-09-14 13:10:15 +01:00
margarida
152d173e69
[TOOLS][DOCKER] Added first version of configuration shell script
2021-09-14 13:10:15 +01:00
João Brandão
85666b195b
[UI] Visual restructure of login/register pages
2021-09-14 13:10:15 +01:00
João Brandão
7c7a03cfe1
[UI] Show public stream on login/register pages
2021-09-14 13:10:15 +01:00
up201706832
9351039a3b
[UI] Extracted public stream on login/register pages to a twig template
2021-09-14 13:10:15 +01:00
João Brandão
ac480e5018
[UI] Visual restructure of login/register pages
2021-09-14 13:10:15 +01:00
Pastilhas
5b088dabc2
[DOCKER][MAIL] Fixed variable expansion in run
2021-09-14 13:10:15 +01:00
Pastilhas
d291a8dae5
[DOCKER][MAIL] Cleanup opendkim.conf
...
Also improved consistency in other files
2021-09-14 13:10:14 +01:00
Pastilhas
67483e415c
[DOCKER][MAIL] Removed unsued files, modified dovecot.conf
2021-09-14 13:10:14 +01:00
Pastilhas
19ed10078f
[DOCKER][MAIL] User is now created on setup and Dockerfile
...
Continuation of previous commit
2021-09-14 13:10:14 +01:00
Pastilhas
2c3599721e
[DOCKER][MAIL] Removed unused config files and scripts
...
Now user is created on setup and dockerfile
2021-09-14 13:10:14 +01:00
Pastilhas
0518bc2c6b
[DOCKER][MAIL] Substituted supervisord for s6
2021-09-14 13:10:14 +01:00
Pastilhas
def5e06a28
[DOCKER][MAIL] Moved and modified `setup.sh`
2021-09-14 13:10:14 +01:00
Pastilhas
93939d8b25
[DOCKER][MAIL] Switched named volume to shared volume and changed env vars to env file
2021-09-14 13:10:14 +01:00
Pastilhas
0137a68ccb
[DOCKER][MAIL] Improved exec.sh
2021-09-14 13:10:14 +01:00
Pastilhas
cea170ed18
[DOCKER][MAIL] Fixed small bug with ssl certificates
2021-09-14 13:10:14 +01:00
Pastilhas
11dbbef351
[DOCKER][MAIL] Fixed small bugs in config and scripts
2021-09-14 13:10:14 +01:00
Pastilhas
c2e6e3706f
[DOCKER][MAIL] New config files
2021-09-14 13:10:13 +01:00
Pastilhas
419a2ceb1a
[DOCKER][MAIL] Fused services into single container
2021-09-14 13:10:13 +01:00
Pastilhas
86a95def01
[DOCKER][MAIL] Changed directory path
2021-09-14 13:10:13 +01:00
Pastilhas
bc1d85de56
[DOCKER][MAIL] Setup docker mail server
2021-09-14 13:10:13 +01:00
Pastilhas
250235b1be
[DOCKER][MAIL] Added docker mailserver setup
2021-09-14 13:10:13 +01:00
Daniel
1747e14824
[Poll] Removed/refactored unnecessary files, changed redirect to default parameters in new poll route
2021-09-14 13:10:13 +01:00
Daniel
c0d363e317
[Poll] Restructured templates, added misssing poll related css
2021-09-14 13:10:13 +01:00
Daniel
7a299162e1
[Poll] Polls now have an associated note, poll templates, start_show_styles event, started css
2021-09-14 13:10:13 +01:00
Daniel
090c593a61
[Poll] Started testing with note integration
2021-09-14 13:10:13 +01:00
Daniel
50ec306243
[Poll] Added file headers
2021-09-14 13:10:12 +01:00
Daniel
ffb4b9df23
[Poll] Added modified param for Poll/Poll response, added PollTest
2021-09-14 13:10:12 +01:00
Daniel
f34fb9c7b9
[Poll] Added variable num of options
...
not sure if it is the right way to do it
2021-09-14 13:10:12 +01:00
Daniel
cdbf7da8be
[Poll] Added templates, response counting
2021-09-14 13:10:12 +01:00
Daniel
27a0c43f7b
[Poll] Store poll response to DB
2021-09-14 13:10:12 +01:00
Daniel
3725818e4f
[Poll] Added New Route, RespondPoll, Poll Response, PollResponseForm
2021-09-14 13:10:12 +01:00
Daniel
dbb55362c8
[Poll] Fixed ShowPoll route, moved Poll Entity, created NewPollForm
...
Entity was temporarily moved to src/Entity in order to load from DB, since it is yet no possible to do that from Plugin
2021-09-14 13:10:12 +01:00
Daniel
03f02bed4d
[AUTOGENERATED][Poll] Add auto generated code for poll entity and new route
2021-09-14 13:10:12 +01:00
Daniel
5978a069e9
[Poll] Started porting Poll Plugin
2021-09-14 13:10:12 +01:00
margarida
c26ee45bf3
[TOOLS][DOCKER] Added input verfication
2021-09-14 13:10:11 +01:00
margarida
987d29a674
[TOOLS][DOCKER] Added first version of configuration shell script
2021-09-14 13:10:11 +01:00
Daniel
95f95d2dd8
[TESTS] Added unit tests
2021-09-14 13:10:08 +01:00
Angelo D. Moura
d53fef09a8
[TWIG] Moves the SVG custom function to an extension and change the test regex
2021-09-14 13:06:58 +01:00
Angelo D. Moura
d2208d15d8
[TWIG][TESTS] Update IconsExtension test
2021-09-14 13:06:58 +01:00
Angelo D. Moura
5acfda8ae5
[TWIG] Add SVG icon embed function
2021-09-14 13:06:58 +01:00
Diogo Machado
fbc85086fd
[DB][TESTS] Implement Doctrine event listener to update timestamps on modification, and related tests
2021-09-14 13:06:58 +01:00
Daniel
c3aa2ae400
[FORM] Implement ActorArrayTransformer
2021-09-14 13:06:57 +01:00
Hugo Sales
279cfcd058
[PLUGIN][Favourite] Move favourite table definition to inside the plugin, as it is now supported
2021-09-14 13:06:57 +01:00
Hugo Sales
417e2f351b
[SchemaDef] Finish association mapping implementation
2021-09-14 13:06:57 +01:00
Hugo Sales
1d42c7a835
[DB][NoteLocation] Add missing `multiplicity` to column
2021-09-14 13:06:57 +01:00
Hugo Sales
4e4d4dfdc5
[DB] Fix typo in table definitions and fix name of GSActorCircle table
2021-09-14 13:06:57 +01:00
Hugo Sales
481027b09b
[AUTOGENERATED][DB][File][GroupJoinQueue] Update autogenerated code and add select fields as specified in the previous commit
2021-09-14 13:06:57 +01:00
Hugo Sales
1712782cc5
[DB] Change foreign key specification to new format
2021-09-14 13:06:57 +01:00
Hugo Sales
ea0aca4b00
[SCHEMADEF] Add preliminary support for foreign keys
2021-09-14 13:06:57 +01:00
Hugo Sales
9cd5560081
[DOCKER] Bump to PHP version 8
2021-09-14 13:06:57 +01:00
Hugo Sales
e2e53d9a2a
[AUTOGENERATED] Update auto generated code in entities
2021-09-14 13:06:56 +01:00
Hugo Sales
b27bda6a7c
[TOOLS] Use GSActor rather than Gsactor in autogenerated code
2021-09-14 13:06:56 +01:00
Hugo Sales
460712e15e
[GIT] Change my email to the new one in all files and bump copyright year
2021-09-14 13:06:56 +01:00
Hugo Sales
f95f69c778
Add some missing documentation to ActivityPub
2021-09-14 13:06:56 +01:00
Hugo Sales
74e586182d
[DB] Merge definition of SchemaDefDriver with SchemaDefPass for clarity
2021-09-14 13:06:56 +01:00
Hugo Sales
fc015c6fdf
[NETWORK][TreeNotes] Add TreeNotes plugin which takes over the responsibility of displaying a conversation as a tree, in order to reduce the number of queries
2021-09-14 13:06:56 +01:00
Hugo Sales
5c53889739
[Reply] Fix bug where wrong variable is used when replying to a note
2021-09-14 13:06:56 +01:00
Hugo Sales
ce3cae0ef7
[DEPENDENCIES] Update all dependencies
2021-09-14 13:06:56 +01:00
Hugo Sales
eefdf74658
Ensure group table name is quoted, as it's a reserved word in postgreSQL
2021-09-14 13:06:56 +01:00
Hugo Sales
ab252accb2
Small update to php dockerfile
2021-09-14 13:06:56 +01:00
Hugo Sales
411884bfc5
[DEPENDENCIES] Update dependencies
2021-09-14 13:06:55 +01:00
Diogo Peralta Cordeiro
1b946586e1
[DOCUMENTATION] Add mdBook stub
2021-09-14 13:06:55 +01:00
Hugo Sales
ebfd41ba0d
[CONFIGURATION] Remove the individual language settings from social.yaml, as these are not something that changes at runtime
2021-09-14 13:06:55 +01:00
Hugo Sales
3301770642
[COMMAND] Change the way ListEventsCommand outputs the results to use the output interface and add some formatting
2021-09-14 13:06:55 +01:00
Hugo Sales
e8feb2ae84
[DOCUMENTATION][REFACTOR] Add documentation to all flagged function and do some small cleanup
2021-09-14 13:06:55 +01:00
Hugo Sales
67d4702743
[HOOKS] Update pre-commit script to check for missing documentation in functions
2021-09-14 13:06:55 +01:00
Hugo Sales
de8fa87079
[DEPENDENCIES] Update dependencies
2021-09-14 13:06:55 +01:00
Hugo Sales
8ce1c1cee6
[DEPENDENCIES] Update dependencies
2021-09-14 13:06:55 +01:00
Hugo Sales
1949e0b987
[EVENT] Rename event names to camel case to make finding handlers easier
2021-09-14 13:06:55 +01:00
Hugo Sales
0b759da780
[REGISTER] Add self follow when registering, fixing the '-1 followers' bug
2021-09-14 13:06:54 +01:00
Hugo Sales
089c710711
[SETTINGS][NOTIFICATIONS] Fix error when displaying the user notification settings page
2021-09-14 13:06:54 +01:00
Hugo Sales
221829c6fd
[Reply] Fix missing use statement
2021-09-14 13:06:54 +01:00
Hugo Sales
be324bb390
[CONTROLLER] Fix use of undefined variable
2021-09-14 13:06:54 +01:00
Hugo Sales
74350becc5
[POSTING] Fix missing use statement
2021-09-14 13:06:54 +01:00
Tiago Magalhaes
61ebeca706
[CORE] made configure script explicitly fail when bootstrap.env is not present
2021-09-14 13:06:54 +01:00
Hugo Sales
44f51ce715
[CONFIG][CACHE] Move cache configuration from environment variables to the configuration file
2021-09-14 13:06:54 +01:00
Hugo Sales
6cf30f3f65
[UI] Make configured instance name show in UI, fix repeat icon
2021-09-14 13:06:54 +01:00
Hugo Sales
e949dd654a
[CONFIG] Various fixes to use new configuration format
2021-09-14 13:06:54 +01:00
Hugo Sales
c4c693b283
[CONFIG] Fix error on missing or empty local configuration
2021-09-14 13:06:53 +01:00
Hugo Sales
dd40255c4a
[CONFIG][DB] Remove config from the database, put it in yaml, so it can be baked into the container
2021-09-14 13:06:53 +01:00
Hugo Sales
d1ea9d2fdf
[DEPENDENCIES] Update dependencies
2021-09-14 13:06:53 +01:00
Hugo Sales
ebb33cd6f7
[CSS][UI] Update CSS to fix reply note action (icon swap needed) and remove duplication
2021-09-14 13:06:53 +01:00
Hugo Sales
46f1cf9529
[CORE] Add missing use statement in module base class
2021-09-14 13:06:53 +01:00
Hugo Sales
179d7f3335
[UTILS] Make bitmap not use a static class var and set object properties as lowercase
2021-09-14 13:06:53 +01:00
Hugo Sales
147ff89e74
[NoteAction] Refactor duplicated code out to base class
2021-09-14 13:06:53 +01:00
Hugo Sales
a6c24393b5
[NOTE] Add isVisibleTo
2021-09-14 13:06:53 +01:00
Hugo Sales
0c0b00da93
[Directory] Add missing use statement
2021-09-14 13:06:53 +01:00
Hugo Sales
29082f4aa9
POSTING remove REPLY route
2021-09-14 13:06:52 +01:00
Hugo Sales
63d2d58e9e
[EXCEPTION] Make findOne return NotFoundException
2021-09-14 13:06:52 +01:00
Hugo Sales
c07a0cdcd5
[EXCEPTION] Add base class to invalid form exception and add URL arguments to redirect exception
2021-09-14 13:06:52 +01:00
Hugo Sales
0e332b718e
[SECURITY] Fix getRoles
2021-09-14 13:06:52 +01:00
Hugo Sales
c0ce25c352
[MODULES] Fix module manager dev-mode rebuild
2021-09-14 13:06:52 +01:00
Hugo Sales
0a56061639
[UI] Only show note action buttons if a user is logged in
2021-09-14 13:06:52 +01:00
Hugo Sales
2164f21834
[Controller] Fix exception handler to recurse on the exception's previous (in some contexts, RedirectException gets wrapped)
2021-09-14 13:06:52 +01:00
Hugo Sales
ffcf909bda
[UTIL] Update bitmap base class, making using easier
2021-09-14 13:06:52 +01:00
Hugo Sales
a248f23cef
[Reply] Move reply functionality to a plugin
2021-09-14 13:06:52 +01:00
Hugo Sales
72208b066c
[NoteActions] Refactor note actions and fix bug in favourite
2021-09-14 13:06:51 +01:00
Hugo Sales
4c15271d36
[UI] Display error when submitted form is invalid
2021-09-14 13:06:51 +01:00
Hugo Sales
5fc7647c40
[MODULE][DB] Added support for loading entity definitions from modules
2021-09-14 13:06:51 +01:00
Hugo Sales
7de1654f9a
FIXUP WITH DOCTRINE DEV
2021-09-14 13:06:51 +01:00
Hugo Sales
41f90f07b1
[Bridge] Replace zero dates with CURRENT_TIMESTAMP
2021-09-14 13:06:51 +01:00
Hugo Sales
6a2a0d4e66
[TOOLS] Add support for updating autocode in modules
2021-09-14 13:06:51 +01:00
Hugo Sales
cc758f6a8e
[AUTOGENERATED] Update autogenerated code in module entities
2021-09-14 13:06:51 +01:00
Hugo Sales
a9b6bc78a6
[CONFIG][DEV][DOCTRINE] Add doctrine stacktrace tracking in dev mode
2021-09-14 13:06:51 +01:00
Hugo Sales
b906dde059
[EXCEPTION][UI][UX] Add RedirectException, which can be thrown anywhere to redirect somewhere, and an exception handler
2021-09-14 13:06:51 +01:00
Hugo Sales
420b4767b2
[UI][NOTE] Add reply to in UI
2021-09-14 13:06:51 +01:00
Hugo Sales
9573cab4cb
[Posting] Fix form name and remove unused recycle route and controller
2021-09-14 13:06:50 +01:00
Hugo Sales
9865798766
[Media] Add cache control directive to all files served
2021-09-14 13:06:50 +01:00
Hugo Sales
6b1689e1df
[Repeat][Favourite] Only display action buttons if logged in (instead of forcing login)
2021-09-14 13:06:50 +01:00
Hugo Sales
7af424b64a
[DB] Add rendered collumn to note table, so we can preserve microtags from other services
2021-09-14 13:06:50 +01:00
Hugo Sales
460cbbd4c9
[DB] Fix local_user table to use a numeric id, since the username is editable
2021-09-14 13:06:50 +01:00
rainydaysavings
a69c9a4f25
[TWIG] Improving view template structure
2021-09-14 13:06:50 +01:00
rainydaysavings
099c4220d2
[TWIG] Adding active rules
2021-09-14 13:06:50 +01:00
rainydaysavings
244aa4af08
[UI] CSS polish all around
2021-09-14 13:06:50 +01:00
rainydaysavings
492360ceeb
[CONTROLLER][ROUTE] Favourites page initial query implementation and routing
2021-09-14 13:06:50 +01:00
rainydaysavings
651ec890d6
[UI] Fixing Login CSS issues
2021-09-14 13:06:49 +01:00
Hugo Sales
55466143f2
[UI][FEED] Fix scope in timelines; major rewrite of home timeline query, still missing scoping and paging
2021-09-14 13:06:49 +01:00
Hugo Sales
e1181ab998
[DB][DEFAULTS] Change attachment storage location from uploads to attachments
2021-09-14 13:06:49 +01:00
Hugo Sales
3b86a46625
[DB] Rename notice to activity in notification table
2021-09-14 13:06:49 +01:00
Hugo Sales
51a398f27a
[UI] Subtract self follow from total user follows
2021-09-14 13:06:49 +01:00
Hugo Sales
6e11143b79
[DB][NOTE] Update scope
2021-09-14 13:06:49 +01:00
Hugo Sales
6165f7cd55
[Media] Display images and videos inline in notes
2021-09-14 13:06:49 +01:00
rainydaysavings
a9d5f8ac5b
[UI][TWIG] Fixing note actions placement and size, more descriptive rules
2021-09-14 13:06:49 +01:00
Hugo Sales
26f01c4c92
[Posting] Fix posting form name and css
2021-09-14 13:06:49 +01:00
Hugo Sales
07078414bb
[FORM] Add names to forms
2021-09-14 13:06:48 +01:00
Hugo Sales
adc843c1d6
[DB] Add Activity table, to store all known activity
2021-09-14 13:06:48 +01:00
Hugo Sales
d95c22cb3e
[EXCEPTION] Fix exceptions not being translated
2021-09-14 13:06:48 +01:00
Hugo Sales
80cefca90d
[DB] Add wrapper for making native queries
2021-09-14 13:06:48 +01:00
Hugo Sales
a98af6ab6a
[Directory] Add directory plugin, for listing people and groups
2021-09-14 13:06:48 +01:00
Hugo Sales
6dbd239544
[Posting] Add missing includes
2021-09-14 13:06:48 +01:00
rainydaysavings
7cb13ee5e9
[UI] All radio buttons now look like they should
2021-09-14 13:06:48 +01:00
rainydaysavings
ff9b5d9c01
[PLUGIN] Removing unnecessary labels
2021-09-14 13:06:48 +01:00
rainydaysavings
0649095e88
[TWIG] Making notes view more easily customizable
2021-09-14 13:06:48 +01:00
rainydaysavings
a7744351dd
[UI] Fixing note actions views
2021-09-14 13:06:47 +01:00
rainydaysavings
6188524586
[PLUGIN] Recycle initial implementation
2021-09-14 13:06:47 +01:00
rainydaysavings
8a0418d8cf
[Favourite] Add backend support for favourite
2021-09-14 13:06:47 +01:00
rainydaysavings
b6fb0255da
[DB] Temporarily add favourite entity in core, as plugins don't support them yet
2021-09-14 13:06:47 +01:00
Hugo Sales
5b7fcc44cf
[DB] Add helper for removing entities
2021-09-14 13:06:47 +01:00
Hugo Sales
ea4f2c522b
[DB] Add support for calling methods with FQCN
2021-09-14 13:06:47 +01:00
rainydaysavings
4328a11eb1
[TWIG] Various routes added
2021-09-14 13:06:47 +01:00
rainydaysavings
3d3db96312
[UI] Replies border fix and other minor fixes
2021-09-14 13:06:47 +01:00
rainydaysavings
413247d344
[CONTROLLER] Replies and network queries implemented
2021-09-14 13:06:47 +01:00
rainydaysavings
a804c5f981
[COMPONENT][CONTROLLER][TWIG] Recycle component work
2021-09-14 13:06:47 +01:00
rainydaysavings
55e468bd70
[TWIG][UI] Replies CSS fixes
2021-09-14 13:06:46 +01:00
rainydaysavings
62e76cb036
[ROUTE] Network and replies routes added
2021-09-14 13:06:46 +01:00
rainydaysavings
e1e3e2d9b3
[COMPONENT] Favourite initial implementation
2021-09-14 13:06:46 +01:00
rainydaysavings
fee81f8499
[UI] Fixing note actions placement
2021-09-14 13:06:46 +01:00
rainydaysavings
0b3543aaff
[UI] Responsiveness overall polish
2021-09-14 13:06:46 +01:00
rainydaysavings
baac5ef19c
[UI] Browser compatibility improvements, various small fixes
2021-09-14 13:06:46 +01:00
rainydaysavings
59da3df28c
[UI] Checkboxes now display a custom tick
2021-09-14 13:06:46 +01:00
rainydaysavings
189da22204
[TWIG] Timeline attachment form restructure
2021-09-14 13:06:46 +01:00
rainydaysavings
04f43a9d37
[Controller] Attempting to fix home timeline query
2021-09-14 13:06:46 +01:00
rainydaysavings
ecdd393c8e
[UI] No focus outlines by default
2021-09-14 13:06:45 +01:00
rainydaysavings
47901e7ed6
[UI] Reply icon now shows accordingly, same for the replies themselves
2021-09-14 13:06:45 +01:00
rainydaysavings
1742bce78e
[UI] Custom and accessible checkboxes, radio buttons and normal buttons
2021-09-14 13:06:45 +01:00
rainydaysavings
f1a687b057
[COMPONENT] Fixing typo
2021-09-14 13:06:45 +01:00
Hugo Sales
0b50905ac8
[NOTE][UI] Add note replying and UI displaying
2021-09-14 13:06:45 +01:00
Hugo Sales
459f0bf41f
[CACHE] Fix bug in list caching
2021-09-14 13:06:45 +01:00
Hugo Sales
496dec4254
[MODULE] Fix avatars not loading
2021-09-14 13:06:45 +01:00
Hugo Sales
f60bdaa2f0
[DB][MODULES][ActivityPub] Cleanup table definitions
2021-09-14 13:06:45 +01:00
rainydaysavings
522f40ca2f
[TWIG] Timeline template rework
2021-09-14 13:06:45 +01:00
rainydaysavings
7bc62868f7
[ROUTE] Home timeline route url now shows accordingly as the user nickname
2021-09-14 13:06:44 +01:00
rainydaysavings
e812dba033
[UI] Posting form re-styling
2021-09-14 13:06:44 +01:00
rainydaysavings
ecfda08d37
[CONTROLLER] Reply initial implementation
2021-09-14 13:06:44 +01:00
rainydaysavings
bc66e2c2a2
[COMPONENT] Posting form restructure and minor fixes
2021-09-14 13:06:44 +01:00
rainydaysavings
a8e43a4867
[TWIG] Timeline structure rework
2021-09-14 13:06:44 +01:00
rainydaysavings
7fab19fd8f
[ROUTE] Home timeline added
2021-09-14 13:06:44 +01:00
rainydaysavings
d08757d0a4
[CONTROLLER] Home timeline controller work
2021-09-14 13:06:44 +01:00
rainydaysavings
9e3eb9992f
[UI] Posting form styling work
2021-09-14 13:06:44 +01:00
rainydaysavings
1eab561b40
[COMPONENT] Posting form now shows a random default string
2021-09-14 13:06:44 +01:00
rainydaysavings
315a70ba0d
[UI] Links removed since they are part of a plugin
2021-09-14 13:06:44 +01:00
rainydaysavings
9fcd18f751
[UI] Post form new structure first styling implementation
2021-09-14 13:06:43 +01:00
rainydaysavings
8a5cadf8d2
[UI] Small border fix
2021-09-14 13:06:43 +01:00
rainydaysavings
9b421e0095
[COMPONENTS] Small fix
2021-09-14 13:06:43 +01:00
rainydaysavings
160e56c61e
[UI][TWIG] Better, divided form rendring of the posting form
2021-09-14 13:06:43 +01:00
rainydaysavings
c837194af2
[UI] Small border radius problem fix
2021-09-14 13:06:43 +01:00
rainydaysavings
1563ebc546
[COMPONENT] Posts scope initial form
2021-09-14 13:06:43 +01:00
rainydaysavings
fe0af2caed
[UI] Fixing login and register styling, refactoring
2021-09-14 13:06:43 +01:00
rainydaysavings
99ac4dc2a3
[UI] Fixing issue where notices wouldn't break text
2021-09-14 13:06:43 +01:00
rainydaysavings
396af498a2
[UI] Fixing static pages styling
2021-09-14 13:06:43 +01:00
rainydaysavings
a85b5b44f1
[UI] Fixes to settings CSS
2021-09-14 13:06:42 +01:00
rainydaysavings
2c59dcefcf
[UI] Finalizing timeline structure and CSS
2021-09-14 13:06:42 +01:00
rainydaysavings
33832297bd
[UI] New reset CSS to deal with firefox's abysmal and evil defaults
2021-09-14 13:06:42 +01:00
Hugo Sales
b624359b9a
[ActivityPub] Initial cleanup, removing 'die' statements, and ignoring the subfolders
2021-09-14 13:06:39 +01:00
Hugo Sales
38cfec8593
[UI][TWIG] Small UI cleanup and change twig 'active' function to check for starts with, rather than equals
2021-09-14 13:05:58 +01:00
Hugo Sales
f2ab77c3a9
[DB][MEDIA] Small database structure changes
2021-09-14 13:05:58 +01:00
Hugo Sales
4507b12976
[MEDIA] Only try to get an avatar if a user is logged in
2021-09-14 13:05:58 +01:00
Hugo Sales
6ed89c77f4
[UI][NOTE] Post and see attachments
2021-09-14 13:05:57 +01:00
Hugo Sales
a5cf89674e
[DEPENDENCY] Add tgalopin/html-sanitizer-bundle and transitively tgalopin/html-sanitizer
2021-09-14 13:05:57 +01:00
Hugo Sales
9649bec01e
[MEDIA][CACHE] Cache avatar queries and delete stale values; small refactoring
2021-09-14 13:05:57 +01:00
Hugo Sales
e3c5d7e5dc
[UI][MEDIA] Add actor avatar in feed timeline
2021-09-14 13:05:57 +01:00
Hugo Sales
de22f18abf
[SECURITY] Fix error in user registering where password wasn't hashed
2021-09-14 13:05:57 +01:00
rainydaysavings
1b350d51fc
[UI] Fixing timeline notice structure and CSS
2021-09-14 13:05:57 +01:00
rainydaysavings
3def39fed3
[UI] Fix left panel new dynamic components view
2021-09-14 13:05:57 +01:00
Hugo Sales
09a2541c36
[UI][SELFTAGS] Display 'none' if the user doesn't have selftags
2021-09-14 13:05:57 +01:00
Hugo Sales
2486eb1949
[UI][ACCOUNT][SETTINGS] Hack to fix error related to phone number, until a solution is found upstream
2021-09-14 13:05:57 +01:00
Hugo Sales
b19be6be52
[UI][LEFT] Add # before selftags, and link
2021-09-14 13:05:56 +01:00
Hugo Sales
7e4138399c
[UI][FAQ] Fix static pages
2021-09-14 13:05:56 +01:00
Hugo Sales
9159fe8d05
[CONTROLLER] Stop propagation of kernel.controller so notices aren't posted 5 times. Not sure why it happens otherwise
2021-09-14 13:05:56 +01:00
Hugo Sales
6f01b0cebe
[WRAPPER][HTTPClient] Static wrapper around Symfony's HTTP Client
2021-09-14 13:05:56 +01:00
Hugo Sales
be83d3532e
[DB][FOLLOW] Change Follow table
2021-09-14 13:05:56 +01:00
Hugo Sales
65a129aac6
[UI][CACHE][DB] Add follow counts to left panel, caching the results; change follow table
2021-09-14 13:05:56 +01:00
Hugo Sales
3c67773e59
[UI][LEFT] Add link to settings on avatar and personal info
2021-09-14 13:05:56 +01:00
Hugo Sales
c8e8f1f057
[ENTITY] Add Entity base class to all entities
2021-09-14 13:05:56 +01:00
Hugo Sales
d548dc9284
[MODULE][Left][UI][TAGS] Add Left module which handles fetching tags and followers, fix self tags
2021-09-14 13:05:56 +01:00
Hugo Sales
31ccb2d07b
[DB][File] Remove timestamp, add actor_id
2021-09-14 13:05:55 +01:00
Hugo Sales
2e9c340684
[DB][AVATAR] Remove extraneous slash
2021-09-14 13:05:55 +01:00
Hugo Sales
44d4aade95
[DB][DEFAULTS] Add avatar/default
2021-09-14 13:05:55 +01:00
Hugo Sales
7f1ce816ae
[UserPanel] Fix upload of avatar
2021-09-14 13:05:55 +01:00
Hugo Sales
f255d29078
[Media] Use utils
2021-09-14 13:05:55 +01:00
Hugo Sales
8cfa883c1b
[DB] Add 'dql' method to wrap 'createQuery' and replace 'Gsactor' with 'GSActor'
2021-09-14 13:05:55 +01:00
Hugo Sales
688ee18411
[Media] Move code from media.php to utils.php
2021-09-14 13:05:55 +01:00
Hugo Sales
72876fe8dc
[MODULE][Posting] Add Posting module, which handles notice posting
2021-09-14 13:05:55 +01:00
Hugo Sales
e1002eb605
[MEDIA] Move avatar fetching and adding to ouput to media component
2021-09-14 13:05:55 +01:00
Hugo Sales
8506a0248d
[UTIL][Common] Fix import
2021-09-14 13:05:54 +01:00
Hugo Sales
22d1c55faf
[CONTROLLER][AdminPanel] Add missing use statement
2021-09-14 13:05:54 +01:00
Hugo Sales
eb138ebdae
[STREAM][NetworkPublic] Add skeleton of public timeline and posting
2021-09-14 13:05:54 +01:00
Hugo Sales
a2269f5745
[UTIL][Common] Implement 'isSystemPath'
2021-09-14 13:05:54 +01:00
Hugo Sales
95a1938d0f
[SECURITY] Wrap getUser in a try catch, in case the user doesn't exist
2021-09-14 13:05:54 +01:00
Hugo Sales
213cfe5285
[COMMAND] Fix 'bin/console doctrine:database:create' by only loading defaults if we have a connection
2021-09-14 13:05:54 +01:00
Hugo Sales
e3e9ece614
[DEPENDENCY] Update dependencies
2021-09-14 13:05:54 +01:00
Hugo Sales
51a1a1180e
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:05:54 +01:00
Hugo Sales
636f564672
[TOOLS] Fix bin/generate_entity_fields
2021-09-14 13:05:54 +01:00
Hugo Sales
8716d700a6
[CORE][DB] Fix uses of db tables after previous restructure
2021-09-14 13:05:53 +01:00
Hugo Sales
1111ee95f1
[CORE] Data Representation and Modelling refactor
2021-09-14 13:05:53 +01:00
rainydaysavings
b80479dc4e
[UI] Public feed responsive CSS work
2021-09-14 13:05:53 +01:00
rainydaysavings
5d859b6459
[UI] Responsive settings CSS work
2021-09-14 13:05:53 +01:00
rainydaysavings
ea61109932
[UI] Responsive base design polish
2021-09-14 13:05:53 +01:00
rainydaysavings
ccd6667e2c
[UI] Feed structure done, feed CSS work
2021-09-14 13:05:53 +01:00
rainydaysavings
5f0ece177b
[UI] Polishing design, settings pages
2021-09-14 13:05:53 +01:00
rainydaysavings
46eaccb4b0
[UI] Polishing base template
2021-09-14 13:05:53 +01:00
rainydaysavings
e9a0528275
[UI] Left panel theme now looks like it should
2021-09-14 13:05:53 +01:00
rainydaysavings
8fe12f48b5
[UI] Right panel checkbox size fix
2021-09-14 13:05:52 +01:00
rainydaysavings
80d92e3c88
[UI] Settings theme according to base theme
2021-09-14 13:05:52 +01:00
rainydaysavings
915f1dfcdb
[UI] Complete base CSS overhaul and new theme
2021-09-14 13:05:52 +01:00
rainydaysavings
565140adcf
[UI] Right panel added
2021-09-14 13:05:52 +01:00
rainydaysavings
1c7ea95b1f
[UI] Additional fixes to settings page
2021-09-14 13:05:52 +01:00
rainydaysavings
13700edb3e
[UI] Small general settings CSS fixes
2021-09-14 13:05:52 +01:00
rainydaysavings
fb0f3b9dfb
[UI] Settings small fix
2021-09-14 13:05:52 +01:00
rainydaysavings
f0558feb98
[UI] Notification settings checkbox placement fix
2021-09-14 13:05:52 +01:00
Hugo Sales
9781d43f08
[LocalUser] Fix missing extend
2021-09-14 13:05:52 +01:00
Hugo Sales
cd89cf04ff
[ROUTES] Add redirect from root to main/all, link from header to root, and change parameter order on RouteLoader::connect
2021-09-14 13:05:52 +01:00
Hugo Sales
365168d03e
[EXCEPTION] Add ServerException and inherit previous throwable
...
imported from v2/5ea5d3007563f76a77efbfb66936315441922542
2021-09-14 13:05:51 +01:00
Alexei Sorokin
eb12ac5ef1
[DATABASE] Enable fulltext search by default
...
Also rename fulltext indices to more fitting names
Imported from v2/f84dbb369f01a1d4a9bc362d01cdd100cdc79313
2021-09-14 13:05:51 +01:00
Hugo Sales
4128a5403d
[MEDIA][EXCEPTIONS] Fix errors and deprecations
2021-09-14 13:05:51 +01:00
Hugo Sales
08e5b313ce
[SECURITY] Refactor
2021-09-14 13:05:51 +01:00
Hugo Sales
6438092d86
[AVATAR] Update way avatar is sent, to use proper symfony responses, make config('site', 's_static_delivery') into a boolean
2021-09-14 13:05:51 +01:00
Hugo Sales
699f25a397
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:05:51 +01:00
Hugo Sales
689a5df670
[TOOLS] Update generate_entity_fields
2021-09-14 13:05:51 +01:00
Hugo Sales
bd8f4bd277
[AVATAR] Fixed avatar upload, added avatar inline download and updated template and base controller
2021-09-14 13:05:51 +01:00
Hugo Sales
2bf914f96f
[AVATAR] Handle avatar upload without js and save and validate uploaded files
2021-09-14 13:05:51 +01:00
Hugo Sales
48971b70a0
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:05:50 +01:00
Hugo Sales
9c660f39ed
[DEPENDENCIES] Update dependencies
2021-09-14 13:05:50 +01:00
Hugo Sales
0cddbc1783
[JS] Whitespace cleanup
2021-09-14 13:05:50 +01:00
Hugo Sales
113c250c41
[MEDIA][AVATAR] Handle avatar validation and storage
2021-09-14 13:05:50 +01:00
Hugo Sales
0ab6c2ef54
[DB] Add entity base class to allow sharing methods such as 'create'
2021-09-14 13:05:50 +01:00
Hugo Sales
4d99bfb9fd
[DB][FILE][AVATAR] Handle deleting files, change file and avatar tables
2021-09-14 13:05:50 +01:00
Hugo Sales
5a68fd287b
[UI][SETTINGS] User notification settings with configurable transports (through plugins)
2021-09-14 13:05:50 +01:00
Hugo Sales
0230dd04df
[PLUGIN] Remove Test plugin
2021-09-14 13:05:50 +01:00
Hugo Sales
86b9f7d7a1
[COMPONENT][PLUGIN] Move Email and XMPP notification handlers from components to plugins, so they can be disabled
2021-09-14 13:05:50 +01:00
Hugo Sales
3fb45176b8
[COMPONENT] Remove 'post on status change' option for email transport
2021-09-14 13:05:49 +01:00
Hugo Sales
c7dbae8067
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:05:49 +01:00
rainydaysavings
db8e783233
[UI] Notifications settings styling finished
2021-09-14 13:05:49 +01:00
rainydaysavings
6b85d38ad6
[UI] Notification settings styling progress
2021-09-14 13:05:49 +01:00
rainydaysavings
bdae49718f
[UI] Notification settings tabs functional
2021-09-14 13:05:49 +01:00
rainydaysavings
884d2529d3
[UI] Notifications settings page CSS work
2021-09-14 13:05:49 +01:00
rainydaysavings
ea33243b60
[UI] Accessibility improvements all around
2021-09-14 13:05:49 +01:00
rainydaysavings
54bade96ad
[UI] Fixed issue where certain form element would be on top the left panel
2021-09-14 13:05:49 +01:00
rainydaysavings
d9b48d33b6
[ROUTES] Fix use statement
2021-09-14 13:05:49 +01:00
rainydaysavings
d717aac67f
[JS][UI][AVATAR] JS cropping script
2021-09-14 13:05:48 +01:00
rainydaysavings
774383a3c1
[UI] Cropping avatar as a circle, proper preview done
2021-09-14 13:05:48 +01:00
rainydaysavings
574fb38225
[CONTROLLER][UI] Avatar JS cropping added
2021-09-14 13:05:48 +01:00
rainydaysavings
1d5a1818c1
[UI] Login and Register button fixes
2021-09-14 13:05:48 +01:00
rainydaysavings
f840d4350f
[UI] Controller and Route for FAQ page created as well as basic template structure
2021-09-14 13:05:48 +01:00
rainydaysavings
9899601777
[UI] Settings pages routes and styling done.
2021-09-14 13:05:48 +01:00
Hugo Sales
e5082657b7
[COMPONENT][PLUGIN] Small refactor and add license
2021-09-14 13:05:48 +01:00
Hugo Sales
b436a0641d
[CONTROLLER][UI] Add notification settings form
2021-09-14 13:05:48 +01:00
Hugo Sales
4ba71426b6
[MODULE] Reload modules if modified, except in production environment
2021-09-14 13:05:48 +01:00
Hugo Sales
58b6026607
[UTIL] Fix and rename arrayRemoveKeys
2021-09-14 13:05:47 +01:00
Hugo Sales
ef1788949c
[CONFIG] Cleanup services.yaml config file
2021-09-14 13:05:47 +01:00
Hugo Sales
b3d5c73ab4
[FORMATTING] Update license header in SchemaDef compiler pass
2021-09-14 13:05:47 +01:00
Hugo Sales
62e093c650
[EVENT][ROUTES] Add event to allow modules to add routes, 'add_route'
2021-09-14 13:05:47 +01:00
Hugo Sales
152828ed68
[FRAMEWORK] Avoid double initializing the framework
2021-09-14 13:05:47 +01:00
Hugo Sales
aac653d2bd
[EVENT] Fix event handler and rename events to snake_case
2021-09-14 13:05:47 +01:00
Hugo Sales
995b4cfb9b
[PLUGIN] Update example plugin
2021-09-14 13:05:47 +01:00
Hugo Sales
ea7d43172a
[MODULE][COMPILER] Add compiler pass responsible for loading, instantiating and wiring enabled modules
2021-09-14 13:05:47 +01:00
Hugo Sales
bc9de1c0fa
[MODULE] Added module base class
2021-09-14 13:05:47 +01:00
Hugo Sales
b71eded942
[COMMAND] Fix ListEvents command to properly display the callable
2021-09-14 13:05:47 +01:00
Hugo Sales
292c9dc862
[COMPOSER][MODULE] Add autoloading rules for components and plugins
2021-09-14 13:05:46 +01:00
Hugo Sales
da0d88e0f2
[MODULE] Renamed modules to components
2021-09-14 13:05:46 +01:00
Hugo Sales
48252d6b8c
[UTIL][FORM] Add form transformer array <--> string
2021-09-14 13:05:46 +01:00
Hugo Sales
3e6eb114c4
[UTIL] Add Common::array_remove_keys
2021-09-14 13:05:46 +01:00
Hugo Sales
fe3a3978af
[UI][CONTROLLER] Work on tabbed notification settings panel
2021-09-14 13:05:46 +01:00
Hugo Sales
04e31d273d
[MAIL] Make mailserver a required service
2021-09-14 13:05:46 +01:00
Hugo Sales
71db1870db
[SECURITY] Ensure ARGON2 constants are defined, or throw exception
2021-09-14 13:05:46 +01:00
Hugo Sales
7560db4d5f
[DEPENDENCY] Update dependencies
2021-09-14 13:05:46 +01:00
Hugo Sales
fe394e9b20
[UI][CONTROLLER] Refactor UserPanel to use the new Form::handle method and add placeholders in the password fields
2021-09-14 13:05:46 +01:00
Hugo Sales
6fc120571d
[DATABASE] Remove DATABASE::flush from Profile::setSelfTags
2021-09-14 13:05:45 +01:00
Hugo Sales
b3bce3efa1
[FORMATTING] Add option to split a string to array by both a comma and a space
2021-09-14 13:05:45 +01:00
Hugo Sales
921da28884
[FORM] Add DataTransformer to and from array
2021-09-14 13:05:45 +01:00
Hugo Sales
93f576679c
[FORM] Add Form::handle which automagically creates a form, handles a request, and writes the data to the given entity and update Form::create to do some more magic as well
2021-09-14 13:05:45 +01:00
Hugo Sales
59eba851f7
[DATABASE][TOOLS] Update local_user to return the proper PhoneNumber type
2021-09-14 13:05:45 +01:00
Hugo Sales
22e292276c
[CORE][SECURITY][UX] Save previous url on /register and /logout
2021-09-14 13:05:45 +01:00
rainydaysavings
199fa0278c
[CONTROLLER][UI] Fixing controller display errors, Settings CSS fixes
2021-09-14 13:05:45 +01:00
rainydaysavings
6d729de07c
[UI][ROUTES][CONTROLLER] Fixing Settings navs and templates
2021-09-14 13:05:45 +01:00
rainydaysavings
a9b614bbdd
[UI] Register and Login rework
2021-09-14 13:05:45 +01:00
rainydaysavings
e8d03e70ea
[UI] Left panel fix
2021-09-14 13:05:44 +01:00
Hugo Sales
d08c4a1f62
[Controller] Update settings/avatar
2021-09-14 13:05:44 +01:00
Hugo Sales
db32a5fcfc
[DATABASE][TOOLS] Update local_user, SchemaDefDriver and bin/generate_entity_fields to use the phone_number type (which maps to a varchar 35 and does validation)
2021-09-14 13:05:44 +01:00
Hugo Sales
db52e282b9
[UI] Update settings/account to reflect the current values
2021-09-14 13:05:44 +01:00
Hugo Sales
fd36e6fa7a
[UI][ROUTES] s%settings/profile%settings/personal_info%
2021-09-14 13:05:44 +01:00
Hugo Sales
17f854b1d9
[CORE][UX] Save previous url to redirect back after registering
2021-09-14 13:05:44 +01:00
Hugo Sales
ead29a636d
[DEPENDENCY] Add odolbeau/phone-number-bundle
2021-09-14 13:05:44 +01:00
Hugo Sales
576d6eb11c
[UTIL][NICKNAME][FIX] Add self to constant
2021-09-14 13:05:44 +01:00
Hugo Sales
8b7dd48344
[UI][USERPANEL] Add prefilled fields, mark some as optional and handle self tags in the profile settings page
2021-09-14 13:05:44 +01:00
Hugo Sales
207eeb39ca
[SELFTAGS] Add Profile::{set,get}SelfTags
2021-09-14 13:05:43 +01:00
Hugo Sales
1e911f1ba4
[FORM] Add Form::isRequired
2021-09-14 13:05:43 +01:00
Hugo Sales
6adb527fe0
[DATABASE] Refactor DB.php and make findBy always return an array, instead of a doctrine collection
2021-09-14 13:05:43 +01:00
Hugo Sales
040c400bfe
[UTIL] Update Formatting::{toString,toArray} to allow spliting by either space or comma
2021-09-14 13:05:43 +01:00
Alexei Sorokin
66c38d777a
[SECURITY] Update way passwords are checked and update
2021-09-14 13:05:43 +01:00
rainydaysavings
ea131d03e1
[TWIG][ROUTES] Footer links routes and pages added
2021-09-14 13:05:43 +01:00
rainydaysavings
fa613b7098
[UI][ROUTES] Footer links added
2021-09-14 13:05:43 +01:00
rainydaysavings
6d4f6b5109
[UI] Fixing problem due to Firefox's autofill filter
2021-09-14 13:05:43 +01:00
rainydaysavings
51f79242b7
[UI] Login template small fix
2021-09-14 13:05:43 +01:00
rainydaysavings
0dc3d3023e
[UI] Left panel template and Login page CSS work done
2021-09-14 13:05:42 +01:00
Hugo Sales
3ba46a9a60
[SECURITY][CONTROLLER] Remove unreachable code from the Security controller
2021-09-14 13:05:42 +01:00
Hugo Sales
c26ffe09b6
[CONTROLLER][ADMIN][CONFIG] Fix form to use static strings as keys and add labels seperately; convert input from string to appropriate type
2021-09-14 13:05:42 +01:00
Hugo Sales
b772702895
[LIB][Util] Update Common::setConfig to throw an exception if appropriate, add Formatting::{toString,toArray}
2021-09-14 13:05:42 +01:00
Hugo Sales
647fd421ee
[I18N] Remove incomplete autogenerated translation file, to be fixed later
2021-09-14 13:05:42 +01:00
Hugo Sales
91af1be470
[AUTOGENERATED] Update all entity fields
2021-09-14 13:05:42 +01:00
Hugo Sales
e0cc125907
[SECURITY] Small refactor in Authenticator.php, to remove unused services
2021-09-14 13:05:42 +01:00
Hugo Sales
c973517397
[USER][UI][AUTHENTICATION] Add registration form
2021-09-14 13:05:42 +01:00
Hugo Sales
17dc298dfa
[UTIL][NICKNAME] Small refactor and remove the check between user nickname and group_alias, as these will have different semantics
2021-09-14 13:05:42 +01:00
Hugo Sales
5b578b9519
[DATABASE] Fix typos in user_notification_prefs
2021-09-14 13:05:42 +01:00
Hugo Sales
6e6c7ede1e
[DATABASE] Fix typo in profile table and add a constructor
2021-09-14 13:05:41 +01:00
Hugo Sales
7c6112b887
[FORM][WRAPPER] Merge argument options, not replace
2021-09-14 13:05:41 +01:00
Hugo Sales
a85fc2d0bd
[DATABASE] Update LocalUser table to not have a numerical id, add is_email_verified and fix getProfile accordingly
2021-09-14 13:05:41 +01:00
Hugo Sales
7a7f7d3ae1
[MAILER][WRAPPER] Add mailer wrapper that respects the configuration
2021-09-14 13:05:41 +01:00
Hugo Sales
7c35fde8bc
[FIX] Fix bug in DATABASE.php, since findBy can return different types
2021-09-14 13:05:41 +01:00
Hugo Sales
72bf62adc3
[TOOLS] Update generate fields script to output default values
2021-09-14 13:05:41 +01:00
Hugo Sales
672e2b80eb
[DEPENDENCY] Add symfonycasts/verify-email-bundle
2021-09-14 13:05:41 +01:00
Hugo Sales
c0da90bd3e
[COMMON][SECURITY][WRAPPER] Added security service static wrapper and Common::getUser
2021-09-14 13:05:41 +01:00
Hugo Sales
97fd7620e7
[CORE][ROUTES] Small refactor on entrypoint and RouteLoader
2021-09-14 13:05:41 +01:00
Hugo Sales
1572261617
[TWIG] Add twig function to output the active tag if the current route matches a given one
2021-09-14 13:05:40 +01:00
Hugo Sales
cac00dd6d4
[CONTROLLER][ROUTES] Refactor the base Controller to not reinvent the wheel too much and rely on Symfony's events
2021-09-14 13:05:40 +01:00
Hugo Sales
a1c90f2e15
[ROUTES] Change name of admin and settings routes and refactor the way they're specified
2021-09-14 13:05:40 +01:00
Hugo Sales
56f74fffe8
[CONTROLLER][ROUTES] Refactor controllers to use the new base class and remove controller from the class name
2021-09-14 13:05:40 +01:00
Hugo Sales
2796ac5228
[NOTIFICATION][DATABASE] Update user notification prefs table, implementation of Notification and define a base class for notification transport
2021-09-14 13:05:40 +01:00
Hugo Sales
df4d246ede
[CONTROLLER] Remove example enqueue
2021-09-14 13:05:40 +01:00
Hugo Sales
59fcd042e9
[DEFAULTS] Add password hashing algorithm default settings
2021-09-14 13:05:40 +01:00
Hugo Sales
0eba267a73
[LOGIN] Implement password checking and related systems
2021-09-14 13:05:40 +01:00
Hugo Sales
f3ccdf8017
[USER] Add UserRoles
2021-09-14 13:05:40 +01:00
Hugo Sales
5a74354703
[DATABASE] Add role collumn to profile table
2021-09-14 13:05:39 +01:00
Hugo Sales
8ce0f05371
[UTIL] Update Common::config to ensure the values queried exist
2021-09-14 13:05:39 +01:00
Hugo Sales
ae373c7d96
[DEFAULTS][FIX] Fix logic error that kept reloading the table when the file wasn't modified
2021-09-14 13:05:39 +01:00
Hugo Sales
3313897671
[UI][SESSION] Add login and logout pages
2021-09-14 13:05:39 +01:00
Hugo Sales
fb53700be2
[LIB][Util] Remove Functional::arity as it got merged upstream as Functional\ary
2021-09-14 13:05:39 +01:00
Hugo Sales
d6cd52cede
[LIB][Util] Make Common::config return the unserialized value instead of the entity
2021-09-14 13:05:39 +01:00
Hugo Sales
284fbe2c5b
[CORE] Refactor GNUsocial.php so it initializes itself as a service
2021-09-14 13:05:39 +01:00
Hugo Sales
e482ecfb87
[I18N] Remove support for context until it proves necessary, as it broke the code
2021-09-14 13:05:39 +01:00
Hugo Sales
028d7c929f
[TOOLS] Update shebang on scripts to use the correct php executable
2021-09-14 13:05:39 +01:00
Hugo Sales
f246667fe5
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:05:38 +01:00
Hugo Sales
7c8ab40e3a
[DATABASE] Rename user table to local_user, since doctrine shits itself otherwise ._.
2021-09-14 13:05:38 +01:00
Hugo Sales
8f68bde21a
[DEPENDENCY] Add symfony/config as a dependency
2021-09-14 13:05:38 +01:00
Hugo Sales
01b5c4b2f7
[CONFIG] Change way configuration is done to use Symfony's system instead of environment vars
2021-09-14 13:05:38 +01:00
Hugo Sales
fffa17448f
[CORE][I18n][DEFAULTS] Remove I18nHelper
2021-09-14 13:05:38 +01:00
Hugo Sales
339003f210
[LIB][Util] Change methods in the Common class to camelCase, add isSystemPath (previously in Nickname.php)
2021-09-14 13:05:38 +01:00
Hugo Sales
d0771f77bc
[UTIL][NICKNAME] Import nickname utilities and exceptions from v2
2021-09-14 13:05:38 +01:00
Hugo Sales
07c033de33
[DEFAULTS] Update default reserved usernames
2021-09-14 13:05:38 +01:00
Hugo Sales
3992629a08
[DATABASE][WRAPPER] Add findBy method which allows finding entities with a complex expression
2021-09-14 13:05:38 +01:00
Hugo Sales
0ac1d563de
[DATABASE] Re-import the local_group table, as it'll be used as per the new group semantics
2021-09-14 13:05:37 +01:00
rainydaysavings
d6320943ce
[UI] Settings routes refactor, avatar and misc settings added.
2021-09-14 13:05:37 +01:00
rainydaysavings
6dd966bd3f
[UI][CONTROLLER][ROUTES] UserPanel account page form added, account page CSS work
2021-09-14 13:05:37 +01:00
rainydaysavings
5a53915f80
[UI] Fixed top header spacing issue, hamburger menu weird rendering
2021-09-14 13:05:37 +01:00
rainydaysavings
d0b04b6084
[UI] FAQ pages markdown fixes
2021-09-14 13:05:37 +01:00
rainydaysavings
c9f731507b
[UI][CONTROLLER] Form help messages added, fixed checkbox trick hitbox
2021-09-14 13:05:37 +01:00
rainydaysavings
0dfb96cdeb
[UI] Reset CSS added, small fixes all around
2021-09-14 13:05:37 +01:00
rainydaysavings
1558bffcac
[UI] Settings page CSS redesign port completed
2021-09-14 13:05:37 +01:00
rainydaysavings
63a443e78e
[UI][CONTROLLER][ROUTES] Corrected core action name, UserPanel CSS work
2021-09-14 13:05:37 +01:00
rainydaysavings
0b0bd31a4b
[UI] Fixed FAQ template issues
2021-09-14 13:05:36 +01:00
rainydaysavings
19a96539aa
[UI] Side panel animation added
2021-09-14 13:05:36 +01:00
rainydaysavings
22042a8cb7
[UI] Redesign responsiveness work done
2021-09-14 13:05:36 +01:00
rainydaysavings
f8fc226673
[UI] Further work into new side panel design
2021-09-14 13:05:36 +01:00
rainydaysavings
4eaf272929
[UI] Basic implementation of the new base design
2021-09-14 13:05:36 +01:00
rainydaysavings
115257f3bb
[UI] Polishing FAQ CSS
2021-09-14 13:05:36 +01:00
rainydaysavings
0117883bd5
[UI] Standardization of sizes and variable usage for faster theming
2021-09-14 13:05:36 +01:00
rainydaysavings
02318d954c
[UI][CONTROLLER] Profile settings action functionality working
2021-09-14 13:05:36 +01:00
Hugo Sales
643a937152
[DATABASE][WRAPPER] Update DATABASE wrapper so entity names are provided without the namespace
2021-09-14 13:05:36 +01:00
Hugo Sales
0615adbb51
[DOCKER] Add redis to the docker image
2021-09-14 13:05:36 +01:00
Hugo Sales
09c2a762ef
[CACHE] Fix usage of the redis extension
2021-09-14 13:05:35 +01:00
Hugo Sales
c0a17af062
[DOCKER] Fix redis extension build process to use LZ4 and add APCu
2021-09-14 13:05:35 +01:00
Hugo Sales
4776cff969
[DEPENDENCY] Add mock polyfill implementations of the redis and memcached extension
2021-09-14 13:05:35 +01:00
Hugo Sales
31ad75564f
[CACHE][Redis] Add special support for redis (fixed size lists), set method and general fixes
2021-09-14 13:05:35 +01:00
Hugo Sales
c602cf8422
[LIB][Util] Refactor and implement array indexing methods on RingBuffer
2021-09-14 13:05:35 +01:00
Hugo Sales
071c1aaec4
[DOCKER] Updated php image so redis is compiled with LZ4 compression available, as it's the fastest at decompressing and really fast at compressing. Read performance is more important, with this being used as a cache
2021-09-14 13:05:35 +01:00
Hugo Sales
c549bea4a9
[CACHE] Add support for multiple pools with the syntax (as an example) SOCIAL_CACHE_ADAPTER='default=redis://localhost:6379,memcached://localhost:11211;db.config=apcu://'
2021-09-14 13:05:35 +01:00
Hugo Sales
d35b6f3437
[DOCKER] Add msgpack and redis extensions to docker image
2021-09-14 13:05:35 +01:00
Hugo Sales
cfe1901b51
[DEFAULTS] Add modified time to config table (as value) and only reload the defaults if the file is newer
2021-09-14 13:05:35 +01:00
Hugo Sales
e91a141474
[CACHE] Extend the static wrapper to support working with lists in caches that don't natively support them
2021-09-14 13:05:34 +01:00
Hugo Sales
7f5e574cbf
[LIB][Util] Add Ring Buffer data structure
2021-09-14 13:05:34 +01:00
Hugo Sales
05ffc0db9c
[DOCKER] Move certbot files to hidden folder, so it's ignored by GNU global
2021-09-14 13:05:34 +01:00
Hugo Sales
0e0321cfef
[DEFAULTS][FIX] Fix defaults to use value from environment
2021-09-14 13:05:34 +01:00
Hugo Sales
2671c37039
[PHP][EXTENSION][POLYFILL] Add php-ds polyfill, which is used if the native extension is not available
2021-09-14 13:05:34 +01:00
Hugo Sales
279b7e775b
[DOCKER][PHP][EXTENSION] Add PHP ds extension to docker PHP image
2021-09-14 13:05:34 +01:00
Hugo Sales
52aad30030
[TOOLS][configure] Fix to use quotation marks properly
2021-09-14 13:05:34 +01:00
Hugo Sales
9d2f6e7425
[CACHE][WRAPPER] Fix cache wrapper
2021-09-14 13:05:34 +01:00
Hugo Sales
4f85594bec
[FORMATTING][DEFAULTS] Fix formatting and remove redundant config defaults
2021-09-14 13:05:34 +01:00
Hugo Sales
b7b50f749b
[CACHE][HTTP] Configure simple HTTP cache
2021-09-14 13:05:33 +01:00
Hugo Sales
65cc487a29
[CACHE] Add a static wrapper around symfony/cache
2021-09-14 13:05:33 +01:00
Hugo Sales
81dd2e4c72
[DEPENDENCY] Add symfony/cache as a dependency
2021-09-14 13:05:33 +01:00
Hugo Sales
aae883880f
[LOG][WRAPPER] Refactor log wrapper
2021-09-14 13:05:33 +01:00
Hugo Sales
d48cb3f0b8
[QUEUE] Add queueing wrapper, default configuration and example usage
2021-09-14 13:05:33 +01:00
Hugo Sales
441fd8490f
[DEPENDENCY] Add symfony/messenger as a dependency
2021-09-14 13:05:33 +01:00
Hugo Sales
9c483e6e79
[DATABASE] Delete queue_item table, as queueing will be handled by messenger
2021-09-14 13:05:33 +01:00
Hugo Sales
423129486c
[CONTROLLER] Show dummy notices in main/all
2021-09-14 13:05:33 +01:00
Hugo Sales
8e30b9423b
[MODULES] Make ModulesManager check if file exists
2021-09-14 13:05:33 +01:00
Hugo Sales
59b2b98537
[CONTROLLER] Add Controller base class, which handles rendering templates if requested HTML or json, accordingly
2021-09-14 13:05:32 +01:00
Hugo Sales
a56c7934ec
[ROUTE] Fix routes, config_admin got deleted
2021-09-14 13:05:32 +01:00
Hugo Sales
936d13d966
[COMMAND][DEPRECATION][FIX] Fix app:events's deprecation
2021-09-14 13:05:32 +01:00
Hugo Sales
3483be1770
[GIT] Update gitignore to ignore composer.local.json, where plugin settings will be placed
2021-09-14 13:05:32 +01:00
Hugo Sales
e97ba23a99
[DEPENDENCY] Update all dependencies
2021-09-14 13:05:32 +01:00
Hugo Sales
5b5ca6ccea
[DEPENDENCY] Add wikimedia/composer-merge-plugin as a dependency, to allow managing plugins
2021-09-14 13:05:32 +01:00
rainydaysavings
ac46c14344
[DEPENDENCY] Add erusev/parsedown and twig/markdown-extra as dependencies
2021-09-14 13:05:32 +01:00
rainydaysavings
81e8173ed4
[TWIG][CONFIG] Change default_path and add public_path
2021-09-14 13:05:32 +01:00
rainydaysavings
996f2338a5
[CONTROLLER] UserAdminPanel handle request fix
...
[UI] Minor CSS font size corrections
2021-09-14 13:05:32 +01:00
rainydaysavings
82d50cc962
[TWIG][UI] Settings: removed unnecessary pages, responsive CSS work
2021-09-14 13:05:32 +01:00
rainydaysavings
1498c44e74
[UI][CONTROLLER] Settings page styling almost done.
2021-09-14 13:05:31 +01:00
rainydaysavings
79b9e66315
[TWIG] faq/contact template route fix
2021-09-14 13:05:31 +01:00
rainydaysavings
8674d20327
[FAQ] Removing unnecessary categories.
2021-09-14 13:05:31 +01:00
rainydaysavings
22b68766db
[UI][FAQ] FAQ polish, better use of twig, responsive css.
2021-09-14 13:05:31 +01:00
rainydaysavings
17d737b590
[UI][Mobile][FAQ][ROUTES] FAQ sub pages and routing added, small screen css work started.
2021-09-14 13:05:31 +01:00
rainydaysavings
768607fe98
[UI] Icon assets now work with Symfony asset component, header icon placement fixes
2021-09-14 13:05:31 +01:00
rainydaysavings
432dfdd0ae
[UI][ROUTES][CONTROLLER] Settings pages routes and styling done.
2021-09-14 13:05:31 +01:00
rainydaysavings
f3e9671b1a
[UI] Work started on profile settings page.
2021-09-14 13:05:31 +01:00
rainydaysavings
6cf90954dd
[UI][Header] New header implemented.
2021-09-14 13:05:31 +01:00
rainydaysavings
ad107542d9
[TWIG][UI] CSS refactoring, containerized twig blocks and settings initial work
2021-09-14 13:05:30 +01:00
rainydaysavings
bf0e944aaa
[TWIG] FAQ base template hierarchy fixes
...
Minor refactoring of routes for FAQ static pages
2021-09-14 13:05:30 +01:00
rainydaysavings
02ddf96371
[UI][ROUTES] Better use of icons, fixing static pages routing.
2021-09-14 13:05:30 +01:00
rainydaysavings
1989cb481a
[UI][FAQ] Better FAQ organization, removing unnecessary categories.
2021-09-14 13:05:30 +01:00
rainydaysavings
727083ec88
[UI][Mobile][FAQ] FAQ polish, better use of twig, responsive css.
2021-09-14 13:05:30 +01:00
rainydaysavings
ecd7aedf0c
[UI][Mobile][FAQ] FAQ sub pages and routing added, small screen css work started.
2021-09-14 13:05:30 +01:00
rainydaysavings
aac90a9c9e
[UI] SVG icons added
...
[TWIG][UI] Header completed
2021-09-14 13:05:30 +01:00
rainydaysavings
9d36861076
[UI][FAQ] FAQ page progress, assets folder and assets added
2021-09-14 13:05:30 +01:00
rainydaysavings
124e1a70c1
[UI][FAQ] Controller and Route for FAQ page created as well as basic template structure
2021-09-14 13:05:30 +01:00
Hugo Sales
0eb0d21007
[TOOLS] Fix bootstrap and pre-commit scripts
2021-09-14 13:05:29 +01:00
Hugo Sales
4d92915846
[MODULE] Move 'foreign' entities from core to a module
2021-09-14 13:05:29 +01:00
Hugo Sales
97b583aee7
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:05:29 +01:00
Hugo Sales
2eab90bbb0
[TOOLS] Update bin/generate_entity_fields script
2021-09-14 13:05:29 +01:00
Hugo Sales
5eae3dc351
[CORE][DATABASE] Replace zero dates with CURRENT_TIMESTAMP and add defaults to all 'created' or 'modified'
...
This commit is a port from v2's 9a515b9234
([SCHEMA] Improve timestamp storage) to v3.
As explained by Alexei Sorokin:
Avoid the use of deprecated MariaDATABASE "zero dates" globally. If they're present
as attribute defaults somewhere, they will be replaced with NULL implicitly.
The existing "zero dates" in MariaDATABASE storage will be left intact and this
should not present any issues.
The "timestamp" type in table definitions now corresponds to DATETIME in
MariaDATABASE with "DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", which
should be close enough to the original behaviour for compatibility purposes.
It is now the recommended type for "modified" attributes, because of the
update trigger on MariaDATABASE. But there is no such trigger implemented on
PostgreSQL as of this moment.
2021-09-14 13:05:29 +01:00
Hugo Sales
25aeac80a3
[CORE][DATABASE] Restructure the database
2021-09-14 13:05:29 +01:00
Hugo Sales
44eaf43ba9
[ROUTE][ADMIN][CONFIG] Add route to update values in the config table
2021-09-14 13:05:29 +01:00
Hugo Sales
e286f39551
[DEFAULTS] Small fixes and add check of SOCIAL_NO_RELOAD_DEFAULTS from the environment, to override the reloading of default values
2021-09-14 13:05:29 +01:00
Hugo Sales
84be8e1711
[DOCUMENTATION] Fixed type annotations and documentation of Common::size_str_to_int
2021-09-14 13:05:29 +01:00
Hugo Sales
b7a8861f55
[CORE][Event] Move GSEvent to Event, no longer a name collision
2021-09-14 13:05:28 +01:00
Hugo Sales
b32e173749
[FORM] Added Symfony Form wrapper
2021-09-14 13:05:28 +01:00
Hugo Sales
bc6ead4ab1
[CORE][Symfony] Fixed deprecation resultant from Symfony 5.1 upgrade
...
User Deprecated: Since symfony/framework-bundle 5.1: Using type
"Symfony\Component\Routing\RouteCollectionBuilder" for argument 1 of
method "App\Kernel:configureRoutes()" is deprecated, use
"Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator"
instead.
2021-09-14 13:05:28 +01:00
Hugo Sales
7a52c1d823
[TESTS][I18N] Added test for I18n::_m and I18nHelper::formatICU
2021-09-14 13:05:28 +01:00
Hugo Sales
753f852941
[I18N] Fix implementation of I18nHelper::formatICU
2021-09-14 13:05:28 +01:00
Hugo Sales
491e82f94e
[ROUTES] Add easier support for using TemplateController and improved documentation
2021-09-14 13:05:28 +01:00
Hugo Sales
f28ff24f2a
[I18N] Small fixes. Still broken, though :')
2021-09-14 13:05:28 +01:00
Hugo Sales
fb457d4a45
[AUTOLOAD] Always autoload _m file
2021-09-14 13:05:28 +01:00
Hugo Sales
8649b72192
[DEPENDENCY] Upgrade Symfony framework from 5.0 to 5.1
2021-09-14 13:05:28 +01:00
Hugo Sales
db5811a77e
[DEPENDENCY][DEV] Added Symfony Bridge PHPUnit
2021-09-14 13:05:27 +01:00
Hugo Sales
4133fc3290
[GIT] Updated gitignore
2021-09-14 13:05:27 +01:00
Hugo Sales
10ca51e72a
[I18N] Overhaul _m() implementation to support ICU message formats
2021-09-14 13:05:27 +01:00
Hugo Sales
a65a46f14e
[I18N] Dumped english translation files
2021-09-14 13:05:27 +01:00
Hugo Sales
e3d8ea7912
[TOOLS] Small fix to composer install hook
2021-09-14 13:05:27 +01:00
Hugo Sales
711af58dcd
[I18N] Added ability to call `_m_dynamic` from any class, allowing it to define translations for dynamic-valued calls to `_m`
2021-09-14 13:05:27 +01:00
Hugo Sales
5be901f9ce
[TOOLS] Improve configure script to disallow reserved database names
2021-09-14 13:05:27 +01:00
Hugo Sales
dc7387cc8d
[I18N] Custom translation extractor based on Symfony's PhpExtractor, since we use instead of
2021-09-14 13:05:27 +01:00
Hugo Sales
f283613443
[I18N] Refactor since rfc/use-static-function is not implemented
...
As the above mentioned RFC is not implemented, `_m` needs to be
outside of the I18n class, otherwise it would have to always be called
with `I18n::_m`.
2021-09-14 13:05:27 +01:00
Hugo Sales
186b9e7683
[ROUTES] Add static wrapper around Symfony's router
2021-09-14 13:05:27 +01:00
Hugo Sales
4ffb7c338f
[CORE] Refactoring core
2021-09-14 13:05:26 +01:00
Hugo Sales
87bc60a806
[UI][CONFIG] Added admin configuration form
2021-09-14 13:05:26 +01:00
Hugo Sales
436b44df89
[I18N] Fix i18n and add default domain 'Core'
2021-09-14 13:05:26 +01:00
Hugo Sales
13ae29cae2
[DEFAULTS] Fix default config loading logic
2021-09-14 13:05:26 +01:00
Hugo Sales
7c18f10bd2
[TOOLS] Fixed all licence blocks, to use the same, foldable, format
2021-09-14 13:05:26 +01:00
Hugo Sales
82ae4f8920
[DEPENDENCY] Added alchemy/zippy, which adds support for multiple archive formats. Used to allow theme uploads in zip, tar, gz, or other formats
2021-09-14 13:05:26 +01:00
Hugo Sales
02db154495
[DOCUMENTATION][DEFAULTS] Documented all defaults and updated some. Restructured other documentation.
2021-09-14 13:05:26 +01:00
Hugo Sales
4deb446f39
[DEFAULTS] Remove deprecated defaults and convert them to snake_case
2021-09-14 13:05:26 +01:00
Hugo Sales
6cc19b83df
[GIT] Added docker-compose to gitignore, in preparation for using a script to generate them
2021-09-14 13:05:26 +01:00
Hugo Sales
a794c28e75
[DATABASE] Change the way defaults are loaded, bulk insert, reload everything in debug mode, only on http requests (not command line)
2021-09-14 13:05:25 +01:00
Hugo Sales
5a61098d28
[TOOLS] Update install scripts
2021-09-14 13:05:25 +01:00
Hugo Sales
988be9dbf1
[DATABASE] Fix 'relation config doesn't exist'
2021-09-14 13:05:25 +01:00
Hugo Sales
0ccc359880
[DATABASE] Postgres doesn't understand '0000-00-00 00:00:00' for datetime, use '-infinity'
2021-09-14 13:05:25 +01:00
Hugo Sales
aaf38353ea
[DOCKER] Change postgres data path to the correct one
2021-09-14 13:05:25 +01:00
Hugo Sales
b9bc88ddbf
[DATABASE][CONFIG] Loading defaults into database, doctrine static wrapper
2021-09-14 13:05:25 +01:00
Hugo Sales
cdb863ba17
[DATABASE][CONFIG] Bring default configs from V2 and implement DATABASE wrapper
2021-09-14 13:05:25 +01:00
Hugo Sales
736a1f7012
[ASSETS] Import old favicon.ico
2021-09-14 13:05:25 +01:00
Hugo Sales
dd559402cd
[CORE][UTIL] Moved classes from util to core
...
And splitted up Common
2021-09-14 13:05:25 +01:00
Hugo Sales
f628665589
[FORMATTING] Cherry-pick of Diogo's 763ac735c0758624ebd5957993dc0676b865927a
2021-09-14 13:05:24 +01:00
Diogo Cordeiro
f60e37ba3d
[DOCKER][BOOTSTRAP] Add option to use a self signed cert
2021-09-14 13:05:24 +01:00
Diogo Cordeiro
cb7518a750
[DOCUMENTATION][TOOL] Small bug fixes and docblock elaboration
2021-09-14 13:05:24 +01:00
Hugo Sales
243aefe683
[CORE] Rename GNU social constants
2021-09-14 13:05:04 +01:00
Hugo Sales
09e70da366
[DOCUMENTATION] Updated INSTALL.md to reflect the fact that a CNAME record can be used directly
2021-09-14 13:05:04 +01:00
Hugo Sales
9449dd26c5
[DOCUMENTATION] Import installation instructions for installing without docker from V2
2021-09-14 13:05:04 +01:00
Hugo Sales
1ce5661f70
[DOCKER] Small fixes to docker setup, imported from V2
2021-09-14 13:05:03 +01:00
Hugo Sales
bf88c97f4a
[DOCUMENTATION] Added a code walkthrough document, which explains how the codebase works
2021-09-14 13:05:03 +01:00
Hugo Sales
0620d9a726
[DOCUMENTATION] Added install documentation
2021-09-14 13:05:03 +01:00
Hugo Sales
8a86c5940d
[TOOLS] Updated install script to also support mariadb
2021-09-14 13:05:03 +01:00
Hugo Sales
50e450f082
[TOOLS][DOCKER] Further fixes in the docker environment and fixed the install script
2021-09-14 13:05:03 +01:00
Hugo Sales
b1afa9cf91
[DOCKER] Fixed docker environment to properly configure the app environment
2021-09-14 13:05:03 +01:00
Hugo Sales
cf1a9fe893
[TOOLS] Added script to configure the installation and to bootstrap certificate creation with Let's Encrypt
2021-09-14 13:05:03 +01:00
Hugo Sales
e0b26ad38b
[TOOLS][SSL] Added bin/boostrap_certificates.sh, allowing for easy configuration of SSL certificates with Let's Encrypt
2021-09-14 13:05:03 +01:00
Hugo Sales
06b5fe2cdf
[TOOLS][DOCUMENTATION] Improvements to entity generation script
2021-09-14 13:04:39 +01:00
Hugo Sales
cbbdae6831
[DOCUMENTATION] Added generated diagram
2021-09-14 13:04:39 +01:00
Hugo Sales
bb5cdc03e4
[DOCUMENTATION][TOOLS] Wrote a tool to generate entity diagrams from the database definition
2021-09-14 13:04:39 +01:00
Hugo Sales
a7cc7f4e27
[UTIL] Wrote HTML library to convert arrays to html
2021-09-14 13:04:39 +01:00
Hugo Sales
8ff0f230ed
[GITIGNORE] Add file folder to gitignore
2021-09-14 13:04:39 +01:00
Hugo Sales
fe73001c36
[DATABASE] Changed the type of the 'id' field of the ProfileList table from serial to int, as doctrine complains otherwise
2021-09-14 13:04:39 +01:00
Hugo Sales
afc4e87353
[TOOLS][CS-FIX] Altered some php-cs-fix rules
2021-09-14 13:04:38 +01:00
Hugo Sales
1f35af7169
[DATABASE][AUTOCODE] Update autocode to use \DateTimeInterface instead of DateTime
2021-09-14 13:04:38 +01:00
Hugo Sales
c583c0f266
[TOOLS] Fix the generate_entities_fields script
2021-09-14 13:04:38 +01:00
Hugo Sales
42321b936f
[SCHEMADEF] Bug fixes
2021-09-14 13:04:38 +01:00
Hugo Sales
eee803d2e9
[DATABASE] Add missing table names
2021-09-14 13:04:38 +01:00
Hugo Sales
e022a5e65e
[MODULES] Fix small error in modules manager
2021-09-14 13:04:38 +01:00
Hugo Sales
6193062590
[DATABASE][AUTOCODE] Autogenerated fields, setters and getters for each entity
2021-09-14 13:04:38 +01:00
Hugo Sales
55bc66d7ed
[TOOLS][AUTOCODE] Fixed generate_entities script
2021-09-14 13:04:38 +01:00
Hugo Sales
7e47846b80
[TOOLS] Change autocode tag to allow editor folding
2021-09-14 13:04:38 +01:00
Hugo Sales
f1e72255f1
[DATABASE] Removed calls to common_config
2021-09-14 13:04:37 +01:00
Hugo Sales
03a8c80c4f
[FORMATTING] Changed license block format to allow folding
2021-09-14 13:04:37 +01:00
Hugo Sales
8d41944f90
[DATABASE] Extracted schemaDef method from old files and refactored onto new files
2021-09-14 13:04:37 +01:00
Hugo Sales
c38b9a1503
[COMMON] Added toCamelCase and toSnakeCase functions
2021-09-14 13:04:37 +01:00
Hugo Sales
98a5b89e42
[TOOLS] Add script used to port from old class files to entities
2021-09-14 13:04:37 +01:00
Hugo Sales
24c8fefe58
[CORE][DATABASE] Import old classes folder into src/Entity
2021-09-14 13:04:37 +01:00
Hugo Sales
8fd54efe8d
[DATABASE] Remove testing entity
2021-09-14 13:04:37 +01:00
Hugo Sales
1c3ed4cddb
[TOOLS] Add command which imports a file with it's history
2021-09-14 13:04:37 +01:00
Hugo Sales
0c79dfc67b
[MODULES] Rename extensions to modules, add example plugin, change plugin location
2021-09-14 13:04:37 +01:00
Hugo Sales
596009c924
[DOCUMENTATION] Document All The Things!
2021-09-14 13:04:33 +01:00
Hugo Sales
5d1685b142
[CORE][ROUTES] Implemented custom router, with an interface similar to the old one, which allows routes to be seperated into files
2021-09-14 13:01:35 +01:00
Hugo Sales
e92a0227a1
[COMMAND][EVENTS] Added command to list events and handlers, and search by regex
2021-09-14 13:01:35 +01:00
Hugo Sales
b50909a335
[CORE][COMMAND] Register internal structures on command event
2021-09-14 13:01:34 +01:00
Hugo Sales
6df658a987
[CORE][EXTENSIONS] Added extension (modules, plugins) loading and test plugin, which is able to handle events
2021-09-14 13:01:34 +01:00
Hugo Sales
cfc269aca4
[CORE][SCHEMADEF] Clean up SchemaDef compiler pass
2021-09-14 13:01:34 +01:00
Hugo Sales
23b47b2aeb
[CS-FIXER] Updated cs-fixer rules and added a temporary exception to the src/Entity folder (awaiting pr merge)
2021-09-14 13:01:34 +01:00
Hugo Sales
e3c0669b37
[DOCTRINE][SCRIPT] Created a script to generate the class fields and accessors from the schema definition
2021-09-14 13:01:34 +01:00
Hugo Sales
1b45936f19
[DOCTRINE][SCHEMADEF] Small refactoring
2021-09-14 13:01:34 +01:00
Hugo Sales
2c9a732256
[CORE][DOCTRINE] Implement SchemaDefDriver, which transforms the old syntax from to doctrine's metadata
2021-09-14 13:01:34 +01:00
Hugo Sales
4d7c8628f6
[DOCTRINE] Configure cli-config for doctrine console and ensure DATABASE is set to UTF-8
2021-09-14 13:01:34 +01:00
Hugo Sales
cc72373e3d
[DOCTRINE][SCHEMADEF] Create a new metadata driver to allow us to continue using static schemaDef functions
...
This has the benefit of requiring fewer code changes, as well as providing a better isolation
between GNU social and symfony, useful in case the framework needs to be changed
2021-09-14 13:01:34 +01:00
Hugo Sales
710aa946ab
[COMPOSER] Update composer dependencies
2021-09-14 13:01:33 +01:00
Hugo Sales
2215b05894
[CORE][I18N] Fix the translation system
2021-09-14 13:01:33 +01:00
Hugo Sales
2b9a15c1e9
[CORE][I18N] Port the translation system to rely on symfony's
2021-09-14 13:01:33 +01:00
Hugo Sales
feaee1b238
[CORE][EVENTS] Bring existing Events and Boostrapper back
...
- Adapt the existing event system to rely on Symfony's event dispatcher
2021-09-14 13:01:33 +01:00
Hugo Sales
b396f1227a
[CORE][ROUTES] Example route
2021-09-14 13:01:33 +01:00
Hugo Sales
7da61f8db5
[DOCKER] Updated dockerfile to add memcached
2021-09-14 13:01:33 +01:00
Hugo Sales
d6bb3e7caa
[DOCKER] Added preliminary docker container
2021-09-14 13:01:33 +01:00
Hugo Sales
633a3b0773
[COMPOSER] Update composer packages
2021-09-14 13:01:33 +01:00
Hugo Sales
4b31c1f48f
[V3] Big Bang
...
Beginning anew, this time with a modern framework: symfony
2021-09-14 13:01:33 +01:00
Hugo Sales
11154a0d8c
[V3] Big Crunch
...
And so, just as it begins, so too must it end
One should not dwell and stall, for more is to come
2021-09-14 13:01:23 +01:00
Diogo Peralta Cordeiro
50dd4fee0e
[CORE] Bump PHP version to 7.4
2021-07-18 13:08:41 +01:00
Diogo Peralta Cordeiro
7d8988d50c
[VersionBump] 2.0.0beta0
...
Updated composer and translations
composer install --no-dev
composer dump-autoload --optimize
git add vendor/ --force
make updatepo
2021-07-18 12:51:07 +01:00
Maiyannah Bishop
58d9b91dd3
[API] Security hotfix for source, picked from postActive
2021-07-17 20:25:36 +01:00
Diogo Peralta Cordeiro
b6bcd3b8c0
[PEAR] Force using extlib's patched version
2021-07-16 18:31:30 +01:00
Diogo Peralta Cordeiro
31433db539
[ActivityPub][POSTMAN] Do not die on network errors
2021-07-16 18:03:12 +01:00
Diogo Peralta Cordeiro
bdb4c54fa8
[DirectMessage] Fix some wrong calls after MessageModel introduction in d9a9a3746b
2021-07-16 17:36:33 +01:00
Diogo Peralta Cordeiro
55293e4008
[ActivityPub][INBOX] CREATE NOTE Attachments, we handle enclosures elsewhere
...
It was trying to make enclosures with objects instead of strings, also attachments don't use this, only links
2021-07-16 17:07:13 +01:00
Diogo Peralta Cordeiro
066dfbb66d
[MEDIA][MediaFile] Prevent issues with huge original filenames
2021-07-16 15:48:02 +01:00
Diogo Peralta Cordeiro
bb2c845f62
[ActivityPub][INBOX] CREATE NOTE now accepts <br> tag
2021-07-16 15:48:02 +01:00
Diogo Peralta Cordeiro
fbeadc1d49
[StoreRemoteMedia][SCRIPTS] Fix typo in query
...
This was introduced in 11ebb98919f56f7dcf888adfbebf9e8826f995b4#diff-96141878409d7418ea5a9eefbde509b43482c01R70
The arg number should have been one, as there's only one...
2021-07-16 15:46:25 +01:00
Alexei Sorokin
b6ce12a267
Update the project homepage and IRC channel
2021-06-12 11:30:12 +03:00
Hugo Sales
3b86f06134
[INSTALL] Update mailing list URL, as recommended by @Gijs
...
Closes notabug issue #327
2021-05-10 13:56:16 +00:00
Diogo Peralta Cordeiro
b4b71f7626
[StoreRemoteMedia] Fix failing to show remote thumbnails on first load
...
imgPath onCreateFileImageThumbnailSource would throw FileNotFoundException
2021-04-13 14:58:55 +01:00
Diogo Peralta Cordeiro
f088a3d54f
[Embed] Apply encoding and increased type strictness patches from StoreRemoteMedia
2021-04-13 14:55:45 +01:00
Diogo Peralta Cordeiro
5b23781e68
[StoreRemoteMedia] Gracefully recover from poorly encoded images
2021-04-13 14:54:56 +01:00
Diogo Peralta Cordeiro
edc9fd203d
[StoreRemoteMedia] Increase type strictness
2021-04-13 14:54:56 +01:00
Diogo Peralta Cordeiro
844ecbf71e
[Embed] Revert defaults and fix Readme example
2021-02-21 20:20:48 +00:00
Diogo Peralta Cordeiro
8570ad2094
[StoreRemoteMedia][SCRIPTS] Move removeRemoteMedia deleteRemoteMedia
2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
bc3eb7bccc
[MEDIA] Allow thumbnail only entries
2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
800c0daafe
[StoreRemoteMedia][SCRIPTS] Update removeRemoteMedia
2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
9b1ccdc320
[SCRIPTS] Update clean_file_table
2021-02-21 16:03:47 +00:00
Diogo Peralta Cordeiro
6c8e826028
[MEDIA][SCRIPTS] clean_thumbnails Allow to delete remote thumbs as well
...
If the sysadmin decides that StoreRemoteMedia plugin should store
original, then its thumbs will be regenerated as well, making it safe to
delete them if needed. Beware that Embed plugin never stores the original tho.
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
d47bb3736e
[Media] Document recently added settings and add some more
...
Fix some buggy ones, especially Embed crop
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
ec1719e61d
[StoreRemoteMedia][Embed] Bump plugins version
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
a657a7809a
[Media] Upload of previously uploaded files now works (bug fix)
...
This bug was introduced with the commit "[Media] Fix issues with database file storage"
due to the API change "File::getByHash now returns a yield of files".
I had updated this function on that commit but had missed this little detail.
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
ef0f65720e
[StoreRemoteMedia] Remote images are now stored exactly on the necessary size for the thumb
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
22b5dd8567
[Media] Fix several issues
...
[StoreRemoteMedia] Upgrade plugin to use the new Media system
API Changes:
- Added getters to File to better formalize the ideas of the commit "[Media] Fix issues with database file storage"
UI Changes:
- Now presented thumbnails are actual thumbnails (bug fix)
- Attachment actions have a slightly more extended behaviour
Many other minor bug fixes...
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
f9290705f8
[ActivityPub] Attachment fetch should happen on StoreRemoteMedia
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
e51520bd63
[Core] Add an event for StoreRemoteMedia and Embed
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
6028175bfc
[Media] Fix issues with database file storage
...
Fixed file quota as well.
There can be more than one file for the same filehash IF the url are different.
Possible states:
- A file with no url and with filename is a local file.
- A file with an url but no filename is a remote file that wasn't fetched,
not even the thumbnail.
- A file with an url and filename is a fetched remote file (maybe just a
thumbnail of it).
- A file with no filename nor url is a redirect.
Routes:
Given these states, updated routes so that an attachment can only be
retrieved by id and a file by filehash.
Major API changes:
File::getByHash now returns a yield of files
Major UI changes:
- Now remote non stored files are presented.
- /view became preferred
- Redirects to remote originals are preferred.
Many other minor bug fixes...
2021-02-21 16:03:46 +00:00
Diogo Peralta Cordeiro
e9cd437668
[DOCUMENTATION] git clone with https so people don't need an account
2021-02-21 15:57:00 +00:00
Diogo Peralta Cordeiro
aa153f2ee7
[i18n] Re-add gettext emulation
...
Removed by mistake with 9cc7df51d6#L50
2021-02-21 15:38:49 +00:00
Diogo Peralta Cordeiro
b1e6b00545
[ActivityPub] Re-implement Delete Actor
2021-02-21 15:00:58 +00:00
Diogo Cordeiro
4f0ddc85d3
Merge branch 'ukrainian-translation-fix-branch' of tokarskiy/gnu-social into nightly
2020-12-31 11:20:15 +00:00
Andrew Tokarskiy
5d45702d5f
Added some ukr translations
2020-12-31 10:17:45 +02:00
Andrew Tokarskiy
d731a5cb09
Fixed some ukrainian translation errors
2020-12-30 20:00:00 +02:00
Alexei Sorokin
06dfd91a82
Various fixes
...
Fix OAuth and Realtime issues introduced in 9a515b9234
[DATABASE] Fix an empty default value mistake introduced in
fde929b151
[DATABASE][PostgreSQL] Avoid use of pg_constraint.consrc, which was removed in
PostgreSQL 12.
[DATABASE][MariaDB] Fix a typo introduced in aed2344bd4
[DAEMON] Wrap an assignment inside "switch":
a follow-up to adc689cb15
2020-10-11 18:29:47 +03:00
Alexei Sorokin
c540466147
[XMPP] Respond to ping and track time monotonically
...
This also fetches a necessary update from the XMPPHP upstream.
2020-09-27 00:16:08 +03:00
Alexei Sorokin
4d8b04cda9
Clear out potential duplicates when semi-joining a union
...
Using a left outer join as a semi-join is not a valid approach.
Can still be used for an anti-semi-join.
2020-09-21 22:25:33 +03:00
Alexei Sorokin
aed2344bd4
Set the character set before making a connection
...
Ideally the character set should be set with the connection, and so this is
exactly what's being done now.
And now the character set code is attempted to be generalised.
2020-09-16 19:34:49 +03:00
SENOO, Ken
c2508f8fa2
Change required MySQL database character set variable
...
Changing `character_set_server` requires root permissions and rebooting
the server.
Which is impossible on shared web hosting services.
So use `character_set_database`. This variable can be changed with
user permissions using `ALTER DATABASE`.
2020-09-16 17:14:58 +03:00
Alexei Sorokin
52d67b0f44
Avoid ordering just by a timestamp
...
Try to also employ an id when possible.
Involves reworking some of the indices.
2020-09-15 16:59:27 +03:00
Alexei Sorokin
8079a476b6
Remove "magic quotes" code and avoid wrong order implode
...
"Magic quotes" were removed in PHP 5.4, no need to mitigate it anymore.
Avoid implode() with the join()-like order of arguments which was deprecated
since PHP 7.4 and implicitly since PHP 5.3.
Also avoid implode() with an implicit separator for stylistic reasons.
mktime() with no arguments has been deprecated since PHP 5.1.
2020-09-15 14:59:27 +03:00
Alexei Sorokin
2ef944d5c4
[UTIL] Sanitise instead of validate in common_copy_args()
...
And remove common_validate_utf8() which is now unused.
2020-09-15 14:53:35 +03:00
Alexei Sorokin
fde929b151
[DATABASE] Switch from PEAR DB to MDB2
2020-09-14 22:46:29 +03:00
Alexei Sorokin
96f1cc1a5c
[ActivityPub][INBOX][Delete] Stop if the ID is not present
2020-09-14 21:32:41 +03:00
Alexei Sorokin
647bf8c953
[ActivityPub] Fix use of ActivityPubPlugin::pull_remote_profile
...
It does not throw but return null.
2020-09-14 20:48:10 +03:00
Alexei Sorokin
d2c7d70f49
Fix "Implement a class for automatic temporary file handling"
...
TemporaryFile::commit throws instead of returning a bool.
2020-09-14 20:37:48 +03:00
Alexei Sorokin
001629b6dd
[Memcached_DataObject] Do not encache on insert
...
This resulted in N=0 and empty "modified" in cache.
2020-09-14 20:19:17 +03:00
Alexei Sorokin
b04469a252
[DATABASE] Make sure the session always uses UTF-8 and UTC
2020-09-12 15:40:39 +03:00
Alexei Sorokin
54484e56e7
[API] Fix /api/statuses/update reporting a failure
2020-09-12 13:58:57 +03:00
Alexei Sorokin
adc689cb15
Avoid use of assignments bare inside statements
...
Either use them in a subroutine call or put parentheses around the assignment.
2020-09-08 12:42:51 +03:00
Alexei Sorokin
d0f96a7023
[Profile] Extend the allowed length of nicknames to 191 characters
2020-09-06 21:20:24 +03:00
Alexei Sorokin
08145f635f
Implement a class for automatic temporary file handling
...
And adopt it all over the code.
2020-09-04 13:15:23 +03:00
Alexei Sorokin
4884a97223
[Memcached_DataObject] Change how multiGet achieves an ordered result
...
The previous approach sent the key values twice, which for large sets is
twice as bad.
As an optional feature of this approach multiGet now allows retrieving tuples
in exact order and amount of the requested key values.
2020-09-03 18:11:12 +03:00
Alexei Sorokin
55136c1c6f
[DirectMessage] Simplify the inbox query
2020-09-02 15:12:20 +03:00
Alexei Sorokin
fc300607e5
[ActivityPub] Check if a Notice is public via CC as well
2020-09-01 01:20:13 +03:00
Diogo Cordeiro
8c20ed0c89
[ActivityPub] Fix note URIs
2020-08-31 22:18:49 +01:00
Diogo Cordeiro
c8e9cbdbb8
[ActivityPub] Tombstones now have datetimes
2020-08-30 01:59:38 +01:00
Diogo Cordeiro
3f70ac5cde
[TheFreeNetwork] Fix invalid index on lookup
2020-08-30 01:59:35 +01:00
Diogo Cordeiro
11a7182594
[ActivityPub] Implement Failed Queue
2020-08-29 20:32:21 +01:00
Diogo Cordeiro
817074a787
[ActivityPub] Fix DELETE
2020-08-29 20:32:18 +01:00
Diogo Cordeiro
c75bf1a19d
[ActivityPub] Fix issues concerning Activity URIs
...
And some other minor bugs.
2020-08-29 11:29:12 +01:00
Alexei Sorokin
11ebb98919
[DATABASE] Fix use of ORDER BY with DISTINCT
...
statuses/retweets_of_me has performance fixed, so it is also stripped of its
"bad query" status.
2020-08-27 11:15:39 +03:00
Diogo Cordeiro
e4093343c2
[ActivityPub] Revert moving Disfavor to Queues
...
It seems this kind of notice isn't queued?
2020-08-27 02:14:47 +01:00
Diogo Cordeiro
101ea554ef
[ActivityPub][Queues] Fix Like
2020-08-27 02:12:22 +01:00
Diogo Cordeiro
ef6a986dc6
[TheFreeNetwork] Do not allow lower priority protocols to handle remote actors already handled by the higher ones
2020-08-27 01:32:15 +01:00
Alexei Sorokin
db593496a7
[Directory] Fix SQL string quotation
2020-08-26 16:27:35 +03:00
Alexei Sorokin
00c492891e
[Foreign_link] Change the type of "credentials" to blob
...
TwitterOAuthClient::packToken uses \0 as a delimeter which can cause issues on
TEXT or VARCHAR.
2020-08-25 16:06:37 +03:00
Alexei Sorokin
0e81f9c726
[OpenID] Correct table definition types
...
"server_url" should not be blob.
Lengths are adjusted to Auth/OpenID/(PostgreSQL|MySQL)Store.php.
2020-08-24 16:27:44 +03:00
Alexei Sorokin
b419c5cf7c
[Queue_item] Let DataObject construct WHERE IN
2020-08-24 16:16:00 +03:00
Alexei Sorokin
20e5a6d1f3
[TwitterBridge][DAEMONS] Fix database connection clean-up
2020-08-24 15:43:14 +03:00
Alexei Sorokin
99a9a5d850
[NOTICES] Condition pushdown in the subquery in inboxnoticestream
...
This improves performance on PostgreSQL.
2020-08-19 19:14:11 +03:00
Alexei Sorokin
a15d51c3d8
[DATABASE][PostgreSQL] Ignore index prefix length
2020-08-17 17:01:42 +03:00
Alexei Sorokin
b01974b665
[PostgreSQL] Set timezone to UTC
...
And remove some redundant neighbouring cruft:
utf8mb4 is already set in mysqlschema more than enough times.
2020-08-17 16:52:11 +03:00
Alexei Sorokin
be5bec9887
Rename the mysql_foreign_keys option to foreign_keys
...
And apply it universally.
2020-08-17 14:12:49 +03:00
Alexei Sorokin
27045f03f5
[SESSION] Session ID can be as long as 128 characters
2020-08-17 13:58:19 +03:00
Alexei Sorokin
071baf04fd
[NOTICE] Store "url" as TEXT and not VARCHAR(191)
2020-08-17 13:35:16 +03:00
Alexei Sorokin
341e34b766
[DATABASE] Change collation handling
...
Before now table definitions could define collations only for MariaDB using the
MariaDB's collation names directly.
Now instead definitions get a slightly more abstract collation name syntax, but
only supporting the collations utf8mb4_bin and utf8mb4_unicode_(cs|ci) (wrapped
as utf8_bin, utf8_general_(cs|ci)), because those are the ones that have
practical use for GNU social.
Which also means that on MariaDB the formerly used utf8mb4_general_(cs|ci) have
been superseded by utf8mb4_unicode_(cs|ci), as they are the more modern
replacement.
Introduce collation support on PostgreSQL which results in use of the C (POSIX)
collation as utf8_bin and the und-x-icu collation as utf8_general_cs.
utf8_general_ci is also mapped to und-x-icu, which makes it case-sensitive,
unfortunately.
2020-08-16 23:41:28 +03:00
Alexei Sorokin
5c21816b22
[SEARCH][PostgreSQL] Make LIKE search case-insensitive
2020-08-16 19:05:47 +03:00
Alexei Sorokin
afd18db381
[TwitterBridge] Create Foreign_user before Foreign_link
...
To keep foreign key constraints intact.
2020-08-13 23:59:40 +03:00
Alexei Sorokin
6c8cd4c9f8
[SEARCH][MariaDB] Change user-facing fulltext search syntax
...
Now analogous to the simple and safe PostgreSQL's websearch_to_tsquery syntax.
MariaDB's full-text boolean search queries will fail on input such as "@user"
(unquoted) which is particularly noticeable to the user.
2020-08-13 23:44:59 +03:00
Alexei Sorokin
255d395f1d
[SEARCH] Exclude message scope
2020-08-13 22:59:41 +03:00
tenma
2f845e98e8
[FFmpeg] Add FFmpeg plugin
...
FFmpeg plugin serves as a better performant/quality alternative to
resize animated GIFs than the ImageMagick plugin.
2020-08-14 23:32:15 +01:00
tenma
1371e3efb8
[MEDIA] Add WebP support
...
WebP format is now the default image format for anything that
is not an animated GIF. Image Intervention doesn't support
animated WebPs so we don't convert animated GIFs.
ImageFile:
MediaFile:
default:
- Add WebP support
2020-08-14 19:48:02 +01:00
tenma
8a2c1658a8
[ImageMagick] Remove unnecessary code
...
ImageMagickPlugin:
- Remove animated thumbnail setting, we'll be able to use FFmpeg for performance
- Remove onFillImageFileMetadata and onCreateFileImageThumbnailSource(), these
are handled just fine by ImageFile
- Bump minor version number
README:
- Update
2020-08-14 19:48:02 +01:00
Alexei Sorokin
b65c200922
[File] Fix file deletion violating foreign keys
2020-08-13 23:56:31 +03:00
Alexei Sorokin
33caf31237
[RedisCache] Connections should not be shared by daemon threads
2020-08-13 22:51:22 +03:00
Alexei Sorokin
cb7effca05
[Memcached] Do not set persistent connections for daemons
2020-08-13 22:51:22 +03:00
Alexei Sorokin
8745a3e824
[Embed] Fix a query typo in fixup_files.php
...
Regression introduced in ec86de2bc4
2020-08-13 22:51:22 +03:00
Alexei Sorokin
ac6510d481
[Memcached_DataObject] Thorough check of pivotGetClass arguments
2020-08-12 13:50:39 +03:00
Alexei Sorokin
2109c7b830
[Bookmark] Silence a warning when no tags in BookmarkForm
2020-08-12 13:19:59 +03:00
Alexei Sorokin
629857d3ef
[Bookmark] Fix undefined variable "rendered" in Activity options
2020-08-12 13:12:36 +03:00
Alexei Sorokin
60eed202dd
[EXTLIB][VALIDATE] Declare everything as static
...
As was originally intended by the author and is expected.
2020-08-12 12:08:54 +03:00
Alexei Sorokin
14e2621a05
[RSSCloud] Avoid the deprecated in PHP each() function
2020-08-11 19:40:46 +03:00
Alexei Sorokin
99da7963d1
[Managed_DataObject] Remove the "timestamp" type
...
It is converted to "datetime" in lib/database/schema.php
2020-08-11 18:30:12 +03:00
Alexei Sorokin
2abe910ff5
[RSSCloud] Update schema definition
2020-08-11 18:23:45 +03:00
Alexei Sorokin
15f7941daf
[Profile] Allow grantRole to work when role exists
2020-08-11 15:00:57 +03:00
Alexei Sorokin
535b87bb64
[RedisCache][DiskCache] Check if unserialize succeeded
2020-08-10 11:12:31 +03:00
Alexei Sorokin
e63c0d1b03
[TwitterBridge] Check if Notice::$lat and Notice::$lon are defined
2020-08-10 10:35:45 +03:00
Alexei Sorokin
8bc714a2b1
[DATABASE][MariaDB] Always use LONGBLOB for "blob"
...
"blob" is practically used with the expectation of unlimited length, which is
true with PostgreSQL's bytea, but not with MariaDB's BLOB, which is limited to
64KiB.
So instead use LONGBLOB, which has a maximum of 4GiB, effectively unlimited.
2020-08-10 10:55:59 +03:00
Alexei Sorokin
07b0aa8f52
[DATABASE] Fix remaining misuses of SQL's GROUP BY
2020-08-10 19:29:04 +03:00
Alexei Sorokin
ce665baa88
[Queue_item] There is no "modified" attribute
...
Fixes a regression introduced in ec86de2bc4
2020-08-10 17:46:30 +03:00
Alexei Sorokin
8c41663175
Revert "[CORE] Avoid the old "reply" relation in inboxnoticestream"
...
It is needed for mentions.
2020-08-10 17:23:57 +03:00
Alexei Sorokin
7cb10b71bb
[RequireValidatedEmail] Only check current user posts
...
This check made registration impossible when welcomeuser didn't have validation
as well.
And rename the "grandfatherCutoff" option to "exemptBefore".
"Grandfathering" is a relatively obscure term linked to the history of the
United States of America, so replace that with something self-descriptive.
2020-08-09 23:58:25 +03:00
Alexei Sorokin
47cacf5f1a
[NOTICES] Restore FullNoticeStream
...
But only allow a select number of verbs.
This is to display optional subscription notices.
2020-08-09 21:00:14 +03:00
Alexei Sorokin
042e4b070c
[EmailAuthentication] Check if e-mail with filter_var
2020-08-09 20:35:31 +03:00
Alexei Sorokin
f84dbb369f
[DATABASE] Enable fulltext search by default
...
Also rename fulltext indices to more fitting names
and move the check from classes into database/schema.php
2020-08-08 18:08:06 +03:00
Alexei Sorokin
34ec165bff
[DATABASE][PostgreSQL] Add fulltext search support
2020-08-08 16:56:20 +03:00
Alexei Sorokin
b20c0bdec7
Clean Notice_prefs and Fave_tally when a notice is deleted
2020-08-08 12:22:35 +03:00
t3nma
c527ad0803
[COMPOSER] Add new php-ffmpeg package
2020-08-07 23:42:38 +01:00
Alexei Sorokin
0a6bb5190f
[ExtendedProfile] Clean up of missing array indices handling
2020-08-07 11:59:17 +03:00
Alexei Sorokin
cf353f8829
[TwitterBridge] Do not fail on missing notice
2020-08-07 11:42:21 +03:00
Alexei Sorokin
2bd7c021fd
[ACTIONS] Fix selftag
2020-08-07 10:20:03 +03:00
Alexei Sorokin
46f788d1eb
[UTIL] Fix up common_ensure_session()
...
Give priority to cookies over GET.
Make sure session ids have only expected characters
(PHP file session handler's limitation).
Replace a mostly useless log warning with a debug message.
2020-08-06 21:54:49 +03:00
Alexei Sorokin
5ea5d30075
[EXCEPTIONS] Inherit the Previous Exception parameter
2020-08-06 20:03:44 +03:00
t3nma
22d650469b
[TwitterBridge] Fix issue "Only variables should be assigned by reference"
...
From the docs: "The new operator returns a reference automatically, so
assigning the result of new by reference is not allowed as of PHP 7.0.0"
2020-08-06 17:25:27 +01:00
Diogo Cordeiro
849ad494d8
[ActivityPub][NOTICE] Process attachments
2020-08-05 18:23:41 +01:00
Diogo Cordeiro
7a2bb38331
[MEDIA] fromUrl now supports using original file name
2020-08-05 17:53:31 +01:00
Diogo Cordeiro
1428ac2cb0
[ActivityPub][NOTICE] Fix variable being wrongly reused
2020-08-05 17:53:31 +01:00
Diogo Cordeiro
efdc7d9ba0
[ActivityPub][INBOX][Delete] Support Delete Actor object being a Tombstone
2020-08-05 17:53:31 +01:00
Diogo Cordeiro
e4e41bb595
[ActivityPub][NOTICE] Fix other federation protocols mention handling
2020-08-04 20:00:55 +01:00
Diogo Cordeiro
379fbb6e5d
[ActivityPub][SCRIPTS] Add fix_subscriptions.php
2020-08-04 17:12:01 +01:00
Diogo Cordeiro
09c3236afc
[TheFreeNetwork][fix_duplicates.php] Don't die because you couldn't federate an undo follow
2020-08-04 13:03:33 +01:00
Diogo Cordeiro
7d52440461
[TheFreeNetwork][fix_duplicates.php] Small improvements on queries performed
2020-08-04 12:38:51 +01:00
Alexei Sorokin
e206995268
Set HTTP status codes with http_response_code()
2020-08-04 14:12:17 +03:00
Alexei Sorokin
ab4120721f
[Favorite] Fix "Properly trigger DisfavorNotice on profile deletion"
...
Calling find() inside delete() is probably not a good idea.
2020-08-04 13:23:31 +03:00
Diogo Cordeiro
a9c365a5eb
[VersionBump] 2.0.0alpha0
...
Ran composer update and locale updater
2020-08-04 05:31:44 +01:00
Diogo Cordeiro
8ad928d48d
[TheFreeNetwork] Add Readme
...
Improve script fix_duplicates.php's comments
2020-08-04 05:10:11 +01:00
t3nma
ebf5efe9f2
[TheFreeNetwork] Add fix_duplicates script
2020-08-04 05:02:06 +01:00
t3nma
c7055341f9
[TheFreeNetwork] Small rewrite to the onStartTFNLookup event
2020-08-04 02:45:32 +01:00
Diogo Cordeiro
34c5be5c42
[MODULES] Make default loading attributes available in global config
2020-08-04 01:36:21 +01:00
t3nma
1675916fda
[ActivityPub][QUEUES] Handle Create (AS1 POST) verb properly
...
Fixes a bug introduced in e504d13120
2020-08-03 18:21:47 +01:00
Alexei Sorokin
a38c608420
[SCHEMA] Better DBMS information fetching
...
On PostgreSQL:
- Parse defaults for strings and booleans properly.
- Parse the "serial" definition type properly.
- Get information on the "enum" definition type.
- Re-work getting information about keys/indices.
On MariaDB:
- Get information about lengths in indices.
- Get foreign key information separately from the rest as they can have
colliding names.
2020-08-01 19:05:48 +03:00
Alexei Sorokin
20be1d179a
[OpenID][DATABASE] Store UNIX timestamps as BIGINT
2020-07-31 18:40:53 +03:00
Alexei Sorokin
1870f38099
[SCHEMA] Fix a few mistakes
2020-07-31 18:24:12 +03:00
Alexei Sorokin
96eced9845
[BLOCK] Increase type strictness
2020-07-31 16:35:27 +03:00
Alexei Sorokin
92e8c40c55
[DATABASE] Add explicit indices for all foreign keys
...
This adds a requirement for all definitions that have foreign keys to also
require indices for all source (local) attributes mentioned in foreign keys.
MariaDB/MySQL creates indices for source attributes automatically, so this
serves as a way to get rid of those automatic indices and create clean explicit
ones instead.
In PostgreSQL, most of the time, indices on the source are necessary to
decrease performance penalty of foreign keys (like in MariaDB), but they aren't
created automatically, so this serves to remove that difference between
PostgreSQL and MariaDB.
2020-07-31 16:36:40 +03:00
Alexei Sorokin
0bfa747382
[DATABASE] Fix index identifiers and clean up redundant ones
2020-07-31 16:12:48 +03:00
t3nma
be3c4263b3
[DirectMessage] Update ApiDirectMessageNew action
...
- Messages are now saved as Notices
2020-07-29 17:50:29 +01:00
t3nma
f00852a619
[DirectMessage] Update ApiDirectMessage action
...
- getMessages() is now fetching from the Notice table as supposed
- every show{format}* method is properly updated to use Notice objects
- json and xml responses retrieve multi-recipients without compromising
backwards compatibility
2020-07-28 05:49:37 +01:00
t3nma
83df8848c8
[DirectMessage] Update inboxMessages() to stop fetching replies
...
This is yet to be supported in the plugin.
2020-07-28 05:48:43 +01:00
t3nma
99183ce4e2
[DirectMessage] PSR12-format
2020-07-28 04:46:10 +01:00
Alexei Sorokin
434ce56e33
[DOCUMENTATION] Adopt PSR-12 and clarify on arrays
2020-07-27 19:19:42 +03:00
Alexei Sorokin
ec86de2bc4
[DATABASE] Update "modified" in Managed_DataObject instead of a DBMS trigger
...
Instead of relying on the MariaDB's ON UPDATE CURRENT_TIMESTAMP trigger update
"modified" attributes in Managed_DataObject. Every raw query that needs
adjusting is adjusted, as they won't update "modified" automatically anymore.
The main goal behind this change is to fix "modified" updates on PostgreSQL.
2020-07-27 19:10:33 +03:00
Alexei Sorokin
341f3d0ea5
[DATABASE] Fix more incorrect uses of quotation in SQL
2020-07-26 15:28:05 +03:00
Alexei Sorokin
579120df70
[Notice] Fix clearReplies() and clearRepeats()
2020-07-26 15:12:00 +03:00
Alexei Sorokin
63eb323e8b
[SHOWSTREAM] Add "noindex" robots meta-tag for silenced profiles
2020-07-26 13:59:37 +03:00
Alexei Sorokin
2861ae2823
[AuthCrypt] Password storage and comparison improvements
...
Password hashes are now stored in a TEXT attribute, not limited to 199 symbols.
That limitation makes no sense as password hashes are not the kind of
information to be indexed.
Actually replace crypt() with password_verify() for password checking, current
code left password_verify() unused.
Only update passwords when they use a different algorithm from the current
default. Previously "overwrite" meant rehashing every login.
Replace the "argon" boolean option with "algorithm" and "algorithm_options" for
better configurability.
The default remains whichever is default for PHP's password_hash.
2020-07-25 20:16:21 +03:00
Diogo Cordeiro
0b947ce2c7
[AuthCrypt] Update README and fix formatting
2020-07-25 17:42:46 +01:00
Diogo Cordeiro
2222d6d173
[MODULES] Make settings great again
...
Plugin main class doesn't use this construct despite extending this class.
2020-07-25 17:47:53 +01:00
Alexei Sorokin
33e9b57b78
[Profile][User_group] Fix profile deletion violating foreign keys
2020-07-24 13:09:02 +03:00
Alexei Sorokin
62f4dfdc7a
[Favorite] Properly trigger DisfavorNotice on profile deletion
2020-07-24 12:45:30 +03:00
Alexei Sorokin
7e01fd9c38
[DATABASE][MariaDB] Fix index changes with foreign keys enabled
2020-07-23 19:09:41 +03:00
Alexei Sorokin
eefaf7a2b4
[DATABASE][Schema_version] Change the hashing algorithm to SHA3-512
2020-07-23 18:16:56 +03:00
Alexei Sorokin
31dcf99e61
[DATABASE] Make unprefixed schema.php a bit more DBMS-neutral
2020-07-23 18:12:01 +03:00
Diogo Cordeiro
0def5f1dca
[ActivityPub][Explorer] More robust exception handler for invalid remote answers
2020-07-23 15:54:40 +01:00
Alexei Sorokin
ac94374f48
[RemoteFollow] Fix location display
2020-07-22 19:49:24 +03:00
Diogo Cordeiro
9f72b6e2c0
[MEDIA] Fix headers when using x-static-delivery
2020-07-22 16:07:52 +01:00
Alexei Sorokin
f9e38c1a8d
[LRDD] Fix unhandled bad data in HostMeta, LinkHTML and WebFinger
2020-07-22 01:30:04 +03:00
Diogo Cordeiro
6db56cc949
[ActivityPub][AProfile] Complete strict typing
2020-07-21 23:22:07 +01:00
Alexei Sorokin
7081720ecb
[DATABASE] Check SQL boolean values with "IS TRUE"
...
This way UNKNOWN (NULL) explicitly turns to FALSE when three-valued logic is
reduced to binary.
In pgsqlschema, however, use "IS FALSE" as boolean attributes in pg_index are
non-nullable, there is no outer join and there's no clear preference for NULL
reduction.
Over-complicated constructions in TagCloud queries have been simplified, which
should not affect their performance.
Additionally, in TagCloud's lib/subscriptionspeopleselftagcloudsection.php
a typing mistake in an equi-join of "profile_tag" and "profile_list" on
"tagger" was fixed.
That regression was introduced in f446db8e2a
2020-07-21 18:06:39 +03:00
Diogo Cordeiro
f7ded4d87b
[UserFlag] Fix type of onUserRightsCheck
2020-07-21 13:37:36 +01:00
Diogo Cordeiro
67780ca4a9
[UserFlag] Increase strict typing of main file
...
Run php-cs-fixer
Correct case of class name onDeleteRelated event handlers
2020-07-21 12:43:52 +01:00
Diogo Cordeiro
871f3c4bfe
[ActivityPub] Increase type strictness on Explorer
2020-07-21 12:26:23 +01:00
Diogo Cordeiro
395fe8cb10
[ActivityPub] Fix wrong type handling on AProfile:update_profile
2020-07-21 12:02:07 +01:00
Diogo Cordeiro
af936f6f8e
[Bookmark] Fix misuse of XMLOutputter
...
Argument 3 passed to htmloutputter::input() must be of the type string or null, array given, called in /srv/gnusocial/plugins/Bookmark/forms/bookmark.php on line 166
2020-07-17 20:56:51 +01:00
Diogo Cordeiro
5512e95e0a
[ExtendedProfile] Fix misuse of XMLOutputter
...
Argument 1 passed to xmloutputter::text() must be of the type string, null given, called in /srv/gnusocial/plugins/ExtendedProfile/lib/extendedprofilewidget.php on line 556
2020-07-17 20:50:16 +01:00
Hugo Sales
5e14f18c83
[NOTICE][UI] Fix bug: Option to message "Everyone at site" when using private instance
2020-07-16 22:29:59 +00:00
Alexei Sorokin
5adb971d9a
[DOCUMENTATION] Adapt the nginx config for avatars located in /file
2020-07-09 18:39:36 +03:00
Alexei Sorokin
f51e5ba19d
[CORE] Avoid materialisation in the TaggedProfileNoticeStream query
...
This is analogous to c862589dcf
2020-07-07 22:41:03 +03:00
Alexei Sorokin
488bddb02a
[NOTICE] Update index for verbs in ProfileNoticeStream
...
After adding a verb condition there, MariaDB now prefers the
("created", "id", "is_local") and ("profile_id", "verb", "created", "id")
indices for that query, even though they are slow for the job.
So replace them with ("is_local", "created", "id") and
("profile_id", "verb", "created", "id") respectively.
Also fix the naming of the ("profile_id", "created", "id") index.
2020-07-07 20:43:08 +03:00
Diogo Cordeiro
3a2ec3ef9c
[ActivityPub] Fix bug introduced with 4d171b27
...
Too few arguments to function Activitypub_notice::create_notice()
2020-07-07 17:57:48 +01:00
Alexei Sorokin
08283f6c54
[RedisCache] Catch string return type from Predis\Client::setex
2020-07-06 20:10:12 +03:00
Alexei Sorokin
f7d3f58318
[CORE] Do not set "confirm_address"."user_id" to 0 by default
...
That breaks the foreign key constraint, it is better to just have it nullable.
2020-07-06 20:01:16 +03:00
Alexei Sorokin
89e84e9b1b
[NOTICES] Revert "We want the profile stream to be as raw as possible!"
...
There are only three possible visible notice verbs: POST, SHARE and DELETE.
What including all verbs does is it makes limiting (FETCH FIRST) unreliable as
the query will fetch invisible stuff (like favourites) and count it in, but
nothing will be displayed.
NoticeStream only allows POST and SHARE, so this effectively removes tombstones
from the profile page like in 78a111b57d
2020-07-06 19:20:44 +03:00
Alexei Sorokin
9226cce151
[NOTICES] Fix InboxNoticeStream caching
...
Introduce a new property in CachingNoticeStream for always checking if there
are any new elements in the stream.
It would be extremely hard to blow InboxNoticeStream, so instead the database
hit will still occur, but it is be much faster than starting fresh.
This fixes a regression introduced in 36a55d8436
2020-07-06 18:12:50 +03:00
Diogo Cordeiro
6526bdc824
[TheFreeNetwork] Fix small logic issue regarding StartTFNLookup return
2020-07-05 18:26:49 +01:00
Diogo Cordeiro
1967f46a69
[ActivityPub][SCRIPTS] Make update profiles work with an uri
2020-07-05 17:38:28 +01:00
Diogo Cordeiro
e504d13120
[ActivityPub][QUEUES] Add Like, Undo and Delete
2020-07-05 16:58:05 +01:00
Diogo Cordeiro
2f284f4274
[ActivityPub][INBOX][Delete] Fix misconceptions
...
References:
- https://socialhub.activitypub.rocks/t/the-delete-activity-and-its-misconceptions/137
- https://socialhub.activitypub.rocks/t/the-update-activity-more-than-caching/260
2020-07-05 16:46:37 +01:00
Diogo Cordeiro
4d171b27a4
[ActivityPub][NOTE] Do not extract actor from attributedTo
...
There was no checking of attributedTo, actors and referent object IDs to make
sure they exist in the same domain. Therefore, one could spoof messages from
people by doing attributedTo: whoever-i-want-to-spoof
2020-07-05 15:38:12 +01:00
Diogo Cordeiro
fe4a9a6189
[ActivityPub][Ostatus] Fetch avatars in accordance to the new media system
2020-07-05 15:37:52 +01:00
Alexei Sorokin
c862589dcf
[CORE] Avoid materialisation in the TagNoticeStream query
...
The notice.created sort forced the notice_tag by notice join plain to employ
materialisation, which can have a serious performance penalty depending on the
size of the database.
Sort by notice_tag.created instead, which should be exactly the same.
2020-07-01 18:20:44 +03:00
Alexei Sorokin
61765b0e33
[CORE] Avoid the old "reply" relation in inboxnoticestream
...
All verbs for not visible notices are filtered out, so this should not
break the timeline.
Additionally, filter by profile outside of the derived relation as that shows
better performance in PostgreSQL and MariaDB both.
2020-07-01 17:11:04 +03:00
Alexei Sorokin
78a111b57d
Revert "FullNoticeStream selects all verbs"
...
It appears this was added to display "tombstones" of deleted notices.
However, it has other side-effects and the concept of keeping them visible has
not been adopted by the wider fediverse.
2020-06-30 23:03:41 +03:00
Alexei Sorokin
9a515b9234
[SCHEMA] Improve timestamp storage
...
Avoid the use of deprecated MariaDB "zero dates" globally. If they're present
as attribute defaults somewhere, they will be replaced with NULL implicitly.
The existing "zero dates" in MariaDB storage will be left intact and this
should not present any issues.
The "timestamp" type in table definitions now corresponds to DATETIME in
MariaDB with "DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", which
should be close enough to the original behaviour for compatibility purposes.
It is now the recommended type for "modified" attributes, because of the
update trigger on MariaDB. But there is no such trigger implemented on
PostgreSQL as of this moment.
2020-06-29 01:41:46 +03:00
Alexei Sorokin
b924c180ae
[DATABASE] Fix MariaDB schema verification
2020-06-28 20:05:11 +03:00
Diogo Cordeiro
737f3eb553
[ActivityPub][HTTPSignatures] Fix verify
2020-06-28 00:58:16 +01:00
Diogo Cordeiro
6e3954f3bb
[ActivityPub][Inbox] Signature verification after Actor update would always fail
2020-06-28 00:49:55 +01:00
Diogo Cordeiro
4544f29832
[AVATAR] Ensure this Action stays secure
2020-06-28 00:11:47 +01:00
Hugo Sales
477c357f11
[MEDIA] Move AttachmentAction::sendFile to common_send_file
...
This fixed the wrong content type and status code returned by the Avatar action
2020-06-27 23:23:10 +01:00
Diogo Cordeiro
7869a7c1b0
[ActivityPub][Inbox] With PHP 7.3 we don't need get_all_headers workaround anymore
...
Furthermore, it was broken on Apache2 because the actual function
doesn't put the resulting array's key in lowercase.
2020-06-27 20:43:43 +01:00
Alexei Sorokin
edc7159ef6
[Memcached_DataObject] Check if it is possible to sort efficiently
2020-06-27 11:22:19 +03:00
Diogo Cordeiro
1db6943702
[ActivityPub][Inbox] get_all_headers was nginx only
2020-06-26 14:08:47 +01:00
Diogo Cordeiro
e8dff6c4a0
[TESTS] Move AcceptHeader from ActivityPub plugin to Core
...
Delete temporary ActivityPub tests (they were to be deleted long ago)
2020-06-25 15:50:12 +01:00
Diogo Cordeiro
23ed816035
[ExtendedProfile] Fix XML type bug
2020-06-24 21:44:25 +01:00
Diogo Cordeiro
324b7f38a9
[FORMAT] Run php-cs-fixer on tests/
2020-06-24 13:55:10 +01:00
Diogo Cordeiro
aa7aff3f6b
[TESTS] Fix CommandInterpreterTest
...
Also corrected a bad refactoring that affected Xmpp plugin test
2020-06-24 13:54:38 +01:00
Diogo Cordeiro
236929a166
[PEAR] I'm tired of this issue still popping up, this seems to silence it
2020-06-24 13:08:58 +01:00
Diogo Cordeiro
953e243639
[UI] Make neo-quitter default theme
2020-06-21 00:34:55 +01:00
Diogo Cordeiro
338d53c982
[XML] Inscrease types strictness
2020-06-21 00:34:54 +01:00
Diogo Cordeiro
37ebcc509b
[AVATAR] Temporary ImageFile wasn't
2020-06-21 00:34:27 +01:00
Diogo Cordeiro
f9be6f9a85
[AVATAR] Try to delete tmp avatar if something goes wrong during the process
2020-06-20 14:47:35 +01:00
Diogo Cordeiro
2cc2b5b856
[MEDIA] ImageFile fromUpload method wasn't ensuring uploaded file was an image
2020-06-20 14:47:33 +01:00
Alexei Sorokin
194976135f
[DATABASE] Some query improvements
...
Make common_sql_weight employ standard SQL functions for the timestamp
difference in seconds.
Also replace UTC_TIMESTAMP in the MariaDB-specific part with CURRENT_TIMESTAMP
as it is the only occurence and GNU social sets UTC as a default timezone.
In a delete_orphan_files.php script simplify the main query considerably.
In clean_profiles.php stop using COUNT as if it is ANY, that is unnecessary
punishment for the database. Instead implement the anti-join with a
left outer join.
In Autocomplete and Activitypub_profile use joins instead of a WHERE OR
anti-pattern for the semi-joins.
In lib/ui/galleryaction.php replace a CROSS JOIN with an INNER JOIN.
In actions/sup.php remove a redundant subquery: WHERE is applied before
grouping either way.
2020-06-10 16:52:00 +03:00
Alexei Sorokin
ef17f3ea7d
[CORE][DATABASE] Another approach to semi-join in the inboxnoticestream query
...
Compared to the solution with INNER JOIN this seems to have better performance
as there is no need to deduplicate the subquery result before use.
2020-06-10 14:21:47 +03:00
Alexei Sorokin
0eec6fcfb6
[DATABASE] Replace NOW() with CURRENT_TIMESTAMP
2020-06-09 20:26:06 +03:00
Alexei Sorokin
09a772419a
[DATABASE] Use "<>" as an SQL non-equality sign in more cases
...
A follow-up to commit 644b417f6c
2020-06-08 18:31:22 +03:00
Alexei Sorokin
6c035d01d4
[DATABASE] Start transactions with START TRANSACTION
...
"BEGIN" is non-standard and unnecessary.
2020-06-08 12:25:01 +03:00
susdiv
97bddc4537
[Autocomplete] Fix postgres incompatible query in AutocompleteAction
2020-06-05 19:14:37 +00:00
susdiv
684675bd84
[SCRIPTS] Fix postgres incompatible query in clean_profiles.php
2020-06-05 17:57:22 +00:00
susdiv
b8c0fa9fa0
[ActivityPub] Fix Postgres incompatible query in Following and Followed collection
2020-06-05 17:48:21 +00:00
Diogo Cordeiro
9e7794cd66
Merge branch 'nightly' of rainydaysavings/gnu-social into nightly
2020-06-03 00:08:53 +00:00
rainydaysavings
92ad44abf9
[THEME][neo-quitter] Added icon for Network in navbar
2020-06-03 00:59:22 +01:00
Hugo Sales
7e83ddf80e
[FIX] Fix 'Trying to access array offset on value of type null' in AntiBrutePlugin and SimpleCaptchaPlugin when using scripts
2020-05-24 16:55:37 +00:00
tenma
a9be720f09
[OStatus] Remove TFN's deprecated Census event and fix small typo in the code
2020-05-09 11:50:26 +01:00
tenma
d7906f113e
[ActivityPub] Remove TFN's deprecated Census event
2020-05-09 11:50:26 +01:00
tenma
01dcaefcfb
[TheFreeNetwork] Use config + module settings for initialization and online lookup
...
The Census event is now replaced with module settings for populating the
protocols array. With this we can shutdown some plugins and still make
them be checked by TFN.
The performance:high config is now added when deciding whether or not to
do online lookup after the offline lookup fails.
default:
- Add default values for the TFN protocol setting
EVENTS:
- Remove Cencus event
TheFreeNetworkModule
- Remove Census event handler, update protocols array to use module's settings
- Use performance:high config when deciding to do online lookup
2020-05-09 11:50:26 +01:00
tenma
cfba91ea43
[OStatus] Add TheFreeNetwork module's support in handling profile insertion
...
Ostatus_profile:
- Update createActivityObjectProfile to trigger TFN's assistance in inserting the profile
2020-05-09 11:50:26 +01:00
tenma
134b6f6478
[ActivityPub] Add TheFreeNetwork module's support in handling profile insertion
...
Activitypub_profile:
- Update do_insert to trigger TFN's assistance in inserting the profile
explorer:
- Use the new LRDD's method for grabbing profile aliases
2020-05-09 11:50:25 +01:00
tenma
64104cb182
[TheFreeNetwork] Handle new StartTFNLookup and EndTFNLookup events
...
EVENTS:
- describe new events
TheFreeNetworkModule:
- add event handlers and necessary auxiliary methods
- minor comment updates
2020-05-09 11:50:25 +01:00
tenma
9aedcc7997
[OStatus] Update salmonaction to use the new LRDD's method for grabbing aliases
2020-05-09 11:50:25 +01:00
tenma
35547e28ea
[LRDD] Add a new method for grabing profile aliases
2020-05-09 11:50:25 +01:00
tenma
c6543e1f95
[ActivityPub] Autofix profile URIs through alias discovering
...
Activitypub_profile:
- Add updateUri method
explorer:
- Add grab_aliases method
- Update grab_local_user's online course to grab and test aliases
2020-05-09 11:50:25 +01:00
Alexei Sorokin
2183875e9e
[UI] Fix group member pages showing up twice
2020-05-05 16:49:21 +03:00
Alexei Sorokin
e5ee069f4a
[UI] Order groups in join descending order in profiles
2020-05-05 16:25:02 +03:00
Hugo Sales
6c844315aa
[CORE] Fix 'Array and string offset access syntax with curly braces is deprecated' in AuthCryptModule and DirectionDetectorPlugin
2020-05-04 10:47:23 +00:00
Alexei Sorokin
872bb1388d
[Nodeinfo] Count active users for full days and without silenced
2020-04-17 18:13:05 +03:00
Alexei Sorokin
42aa255152
[CORE] Re-format the inboxnoticestream query
2020-04-08 15:25:30 +03:00
Diogo Cordeiro
e58188d136
[UI] Small improvement on attachment's visual
2020-04-07 13:28:34 +01:00
Diogo Cordeiro
bb32c0af3b
[SensitiveContent] Fix plugin settings
...
Also reformatted the code and minor bug fixed it
2020-04-07 13:28:29 +01:00
nee
63fd2c7037
[SensitiveContent] Add option to activate for not-logged-in visitors
...
Remove redundant setting retrival code.
An example config.php entry to activate the new config:
$config['site']['sensitivecontent']['hideforvisitors'] = true;
2020-04-07 02:59:35 +01:00
nee
520a2ba202
[SensitiveContent] Don't crash in GNU social classic
...
When an attachment has no thumbnail (for example when it's a video).
2020-04-07 02:59:30 +01:00
Hugo Sales
13e8445083
[SensitiveContent] Fix bug where having this plugin activated would not size thumbnails correctly
2020-04-07 02:59:24 +01:00
Hugo Sales
d1c70cb13b
[CORE] Make avatars be served with the same mechanism as attachments
2020-04-06 21:14:11 +00:00
Diogo Cordeiro
6898cff623
[PLUGINS] Remove VideoThumbnails not useful anymore
2020-04-03 12:20:27 +01:00
Diogo Cordeiro
f4558e3c41
[ActivityPub] Fix profile url handling
2020-03-28 03:16:24 +00:00
tenma
d24075b1c5
[INSTALL] Allow the setup of sslproxy during install time
...
install.php:
installer.php:
- add option field and handle logic
display.css:
- hardcode ssl's label margin-top value so all options are correctly displayed
2020-03-15 21:37:37 +00:00
tenma
a8c2a9da3a
[DOCUMENTATION] Add further notes to the nginx sample config
2020-03-12 18:03:48 +00:00
tenma
8041df7d41
[DATABASE] Fix deprecated call to implode()
2020-03-12 17:44:50 +00:00
Diogo Cordeiro
073a181778
[ActivityPub] Fix undefined tag index 'type' in Activitypub_notice
2020-02-14 17:25:26 +00:00
Diogo Cordeiro
bec6fdc66a
[NOTICES] Add data-nosnippet attribute for notices by remote profiles
2020-01-09 19:49:49 +00:00
Diogo Cordeiro
6833c9f1c2
[SHOWSTREAM] Add robots meta-tag for remote profiles
2020-01-09 17:02:26 +00:00
Diogo Cordeiro
18ade30185
[FORMAT] Ran php-cs-fixer on the handlers of notice items and streams
...
This was to keep the following two commits readable
- actions/showstream.php
- actions/userbyid.php
- lib/modules/ActivityHandlerModule.php
- lib/modules/ActivityHandlerPlugin.php
- lib/notices/conversationnoticestream.php
- lib/notices/noticelistitem.php
- lib/notices/noticestream.php
- lib/notices/threadednoticelistitem.php
2020-01-09 21:41:34 +00:00
Alexei Sorokin
e7ab305335
[CORE] Use monotonic time via hrtime() where applicable
...
The realtime clock is not reliable when calculating elapsed time.
2020-01-07 19:48:13 +03:00
Alexei Sorokin
110d3a453a
[Embed][CORE] Validate the hexadecimal for hex2bin properly
2020-01-07 17:30:18 +03:00
Alexei Sorokin
f5aeab39b4
[PEAR DB_DataObject] Make static methods in Cast actually static
2020-01-07 17:16:07 +03:00
Diogo Cordeiro
e7738895ce
[DOCUMENTATION] Updated TODO and branches info
2019-12-23 15:39:26 +00:00
Diogo Cordeiro
60446dfc20
[CORE] Better queues defaults
2019-12-11 02:23:37 +00:00
Diogo Cordeiro
dc211c9c44
[ActivityPub][Postman] Fix not sending notices to self
2019-12-11 01:30:25 +00:00
Diogo Cordeiro
27babac6dc
[Ostatus] Partially revert 69add504e6
...
updateuris isn't needed after alll, we should solve this with TFNM and existing infrastructure.
2019-12-11 01:30:15 +00:00
Diogo Cordeiro
3e2b7cddc8
[ActivityPub][RSA] Revision, increase type scrictness and improve docs
2019-12-10 23:51:40 +00:00
Diogo Cordeiro
80ba2b3ccc
[ActivityPub] Properly handle Actor URIs by using events correctly
...
This should fix nulls on explorer lookups inputed by postman after generate_followers/getSubscribers, that I think were caused by calling common_profile_uri that, curiously, only handles local profiles
2019-12-10 23:50:56 +00:00
Diogo Cordeiro
b730582336
[CORE] Add GNUSOCIAL_ENGINE_REPO_URL and increase usage of GNUSOCIAL_ENGINE_URL
2019-11-21 00:21:22 +00:00
Alexei Sorokin
1b429dd2e5
[API] Show a nicer no such user error on statusnet/groups/list_all
2019-11-16 22:12:42 +03:00
Alexei Sorokin
448404e45c
[SCRIPTS] Fix resend_confirm_address.php
...
Fix a regression from 6ec72b2978
,
check if an address is set when using --email.
2019-11-16 21:22:46 +03:00
Alexei Sorokin
562d84c375
[Xmpp] Adjust type declarations for changes in XMPPHP
2019-11-16 20:44:18 +03:00
Diogo Cordeiro
f09e3362aa
[COMPOSER] update
2019-11-16 16:51:01 +00:00
Diogo Cordeiro
51b5b1c08c
[ActivityPub][RSA] Fix types of generate_keys
2019-11-16 15:32:49 +00:00
Diogo Cordeiro
ca2dde9a41
[ExtendedProfile] Fix updates and allow to delete values
2019-11-03 19:49:10 +03:00
Alexei Sorokin
6674d1ed0f
[NodeInfo][DATABASE] Adjust indices of the "notice" and "user" tables
...
On big databases these queries from the Nodeinfo plugin choked up:
SELECT profile_id FROM notice
WHERE notice.created >= (CURRENT_DATE - INTERVAL '180' DAY)
AND notice.is_local = 1;
SELECT id FROM "user"
WHERE "user".created >= (CURRENT_DATE - INTERVAL '180' DAY);
2019-11-03 18:57:03 +03:00
Diogo Cordeiro
2a10dffff8
[UI] Fix a small typo
2019-11-03 15:53:11 +00:00
Diogo Cordeiro
e0b17fc97d
[REALTIME] Reviewed both the superclass and its dist plugins
2019-11-03 15:37:49 +00:00
Alexei Sorokin
52800c3a65
[DATABASE] Remove profile_tag_tag_fkey
...
profile_list.tag is not supposed to be unique,
this also reverts the addition of profile_list_tag_key.
2019-11-02 14:32:48 +03:00
Alexei Sorokin
9124617055
[Xmpp] Latin-1 space characters are not forbidden for XMPP resources
...
Also use mb_strlen() with the 8bit encoding to count octets, strlen() is not as
reliable (mbstring.func_overload).
2019-11-02 13:54:26 +03:00
Alexei Sorokin
b312712d1b
[Xmpp] Use UnexpectedValueException in splitJid, a bit narrower
2019-11-02 13:29:00 +03:00
Alexei Sorokin
5bc1b8695e
[DATABASE] Disable 'NULL' strings evaluation as SQL NULLs
...
Use $object->sqlValue('NULL') (identical to DataObject_Cast'ing) instead and
fix related issues like (email|sms)settings considering these NULLs as a
false positive for the E-Mail address still being set when it's been removed.
There could also be security implications to the now-disabled approach of
considering 'NULL' strings as SQL NULLs.
2019-11-02 12:21:43 +03:00
Diogo Cordeiro
d921f3dadb
[ActivityPub] New URI system
2019-11-10 17:47:51 +00:00
Diogo Cordeiro
c154712012
[PEAR DB_DataObject] Removed DB_DATAOBJECT_NO_OVERLOAD as we don't have support for either PHP 4 or 5
2019-11-03 00:43:21 +00:00
tenma
3634af3fdc
[TheFreeNetwork] First code: Module class and census event
2019-11-03 00:43:21 +00:00
tenma
1df9ec9f0f
[SCRIPTS] Add updateuris script
...
To fix user URIs to their non-fancy version
2019-11-03 00:43:21 +00:00
tenma
ae54a94d41
[CORE] Update common_user_uri
...
To be consistent between federated-protocols and maintain non-fancy URIs
2019-11-03 00:43:21 +00:00
tenma
69add504e6
[OStatus] Add script for profile deduplication and URI fixing
2019-11-03 00:43:21 +00:00
tenma
a0d30b6872
[ActivityPub] Fix some small known problems
...
ActivityPubPlugin:
- Rework onProfileDeleteRelated to account for the tables _rsa and _pending_follow_requests
- Update onEndShowAccountProfileBlock to stop creating the ap_profile if it doesn't exist (we'll handle this in a different manner)
Activitypub_profile:
- Remove unnecessary code from from_profile method and add return type information
Explorer:
- Update travel_collection to call itself instead of _lookup, that was wrong
2019-11-03 00:43:21 +00:00
Alexei Sorokin
a06b33be66
[AnonymousFave][DATABASE] Set the created timestamp on INSERT
2019-11-01 16:09:09 +03:00
Alexei Sorokin
fe3e33e702
[DAEMONS][TwitterBridge] Set PUBLICDIR
2019-11-01 15:27:36 +03:00
Alexei Sorokin
3f56459734
[COMPOSER] Remove some pre-composer remnants from the code
2019-11-01 14:19:42 +03:00
Alexei Sorokin
4903241e4b
[DOCUMENTATION][NGINX conf] snippets/fastcgi-php.conf is Debian-specific
2019-11-01 08:52:21 +03:00
Alexei Sorokin
85be003cf5
[Embed][CORE] hex2bin should always get an even amount of symbols
2019-11-01 08:29:52 +03:00
tenma
bddc1c0f9d
[ActivityPub] Fix successive "Cannot use object of type stdClass as array" errors in the postman
2019-11-01 02:23:39 +00:00
tenma
01f6d83b86
[MODULES] Fix VERSION constant to MODULE_VERSION in various modules
2019-10-30 23:52:14 +00:00
Diogo Cordeiro
aa994ee4fb
[CORE] Allow to force non-fancy URLs
...
Essential to allow toggling fancy urls later. In some cases it is
critical to keep the URL an unique URI.
2019-10-27 17:40:37 +00:00
Diogo Cordeiro
d058a70557
[MEDIA] Simplify Attachment actions
2019-10-19 02:57:32 +01:00
Diogo Cordeiro
7298468df7
[FILE] Fix Return value of File::getFileOrThumbnailSize() must be of the type int, null returned
2019-10-19 01:16:37 +01:00
Diogo Cordeiro
63caa5044d
[LIB_REFACTOR] Fix minor issues
2019-10-19 00:51:52 +01:00
tenma
2ae93dbec6
[ActivityPub] Revert usage of bitwise-operator & in the inbox_handler class.
2019-10-17 20:25:00 +01:00
Diogo Cordeiro
b434bead2c
[ActivityPub] The protocol allows content to be null, GNU social doesn't, we'll reject silentiously
...
Reported by kaniini
2019-10-11 19:09:12 +01:00
Diogo Cordeiro
6284b155b8
[ActivityPub] attributedTo itself is not required, if not present then it should be inferred from the actor
...
Reported by kaniini
2019-10-11 17:51:20 +01:00
Diogo Cordeiro
b12c2d17d5
[ActivityPub] Fix security issue concerning remote profile deletes
...
Reported by kaniini
2019-10-11 17:41:43 +01:00
Diogo Cordeiro
5fb1e26a4c
[ActivityPub] Inbox Handler: Remove old guzzle import
...
Improve exception information in doc blocks
2019-10-11 17:18:50 +01:00
Diogo Cordeiro
6423750250
[ActivityPub] Slightly increase robustness on exception handling
...
Also ported Activitypub_rsa to PHP7
Minor indentation fixes
2019-10-11 17:08:41 +01:00
Diogo Cordeiro
d9b5ef1cee
[ActivityPub] Consistent headers in explorer requests
...
Minor indentation fixes
2019-10-11 16:00:14 +01:00
Miguel Dantas
f1717bde51
Fix 'Call to a member function getPayload() on null'
...
Trying to enable the RedisCache with the latest nightly, getting this with the daemon:
sep 25 11:40:18 friedrich startdaemons.sh[21428]: PHP Fatal error: Uncaught Error: Call to a member function getPayload() on null in /var/www/social/plugins/RedisCache/RedisCachePlugin.php:96
sep 25 11:40:18 friedrich startdaemons.sh[21428]: Stack trace:
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #0 /var/www/social/lib/util/event.php(89): RedisCachePlugin->onStartCacheSet('gnusocial:herds...', Object(HubSub), NULL, 86400, false)
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #1 /var/www/social/lib/cache/cache.php(202): Event::handle('StartCacheSet', Array)
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #2 /var/www/social/classes/Memcached_DataObject.php(520): Cache->set('gnusocial:herds...', Object(HubSub))
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #3 /var/www/social/classes/Memcached_DataObject.php(52): Memcached_DataObject->encache()
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #4 /var/www/social/classes/Managed_DataObject.php(50): Memcached_DataObject::getClassKV('HubSub', 'hashkey', 'a38b9dc516371af...')
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #5 /var/www/social/plugins/OStatus/classes/HubSub.php(47): Managed_DataObject::getKV('hashkey', 'a38b9dc516371af...')
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #6 /var/www/social/plugins/OStatus/lib/hubprepqueuehandler.php(68): HubSub::getByHashkey('https://herds.e ...', 'https://raki.so ...')
sep 25 11:40:18 friedrich startdaemons.sh[21428]: #7 /var/www/social/plugins/RedisQueue/classes/RedisQueueManager.php(58): HubPrepQueueHandl in /var/www/social/plugins/RedisCache/RedisCachePlugin.php on line 96
Sign in to j
2019-09-26 11:29:31 +01:00
Miguel Dantas
c6f4f40bba
[Embed][CORE] Fixes 'Invalid Filename' on Embed. Regex didn't get updated
2019-09-26 11:29:31 +01:00
Alexei Sorokin
65f1b1e1e3
Fix minor git merge resolving issues
2019-09-18 17:43:00 +03:00
Alexei Sorokin
ad91ef66bd
[SCRIPTS] Set PUBLICDIR in plugin scripts as well
2019-09-18 17:15:00 +03:00
Alexei Sorokin
6bfa593988
[DAEMONS] Move resetDb to the Daemon class
...
As it is used inside the Daemon class now, it should always be available.
2019-09-13 22:08:42 +03:00
Diogo Cordeiro
3ea580b537
[ActivityPub] Add missing parenthesis in class instantiation
...
Fixed some issues related to thrown exceptions in the doblocks; also boolean -> bool
2019-09-13 18:58:41 +01:00
Alexei Sorokin
87b0b493eb
[ActivityPub] Fix an unhandled error in onStartGetProfileFromURI
2019-09-13 20:55:23 +03:00
Diogo Cordeiro
4eb4a2de00
[ActivityPub] Fix some bugs with onStartNoticeSearch
...
Refactored Activitypub_profile::ensure_web_finger to Activitypub_profile::ensure_webfinger
Do not throw exceptions in the handling of this event because we don't
want to stop the regular search just because we were unable to find
ActivityPub actors or notes.
2019-09-13 18:10:20 +01:00
Alexei Sorokin
1f2f57b03b
[CORE] Fix logging of very early failures
2019-09-13 12:11:43 +03:00
Alexei Sorokin
4afaad3df5
[DATABASE][MariaDB] Properly account for foreign keys
2019-09-13 10:34:48 +03:00
Diogo Cordeiro
c3ba2e0f94
[BugFix] Plugins ExtendedProfile and OverwriteThemeBackground - admin is identical to system path names.
2019-09-12 23:18:50 +01:00
Alexei Sorokin
693c3168da
[OStatus] The unsubscribe state also needs a label
2019-09-12 14:19:21 +03:00
Alexei Sorokin
8f309bc768
Merge branch 'pgsql_support' into nightly
2019-09-12 12:01:50 +03:00
Alexei Sorokin
1a0d6a90c2
[INSTALL] Fix lib/util/installer.php import path
2019-09-12 11:52:04 +03:00
Diogo Cordeiro
7f2019b4af
[MODULES] Make disable in admin panel effective
2019-09-12 04:50:46 +01:00
Alexei Sorokin
ee7f0a2016
[DATABASE] Re-introduce PostgreSQL support
2019-09-11 14:14:40 +03:00
Alexei Sorokin
644b417f6c
[DATABASE] Use "<>" as an SQL non-equality sign
...
"!=" is not SQL compliant.
2019-09-11 13:27:36 +03:00
Alexei Sorokin
471576d6e8
[DATABASE] Columns not in GROUP BY must not be queried
2019-09-11 13:12:41 +03:00
Alexei Sorokin
7ee8aa7838
[DATABASE] Re-introduce the enum type abstraction
2019-09-11 12:48:28 +03:00
Alexei Sorokin
af63e9a7ad
[DATABASE] Set all primary keys as "not null" explicitly
2019-09-11 12:27:40 +03:00
Alexei Sorokin
95c7344557
[DATABASE] Various table schema related fixes
2019-09-11 12:07:54 +03:00
Alexei Sorokin
0c936e54ba
[DATABASE] Re-order tables to be created
...
Foreign keys need to be created after the respective tables are already in
place. This order makes sure this is the case.
2019-09-11 11:56:36 +03:00
Alexei Sorokin
62b90c29db
[DATABASE] Introduce a bool type in schema
...
PostgreSQL has a clear distinction between integers and booleans, so it makes
sense to draw a clear line.
2019-09-11 11:25:39 +03:00
Alexei Sorokin
6911b499d3
[DATABASE] Consistently use the "LIMIT $limit OFFSET $offset" syntax
...
The "LIMIT $offset, $limit" syntax is only supported by MySQL and MariaDB.
2019-09-11 10:12:49 +03:00
Alexei Sorokin
44f4c9374d
[DATABASE] Use time intervals in a SQL standard compliant way
2019-09-11 09:58:13 +03:00
Alexei Sorokin
11dabbe44d
[DATABASE] Only use single quotation marks for SQL strings
...
Double quotation marks are only used for identifiers in the SQL standard.
2019-09-11 09:46:30 +03:00
Alexei Sorokin
0a5a3845db
[DATABASE] Set NULL in DB_DataObject in a more reliable manner
...
Also stop assuming that FeedSub::sub_state (enum) and FeedSub::sub_end
(datetime) can possibly be set to an empty string.
2019-09-11 08:32:19 +03:00
Alexei Sorokin
5b797328f2
[DATABASE] Always quote identifiers
...
The code used to operate under the assumption that MariaDB doesn't support
quoting identifiers. Not only is that not exactly true, but MariaDB has
reserved keywords that cannot be used as table or column names unquoted.
2019-09-11 08:15:16 +03:00
Alexei Sorokin
b89f1ad7d8
[CORE] Another inboxnoticestream improvement
2019-09-10 22:25:45 +03:00
Alexei Sorokin
b0104d9992
[DAEMONS] Switch daemons to double-forking for daemonisation
2019-09-10 21:14:27 +03:00
Alexei Sorokin
9d8f4c774f
[DAEMONS] Properly disconnect daemons from the database
2019-09-10 20:25:28 +03:00
Diogo Cordeiro
8b7a22ecd9
Merge branch 'nightly' of biodantas/gnu-social into nightly
2019-09-10 17:11:00 +00:00
Miguel Dantas
a4e6db8d76
[OpportunisticQM] Revamped plugin to be able to use other poll based queuemanagers, no just the DB
2019-09-05 01:39:00 +02:00
Miguel Dantas
78506d5249
[StompQueue] Changed StompQueueManager to use polling rather than sockets
2019-09-05 01:39:00 +02:00
Miguel Dantas
6747b18b75
[PLUGINS] Added UnQueue, a new default plugin which does all actions immediately
2019-09-05 01:39:00 +02:00
Miguel Dantas
544f13c52a
[PLUGINS] Added DBQueue plugin
2019-09-05 01:38:59 +02:00
Miguel Dantas
4644f6e96b
[PLUGINS] Added StompQueue plugin, based on the implementation in lib/queue/stompqueuemanager. Updated to new STOMP library version. Dropped liberalstomp.php and stompqueuemanager.php
2019-09-05 01:38:40 +02:00
Miguel Dantas
a3b228399b
[PLUGINS] Added RedisQueue
2019-09-03 14:01:27 +01:00
Miguel Dantas
100a557c7c
[CORE][AUTOLOAD] Fix class OAuthRequest not found
...
Issue description as reported by aab:
2019-08-28 17:34:48 LOG_ERR: [khp.ignorelist.com:61055.f5f7f51c GET /api/statuses/show/178372.atom] ServerErrorAction: 500 Class 'OAuthRequest' not found
2019-08-28 17:39:50 LOG_ERR: [khp.ignorelist.com:65390.4483ff85 GET /api/statusnet/conversation/104672.rss] Handled serverError (500) but cannot output into desired format ('rss'): 'Class \'OAuthRequest\' not found'
2019-08-28 17:39:50 LOG_ERR: [khp.ignorelist.com:65390.4483ff85 GET /api/statusnet/conversation/104672.rss] ServerErrorAction: 500 Class 'OAuthRequest' not found
2019-08-28 17:40:49 LOG_ERR: [khp.ignorelist.com:65390.4c745f68 GET /api/statuses/show/18132.atom] Handled serverError (500) but cannot output into desired format ('atom'): 'Class \'OAuthRequest\' not found'
2019-08-28 17:40:49 LOG_ERR: [khp.ignorelist.com:65390.4c745f68 GET /api/statuses/show/18132.atom] ServerErrorAction: 500 Class 'OAuthRequest' not found
2019-08-28 17:47:41 LOG_ERR: [khp.ignorelist.com:65390.42ee9fd4 GET /api/statusnet/conversation/133023.as] Handled serverError (500) but cannot output into desired format ('as'): 'Class \'OAuthRequest\' not found'
2019-09-03 03:33:14 +01:00
Miguel Dantas
6acc75ccff
[FRAMEWORK][AUTOLOAD] Fix autoloads
2019-09-03 03:33:14 +01:00
Miguel Dantas
b41f9620fa
[LIB_REFACTOR] Fix requires
2019-09-03 03:33:13 +01:00
Miguel Dantas
58bde08425
[LIB_REFACTOR] Moving files into separate semantic categories
2019-09-03 03:33:13 +01:00
Miguel Dantas
7d6c6edab3
[RedisCache] Fix call to getPayload on int. The library is badly documented, but seems to return the TTL instead of the normal redis response
...
Issue description as reported by aab:
About one day after enabling redis plugin:
PHP Fatal error: Uncaught Error: Call to a member function getPayload() on int in /var/www/html/plugins/RedisCache/RedisCachePlugin.php:96
Stack trace:
0 /var/www/html/lib/event.php(89): RedisCachePlugin->onStartCacheSet('gnusocial:gatea...', Object(Queue_item), NULL, 86400, false)
1 /var/www/html/lib/cache.php(202): Event::handle('StartCacheSet', Array)
2 /var/www/html/classes/Memcached_DataObject.php(496): Cache->set('gnusocial:gatea...', Object(Queue_item))
3 /var/www/html/classes/Memcached_DataObject.php(416): Memcached_DataObject->encache()
4 /var/www/html/classes/Managed_DataObject.php(620): Memcached_DataObject->update(Object(Queue_item))
5 /var/www/html/classes/Queue_item.php(74): Managed_DataObject->update(Object(Queue_item))
6 /var/www/html/lib/dbqueuemanager.php(75): Queue_item::top(Array, Array)
7 /var/www/html/lib/iomaster.php(287): DBQueueManager->poll()
8 /var/www/html/lib/iomaster.php(161): IoMaster->poll()
9 /var/www/html/scripts/queuedaemon.php(112): IoMaster->service()
10 /var/www/html/lib/spawni in /var/www/html/plugins/RedisCache/RedisCachePlugin.php on line 96
2019-09-03 03:31:59 +01:00
Miguel Dantas
d209964718
[Memcached] Fix call to undefined method `close`
...
Issue description as reported by aab:
Memcached config in config.php:
addPlugin('Memcached', [ 'servers' => ['127.0.0.1', 11211],
'defaultExpiry' => 86400 // 24h
]);
Memcached and php-memchached installed.
The error appears when executing startdaemons.
Log:
PHP Fatal error: Uncaught Error: Call to undefined method Memcached::close() in /var/www/html/plugins/Memcached/MemcachedPlugin.php:202
Stack trace:
#0 /var/www/html/lib/event.php(89): MemcachedPlugin->onStartCacheReconnect(false)
#1 /var/www/html/lib/cache.php(273): Event::handle('StartCacheRecon...', Array)
#2 /var/www/html/lib/spawningdaemon.php(209): Cache->reconnect()
#3 /var/www/html/lib/spawningdaemon.php(188): SpawningDaemon->resetDb()
#4 /var/www/html/lib/spawningdaemon.php(118): SpawningDaemon->initAndRunChild(3)
#5 /var/www/html/lib/daemon.php(168): SpawningDaemon->run()
#6 /var/www/html/scripts/queuedaemon.php(186): Daemon->runOnce()
#7 {main}
thrown in /var/www/html/plugins/Memcached/MemcachedPlugin.php on line 202
2019-09-03 03:30:07 +01:00
Miguel Dantas
c03f659efb
[Embed] Fix use of undefined `img_data`
...
Got error 'PHP message: PHP Notice: Undefined variable: img_data in /var/www/html/plugins/Embed/EmbedPlugin.php on line 544'
2019-09-03 03:29:32 +01:00
tenma
2e66cbeb60
[CORE] Fix undefined offset warnings in different files
...
This problem was presentend in the following issue:
https://notabug.org/diogo/gnu-social/issues/60
AcceptHeader/util:
- Perform isset before using the required array values
2019-09-03 03:26:35 +01:00
tenma
19409cb999
[ActivityPub] Add support fox search-box profile/notice grabbing
...
NoticeSearchAction:
- Add new event before finding query matches
ActivityPubPlugin:
- Subscribe new searchNotice event
- Bump minor version number
Activitypub_explorer:
- Update lookup to make remote-grabbing optional
2019-09-03 03:26:35 +01:00
tenma
c06182c38f
[ActivityPub] Handle DELETE-Person activity
...
ActivityPubPlugin:
- update grab_notice_from_url to make online grab optional
- subscribe events of user and profile deletion
- bump minor version number
Activitypub_inbox_handler:
- separate handle_delete for delete-note and delete-person
Activitypub_postman:
- add delete-person logic
Activitypub_delete:
- update validation method to check for the "Person" type
- update to_array method to target the activity
2019-09-03 03:26:35 +01:00
Miguel Dantas
f79cd8cee3
[CORE] Fix small bug where Notice was sending a JSON representation to the queue, instead of sending itself
2019-09-03 03:26:35 +01:00
tenma
c130739de0
[AP] Fix subscription events
...
Both StartSubscribe and StartUnsubscribe had a wrong initial if-condition.
Furthermore, this events were calling Activitypub_profile::from_profile()
which is wrong because it creates the Activitypub_profile object when
the goal is only to check if it exists already.
2019-09-03 03:26:35 +01:00
tenma
1a4a1583d5
[AP] Subscribe RemoteFollow plugin events for allowing following with the remote-follow button
2019-09-03 03:26:35 +01:00
tenma
3633ca04eb
[OStatus] Port remote-follow to the RemoteFollow plugin
...
OStatusPlugin:
- Stop adding the remote-follow button
- Subscribe to required RemoteFollow plugin events
- Drop main/ostatussub route and update urls to the main/RemoteFollowSub route
- Bump plugin minor version number
actions/ostatusgroup,
actions/ostatuspeopletag:
- Update urls to the main/RemoteFollowSub route
lib/util:
- Port required functions from OStatusSubAction and adapt to be used with the new events
2019-09-03 03:26:35 +01:00
tenma
e61c0c45aa
[RemoteFollow] Initial work in the RemoteFollow plugin
...
lib/default.php
- Add RemoteFollow to the list of default plugins
RemoteFollowPlugin:
- Subscribe events to add the remote-follow button
RemoteFollowInitAction:
- Handles the remote-follow form and getting the redirection url for follow completion
RemoteFollowSubAction:
- Handles the remote profile pulling and actual following
2019-09-03 03:26:35 +01:00
Miguel Dantas
6d81848f25
[URLMAPPER] Fix small bug in URLMapper: a dynamic route might not exist even if a static one does
2019-09-03 03:26:35 +01:00
Miguel Dantas
10b3b343dd
[DirectMessage] Fixed use of incorrect type which prevented posting notices with only one word
2019-09-03 03:26:35 +01:00
tenma
f6fd025be2
[AP] Update version info
2019-09-03 03:26:35 +01:00
tenma
b5897687a6
[AP] Prevent postman to include the actor's followers for every sent activity
2019-09-03 03:26:35 +01:00
tenma
ebeae261de
[AP] Support Private Messaging
...
ActivityPubPlugin:
- Subscribe DirectMessage events
Activitypub_inbox_handler:
- Update handle_create_note to create private messages
Activitypub_postman:
- Add create_direct_note for sending private messages
Activitypub_create:
- Update create_to_array to support the 'directMessage' attribute
- Add isPrivateNote to verify private activities
Activitypub_notice:
- Update create_note to support the 'directMessage' attribute
- Remove isPrivateNote
lib/models:
- Add Activitypub_message, the model in charge of private notes
2019-09-03 03:26:35 +01:00
tenma
9733f3c02c
[AP] Fix Follow collections
...
Activitypub_profile:
- Fix subscription-counter getter functions, invalid profiles were being counted
apActorFollowingAction:
- Small rewrite of generate_following, didn't make sense to not use try-catch block
apActorFollowersAction:
- Small rewrite of generate_followers, didn't make sense to not use try-catch block
2019-09-03 03:26:35 +01:00
tenma
217c8a3933
[AP] Handle unlisted/followers-only notices
...
Note that this commit isn't intended to add support for sending such notes
in GS. Instead, we handle the reception, storage and direct reply to this
type of notices, in AP.
ActivityPubPlugin:
- Subscribe the event StartNoticeSave to hack answering non-public notes
Activitypub_create:
- Add 'directMessage' attribute to the Create activity, defaulting to false for now
- Update validation method: validate 'directMessage' and add debug
Activitypub_notice:
- Handle incoming unlisted/followers-only notes
- Add support for unlisted-replies
- Add method to verify private (direct) notices
inbox_handler:
- Add handler for CREATE Note
- Prepare logic for private-messaging
- Overall refactor: Class members were continuously being passed as function arguments without need
SharePlugin:
- Stop showing the announce button in non public posts
2019-09-03 03:26:35 +01:00
tenma
7188d81ad4
[AP] Properly target public notices
...
ActivityPubPlugin:
- Use TO as principal audience, CC as secondary
- Update note validation
2019-09-03 03:26:35 +01:00
Miguel Dantas
48cacd6d9d
[RedisCache] Added plugin description, fixes 'empty msgid' error
2019-09-03 03:26:35 +01:00
Diogo Cordeiro
1e378a514d
[OverwriteThemeBackground] This new plugin will let the admin set a custom background theme independent
2019-09-03 03:26:35 +01:00
Diogo Cordeiro
92ab5e18ee
[ExtendedProfile] Fix Admin menu option
2019-08-24 01:59:42 +01:00
Diogo Cordeiro
b42af10905
[MODULES] Allow to delete third party plugins
2019-08-24 01:59:42 +01:00
Diogo Cordeiro
afe8158cb7
[MODULES] Allow to upload third party plugins
...
Fixed some bugs
2019-08-24 01:59:42 +01:00
Diogo Cordeiro
a05bea0af5
[MODULES] List all available plugins and allow enabling them via UI
...
Yet another revision of the Admin Plugin Management tool
2019-08-24 01:59:41 +01:00
Diogo Cordeiro
e1514a151c
[DOCUMENTATION][DEVELOPERS][PLUGINS] Some updates to Plugins doc
2019-08-24 01:59:41 +01:00
Diogo Cordeiro
2a82cfdb2a
[TagCloud] Add Readme
2019-08-24 01:59:40 +01:00
Diogo Cordeiro
49da433879
[SearchSub][README] No longer is a default plugin since 8614cd77
2019-08-24 01:59:40 +01:00
Diogo Cordeiro
92388e1734
[SamplePlugin] Review and update with the latest GNU social best practices
2019-08-24 01:59:40 +01:00
Diogo Cordeiro
3860c25dc0
[ConversationTree] Format the plugin, add strict typing and fix docblocks
2019-08-24 01:59:39 +01:00
Diogo Cordeiro
25ee5ed1f9
[OfflineBackup] Fix plugin
2019-08-24 01:59:39 +01:00
Diogo Cordeiro
566214ac62
[PLUGINS] Removed OpenX as the service doesn't exist anymore
2019-08-24 01:59:39 +01:00
Diogo Cordeiro
1459f10803
[GroupFavorited] Fix plugin
2019-08-24 01:59:38 +01:00
Diogo Cordeiro
0795a39459
[ExtendedProfile] Hide 'Extra fields' from profile when no field was created by the sysadmin
2019-08-24 01:59:38 +01:00
Diogo Cordeiro
e5831d6807
[ExtendedProfile] Allow to delete custom profile field
2019-08-24 01:59:38 +01:00
Diogo Cordeiro
88bdb5114f
[Plugins] Incorporated GNUsocialExtendedProfile as part of ExtendedProfile
...
Also improved a lot of the plugin and made things in a way it would make sense
2019-08-24 01:59:37 +01:00
Diogo Cordeiro
90bd9088bb
[GNUsocialProfileExtensions] Fixed plugin
2019-08-24 01:59:37 +01:00
Diogo Cordeiro
01cf8ab82c
[PLUGINS] Removed GNUsocial{Photo, Photos, Video} as we don't need them anymore
2019-08-24 01:59:36 +01:00
Diogo Cordeiro
aee5506f00
[PLUGINS] Removed GeoURL as the service doesn't exist anymore
2019-08-24 01:59:36 +01:00
Diogo Cordeiro
b6183f2de1
[ForceGroup] Modernized plugin and improved documentation
2019-08-24 01:59:36 +01:00
Diogo Cordeiro
452e0fe553
[DEFAULT] Add 'DirectionDetector' as a default plugin
2019-08-24 01:59:35 +01:00
Diogo Cordeiro
2f341a3369
[ChooseTheme] Fixed plugin
2019-08-24 01:59:35 +01:00
Diogo Cordeiro
66e55d1a1f
[BlankAd] Fixed plugin
2019-08-24 01:59:34 +01:00
Diogo Cordeiro
63fac32bc0
[Awesomeness] Fixed plugin
2019-08-24 01:59:34 +01:00
Diogo Cordeiro
aaeaeba57c
[DEFAULT] Add 'AccountManager' as a default plugin
2019-08-24 01:59:34 +01:00
Diogo Cordeiro
d3c56897a3
[CORE] Core modules shouldn't show up in version action
2019-08-24 01:59:33 +01:00
Diogo Cordeiro
0c2c3ec862
[CORE] Plugin API now extends a new Module API
2019-08-24 01:59:33 +01:00
Diogo Cordeiro
b6e7b18c7b
[PLUGIN API] Bug fixes and improvements
2019-08-24 01:59:32 +01:00
Diogo Cordeiro
55d049b1e8
[CORE] Move plugin superclasses from /lib/ to /lib/modules/
2019-08-22 03:13:58 +01:00
Diogo Cordeiro
8c0601816f
[CORE] Move core plugins to a new modules directory
...
For reference (raised by rozzin in IRC):
* http://foldoc.org/module
* http://foldoc.org/library
* http://foldoc.org/plugin
As noted by XRevan86, modules are not necessarily non-essential.
As we will keep the modules directory in GS root [therefore, near to
plugins/], it is evidenced the difference between both.
This is a simple yet fundamental structural change. It doesn't change
functionality but makes clearer the way we understand GNU social's
internals.
2019-08-22 03:13:58 +01:00
Miguel Dantas
350cde08d8
[Embed] Added support for inline images
2019-08-22 03:13:58 +01:00
tenma
db5a29fd9a
[DirectMessage] Major plugin rework
...
This commit does the necessary rework to store private messages
as Notices and to support Federation. The plugin's README presents
some more detail about the changes and future work that is still
required to do.
2019-08-22 03:13:58 +01:00
tenma
0716605e94
[CORE][ROUTES] Update urlmapper to search dynamic routes before static ones when generating URLs.
...
This solves the problem of routes that differ only in having
or not $_GET params. The ones not having params (static) were
being matched first during URL generation.
The way this problem was solved was by separating the $reverse
array in both $reverse_statics and $reverse_dynamics and explicitly
traversing this last one first in the generation function. Note that
maintaining the $reverse array and unshifting dynamic routes to its
head ( and therefore to the front of the static ones ) doesn't work
since even among dynamic routes the order of arrival should be kept.
2019-08-22 03:13:58 +01:00
tenma
c802480d75
[CORE] Add new Notice scope for private messaging
...
Notice:
- Add MESSAGE_SCOPE scope
lib/*.stream:
- Filter out notices with MESSAGE_SCOPE scope
2019-08-21 16:54:47 +01:00
Miguel Dantas
2519431f02
[Embed] Added support for inline images
2019-08-21 16:54:46 +01:00
Miguel Dantas
b38e71e544
[Embed] Only resize thumbnail if it's bigger than the desired size
2019-08-21 16:54:46 +01:00
Diogo Cordeiro
c981afcf31
[DOCUMENTATION] Add release notes
...
Update INSTALL requirements
Update CHANGELOG
Update TODO
2019-08-21 16:54:09 +01:00
Diogo Cordeiro
eccb8a4faf
[ActivityPub] Move models from 'classes' to 'lib/models'
2019-08-21 16:46:39 +01:00
tenma
7fa5ddfc44
[ActivityPub] Fix WebFinger event subscription
...
ActivityPubPlugin:
- remove reference to the first argument of onEndWebFingerProfileLinks, no need
as it is an object
2019-08-21 16:46:39 +01:00
tenma
054f4e77f5
[ActivityPub] Fix handling of Delete Activity
...
inbox_handler:
- Call stronger validation method for Delete Activity objects
- Take into account mixed object in handle_delete
Activitypub_delete:
- Add validation method for Delete Activity objects
2019-08-21 16:46:39 +01:00
Diogo Cordeiro
1398d6cc21
[ActivityPub] This is the first release of the plugin
2019-08-21 16:46:38 +01:00
tenma
b902b019fb
[ActivityPub] Use queues for notice distribution
...
ActivityPubPlugin:
- Change event-based notice distribution to queues logic
ActivityPub/lib:
- Add queue handler class activitypubqueuehandler.php
Misc:
- Add documentation for the (Start/End)InitializeQueueManager events
2019-08-21 16:46:38 +01:00
tenma
5e589aba3c
[OStatus] Fix notice enqueue
...
OStatusPlugin:
- Enqueue in the last position, as it should be. No need to worry about
the OMB comment, this protocol no longer have queue handlers that could
cause a conflict.
2019-08-21 16:46:38 +01:00
tenma
c28cee88b7
[ActivityPub] Ensuring federation with other software
...
ActivityPubPlugin:
- Prevent sending a Delete for an Announce
Activitypub_announce:
- Update announce_to_array to add id, to and cc information to the retrieved object
Activitypub_follow:
- Add id to the arguments of follow_to_array, useful for Accept-Follow activities
Activitypub_notice:
- Fix notice validation, url isn't a MUST
Activitypub_inbox_handler:
- Make handle_follow use the received activity id for the later Accept-Follow
Activitypub_postman:
- Fix call to the updated announce_to_array
- Fix successive unnecessary calls to ActivityPubPlugin::actor_uri()
2019-08-21 16:46:37 +01:00
brunoccast
14a45dc546
[ActivityPub] Fix notice creation
...
Activitypub_notice:
- Perform url test, use id when missing.
2019-08-21 16:46:37 +01:00
brunoccast
883621ba34
[ActivityPub] Routes
...
ActivityPubPlugin:
- Update routes to properly use the updated URLMapper
2019-08-21 16:46:37 +01:00
brunoccast
067cc81ebb
[ActivityPub] Ensuring notice deletion
...
ActivityPubPlugin:
- Minor onDeleteOwnNotice rewrite
Activitypub_inbox_handler:
- Add deletion check to incoming notice
Activitypub_postman:
- Call the correct getUrl function
2019-08-21 16:46:37 +01:00
brunoccast
b19ee7b894
[ActivityPub] Ensuring Notice Favor/Disfavor
...
ActivityPubPlugin:
- Minor re-write of favor/disfavor event handlers
Activitypub_postman:
like/undo-like:
- fix proper getUrl() call
misc:
- make all activities accumulate errors (may be needed later) and log some information about it
2019-08-21 16:46:36 +01:00
brunoccast
1b356d3bf2
[ActivityPub] Ensuring notice distribution
...
ActivityPubPlugin:
- Fix of accepted activity verbs to include SHARES
- Add attention profiles to delivery when announcing
Activitypub_notice:
- New local function to retrieve original URL
- Removal of unnecessary 'Atom*' attributes
- Small fix to the ensuring of actor profile
Activitypub_profile:
- New local function to fetch AP profiles from a collection
Activitypub_postman:
- Fix url passed in the announce activity
2019-08-21 16:46:36 +01:00
brunoccast
94a4059b4a
[ActivityPub] Caching of Following/Followers interactions and collections
...
Follow interaction:
- Fixed mini-bug where the subscriber profile was being used as the subscribed
- Updated cache subscription-related values in both instances
- Tested and working with local GS instances
Unfollow interaction:
- Updated cache subscription-related values in both instances
- Tested and working with local GS instances
Followers/Following collections:
- Now returning ActivityPub profiles only
- Stored collections in cache
Misc:
- Fix bug concerning the retrieval of public/private-key after in-function generation
2019-08-21 16:46:36 +01:00
brunoccast
735a0023cc
[ActivityPub] Routes
...
ActivityPubPlugin:
- Update routes to properly use URLMapper
- Minor updates
2019-08-21 16:46:36 +01:00
Diogo Cordeiro
2ad4fa99ed
[CORE] Add ActivityPub plugin
...
This is not the same as the one in https://notabug.org/diogo/gnu-social-activitypub-plugin
Differences to the first "release"
-> Doesn't use guzzle nor has any composer dependencies
-> Supports HTTP Signatures
-> Has basic l10n/i18n
-> Some minor bug fixes
2019-08-21 16:46:35 +01:00
Miguel Dantas
c0950c5fc6
[PLUGINS] Dropped Memcache in favor of Memcached. The difference between these is that they use a similarly php library to interact with memcache, but memcached is more modern
2019-08-15 22:33:38 +01:00
Miguel Dantas
afbbbbd4f2
[Memcached] Merged useful features from Memcache
2019-08-15 22:33:37 +01:00
Miguel Dantas
32812c9482
[PLUGINS] Updated and reviewed the Memcached plugin
2019-08-15 22:33:37 +01:00
Miguel Dantas
c70e806d74
[RedisCache] Added README with configuration instructions
2019-08-15 22:33:36 +01:00
Miguel Dantas
05be2e7386
[RedisCache] Fix use of undefined variable
2019-08-14 15:32:36 +01:00
Miguel Dantas
e2e8885ce3
[PLUGINS] Removed direct call of EndCache events on all plugins, as it is now handled by the library
2019-08-14 15:32:35 +01:00
Miguel Dantas
b214d8b6ee
[CACHING] Imported Chimo's RedisCache plugin and fixed some small parts
2019-08-14 15:32:35 +01:00
Miguel Dantas
ba98bb9334
[CORE] Fixed small anti-pattern on cache code. Plugins had to throw EndCache events, when this should be done by the library
2019-08-14 15:32:35 +01:00
Miguel Dantas
630a578e1d
[COMPOSER] Added predis/predis and updated packages
2019-08-14 15:32:34 +01:00