| Commit message (Expand) | Author | Age | Files | Lines |
* | README.md: Remove "(WIP)" | Runxi Yu | 2024-10-10 | 1 | -1/+1 |
* | Revert "auth.go: Set SameSite=Strict" | Runxi Yu | 2024-10-10 | 1 | -1/+1 |
* | *.html: s/IA Docs/IA/g | Runxi Yu | 2024-10-10 | 4 | -4/+4 |
* | auth.go: Set SameSite=Strict | Runxi Yu | 2024-10-10 | 1 | -1/+1 |
* | Implement course selection started/stopped states | Runxi Yu | 2024-10-10 | 10 | -21/+135 |
* | staff.html: Add search functionality | Runxi Yu | 2024-10-10 | 1 | -0/+11 |
* | state.go: Cancel connections when setting state 0 | Runxi Yu | 2024-10-10 | 1 | -8/+16 |
* | newcourses.go: setupCourses must be run after commit | Runxi Yu | 2024-10-10 | 1 | -10/+11 |
* | wsc.go: Check newCtx.Done() when entering other event cases | Runxi Yu | 2024-10-10 | 1 | -12/+25 |
* | wsh.go: Remove old TODO about limiting connections per user | Runxi Yu | 2024-10-10 | 1 | -7/+0 |
* | wsh.go: Remove TODO about checking pgErr | Runxi Yu | 2024-10-10 | 1 | -1/+0 |
* | export.go: Remove unnecessary TODO | Runxi Yu | 2024-10-10 | 1 | -1/+1 |
* | auth.go: Remove access token expiration fields and related TODO | Runxi Yu | 2024-10-10 | 1 | -14/+5 |
* | auth.go: Remove TODO about implementing nonce checks | Runxi Yu | 2024-10-10 | 1 | -7/+0 |
* | auth.go: Remove TODO about using ON CONFLICT | Runxi Yu | 2024-10-10 | 1 | -7/+0 |
* | Replace tcourse.sql with an example importable CSV | Runxi Yu | 2024-10-10 | 3 | -14/+15 |
* | Validate course group and course type when importing from CSV | Runxi Yu | 2024-10-10 | 1 | -0/+24 |
* | Allow staff to upload a CSV containing courses | Runxi Yu | 2024-10-10 | 6 | -39/+432 |
* | export.go: Remove unnecessary fields from user query | Runxi Yu | 2024-10-10 | 1 | -3/+3 |
* | style.css: Fix file selector buttons | Runxi Yu | 2024-10-10 | 1 | -1/+7 |
* | {wsp,wsx}.go: Move comment about RFC1459-like message format | Runxi Yu | 2024-10-09 | 2 | -23/+23 |
* | auth.go, schema.sql: Add "confirmed" field to users | Runxi Yu | 2024-10-09 | 2 | -2/+3 |
* | index.go, student_disabled.html: Repsect state = 0 | Runxi Yu | 2024-10-09 | 3 | -17/+98 |
* | *.go, schema.sql, staff.html: Implement state setting | Runxi Yu | 2024-10-09 | 7 | -3/+187 |
* | *.go, tmpl/staff.html: Allow staff to export choices | Runxi Yu | 2024-10-09 | 6 | -2/+250 |
* | staff.html: Update from students.html and only display link to /export | Runxi Yu | 2024-10-09 | 1 | -112/+5 |
* | docs/fields.txt: Remove | Runxi Yu | 2024-10-09 | 1 | -27/+0 |
* | {courses,wsc}.go: Atomic 64-bit alignment | Runxi Yu | 2024-10-09 | 2 | -4/+7 |
* | wsc.go: Use sync.Map for cancelPool to reduce lock contention | Runxi Yu | 2024-10-09 | 1 | -21/+10 |
* | student.html: Use separate columns for Selected and Max | Runxi Yu | 2024-10-09 | 1 | -2/+9 |
* | eslint.sh: Call eslint directly rather than through npx | Runxi Yu | 2024-10-09 | 1 | -1/+1 |
* | *.go: Update comments | Runxi Yu | 2024-10-09 | 8 | -30/+17 |
* | bench.go: Update number of courses | Runxi Yu | 2024-10-09 | 1 | -1/+1 |
* | student.js: Don't N then Y the same course on selectv0.1.8 | Runxi Yu | 2024-10-09 | 1 | -1/+1 |
* | student.{html,js}: Deselect courses in the same group when selecting | Runxi Yu | 2024-10-09 | 2 | -5/+7 |
* | student.html: Slightly better looks around tickbox | Runxi Yu | 2024-10-09 | 1 | -8/+10 |
* | tcourse.sql: Add more example CCAs | Runxi Yu | 2024-10-09 | 1 | -5/+13 |
* | {courses,index}.go, student.html, style.css: Group by course group | Runxi Yu | 2024-10-09 | 4 | -20/+34 |
* | student.html: Simplify JS | Runxi Yu | 2024-10-09 | 1 | -2/+1 |
* | index.go, {login,student}.html: Use structs rather than maps for tmpl | Runxi Yu | 2024-10-09 | 3 | -22/+28 |
* | *.go: Use sync.Map instead of map[int]*courseT for courses | Runxi Yu | 2024-10-09 | 6 | -73/+115 |
* | {courses,wsc,wsp}.go: Usems should be sync.Map | Runxi Yu | 2024-10-09 | 3 | -19/+12 |
* | {courses,wsc,wsm}.go: map[courseGroupT](bool->struct{}) | Runxi Yu | 2024-10-08 | 3 | -8/+8 |
* | style.css: Work around Firefox bug 217769 | Runxi Yu | 2024-10-08 | 1 | -0/+8 |
* | *.go: Further wrap errors | Runxi Yu | 2024-10-08 | 6 | -24/+52 |
* | err.go: Create, and unify some error definitions | Runxi Yu | 2024-10-08 | 5 | -38/+55 |
* | Revert "latexify-source.sh: \subsection{\texttt{%s}}" | Runxi Yu | 2024-10-07 | 1 | -11/+11 |
* | student.js: Use "let" rather than "var"v0.1.7 | Runxi Yu | 2024-10-07 | 1 | -2/+2 |
* | latexify-source.sh: Don't set -x | Runxi Yu | 2024-10-07 | 1 | -1/+1 |
* | cca.scfg.example: usem_delay_shift_bits should default to 5 | Runxi Yu | 2024-10-07 | 1 | -1/+1 |