@if(session('status'))
{{ session('status') }}
@endif
{{-- Issue Meta --}}
@php
$statusColors = [
'unresolved' => 'bg-red-100 text-red-800',
'resolved' => 'bg-green-100 text-green-800',
'ignored' => 'bg-yellow-100 text-yellow-800',
'muted' => 'bg-gray-100 text-gray-600',
];
$levelColors = [
'fatal' => 'bg-red-100 text-red-800',
'error' => 'bg-red-50 text-red-700',
'warning' => 'bg-yellow-50 text-yellow-700',
'info' => 'bg-blue-50 text-blue-700',
'debug' => 'bg-gray-100 text-gray-600',
];
@endphp
Status
{{ ucfirst($issue->status) }}
@if($issue->is_regression)
(regression)
@endif
Level
{{ ucfirst($issue->level) }}
Events
{{ number_format($issue->times_seen) }}
First Seen
{{ $issue->first_seen_at->diffForHumans() }}
Last Seen
{{ $issue->last_seen_at->diffForHumans() }}
@if($latestEvent)
{{-- Stacktrace --}}
@if(!empty($latestEvent->exception['values']))
Stacktrace
@foreach($latestEvent->exception['values'] as $exc)
{{ $exc['type'] ?? 'Exception' }}
@if(!empty($exc['value']))
{{ $exc['value'] }}
@endif
@if(!empty($exc['stacktrace']['frames']))
@foreach(array_reverse($exc['stacktrace']['frames']) as $i => $frame)
@php
$file = $frame['filename'] ?? $frame['abs_path'] ?? '?';
$fn = $frame['function'] ?? null;
$lineno = $frame['lineno'] ?? null;
$inApp = $frame['in_app'] ?? false;
$context = $frame['context_line'] ?? null;
$preContext = $frame['pre_context'] ?? [];
$postContext = $frame['post_context'] ?? [];
@endphp
@if($context || !empty($preContext) || !empty($postContext))
@foreach($preContext as $ci => $line)
{{ ($lineno ?? 0) - count($preContext) + $ci }} {{ $line }}
@endforeach
@if($context){{ $lineno }} {{ $context }}@endif
@foreach($postContext as $ci => $line)
{{ ($lineno ?? 0) + $ci + 1 }} {{ $line }}
@endforeach
@elseif(!empty($frame['vars']))
{{ json_encode($frame['vars'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) }}
@else
No source context available.
@endif
@endforeach
@endif
@endforeach
@endif
{{-- Breadcrumbs --}}
@if(!empty($latestEvent->breadcrumbs['values'] ?? $latestEvent->breadcrumbs))
@php
$crumbs = $latestEvent->breadcrumbs['values'] ?? $latestEvent->breadcrumbs;
if (!is_array($crumbs)) $crumbs = [];
@endphp
@if(count($crumbs) > 0)
Breadcrumbs
@foreach($crumbs as $crumb)
{{ isset($crumb['timestamp']) ? \Carbon\Carbon::parse($crumb['timestamp'])->format('H:i:s') : '' }}
@php
$catColor = match($crumb['type'] ?? $crumb['category'] ?? '') {
'error' => 'text-red-600',
'warning' => 'text-yellow-600',
'http', 'navigation' => 'text-blue-600',
default => 'text-gray-600',
};
@endphp
{{ $crumb['category'] ?? $crumb['type'] ?? 'default' }}
{{ $crumb['message'] ?? json_encode($crumb['data'] ?? '') }}
@endforeach
@endif
@endif
{{-- Tags --}}
@if(!empty($latestEvent->tags))
@endif
{{-- Context Panels --}}
@php
$contexts = $latestEvent->contexts ?? [];
$userCtx = $latestEvent->user_context;
$requestCtx = $latestEvent->request_context;
@endphp
@if(!empty($contexts) || $userCtx || $requestCtx)
@if($requestCtx)
Request
@if(!empty($requestCtx['method']))
- Method
- {{ $requestCtx['method'] }}
@endif
@if(!empty($requestCtx['url']))
- URL
- {{ $requestCtx['url'] }}
@endif
@if(!empty($requestCtx['headers']))
- Headers
{{ json_encode($requestCtx['headers'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) }}
@endif
@endif
@if($userCtx)
User
@foreach($userCtx as $k => $v)
- {{ ucfirst($k) }}
- {{ is_string($v) ? $v : json_encode($v) }}
@endforeach
@endif
@foreach($contexts as $ctxName => $ctxData)
@if(is_array($ctxData))
{{ ucfirst(str_replace('_', ' ', $ctxName)) }}
@foreach($ctxData as $k => $v)
@if($k !== 'type')
- {{ ucfirst(str_replace('_', ' ', $k)) }}
- {{ is_string($v) || is_numeric($v) ? $v : json_encode($v) }}
@endif
@endforeach
@endif
@endforeach
@endif
{{-- Extra Data --}}
@if(!empty($latestEvent->extra))
Extra Data
{{ json_encode($latestEvent->extra, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) }}
@endif
@endif
{{-- Events List --}}
Events
@if($events->isEmpty())
No events recorded.
@else
| Event ID |
Environment |
Release |
Timestamp |
@foreach($events as $ev)
|
{{ Str::limit($ev->event_id, 16) }}
|
{{ $ev->environment ?? '—' }} |
{{ $ev->release ?? '—' }} |
{{ $ev->timestamp->diffForHumans() }} |
@endforeach
{{ $events->links() }}
@endif