summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
...
* Replace tcourse.sql with an example importable CSVRunxi Yu6 days3-14/+15
* Validate course group and course type when importing from CSVRunxi Yu6 days1-0/+24
* Allow staff to upload a CSV containing coursesRunxi Yu6 days6-39/+432
* export.go: Remove unnecessary fields from user queryRunxi Yu7 days1-3/+3
* style.css: Fix file selector buttonsRunxi Yu7 days1-1/+7
* {wsp,wsx}.go: Move comment about RFC1459-like message formatRunxi Yu7 days2-23/+23
* auth.go, schema.sql: Add "confirmed" field to usersRunxi Yu7 days2-2/+3
* index.go, student_disabled.html: Repsect state = 0Runxi Yu7 days3-17/+98
* *.go, schema.sql, staff.html: Implement state settingRunxi Yu7 days7-3/+187
* *.go, tmpl/staff.html: Allow staff to export choicesRunxi Yu7 days6-2/+250
* staff.html: Update from students.html and only display link to /exportRunxi Yu7 days1-112/+5
* docs/fields.txt: RemoveRunxi Yu7 days1-27/+0
* {courses,wsc}.go: Atomic 64-bit alignmentRunxi Yu7 days2-4/+7
* wsc.go: Use sync.Map for cancelPool to reduce lock contentionRunxi Yu7 days1-21/+10
* student.html: Use separate columns for Selected and MaxRunxi Yu8 days1-2/+9
* eslint.sh: Call eslint directly rather than through npxRunxi Yu8 days1-1/+1
* *.go: Update commentsRunxi Yu8 days8-30/+17
* bench.go: Update number of coursesRunxi Yu8 days1-1/+1
* student.js: Don't N then Y the same course on selectv0.1.8Runxi Yu8 days1-1/+1
* student.{html,js}: Deselect courses in the same group when selectingRunxi Yu8 days2-5/+7
* student.html: Slightly better looks around tickboxRunxi Yu8 days1-8/+10
* tcourse.sql: Add more example CCAsRunxi Yu8 days1-5/+13
* {courses,index}.go, student.html, style.css: Group by course groupRunxi Yu8 days4-20/+34
* student.html: Simplify JSRunxi Yu8 days1-2/+1
* index.go, {login,student}.html: Use structs rather than maps for tmplRunxi Yu8 days3-22/+28
* *.go: Use sync.Map instead of map[int]*courseT for coursesRunxi Yu8 days6-73/+115
* {courses,wsc,wsp}.go: Usems should be sync.MapRunxi Yu8 days3-19/+12
* {courses,wsc,wsm}.go: map[courseGroupT](bool->struct{})Runxi Yu8 days3-8/+8
* style.css: Work around Firefox bug 217769Runxi Yu8 days1-0/+8
* *.go: Further wrap errorsRunxi Yu9 days6-24/+52
* err.go: Create, and unify some error definitionsRunxi Yu9 days5-38/+55
* Revert "latexify-source.sh: \subsection{\texttt{%s}}"Runxi Yu9 days1-11/+11
* student.js: Use "let" rather than "var"v0.1.7Runxi Yu9 days1-2/+2
* latexify-source.sh: Don't set -xRunxi Yu9 days1-1/+1
* cca.scfg.example: usem_delay_shift_bits should default to 5Runxi Yu9 days1-1/+1
* Reapply "{config,wsc}.go, cca.scfg.example: Dynamic course update delay"Runxi Yu9 days3-17/+34
* Revert "{config,wsc}.go, cca.scfg.example: Dynamic course update delay"Runxi Yu9 days3-34/+17
* {courses,wsm,wsp}.go: Make course.Selected atomicRunxi Yu9 days3-12/+15
* wsc.go: Fix race condition with usemCount atomicsRunxi Yu9 days1-1/+6
* postgres_run.sh: Remove as unnecessaryRunxi Yu10 days1-3/+0
* Makefile, main.go: Use cover page as iadocs/index.htmlRunxi Yu11 days2-3/+9
* {config,wsm}.go, cca.scfg.example: Configurable immediate propagationRunxi Yu11 days3-10/+28
* iadocs: ROT table should be HTMLRunxi Yu10 days4-23/+250
* main.go: -config -> -cRunxi Yu11 days1-1/+1
* latexify-source.sh: \subsection{\texttt{%s}}Runxi Yu10 days1-11/+11
* iadocs: Switch back to TeX Gyre Termes/Heros with LM MonoRunxi Yu10 days1-7/+7
* iadocs: Use Latin ModernRunxi Yu10 days2-10/+8
* .editorconfig, latexify-source.sh, student.js: Indent 4, wrap 85Runxi Yu10 days3-29/+57
* Makefile: lualatex -interaction batchmodeRunxi Yu10 days1-4/+4
* *.go: Limit to approximately 80 characters per lineRunxi Yu10 days9-95/+431