Commit Graph

5265 Commits

Author SHA1 Message Date
a1cac40f6a [MODULES] Introduce the concept of abstract modules to V3
Introduce placeholder for abstract upload and thumb modules
Temporarily supress some bugs
2021-04-16 20:21:54 +01:00
ae91f75aeb [FFmpeg] Copy FFmpeg plugin from v2 2021-04-14 15:44:45 +00:00
efd2719481 [Embed][StoreRemoteMedia][Media] Copy and cleanup plugins from v2 2021-04-14 15:37:24 +00:00
66ed6fb658 [Media] Copy media subsystem from v2 and roughly structure it for v3 2021-04-14 15:37:24 +00:00
fc019d6a6e [ActivityPub] Remove ActivityPub plugin until we're ready to work on it, as it needs significant work 2021-04-14 15:37:24 +00:00
up201706832
ccf4480395 [REPLY] Fixed CSS for reply form, making it now usable 2021-04-14 15:37:23 +00:00
Daniel
03aa46cf4e [ProfileColor] Added profile color css 2021-04-14 15:37:23 +00:00
Daniel
4d0f87b91b [ProfileColor] Visualize profile color 2021-04-14 15:37:23 +00:00
Daniel
a4fdb193bc [ProfileColor] Added Profile Color entity, color form and db store/load to color settings controler 2021-04-14 15:37:23 +00:00
Daniel
9ea47c5385 [ProfileColor] Added plugin base, controller and settings template 2021-04-14 15:37:23 +00:00
Angelo D. Moura
f838dbe5f3 [Directory] Lint fix - missed a coma 2021-04-14 15:37:23 +00:00
Angelo D. Moura
793e1b0417 [Directory] Finished implementing groups stream as a plugin 2021-04-14 15:37:23 +00:00
Angelo D. Moura
66875e93f8 [Directory] Finished implementing groups stream using Directory plugin 2021-04-14 15:37:23 +00:00
Daniel
e14efe86a4 [Directory] Add documentation 2021-04-14 15:37:23 +00:00
Daniel
a19b51f91e [Directory] Moved /actors stream to directory plugin 2021-04-14 15:37:23 +00:00
Daniel
35d2bdfd5e [Cover] Remove of cover form 2021-04-14 15:37:23 +00:00
Daniel
485607169f [Cover] Added cover route verifications 2021-04-14 15:37:23 +00:00
Daniel
ee039ab2e9 [Cover] Removed commented code 2021-04-14 15:37:23 +00:00
Daniel
e2df8aec10 [Cover] Input restrictions, Code cleanup 2021-04-14 15:37:23 +00:00
Daniel
0d18615fd8 [Cover] Added cover css, changed cover settings route name 2021-04-14 15:37:23 +00:00
Daniel
4f69686968 [Cover] Added temporary css 2021-04-14 15:37:23 +00:00
Daniel
777b8b55fd [Cover] Cover route, cover now renders 2021-04-14 15:37:23 +00:00
Daniel
7688cc39a8 [Cover] Added TWIG vars for profile plugins 2021-04-14 15:37:23 +00:00
Daniel
4fd33bf37f [Cover] Added Cover Entity, updated form handler
Basically the same as the avatar
2021-04-14 15:37:23 +00:00
Daniel
3d3c560516 [Cover] Started implementing Cover plugin: base class, route, base templates, added tabs in profile template 2021-04-14 15:37:23 +00:00
Pastilhas
aaa6585a1e [DOCKER][MAIL] Removed unused config files and scripts
Now user is created on setup and dockerfile
2021-04-14 15:37:23 +00:00
Daniel
ac16b3eff1 [Poll] Removed/refactored unnecessary files, changed redirect to default parameters in new poll route 2021-04-14 15:37:23 +00:00
Daniel
696ebe60e0 [Poll] Restructured templates, added misssing poll related css 2021-04-14 15:37:23 +00:00
Daniel
168b7d313a [Poll] Polls now have an associated note, poll templates, start_show_styles event, started css 2021-04-14 15:37:23 +00:00
Daniel
3a51d3ef89 [Poll] Started testing with note integration 2021-04-14 15:37:23 +00:00
Daniel
7c8dbccee2 [Poll] Added file headers 2021-04-14 15:37:23 +00:00
Daniel
7a925cd9a6 [Poll] Added modified param for Poll/Poll response, added PollTest 2021-04-14 15:37:23 +00:00
Daniel
0a1ea8749b [Poll] Added variable num of options
not sure if it is the right way to do it
2021-04-14 15:37:23 +00:00
Daniel
8543c8c68e [Poll] Added templates, response counting 2021-04-14 15:37:23 +00:00
Daniel
8bbeb79233 [Poll] Store poll response to DB 2021-04-14 15:37:23 +00:00
Daniel
4fcde940ff [Poll] Added New Route, RespondPoll, Poll Response, PollResponseForm 2021-04-14 15:37:23 +00:00
Daniel
a98e3a32f9 [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-04-14 15:37:23 +00:00
Daniel
a9c35def3f [AUTOGENERATED][Poll] Add auto generated code for poll entity and new route 2021-04-14 15:37:23 +00:00
Daniel
b860c6bbb0 [Poll] Started porting Poll Plugin 2021-04-14 15:37:23 +00:00
Daniel
0868880d45 [TESTS] Added unit tests 2021-04-14 15:37:23 +00:00
bb4f5b88e7 [PLUGIN][Favourite] Move favourite table definition to inside the plugin, as it is now supported 2021-04-14 15:37:23 +00:00
2c9bd3575b [AUTOGENERATED] Update auto generated code in entities 2021-04-14 15:37:23 +00:00
256169a3c4 [GIT] Change my email to the new one in all files and bump copyright year 2021-04-14 15:37:23 +00:00
f51a772826 Add some missing documentation to ActivityPub 2021-04-14 15:37:23 +00:00
8a14222d51 [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-04-14 15:37:23 +00:00
9c2a911dab [Reply] Fix bug where wrong variable is used when replying to a note 2021-04-14 15:37:23 +00:00
Hugo Sales
5cced1c9ed [DOCUMENTATION][REFACTOR] Add documentation to all flagged function and do some small cleanup 2021-04-14 15:37:23 +00:00
Hugo Sales
69202ce7a0 [Reply] Fix missing use statement 2021-04-14 15:37:23 +00:00
Hugo Sales
abc32ecc0e [NoteAction] Refactor duplicated code out to base class 2021-04-14 15:37:22 +00:00
Hugo Sales
4b84ef5183 [Directory] Add missing use statement 2021-04-14 15:37:22 +00:00
Hugo Sales
774d7ffdf9 [Reply] Move reply functionality to a plugin 2021-04-14 15:37:22 +00:00
Hugo Sales
0492d71294 [NoteActions] Refactor note actions and fix bug in favourite 2021-04-14 15:37:22 +00:00
Hugo Sales
1c37eb7c72 [UI] Display error when submitted form is invalid 2021-04-14 15:37:22 +00:00
Hugo Sales
ff96c2bb59 [AUTOGENERATED] Update autogenerated code in module entities 2021-04-14 15:37:22 +00:00
Hugo Sales
922c435e28 [Repeat][Favourite] Only display action buttons if logged in (instead of forcing login) 2021-04-14 15:37:22 +00:00
Hugo Sales
54e8852fb7 [Posting] Fix posting form name and css 2021-04-14 15:37:22 +00:00
Hugo Sales
b364a51f80 [Directory] Add directory plugin, for listing people and groups 2021-04-14 15:37:22 +00:00
rainydaysavings
49cd0af021 [PLUGIN] Removing unnecessary labels 2021-04-14 15:37:22 +00:00
rainydaysavings
ce94d50043 [PLUGIN] Recycle initial implementation 2021-04-14 15:37:22 +00:00
rainydaysavings
0ed0d0470c [Favourite] Add backend support for favourite 2021-04-14 15:37:22 +00:00
Hugo Sales
fefee324b4 [DB][MODULES][ActivityPub] Cleanup table definitions 2021-04-14 15:37:22 +00:00
Hugo Sales
84cfa65bc6 [ActivityPub] Initial cleanup, removing 'die' statements, and ignoring the subfolders 2021-04-14 15:37:22 +00:00
Hugo Sales
bdacd638c7 [PLUGIN] Remove Test plugin 2021-04-14 15:37:22 +00:00
Hugo Sales
b9a2badc31 [COMPONENT][PLUGIN] Move Email and XMPP notification handlers from components to plugins, so they can be disabled 2021-04-14 15:37:22 +00:00
Hugo Sales
d7801737f6 [COMPONENT][PLUGIN] Small refactor and add license 2021-04-14 15:37:22 +00:00
Hugo Sales
605a8919a7 [PLUGIN] Update example plugin 2021-04-14 15:37:21 +00:00
Diogo Cordeiro
4efbf9361c [DOCUMENTATION][TOOL] Small bug fixes and docblock elaboration 2021-04-14 15:37:20 +00:00
Hugo Sales
1caab62200 [MODULES] Rename extensions to modules, add example plugin, change plugin location 2021-04-14 15:36:35 +00:00
Hugo Sales
d8d2ad3e10 [CORE][EXTENSIONS] Added extension (modules, plugins) loading and test plugin, which is able to handle events 2021-04-14 15:36:35 +00:00
f01331671c [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-04-14 15:36:13 +00:00
b4b71f7626 [StoreRemoteMedia] Fix failing to show remote thumbnails on first load
imgPath onCreateFileImageThumbnailSource would throw FileNotFoundException
2021-04-13 14:58:55 +01:00
f088a3d54f [Embed] Apply encoding and increased type strictness patches from StoreRemoteMedia 2021-04-13 14:55:45 +01:00
5b23781e68 [StoreRemoteMedia] Gracefully recover from poorly encoded images 2021-04-13 14:54:56 +01:00
edc9fd203d [StoreRemoteMedia] Increase type strictness 2021-04-13 14:54:56 +01:00
844ecbf71e [Embed] Revert defaults and fix Readme example 2021-02-21 20:20:48 +00:00
8570ad2094 [StoreRemoteMedia][SCRIPTS] Move removeRemoteMedia deleteRemoteMedia 2021-02-21 16:03:47 +00:00
bc3eb7bccc [MEDIA] Allow thumbnail only entries 2021-02-21 16:03:47 +00:00
800c0daafe [StoreRemoteMedia][SCRIPTS] Update removeRemoteMedia 2021-02-21 16:03:47 +00:00
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
ec1719e61d [StoreRemoteMedia][Embed] Bump plugins version 2021-02-21 16:03:46 +00:00
ef0f65720e [StoreRemoteMedia] Remote images are now stored exactly on the necessary size for the thumb 2021-02-21 16:03:46 +00:00
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
f9290705f8 [ActivityPub] Attachment fetch should happen on StoreRemoteMedia 2021-02-21 16:03:46 +00:00
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
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