28 Aralık 2025 - muzibu.com
Sorun: Mobil iOS (Safari) cihazlarda şarkı bittiğinde bir sonraki şarkıya geçmiyordu. Queue (sıra) sadece 1 şarkı gösteriyordu.
Neden: Mobil Safari farklı çalışıyor. Şarkı bilgileri iki farklı yerde tutuluyordu ve birbirleriyle konuşmuyordu - sanki iki ayrı not defteri gibi.
Çözüm: Artık şarkı bilgileri tek bir yerde tutulup her iki sisteme de bildiriliyor. Böylece şarkı bitince sistem "sıradaki şarkı hangisi?" sorusuna cevap verebiliyor.
muzibuApp() component ile Alpine.store('player') farklı objeler.
setPlayContext sadece component'i güncelliyordu, refillQueue ise store'a bakıyordu.
refillQueue başarısız olduğunda queue hiç set edilmiyordu. Şimdi her durumda en az current song ile set ediliyor.
album_id/genre_id hem API response'dan hem de song parametresinden alınıyor (fallback).
Safari'de onended event güvenilmez. Şimdi şarkı bitimine 0.3 saniye kala otomatik geçiş tetikleniyor.
seekTo() fonksiyonu sadece Howler.js ve HLS.js'i destekliyordu. Safari native HLS için 3. branch eklendi.
Queue bittiğinde otomatik olarak yeni şarkılar çekiliyor. Context varsa API'den refill yapılıyor.
Mobil 3-dots menüsüne progress/seek bar eklendi. Touch events ile çalışıyor.
store:OK album:X genre:Y ctx:var/yok - Şarkı başlarken context durumu
Queue: X şarkı geldi - refillQueue sonucu
Queue bitti, refill deneniyor... - nextTrack auto-refill
Context yok, refill yapılamıyor - Context set edilmemiş