* logging:
added JavaScript based filter mechanism
added logging configuration
replaced out calls to dbglog with new Logger calls
added convenience methods to log to our default facilities
added logviwer admin plugin
added log dir to git
central logging mechanism
* globalErrorHandling:
fixed plugin name output on load error
no need to convert Errors to Exceptions
FatalException and proper plugin detection
add shutdown handler to even manage fatal errors
reflow overlong line
better exception handling on plugin loading
log stacktrace to error log
guess which plugin was the source of an exception
introduce a global error handler
* pr/3240:
usermanager CLI: more cleanup
usermanager CLI: use success messages
usermanager CLI: fix parameter order for creating users
usermanager CLI: catch plugin signalled error messages
abort early when no auth backend is available
type hints and cleanup
typos
remove unused variable
add addToGroup and removeFromGroup
initial usermanager cli
Travis has recently introduced built limits which makes using them very
slow sometimes and I never really liked the setup for appveyor for our
Windows testing.
This makes use of github actions instead. Some notes:
* since we only support PHP 7.2+ anymore, nothing below is tested
* MySQL and Postgres auth backends are only tested on Linux (as before)
* I am not actually sure the problem matchers are working as intended
* There is currently no good way to run tests that are allowed to fail
so no PHP 8 tests are run yet
* I haven't reestablished the no-gzip test runs again, I'm not sure they
are still relevant on modern PHP systems
* PHP 7.4 currently fails because of https://github.com/MarcusSchwarz/lesserphp/pull/18
* I'm currently using @v2 tags for the used action. We had a discussion
before if we should actually pin the action to a fixed commit. For
sake of easier maintainance, I would argue to trust the setup-php
action.
This applies https://github.com/MarcusSchwarz/lesserphp/pull/19 manually
to the vendor directory.
It seems lesserphp is abandoned and we will need to find a proper
solution. Probably by maintaining our own fork. For now this should fix
PHP 7.4 tests.
This patch replaces our old gif based smileys by SVG based ones from the
Twemoji project. This allows for scaling the emojis with the text
they're used in.
This adds a CSP header for all media delivered through our fetch.php
dispatcher. This should revent any scripts etc. to be executed when
scriptable media, like SVG is used.
Suggestions on finetuning the policy are welcome.
The policy is added to the MEDIA_SENDFILE event, so plugins can easily
influence it. The way it is passed as an array should make it easier to
modify from plugins as well.
I put the mechanism to send the header into it's own class in the HTTP
namespace. Additional methods from inc/httputils could be moved here
later. The method might also be interesting for #2198 and #1676.