Releases: Dectre/Grader
Releases · Dectre/Grader
Release list
Grader v2.3.0
v2.3.0 — Keyboard Shortcuts for Fast Grading
Grade without touching the mouse! A full set of typing-safe keyboard shortcuts, plus a built-in cheat-sheet.
⌨️ Shortcuts
| Action | Key |
|---|---|
| Next / Prev student | PageDown / PageUp |
| Next / Prev grade field | ↓/Enter — ↑/Shift+Enter |
| Submit | Ctrl+Enter |
| Submit + next student | Ctrl+Shift+Enter |
| Clear form | Alt+C |
| Did Not Submit | Alt+X |
| Flag | F |
| Max (focused field) | Alt+M |
| Lock (focused field) | Alt+L |
| Lock / Unlock all | Ctrl+Shift+L |
| Search | / |
| Sidebar / PDF / Stats / Theme | Alt+B / Alt+P / Alt+S / Alt+T |
| Collapse / expand top bar | Alt+H |
| Help (this list) | ? |
| Leave field / close dialogs | Esc |
🛡️ Typing-safe
Shortcuts never fire while you're typing in a field — only field navigation (arrows/Enter) is active there. Press Esc to jump out and use the rest.
🐞 Fix
- Per-question lock now toggles correctly (a locked question could not be unlocked before).
Grader v2.2.2
v2.2.2 — Bug Fixes
- Side handle now moves instantly with the panel while resizing (no lag/animation)
- Lock states are now per-student: locking one student no longer locks the next
Grader v2.2.1
v2.2.1 — UI Refinements
- Visual polish: gradients, soft shadows, smooth transitions, custom scrollbars
- Resizable student panel (drag the edge, touch-friendly) with auto-collapse when too small
- Collapsible accordion sections (Info / Questions / Description)
- Compact summary (name · ID · total) shown when Student Info is collapsed
Grader v2.2.0
v2.2.0 — UI Improvements & Assignment Management
✨ New Features
- Collapsible top bar: ▲ collapses the bar; a small ▼ button restores it, freeing vertical space for the PDF.
- Sidebar collapse arrow: a ◀/▶ handle on the sidebar edge collapses/expands the students panel.
- Per-question Max button: one click fills the full mark for a question.
- Assignment rename & delete: ✏️ and 🗑️ buttons on the select page (with confirmation).
- Taller assignment list for easier browsing.
🛠️ Improvements
- Search returns inline in the top bar.
- Replaced the experimental hamburger/minimal layout with a cleaner collapsible top bar.
Grader v2.0.0
v2.0.0 — Multi-Assignment System (Major)
Data/, PDFs/ and output/ folders are no longer used. Each assignment now lives in its own Assignments/<name>/ directory. Move existing data into an assignment folder if needed.
🎉 Highlights
- Per-assignment folders:
Assignments/<name>/with its ownData/,PDFs/,output/. - Web selection screen: pick or create an assignment in the browser; switch anytime via the 🔁 button.
- In-browser setup: upload or edit
rubric.csv/students.csvfrom the select page. - Bulk PDF import: upload a zip (eLearn) or many PDFs; zip entries are renamed after their parent folder.
✨ New Features
assignments.jsonregistry — no folder scanning, stray folders ignored- Created/Modified timestamps with Name / Created / Modified sorting (asc/desc, remembered)
- Natural sorting
- Search/filter, last-selected highlight ⭐, duplicate-name guard
- Shared light/dark theme persisted across select + grading pages
Grader v1.2.0
v1.2.0 — Excel & HTML Report Improvements
✨ New Features
- Graded Count row: a new stats row above Mean showing how many submissions are graded per question (and fully-graded count for Total Score)
- Checkbox dropdowns: Not Submitted / Fully Graded / Flagged columns in Excel now have a ☐/☑ dropdown so you can toggle them directly in the sheet
- Live yellow highlight: flagging a student — from the app or manually inside Excel — instantly highlights their Name / Last Name / Student ID cells in yellow; the HTML report shows the same highlight
🔧 Improvements
- Column layout: "Not Submitted" moved next to "Fully Graded" and "Flagged" so the three checkbox columns sit together (Excel, CSV and HTML report)
- Smarter Total Score:
- Absent students now show
0 - Not-fully-graded students show a blank total
- Mean / Median / Max / Min of Total Score are computed only from fully graded students, so absentees' zeros never skew the averages
- Absent students now show
🐛 Bug Fixes
- Fixed HTML report bug where every letter "n" in descriptions was replaced with a line break
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
Grader v1.0.0
fix: align data loading and state management exactly with Python impl…