Commit Graph

204 Commits

Author SHA1 Message Date
2694d83ae4
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types 2021-10-27 04:19:30 +01:00
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
44cf1fa24c
[UTIL][Nickname] Fix some parameters issues found with strict types 2021-10-27 04:19:29 +01:00
9109c61af5
[TOOLS][CS-FIXER] Run new PHP CS Fixer config. Notably, adds strict_types 2021-10-27 04:19:28 +01:00
03f6029ce5
[SECURITY] Fix nickname validation and properly allow email auth 2021-10-18 13:22:55 +01:00
eli
17a13b3f20 [CSS] Fix: Left and right panel checkbox border when active. 2021-10-04 12:31:06 +01:00
eli
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
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
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
941cbe6599
[Actor] Refactor GSActor into Actor 2021-09-18 05:12:17 +01:00
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
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
365edbaff0
[ActivityStreamsTwo] Initial Actor support
Various bug fixes
2021-09-15 10:26:53 +01:00
4e30e5aad9
[TOOLS] Fix all issues found by PHPStan level 2 2021-09-14 13:13:44 +01:00
add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1 2021-09-14 13:13:42 +01:00
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
4916c8cbda
[CONTROLLER][AdminPanel] Add missing Exception import 2021-09-14 13:13:41 +01:00
e4aa3ae968
[NOTE] Add route and controller 2021-09-14 13:13:37 +01:00
2a3db65216
[CONTROLLER][Attachment] Some attachments may not have dimensions 2021-09-14 13:13:34 +01:00
458b6d0009
[UI] Rename all forms to more specific names, to avoid form name collisions 2021-09-14 13:13:33 +01:00
6799052ff5
[ATTACHMENTS] Ensure thumbnail dimensions are bounded and change way cropping is implemented 2021-09-14 13:13:32 +01:00
e2e6c7a5bf
[TESTS] Hot-fix Security controller tests, broken with ongoing form rendering changes 2021-09-14 13:13:30 +01:00
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
3843348c1b
[CONTROLLER][Attachment] Small refactor and add testing annotation 2021-09-14 13:13:28 +01:00
968e3431e1
[Attachment] Sometimes we can't provide download of original file 2021-09-14 13:13:26 +01:00
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
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
b5de80303a
[TEST] Raise test coverage for UserPanel to 100% 2021-09-14 13:13:23 +01:00
480665afc8
[CONTROLLER][UserPanel] Finish implementation of ::notifications so it actually saves the values in the database 2021-09-14 13:13:23 +01:00
cdf3426567
[CONTROLLR][UserPanel][PLUGINS] Add submit button to notification settings for each transport 2021-09-14 13:13:23 +01:00
afbcb179b2
[CONTROLLER][AdminPanel] Further ensure form validity 2021-09-14 13:13:23 +01:00
1b623a85ae
[UTIL][FormFields] Move FormFields class to Util\Form namespace 2021-09-14 13:13:22 +01:00
0ae67d96ea
[TESTS] Raise test coverage for AdminPanel to 100% 2021-09-14 13:13:19 +01:00
b77e35ef09
[SECURITY] Do not require email when in development 2021-09-14 13:13:19 +01:00
fe7c2b5115
[TESTS] Raise test coverage for AdminPanel controller to 100% 2021-09-14 13:13:19 +01:00
e0a0df502e
[TESTS] Raise test coverage for Attachment controller to 100% 2021-09-14 13:13:19 +01:00
dfc97d2607
[TESTS] Raise test coverage for Controller/Security to 100% 2021-09-14 13:13:18 +01:00
8139a21eb9
[TESTS] Add coverage ignore to TemplateController and ResetPassword (as it requires sending emails) 2021-09-14 13:13:18 +01:00
518995d155
[CONTROLLER][Attachment] Assert that the supplied is positive and add documentation 2021-09-14 13:13:17 +01:00
0c54a3297f
[UTIL] Add a class that defines commonly used form fields 2021-09-14 13:13:17 +01:00
ccd5ebf8e4
[CORE] Add passowrd reset and forgot password functionality 2021-09-14 13:13:17 +01:00
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
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
1c09aefd5a
[CONFIG] Make password length limits configurable 2021-09-14 13:13:14 +01:00
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
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
74f477489b
[TESTS] Raise test coverage for App\Controller\Network to 100% and fixup related code 2021-09-14 13:13:02 +01:00
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
091f4b5194
[ATTACHMENTS] Do not create thumbnails for attachments with mimetype different from 'image|video' 2021-09-14 13:12:57 +01:00
adb6680a01
[ATTACHMENTS] Respect config for smart crop 2021-09-14 13:12:57 +01:00
8cb64ede7f
[AttachmentShowRelated] Move Attachment related to plugin 2021-09-14 13:12:55 +01:00
2ec7059076
[AVATAR] Move avatar settings page to Avatar component 2021-09-14 13:12:53 +01:00
88e5cec8fc
[ENTITY][GSActor] Fix getAvatarUrl method 2021-09-14 13:12:53 +01:00
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
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
2adb3c3521
[ATTACHMENTS] Add event 'AttachmentFileInfo' to allow a plugin to override the file displayed 2021-09-14 13:12:52 +01:00
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
3afa872cec
[UI] Use thumbnail path for thumbs 2021-09-14 13:12:22 +01:00
e1995f44ce
[ATTACHMENTS] Move thumbnail controller to core and cleanup 2021-09-14 13:12:22 +01:00
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
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
5579f4fa5d
[MEDIA] Rename File to Attachment 2021-09-14 13:11:50 +01:00
dc5bdfa1fb
[CORE] Rename NoteScope to VisibilityScope, as it will be used for attachment visbility too 2021-09-14 13:11:50 +01:00
539f1861a6
[NETWORK] Fix big brain bug 2021-09-14 13:10:55 +01:00
faa362e2e2
[DB] Remove unique constraint from GSActor.nickname and fix register and related functionality 2021-09-14 13:10:23 +01:00
78548365da
[WEB] Fix translations and small inconsistency when opening on web 2021-09-14 13:10:23 +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
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
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
460712e15e
[GIT] Change my email to the new one in all files and bump copyright year 2021-09-14 13:06:56 +01:00
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
e8feb2ae84
[DOCUMENTATION][REFACTOR] Add documentation to all flagged function and do some small cleanup 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
be324bb390
[CONTROLLER] Fix use of undefined variable 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
4c15271d36
[UI] Display error when submitted form is invalid 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
rainydaysavings
492360ceeb
[CONTROLLER][ROUTE] Favourites page initial query implementation and routing 2021-09-14 13:06:50 +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
rainydaysavings
413247d344
[CONTROLLER] Replies and network queries implemented 2021-09-14 13:06:47 +01:00
rainydaysavings
04f43a9d37
[Controller] Attempting to fix home timeline query 2021-09-14 13:06:46 +01:00
Hugo Sales
459f0bf41f
[CACHE] Fix bug in list caching 2021-09-14 13:06:45 +01:00
rainydaysavings
d08757d0a4
[CONTROLLER] Home timeline controller work 2021-09-14 13:06:44 +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
6ed89c77f4
[UI][NOTE] Post and see attachments 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
de22f18abf
[SECURITY] Fix error in user registering where password wasn't hashed 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
7e4138399c
[UI][FAQ] Fix static pages 2021-09-14 13:05:56 +01:00
Hugo Sales
7f1ce816ae
[UserPanel] Fix upload of avatar 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
eb138ebdae
[STREAM][NetworkPublic] Add skeleton of public timeline and posting 2021-09-14 13:05:54 +01:00