Proje: Okul B2B App · Hub: Okul B2B App — Incidents

Native Deps OTA Crash — Exact Version Pinleme

Commit: a691a76 (fix: native deps exact version pinlendi)

Semptom

OTA update sonrası cihazlarda crash. Bazı cihazlarda güncellenmiş JS bundle yüklenirken native modüllerle uyumsuzluk.

Root Cause

package.json’da native modüller ^ ile tanımlanmıştı:

"react-native-onesignal": "^5.2.13"

^ sembolü OTA bundle yüklendiğinde farklı minor/patch versiyonlarını çözebilir. Native kod değişmediği halde JS kodu farklı native API beklediğinde crash olur.

Çözüm

Tüm native modüller exact version pinlendi:

"react-native-onesignal": "5.2.13"     // ^ kaldırıldı
"react-native-reanimated": "~4.1.1"    // ~ ile patch-only

Native modül sayılan paketler: onesignal, react-native-firebase/*, reanimated, gesture-handler, screens, sortables, image-crop-picker vs.

Kural

OTA ile deploy edilen bir projede native modüller exact pin olmalı. OTA sadece JS bundle günceller, native kod güncellenmez.