Grader v1.1.0
Add fully-graded tracking, manual flagging, and fix empty-grade zero bug
- Add FullyGraded derived field (true only when every question has a numeric grade and student is not marked absent)
- Add recalcFullyGraded invoked after load and on every save
- Add manual Flagged field with dedicated /api/student/:id/flag endpoint for review marking
- Persist Fully Graded and Flagged columns in grades.csv
- Render Not Submitted, Fully Graded and Flagged as checkbox glyphs in grades.xlsx and the PDF view
- Fix empty-grade bug: blank inputs now stay empty instead of being coerced to 0, so partial submissions no longer show fake zeros and FullyGraded stays accurate
- Preserve real zero grades on reload (distinguish 0 from empty in the UI)
- Add Excel fallback in loadSavedData with statistical-row filtering and BOM-safe headers
- Improve findPDF to pick the newest matching file and fall back to student ID
- Add no-cache headers to PDF serving to prevent stale browser cache
- Fix GetStats rounding bug and remove ToLower from CleanString
- Add live status badge and flag toggle button to the web UI