@php($currentProject = $project)

{{ $issue->title }}

@if($issue->culprit)

{{ $issue->culprit }}

@endif
@csrf @method('PATCH') @if($issue->status === 'unresolved') @elseif($issue->status === 'resolved') @else @endif
@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))

Tags

@foreach($latestEvent->tags as $key => $value) {{ $key }} = {{ $value }} @endforeach
@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 @foreach($events as $ev) @endforeach
Event ID Environment Release Timestamp
{{ Str::limit($ev->event_id, 16) }} {{ $ev->environment ?? '—' }} {{ $ev->release ?? '—' }} {{ $ev->timestamp->diffForHumans() }}
{{ $events->links() }}
@endif