3f25ca6c8a
feat: endpoint nilai wali (teacher_grades e-jurnal per mapel + rata-rata)
Novy San872026-08-06 13:10:41 +07:00
9078377e7e
feat: notifikasi kehadiran ke wali per sesi (hadir/izin/sakit) saat sync e-jurnal + fix violation_id nullable
Novy San872026-08-06 13:05:59 +07:00
1b49270c4a
feat: endpoint statistik pelanggaran wali (kategori, jenis, tren 6 bulan)
Novy San872026-08-06 12:52:25 +07:00
86950060fc
feat: kalender akademik — tabel + seed 66 event TA 2026/2027 + endpoint
Novy San872026-08-06 12:47:45 +07:00
28abd132c9
Face scan: viewfinder lebih lega di HP (rasio 3:4 potret) — desktop tetap 4:3
Novy San872026-08-05 18:28:16 +07:00
04ddadce19
Face scan: tampilkan hanya kandidat dengan skor >= 0.45 (ambang cocok microservice) — kandidat skor rendah tidak muncul lagi, hanya siswa yang dikenali
Novy San872026-08-05 18:26:19 +07:00
381f087a51
Face scan: ganti library deteksi MediaPipe WASM → face-api.js (tfjs + tinyFaceDetector) — kompatibilitas browser HP jauh lebih baik, model 193KB self-host
Novy San872026-08-05 18:20:02 +07:00
4ff1e4495f
Face scan: ganti model deteksi ke blaze_face_full_range — jangkauan lebih luas (wajah sedang/jauh), tidak hanya wajah dekat
Novy San872026-08-05 18:17:23 +07:00
324d9d55d8
Face scan: sensitivitas deteksi dinaikkan — minDetectionConfidence 0.5→0.35, resolusi kamera 1280→960 (frame lebih cepat di HP)
Novy San872026-08-05 18:15:44 +07:00
586fbc3a56
Face scan: hapus UI indikator liveness (Kedip/Senyum/3D/Gerak) — mode tanpa liveness bersih
Novy San872026-08-05 18:14:39 +07:00
1019ac34e1
Face scan: kembali ke mode tanpa liveness — wajah cocok langsung selesai (sesuai permintaan)
Novy San872026-08-05 18:12:37 +07:00
1ed6fb43f1
Face scan: gerak (motion) ikut jadi sinyal penerimaan — praktis di kamera HP; foto diam tetap tertolak; auto-accept tidak lagi bergantung landmarker
Novy San872026-08-05 18:09:10 +07:00
28432a7999
Face scan: longgarkan threshold liveness utk kamera HP — EAR_CLOSED 0.20→0.24 (kedip mudah terbaca), SMILE_MIN 0.35→0.25 (senyum tipis cukup), DEPTH_MIN 0.03→0.02
Novy San872026-08-05 18:04:14 +07:00
63bdadcdd2
Poles halaman Pengaturan premium
Novy San872026-08-03 18:59:10 +07:00
e815bd28d5
Admin dikecualikan dari aturan 1 akun 1 sesi
Novy San872026-08-03 14:13:09 +07:00
8e625f86e0
Sesi login: lifetime 5 menit + sesi kadaluarsa dianggap mati
Novy San872026-08-03 14:11:00 +07:00
02a5c6d701
fix: sidebar mobile bisa di-scroll (nav flex-1 overflow-y-auto) — menu di bawah layar kini terjangkau
Sari2026-08-03 10:52:01 +07:00
8f840996dd
fix: hotfix blade @endif di users/index (tombol paksa logout) — penyebab error 500 manajemen user
Sari2026-08-03 10:31:05 +07:00
0aa8beee83
feat: single session per akun — login kedua ditolak jika sesi aktif, middleware SingleSession menendang sesi lain, logout membersihkan token, tombol Paksa Logout di manajemen user; 5 feature test
Sari2026-08-03 10:29:26 +07:00
64863456ee
kop Surat Peringatan disamakan dengan format resmi (logo lambang Jatim bersih + 6 baris + garis tebal, nama sekolah satu baris via nowrap) + refactor schoolSettings()
Sari2026-08-03 10:14:00 +07:00
61ea5cdc83
fix kop: logo lambang Jatim tanpa background hitam (aplikasi smask asli dari PDF + upscale 2x), ukuran logo 88px, layout tabel stabil di DomPDF
Sari2026-08-03 10:06:26 +07:00
3bfad9cf42
hak akses konsisten: sidebar Master Data pakai permission per-menu (+directive canAnyPermission); FIX direktif canPermission pakai canPermission() model (sebelumnya hanya role kolom — multi-role & user tanpa kolom role tidak dapat menu) + test
Sari2026-08-03 09:58:52 +07:00
6dcb4c0619
update hak akses: view-point-audit terkunci Khusus Admin (UI+backend) + FIX penting: seed migrasi semua permission inti (7 permission hilang di fresh install/test DB) + test
Sari2026-08-03 09:53:22 +07:00
465be127ec
update hak akses role: view-point-audit terkunci 'Khusus Admin' (badge + kunci di UI, proteksi di backend update()) + test
Sari2026-08-03 09:51:28 +07:00
156841a4e7
fix: kirim WA tidak menutup aplikasi — fetch AJAX + SweetAlert dengan tombol Buka WhatsApp (tab baru, aplikasi tetap terbuka) + test JSON
Sari2026-08-03 09:46:00 +07:00
5a4fada9a9
feat: tombol Kirim Akun via WhatsApp di manajemen user (generate password baru, link+username+password via wa.me, konfirmasi, disable tanpa HP) + test
Sari2026-08-03 09:39:20 +07:00
f5a80fd4e2
feat: kolom phone di manajemen user (tampil di tabel, input modal, validasi regex) + FIX bug: catch-all exception handler mengubah ValidationException jadi 500 (kini redirect+error normal)
Sari2026-08-03 09:30:14 +07:00
2e7ab00c31
fix: menu Riwayat Poin pindah ke seksi Administrasi, akses khusus admin (revoke semua role non-admin)
Sari2026-08-03 09:20:23 +07:00
0c4fa0d0e7
fix: grant view-point-audit ke ketua_tim/kepala_sekolah/wali_kelas/staff (produksi tidak punya user role bk)
Sari2026-08-03 09:17:35 +07:00
6f430f35d7
kop laporan: format resmi sekolah (logo lambang Jatim kiri + 6 baris teks tengah + garis hitam tebal) — settings Kop Surat baru + upload logo kop
Sari2026-08-03 09:07:50 +07:00
e18fe3deb2
laporan: tampilkan deskripsi pelanggaran di kolom jenis (web+PDF); TEST GUARD: blokir test bila DB bukan *_test (cegah RefreshDatabase menghancurkan produksi saat config ter-cache)
Sari2026-08-03 09:01:47 +07:00
c5a2ad6913
feat: laporan rekap pelanggaran PDF (per periode/kelas, scoping wali kelas) + infrastruktur test MySQL (phpunit, fix migrasi 1093, UserFactory username)
Sari2026-08-03 08:50:52 +07:00
58ffd06625
fix: presensi - filter tanggal-kelas live, urutan tanggal di depan, pembersihan data yatim
Novy San872026-08-02 20:57:14 +07:00
6e256661dd
feat: Face ID (scan, register, liveness) + role baru KS/Waka/Ketua Tim + notifikasi WA ortu + scoping wali kelas + error pages premium
Novy San872026-08-02 20:57:11 +07:00