Add more details in message.

This commit is contained in:
James Cole 2024-01-04 11:46:23 +01:00
parent c32044a8eb
commit 1ba7847d84
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
6 changed files with 1648 additions and 1633 deletions

View File

@ -128,7 +128,7 @@ class Handler extends ExceptionHandler
$errorCode = 500;
$errorCode = $e instanceof MethodNotAllowedHttpException ? 405 : $errorCode;
$isDebug = (bool) config('app.debug', false);
$isDebug = (bool) config('app.debug', false);
if ($isDebug) {
app('log')->debug(sprintf('Return JSON %s with debug.', get_class($e)));
@ -191,7 +191,7 @@ class Handler extends ExceptionHandler
return;
}
$userData = [
$userData = [
'id' => 0,
'email' => 'unknown@example.com',
];
@ -200,9 +200,9 @@ class Handler extends ExceptionHandler
$userData['email'] = auth()->user()->email;
}
$headers = request()->headers->all();
$headers = request()->headers->all();
$data = [
$data = [
'class' => get_class($e),
'errorMessage' => $e->getMessage(),
'time' => date('r'),
@ -216,11 +216,12 @@ class Handler extends ExceptionHandler
'json' => request()->acceptsJson(),
'method' => request()->method(),
'headers' => $headers,
'post' => 'POST' === request()->method() ? json_encode(request()->all()) : '',
];
// create job that will mail.
$ipAddress = request()->ip() ?? '0.0.0.0';
$job = new MailError($userData, (string) config('firefly.site_owner'), $ipAddress, $data);
$ipAddress = request()->ip() ?? '0.0.0.0';
$job = new MailError($userData, (string) config('firefly.site_owner'), $ipAddress, $data);
dispatch($job);
parent::report($e);
@ -231,7 +232,7 @@ class Handler extends ExceptionHandler
*
* @param Request $request
*/
protected function invalid($request, LaravelValidationException $exception): \Illuminate\Http\Response|JsonResponse|RedirectResponse
protected function invalid($request, LaravelValidationException $exception): \Illuminate\Http\Response | JsonResponse | RedirectResponse
{
// protect against open redirect when submitting invalid forms.
$previous = app('steam')->getSafePreviousUrl();
@ -239,18 +240,17 @@ class Handler extends ExceptionHandler
return redirect($redirect ?? $previous)
->withInput(Arr::except($request->input(), $this->dontFlash))
->withErrors($exception->errors(), $request->input('_error_bag', $exception->errorBag))
;
->withErrors($exception->errors(), $request->input('_error_bag', $exception->errorBag));
}
private function shouldntReportLocal(\Throwable $e): bool
{
return null !== Arr::first(
$this->dontReport,
static function ($type) use ($e) {
return $e instanceof $type;
}
);
$this->dontReport,
static function ($type) use ($e) {
return $e instanceof $type;
}
);
}
/**

View File

@ -46,10 +46,10 @@ class TransactionGroupTransformer extends AbstractTransformer
private ExchangeRateConverter $converter;
private array $currencies = [];
private TransactionCurrency $default;
private array $meta;
private array $notes;
private array $locations;
private array $tags;
private array $meta = [];
private array $notes = [];
private array $locations = [];
private array $tags = [];
public function collectMetaData(Collection $objects): void
{

View File

@ -116,6 +116,7 @@ return [
'error_github_text' => 'If you prefer, you can also open a new issue on https://github.com/firefly-iii/firefly-iii/issues.',
'error_stacktrace_below' => 'The full stacktrace is below:',
'error_headers' => 'The following headers may also be relevant:',
'error_post' => 'This was submitted by the user:',
// Ignore this comment

File diff suppressed because it is too large Load Diff

View File

@ -52,5 +52,13 @@
{% endif %}
{% endfor %}
</p>
{% if ('' != post %}
<p style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;">
{{ trans('email.error_post') }}
</p>
<p style="font-family: monospace;font-size:11px;color:#aaa">
{{ post }}
</p>
{% endif %}
{% include 'emails.footer-html' %}

View File

@ -33,5 +33,10 @@
{% endif %}
{% endfor %}
{% if ('' != post %}
{{ trans('email.error_post') }}
{{ post }}
{% endif %}
{% include 'emails.footer-text' %}