summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* iadocs: Include iadocs's own codeRunxi Yu9 days3-1/+7
* iadocs: AGPL \texttt -> \urlRunxi Yu9 days1-2/+2
* iadocs: Appendix updateRunxi Yu9 days3-11/+37
* latexify-source.sh: CSS is of language CSS, not JavaScriptRunxi Yu9 days1-1/+1
* endpoint_index.go: Fix bug of not returning after rendering login pageRunxi Yu9 days1-1/+1
* Remove benchmarking utilityRunxi Yu9 days4-134/+0
* Reduce code repetition and remove fake authenticationRunxi Yu9 days9-349/+157
* *.go: Use wrapError() for brevityRunxi Yu10 days13-91/+53
* Don't pass session ID to WebSocket routinesRunxi Yu10 days5-13/+1
* drop.sql: DROP TABLE misc;Runxi Yu10 days1-0/+1
* Rename tmpl -> templatesRunxi Yu10 days8-10/+7
* *.go: Restructure backend filesRunxi Yu10 days14-143/+161
* Combine "Enrichment" and "Culture" into "Non-sport"Runxi Yu10 days2-12/+10
* courses.go: courseTypes should be a map[courseTypeT]struct{}Runxi Yu10 days1-4/+4
* Separate wsm.go into a file for each functionRunxi Yu10 days3-155/+215
* Move AGPL out of the primary appendix documentRunxi Yu10 days3-688/+685
* latexify-source.sh: Use a function instead of copying code aroundRunxi Yu10 days1-55/+23
* deploy.sh: Update sed expressionRunxi Yu10 days1-1/+1
* student.js: Use wss://cca.runxiyu.org/wsv0.1.9Runxi Yu10 days1-1/+1
* README.md: Remove "(WIP)"Runxi Yu10 days1-1/+1
* Revert "auth.go: Set SameSite=Strict"Runxi Yu10 days1-1/+1
* *.html: s/IA Docs/IA/gRunxi Yu10 days4-4/+4
* auth.go: Set SameSite=StrictRunxi Yu10 days1-1/+1
* Implement course selection started/stopped statesRunxi Yu10 days10-21/+135
* staff.html: Add search functionalityRunxi Yu11 days1-0/+11
* state.go: Cancel connections when setting state 0Runxi Yu11 days1-8/+16
* newcourses.go: setupCourses must be run after commitRunxi Yu11 days1-10/+11
* wsc.go: Check newCtx.Done() when entering other event casesRunxi Yu11 days1-12/+25
* wsh.go: Remove old TODO about limiting connections per userRunxi Yu11 days1-7/+0
* wsh.go: Remove TODO about checking pgErrRunxi Yu11 days1-1/+0
* export.go: Remove unnecessary TODORunxi Yu11 days1-1/+1
* auth.go: Remove access token expiration fields and related TODORunxi Yu11 days1-14/+5
* auth.go: Remove TODO about implementing nonce checksRunxi Yu11 days1-7/+0
* auth.go: Remove TODO about using ON CONFLICTRunxi Yu11 days1-7/+0
* Replace tcourse.sql with an example importable CSVRunxi Yu11 days3-14/+15
* Validate course group and course type when importing from CSVRunxi Yu11 days1-0/+24
* Allow staff to upload a CSV containing coursesRunxi Yu11 days6-39/+432
* export.go: Remove unnecessary fields from user queryRunxi Yu11 days1-3/+3
* style.css: Fix file selector buttonsRunxi Yu11 days1-1/+7
* {wsp,wsx}.go: Move comment about RFC1459-like message formatRunxi Yu11 days2-23/+23
* auth.go, schema.sql: Add "confirmed" field to usersRunxi Yu11 days2-2/+3
* index.go, student_disabled.html: Repsect state = 0Runxi Yu11 days3-17/+98
* *.go, schema.sql, staff.html: Implement state settingRunxi Yu11 days7-3/+187
* *.go, tmpl/staff.html: Allow staff to export choicesRunxi Yu11 days6-2/+250
* staff.html: Update from students.html and only display link to /exportRunxi Yu11 days1-112/+5
* docs/fields.txt: RemoveRunxi Yu11 days1-27/+0
* {courses,wsc}.go: Atomic 64-bit alignmentRunxi Yu11 days2-4/+7
* wsc.go: Use sync.Map for cancelPool to reduce lock contentionRunxi Yu11 days1-21/+10
* student.html: Use separate columns for Selected and MaxRunxi Yu12 days1-2/+9
* eslint.sh: Call eslint directly rather than through npxRunxi Yu12 days1-1/+1