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
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
177801c81b
[Embed][StoreRemoteMedia] Re-add {white,black}list check config
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
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
Diogo Peralta Cordeiro
1906d4f276
[Embed] Add UI element and fix some bugs
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
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
d076781c74
[AttachmentToNote][Attachment] Add title getter to Attachment
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
fbbbde4275
[AttachmentShowRelated] Bug fix after re-introduction of NoteActions
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
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
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
cdf3426567
[CONTROLLR][UserPanel][PLUGINS] Add submit button to notification settings for each transport
2021-09-14 13:13:23 +01:00
Eliseu Amaro
1647c5391f
[Favourite][TWIG][CSS] Favourite now works.
2021-09-14 13:13:22 +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
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
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
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
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
481e953cde
[Media] File quota should be triggered by the Core
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
Hugo Sales
d31c3b1784
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:13:01 +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
Diogo Peralta Cordeiro
6a999b8237
[Embed] Do not create AttachmenThumbnail
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
a3860e6257
[Embed] Local config
2021-09-14 13:12:56 +01:00
Diogo Peralta Cordeiro
837f644458
[UTIL][Formatting] Add twigRenderFile
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
8cb64ede7f
[AttachmentShowRelated] Move Attachment related to plugin
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
Diogo Peralta Cordeiro
110c2572a4
[TEMPLATES] Minor refactoring, extending left was weird
2021-09-14 13:12:54 +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
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
a7ef2babe6
[AUTOGENERATED] Update autogenerated code
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
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
8dff0b1d0c
[Favourite] Make twig event operate on array rather than string
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
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
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
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
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
483ac38888
[Directory] Fixup directory plugin
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
8e56dbb95c
[Favourite] Move table and left panel links to plugin
2021-09-14 13:11:49 +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
f8199159c3
[FFmpeg] Copy FFmpeg plugin from v2
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
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
up201706832
8cc0360298
[REPLY] Fixed CSS for reply form, making it now usable
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
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
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
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
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
Daniel
95f95d2dd8
[TESTS] Added unit tests
2021-09-14 13:10:08 +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
e2e53d9a2a
[AUTOGENERATED] Update auto generated code in entities
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
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
e8feb2ae84
[DOCUMENTATION][REFACTOR] Add documentation to all flagged function and do some small cleanup
2021-09-14 13:06:55 +01:00
Hugo Sales
221829c6fd
[Reply] Fix missing use statement
2021-09-14 13:06:54 +01:00
Hugo Sales
147ff89e74
[NoteAction] Refactor duplicated code out to base class
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
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
cc758f6a8e
[AUTOGENERATED] Update autogenerated code in module entities
2021-09-14 13:06:51 +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
26f01c4c92
[Posting] Fix posting form name and css
2021-09-14 13:06:49 +01:00
Hugo Sales
a98af6ab6a
[Directory] Add directory plugin, for listing people and groups
2021-09-14 13:06:48 +01:00
rainydaysavings
ff9b5d9c01
[PLUGIN] Removing unnecessary labels
2021-09-14 13:06:48 +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
Hugo Sales
f60bdaa2f0
[DB][MODULES][ActivityPub] Cleanup table definitions
2021-09-14 13:06:45 +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
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
e5082657b7
[COMPONENT][PLUGIN] Small refactor and add license
2021-09-14 13:05:48 +01:00
Hugo Sales
995b4cfb9b
[PLUGIN] Update example plugin
2021-09-14 13:05:47 +01:00
Diogo Cordeiro
cb7518a750
[DOCUMENTATION][TOOL] Small bug fixes and docblock elaboration
2021-09-14 13:05:24 +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
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
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
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
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
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
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
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
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
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
b1e6b00545
[ActivityPub] Re-implement Delete Actor
2021-02-21 15:00:58 +00: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
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
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
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
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
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
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
20e5a6d1f3
[TwitterBridge][DAEMONS] Fix database connection clean-up
2020-08-24 15:43:14 +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
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
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
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
14e2621a05
[RSSCloud] Avoid the deprecated in PHP each() function
2020-08-11 19:40:46 +03:00
Alexei Sorokin
2abe910ff5
[RSSCloud] Update schema definition
2020-08-11 18:23:45 +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
07b0aa8f52
[DATABASE] Fix remaining misuses of SQL's GROUP BY
2020-08-10 19:29:04 +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
042e4b070c
[EmailAuthentication] Check if e-mail with filter_var
2020-08-09 20:35:31 +03:00
Alexei Sorokin
b20c0bdec7
Clean Notice_prefs and Fave_tally when a notice is deleted
2020-08-08 12:22:35 +03: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
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
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
Alexei Sorokin
e206995268
Set HTTP status codes with http_response_code()
2020-08-04 14:12:17 +03:00
Diogo Cordeiro
a9c365a5eb
[VersionBump] 2.0.0alpha0
...
Ran composer update and locale updater
2020-08-04 05:31:44 +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
20be1d179a
[OpenID][DATABASE] Store UNIX timestamps as BIGINT
2020-07-31 18:40:53 +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
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
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
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
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
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
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
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
aa7aff3f6b
[TESTS] Fix CommandInterpreterTest
...
Also corrected a bad refactoring that affected Xmpp plugin test
2020-06-24 13:54:38 +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
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
b8c0fa9fa0
[ActivityPub] Fix Postgres incompatible query in Following and Followed collection
2020-06-05 17:48:21 +00: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
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
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
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
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
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
Diogo Cordeiro
073a181778
[ActivityPub] Fix undefined tag index 'type' in Activitypub_notice
2020-02-14 17:25:26 +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
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
562d84c375
[Xmpp] Adjust type declarations for changes in XMPPHP
2019-11-16 20:44:18 +03: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
Diogo Cordeiro
e0b17fc97d
[REALTIME] Reviewed both the superclass and its dist plugins
2019-11-03 15:37:49 +00: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
tenma
3634af3fdc
[TheFreeNetwork] First code: Module class and census event
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
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
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
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
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
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
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
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
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
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
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
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
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
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