Muzibu Player Debug v4 — Tüm bileşenler ve öncelikler
Bu plan, users tablosuna yeni alanlar eklemeyi içeriyor. Migration işlemi için 3 aşamalı onay alınacak. Hiçbir migration onay alınmadan yapılmayacak.
Eklenecek alan: is_debugger (boolean) — Tenant + Central users tablosu
| # | Konu | Tür | Öncelik | Migration |
|---|---|---|---|---|
| 1 | Teknik Terimler — Gizli Kod Adları | JS | Yüksek | — |
| 2 | Panel Küçültme (Minimize / Simge Modu) | JS | Yüksek | — |
| 3 | Sayfa Geçişinde Şarkı Başlamıyor — Bug Fix | Bug | Kritik | — |
| 4 | Kopyala → Log Dosyası Oluştur | JS + PHP | Yüksek | — |
| 5 | Users Tablosu — is_debugger Alanı | Migration | Yüksek | ✋ Onay Gerekli |
| 6 | Admin Panel — Kullanıcıya Debug Atama | PHP | Orta | 5'e bağlı |
| 7 | Debug Görünürlük Kontrolü (Premium / Root) | JS + PHP | Orta | 5'e bağlı |
| 8 | Rapor Gönderince Otomatik Kapanma | JS + PHP | Orta | — |
| 9 | Daha Fazla Veri Toplama (Genişletilmiş Metrikler) | JS | Düşük | — |
Panelde görünen etiketler değişiyor. "Donma", "Gecikme" gibi terimler kimsenin anlamayacağı kod adlarıyla değiştirilecek.
Müşteri paneli açıp "bakıyorum donuyor, gecikiyor" gibi yorum yapmasın diye tüm etiketler teknik kod adlarıyla değiştirilecek. Etiketler bizim sözlüğümüze göre olacak — dışarıdan bakan anlayamaz.
| Eski (Görünen) | Yeni Kod Adı | Teknik Anlamı |
|---|---|---|
| Gecikme | PROC-HOLD | Process Hold — işlem tutulması (≥100ms blokaj) |
| Donma | SYN-STALL | Synchronization Stall — senkronizasyon durması |
| Son Gecikme | LAST PROC-HOLD | En son yakalanan process hold olayı |
| Gecikme Sayısı | PHC | Process Hold Count |
| Şarkı Geçişi | SEQ-DELTA | Sequence Delta — dizi değişimi |
| Crossfade | XMIX | Cross-Mix — çapraz karıştırma |
| Fallback | CHAIN-RTRN | Chain Return — zincir geri dönüşü |
| Cache | APC | Audio Pool Cache |
| Eski Audio (Stale) | ORPHAN-AE | Orphaned Audio Element — sahipsiz audio kaynağı |
| Bellek | HEAP | Heap Memory — yığın bellek |
| Preload | PRE-STAGE | Pre-staging — ön hazırlık |
| Bant Genişliği | BW-EST | Bandwidth Estimate — bant genişliği tahmini |
| Aktif Kalite | QL-ACTIVE | Quality Level Active |
| GC Temizle | MEM-SWEEP | Memory Sweep — bellek süpürmesi |
| Sebep | ROOT-CAUSE | Kök neden analizi |
| Kaynak | RES-POOL | Resource Pool |
| Oturum | SES-STAT | Session Statistics |
| Güncelleme | TICK | Son güncelleme zamanı |
Kullanıcı paneli küçültebilir, sağ alta küçük bir rozet olarak kalır.
— (minimize) butonu ekleniyor (× butonunun yanına)isMinimized değişkeni + localStorage'da hatırla× butonu → tamamen kapatır (hide())— butonu → minimize ederDebug açıkken başka sayfaya gidince albüm/playlist başlatılınca şarkılar çalmıyor.
Debug paneli açıkken başka sayfaya geçip müzik başlatmaya çalışınca çalmıyor. Bunun nedeni Livewire'ın sayfa geçişi sırasında ?debug=1 parametresini kaldırması ve init() fonksiyonunun tekrar çalışmaması.
Kopyala butonuna basınca hem panoya kopyalansın hem de backend'de log dosyası oluşturulsun.
copyReport() → hem clipboard.writeText() hem fetch('/api/debug/save-log')✋ Migration — 3 aşamalı onay gerekli
| Tenant users | database/migrations/tenant/ |
| Central users | database/migrations/ |
UserManage sayfasına "Hata Ayıklayıcı" toggle'ı ekleniyor. Sadece root görebilir.
Modules/UserManagement/App/Http/Livewire/UserManageComponent.php → is_debugger alanı eklemanage.blade.php → Sadece root'a görünen toggle switchKim debug panelini görebilir?
| Özellik | Root | Debugger (Premium) |
|---|---|---|
| Panel açma | ✅ | ✅ (?debug=1 ile) |
| Manuel kapat (debug aktif kalır) | ✅ | ❌ |
| Rapor gönderince kapanır | İsteğe bağlı | ✅ Otomatik |
| Rapor gönderince is_debugger=false | ❌ (root kalır) | ✅ Pasif olur |
Kopyala butonuna basınca → log kaydedilir → panel kapanır → is_debugger=false olur
Root kullanıcılar için bu akış çalışmaz. Root kendi isteğiyle kapatabilir ama otomatik kapanma sadece is_debugger'ı true olan normal kullanıcılarda çalışır.
Daha fazla veri toplanacak — panel yeni bölümler kazanacak
| NET_CHANGE | Bağlantı tipi değişimi |
| PAGE_ENTER | Sayfa girişi (SPA) |
| TTP_MEASURE | Time-to-play ölçümü |
| JS_ERROR | Yakalanan JS hatası |
| SEG_FAIL | HLS segment yükleme hatası |
| REBUFFER | Buffer tükenip yeniden doldurma |