Troubleshooting & Batasan Fitur
Masalah Umum
Tidak bisa login
Gejala: Email/password ditolak, kembali ke halaman login.
Solusi:
- Pastikan email terdaftar di database (
Usertable). - Minta admin reset password via Manajemen Sistem → Guru & Staf atau Siswa & Orang Tua.
- Pastikan
NEXTAUTH_SECRETdanNEXTAUTH_URLbenar di production. - Clear cookie browser dan coba lagi.
Error "Cannot read properties of undefined (reading 'findMany')"
Gejala: Halaman admin/guru crash dengan error Prisma.
Penyebab: Prisma Client belum di-regenerate setelah perubahan schema.
Solusi:
npx prisma generate
# Restart server Next.js
Pembayaran tidak terupdate setelah bayar
Gejala: Status tagihan tetap UNPAID padahal sudah bayar di Midtrans.
Solusi:
- Cek webhook Midtrans mengarah ke
https://domain.com/api/webhooks/midtrans - Pastikan
MIDTRANS_SERVER_KEYbenar (sandbox vs production). - Cek log server untuk error webhook.
- Admin dapat menandai lunas manual di Daftar Pembayaran.
QR Penjemputan ditolak
Gejala: Scanner menampilkan error "expired" atau "tidak dikenal".
Solusi:
- QR Harian: Pastikan QR di-refresh (berlaku 5 menit). Minta ortu buka ulang halaman penjemputan.
- Delegasi: Tiket single-use — tidak bisa dipakai dua kali.
- Pastikan wali/penjemput terdaftar di Wali Penjemput.
- Pastikan
NEXTAUTH_SECRETsama antara generate dan verify token.
Pesan ke guru tidak terkirim (Quiet Hours)
Gejala: Tombol kirim disabled atau pesan ditolak.
Penyebab: Fitur Quiet Hours aktif di luar jam kerja.
Solusi:
- Tunggu jam aktif (default 06:00–21:00 WIB).
- Admin dapat menyesuaikan di Konfigurasi Sistem (
QUIET_HOURS_*).
Virtual Tour tidak tampil
Gejala: Halaman /virtual-tour hanya menampilkan placeholder.
Solusi: Admin → Manajemen Sistem → Konfigurasi Sistem → bagian Portal Publik — Virtual Tour 360° → isi URL embed yang valid → Simpan.
Virtual Tour: "This content is blocked"
Gejala: Iframe menampilkan pesan This content is blocked. Contact the site owner to fix the issue.
Penyebab umum:
- URL bukan format embed (mis. link Matterport
?m=exampleyang tidak valid). - Penyedia tour melarang iframe (gunakan URL embed resmi dari Matterport/Kuula).
Solusi:
- Pastikan URL Matterport memakai format:
https://my.matterport.com/show/?m=MODEL_ID - Salin URL dari menu Embed di dashboard Matterport, bukan dari address bar biasa.
- Klik Buka Virtual Tour di bawah iframe untuk membuka di tab baru sebagai alternatif.
- Setelah update middleware, restart server Next.js (
npm run devataupm2 restart).
Cron tagihan tidak jalan
Gejala: Tagihan bulanan tidak terbuat otomatis.
Solusi:
- Pastikan crontab/serverless scheduler memanggil
/api/cron/generate-tagihan. - Pastikan header
Authorization: Bearer {CRON_SECRET}benar. - Pastikan kategori punya
isAutoGenerate: truedantipePeriode: BULANAN. - Cek apakah tagihan bulan ini sudah pernah dibuat (sistem skip duplikat).
Build gagal di production
Solusi:
npx prisma generate
npm run build
Pastikan DATABASE_URL tersedia saat build jika halaman membutuhkan koneksi DB.
db:seed gagal — kolom tidak ada di database
Gejala: Error Prisma P2022 — kolom seperti waktuKejadian atau konteksEnv tidak ditemukan.
Penyebab: Schema Prisma belum di-push ke database.
Solusi:
npx prisma db push --accept-data-loss
npm run db:seed
Grafik tren perkembangan kosong di portal ortu
Gejala: Halaman Perkembangan tidak menampilkan line chart.
Solusi:
- Pastikan guru sudah mengisi Perkembangan Harian dengan indikator perkembangan (bukan hanya indikator kurikulum lama).
- Jalankan ulang seed demo:
npm run db:seed— siswa Kiki (202601001) memiliki data observasi multi-hari. - Pilih anak yang benar di pemilih siswa.
Intervensi tidak muncul otomatis
Gejala: Guru mengisi skor MB berulang tetapi tidak ada rekomendasi intervensi.
Solusi:
- Pastikan indikator memiliki
spiTriggerMindanspiTriggerSesiyang dikonfigurasi di Indikator Perkembangan. - Pastikan Bank Intervensi terhubung ke indikator tersebut.
- Trigger SPI dievaluasi saat simpan observasi — cek log server jika masih gagal.
Fitur yang Belum Tersedia
Dokumentasikan ekspektasi berikut agar pengguna tidak mengharapkan fitur yang belum diimplementasikan:
| Fitur | Status | Alternatif Saat Ini |
|---|---|---|
| Bus tracking GPS live | Belum tersedia | — |
| Auto-debet payment gateway | Belum tersedia | Cicilan manual di admin |
| Push notification WhatsApp | Belum tersedia | Notifikasi in-app / inbox |
| OCR dokumen PPDB | Belum tersedia | Verifikasi manual admin |
| Sound announcement penjemputan | Belum tersedia | Notifikasi ke ponsel ortu |
| Email otomatis kuitansi | Belum tersedia | Unduh PDF dari portal ortu |
| Log pajak otomatis | Belum tersedia | Export manual dari laporan |
| Sizing seragam di PPDB | Belum tersedia | — |
| Video benchmark inter-rater reliability | Belum tersedia | Kuis teks di modul pelatihan |
| Rekaman suara anekdot | Belum tersedia | Catatan teks + lampiran foto/video |
| Cloud storage terpisah untuk portofolio | Belum tersedia | URL lampiran eksternal / upload lokal |
Kontak Dukungan Teknis
Untuk masalah yang tidak terselesaikan di atas:
- Cek log server (
pm2 logsatau outputnpm run dev). - Cek Prisma Studio:
npx prisma studio. - Hubungi tim developer dengan menyertakan: URL halaman, peran user, pesan error, dan screenshot.