- Publish konten langsung menyinkronkan lesson registry dan merekomputasi composite/state siswa bila jenis evaluasi (latihan/kuis) berubah, tanpa menunggu restart server. - TTL cache (`LESSON_LIST_CACHE_TTL`, default 30 detik) untuk daftar lesson agar worker gunicorn lain ikut segar tanpa invalidasi lintas proses. - Endpoint POST /content/sync-registry (teacher-only) + tombol Sinkronisasi di /teacher/progress untuk menangkap perubahan konten di luar webapp. - Notifikasi editor saat progress siswa dihitung ulang pasca-publish. - `recompute_lesson_progress()`: skor historis tetap disimpan; state legacy completed/scored tidak disentuh. - Test unit (TTL cache + signature evaluasi) dan integrasi (publish recompute, sync registry, endpoint auth) + dokumentasi. Tanpa perubahan schema DB. |
||
|---|---|---|
| .. | ||
| src | ||
| static | ||
| tests/e2e | ||
| .dockerignore | ||
| Dockerfile | ||
| node-polyfill.cjs | ||
| package-lock.json | ||
| package.json | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||