012 - Re-fetch courts (stale Court 4 Sold)
- Tanggal: 2026-08-09
- Chat/topik: Court 4 masih tampil & semua Sold di mobile API mode setelah soft-delete
Ringkasan perubahan
Setelah migrasi 3 court (CRT-04 soft-deleted), Android/iOS Time Slot masih memakai RuntimeCatalog lama. Id CRT-04 tidak ada di bulk availability → selalu Sold; display_order 0 menaruhnya di depan. Fix: API mode selalu re-fetch GET /courts sebelum availability. Local mpcdb diselaraskan SQL 005. Dummy 3 court + VIP di Court 3 (Android/iOS/web).
Impact bisnis
Member tidak lagi melihat court retired sebagai Sold; urutan Court 1→2→3 konsisten dengan admin.
Epic / User stories
- Epic: Court catalog freshness
- US: Sebagai member, saya ingin daftar court Time Slot selalu mengikuti court aktif di server.
User terdampak
Member Android / iOS (utama); web dummy parity.
Aplikasi terdampak
- mpc-be: TIDAK — API sudah benar
- mpc-be-pos: TIDAK (sudah di sesi sebelumnya)
- mpc-admin: TIDAK
- mpc-android: PERLU — resolveCourts re-fetch (v1.12)
- mpc-ios: PERLU — parity (v1.1)
- mpc-web: PERLU ringan — dummyCourts saja (v0.2); API path sudah fresh
- mpc-owner / ksr-sync / mpc-pos: TIDAK
Perubahan schema
Tidak ada. Local DB: jalankan migration 005 (sama prod).
Perubahan kode
- Android
MpcRepository.resolveCourts; DummyData; Home open-match labels - iOS
resolveCourtsForAvailability+availableCourtsFor; DummyData - Web
dummyCourts+ label open match - Docs: ios-changes/024, spec, changelogs, versions