Tamamlandi - v2

Muzibu Mobile Player Bug Fix

29 Aralik 2025 - muzibu.com

v2: HLS Error Handling iyilestirmeleri eklendi

Basit Anlatim (Herkes Icin)

Ne vardi? Mobilde muzik calarken sorunlar yasaniyordu:

  • Sorun 1: Sarkiyi durdurup tekrar baslatinca, sarki kaldigi yerden degil bastan basliyordu
  • Sorun 2: 3 nokta menusunde sarkiyi ileri/geri alma ozelligi yoktu
  • Sorun 3: Console'da cok fazla hata/uyari mesaji cikiyordu (spam)

Ne yapildi?

  • Artik sarkiyi durdurup devam ettirdiginizde kaldigi yerden devam ediyor
  • 3 nokta menusune parmakla suruklenebilen ilerleme cubugu eklendi
  • Menu artik asagi kaydirarak kapatilailiyor (swipe-to-dismiss)
  • Time badge artik kalan sureyi gosteriyor
  • Console hatalari azaltildi, gereksiz uyarilar susturuldu

Sonuc: Mobil muzik deneyimi cok daha akici ve temiz console!

v2: HLS Error Handling Iyilestirmeleri

Context Fallback Gelistirildi

"No context available" uyarisi kaldirildi

Onceki:

  • Sadece genre_id ve album_id fallback'i vardi
  • Context bulunamazsa console'a uyari yaziliyordu

Simdi:

  • Fallback sirasi: genre_id → album_id → sector_id → artist_id → popular
  • Hicbir kosulda uyari yazilmiyor (silent fallback)
  • Popular context otomatik olusturuluyor
player-core.js:5264-5311

Service Worker Error Throttling

"[SW] HLS fetch error" spam'i onlendi

Onceki:

  • console.error ile her fetch hatasi loglaniyordu
  • Network dalgalanmalarinda console spam oluyordu

Simdi:

  • console.warn (daha az alarm)
  • 10 saniye throttle - ayni hata tekrar loglanmiyor
  • Ilk hata sonrasi "subsequent errors silenced" mesaji
sw.js:91-98

XHR Error Throttling

"HLS XHR error" spam'i onlendi

Onceki:

  • Her XHR hatasi console'a yaziliyordu
  • URL tamamiyla loglaniyordu (uzun mesajlar)

Simdi:

  • 5 saniye throttle - ayni tur hata tekrar loglanmiyor
  • URL ilk 80 karakter ile kisaltildi
  • Timeout hatalari da throttle ediliyor
player-core.js:3336-3351

Silent Queue Operations

Queue islemleri artik sessiz calisiyor

Susturulan uyarilar:

  • "Queue tamamen bos! Emergency queue yukleniyor..."
  • "No context, trying emergency queue..."
  • "All refill attempts failed, last emergency attempt..."
  • "Auto-refill returned empty, trying emergency queue..."

Bu islemler arka planda sessizce yapiliyor, kullanici deneyimini bozmuyor.

player-core.js:1308-1324, 5261-5263, 5342-5344

v1: Orijinal Bug Fix Detaylari

Bug #1: Safari Native HLS Pause/Resume

Sarki durdurup devam ettirince bastan basliyordu

Sorun:

  • Safari'de HLS.js kullanilmiyor, native HLS kullaniliyor
  • Native HLS'de this.hls = null
  • togglePlayPause() fonksiyonunda else if (this.hls) kontrolu Safari'de false donuyordu

Cozum:

  • Yeni kontrol eklendi: else if (this.isHlsStream && this.currentSong)
  • Audio element varsa ve src doluysa, direkt audio.play() cagriliyor
player-core.js:711-737

Feature: Mobile Progress Bar

3 dots menusune touch-draggable progress bar eklendi

Ozellikler:

  • Parmakla suruklenebilir (touch-draggable)
  • Anlik gorsel feedback
  • Sarkiya gore degisen gradient renk
  • Buyuk touch area, kalin track, buyuk handle
player.blade.php:146-175

Diger Ozellikler

  • Swipe-to-Dismiss: Menu asagi kaydirarak kapanabiliyor (60px+)
  • Kalan Sure Badge: Time badge artik duration - currentTime gosteriyor
  • Handle Bar: Menu ustunde suruklenebilir handle

Degistirilen Dosyalar

MODIFIED
public/themes/muzibu/js/player/core/player-core.js

Safari HLS fix + Context fallback + XHR throttling + Silent queue ops

MODIFIED
public/sw.js

HLS fetch error throttling (warn + 10s cooldown)

MODIFIED
resources/views/themes/muzibu/components/player.blade.php

Mobile progress bar, swipe-to-dismiss, kalan sure badge

Console Oncesi / Sonrasi

Oncesi (Spam)

[SW] HLS fetch error: TypeError

HLS XHR error {url: '...'}

No context available...

Queue tamamen bos!...

[SW] HLS fetch error: TypeError

HLS XHR error {url: '...'}

... (tekrar tekrar)

Sonrasi (Temiz)

[SW] HLS fetch failed (subsequent errors silenced)

HLS XHR error (throttled 5s) https://muzi...

... (sessizlik - normal calisma)