aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* Add confirmed dialogue on the client side (table not added yet)Runxi Yu13 days7-64/+213
* {wsmsg_hello,confirm}.go: Send confirmed stateRunxi Yu13 days3-3/+51
* cancelled -> canceledRunxi Yu13 days7-13/+16
* Show required course types on frontend tooRunxi Yu13 days3-4/+74
* Backend confirm course type minimum checkRunxi Yu13 days10-48/+295
* Display allowed groups/types on csv error; course{Group,Type}T -> stringRunxi Yu13 days8-30/+37
* iadocs: Use Inconsolatazi4Runxi Yu13 days2-2/+2
* iadocs: Include iadocs's own codeRunxi Yu13 days3-1/+7
* iadocs: AGPL \texttt -> \urlRunxi Yu13 days1-2/+2
* iadocs: Appendix updateRunxi Yu13 days3-11/+37
* latexify-source.sh: CSS is of language CSS, not JavaScriptRunxi Yu13 days1-1/+1
* endpoint_index.go: Fix bug of not returning after rendering login pageRunxi Yu13 days1-1/+1
* Remove benchmarking utilityRunxi Yu13 days4-134/+0
* Reduce code repetition and remove fake authenticationRunxi Yu13 days9-349/+157
* *.go: Use wrapError() for brevityRunxi Yu13 days13-91/+53
* Don't pass session ID to WebSocket routinesRunxi Yu13 days5-13/+1
* drop.sql: DROP TABLE misc;Runxi Yu13 days1-0/+1
* Rename tmpl -> templatesRunxi Yu13 days8-10/+7
* *.go: Restructure backend filesRunxi Yu13 days14-143/+161
* Combine "Enrichment" and "Culture" into "Non-sport"Runxi Yu13 days2-12/+10
* courses.go: courseTypes should be a map[courseTypeT]struct{}Runxi Yu13 days1-4/+4
* Separate wsm.go into a file for each functionRunxi Yu13 days3-155/+215
* Move AGPL out of the primary appendix documentRunxi Yu13 days3-688/+685
* latexify-source.sh: Use a function instead of copying code aroundRunxi Yu13 days1-55/+23
* deploy.sh: Update sed expressionRunxi Yu2024-10-101-1/+1
* student.js: Use wss://cca.runxiyu.org/wsv0.1.9Runxi Yu2024-10-101-1/+1
* README.md: Remove "(WIP)"Runxi Yu2024-10-101-1/+1
* Revert "auth.go: Set SameSite=Strict"Runxi Yu2024-10-101-1/+1
* *.html: s/IA Docs/IA/gRunxi Yu2024-10-104-4/+4
* auth.go: Set SameSite=StrictRunxi Yu2024-10-101-1/+1
* Implement course selection started/stopped statesRunxi Yu2024-10-1010-21/+135
* staff.html: Add search functionalityRunxi Yu2024-10-101-0/+11
* state.go: Cancel connections when setting state 0Runxi Yu2024-10-101-8/+16
* newcourses.go: setupCourses must be run after commitRunxi Yu2024-10-101-10/+11
* wsc.go: Check newCtx.Done() when entering other event casesRunxi Yu2024-10-101-12/+25
* wsh.go: Remove old TODO about limiting connections per userRunxi Yu2024-10-101-7/+0
* wsh.go: Remove TODO about checking pgErrRunxi Yu2024-10-101-1/+0
* export.go: Remove unnecessary TODORunxi Yu2024-10-101-1/+1
* auth.go: Remove access token expiration fields and related TODORunxi Yu2024-10-101-14/+5
* auth.go: Remove TODO about implementing nonce checksRunxi Yu2024-10-101-7/+0
* auth.go: Remove TODO about using ON CONFLICTRunxi Yu2024-10-101-7/+0
* Replace tcourse.sql with an example importable CSVRunxi Yu2024-10-103-14/+15
* Validate course group and course type when importing from CSVRunxi Yu2024-10-101-0/+24
* Allow staff to upload a CSV containing coursesRunxi Yu2024-10-106-39/+432
* export.go: Remove unnecessary fields from user queryRunxi Yu2024-10-101-3/+3
* style.css: Fix file selector buttonsRunxi Yu2024-10-101-1/+7
* {wsp,wsx}.go: Move comment about RFC1459-like message formatRunxi Yu2024-10-092-23/+23
* auth.go, schema.sql: Add "confirmed" field to usersRunxi Yu2024-10-092-2/+3
* index.go, student_disabled.html: Repsect state = 0Runxi Yu2024-10-093-17/+98
* *.go, schema.sql, staff.html: Implement state settingRunxi Yu2024-10-097-3/+187