aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* *.go: Return and report errors from HTTP handlersRunxi Yu10 days10-424/+249
| | | | | | We still need to fix error handling from WebSockets References: https://todo.sr.ht/~runxiyu/cca/10
* .gitattributesRunxi Yu10 days3-2/+3
|
* {student,staff}.html: Fix column widthsv0.1.10Runxi Yu10 days2-2/+20
| | | | References: https://todo.sr.ht/~runxiyu/cca/14
* student.js: Display confirmed table when HI is after YCRunxi Yu10 days1-0/+35
|
* Allow exporting student list with confirmed attributeRunxi Yu10 days4-4/+147
|
* student.js: ReformatRunxi Yu10 days1-28/+29
|
* endpoint_export.go: Strip leading s from student IDRunxi Yu10 days1-1/+1
|
* go.mod, go.sum: Remove UUIDRunxi Yu10 days2-3/+0
|
* Add course metadata course_id and section_id for PowerSchoolRunxi Yu10 days5-21/+44
|
* Add confirmed courses table to confirmed stateRunxi Yu10 days2-2/+36
|
* wsmsg_{un,}confirm.go: Check course selections open stateRunxi Yu10 days2-0/+24
|
* Add confirmed dialogue on the client side (table not added yet)Runxi Yu10 days7-64/+213
|
* {wsmsg_hello,confirm}.go: Send confirmed stateRunxi Yu10 days3-3/+51
|
* cancelled -> canceledRunxi Yu10 days7-13/+16
|
* Show required course types on frontend tooRunxi Yu10 days3-4/+74
|
* Backend confirm course type minimum checkRunxi Yu10 days10-48/+295
| | | | | | | We still need to: - Implement YC and NC on the frontend - Reject Y and N when confirmed - Export list of confirmed users
* Display allowed groups/types on csv error; course{Group,Type}T -> stringRunxi Yu10 days8-30/+37
|
* iadocs: Use Inconsolatazi4Runxi Yu10 days2-2/+2
|
* iadocs: Include iadocs's own codeRunxi Yu10 days3-1/+7
|
* iadocs: AGPL \texttt -> \urlRunxi Yu10 days1-2/+2
|
* iadocs: Appendix updateRunxi Yu10 days3-11/+37
|
* latexify-source.sh: CSS is of language CSS, not JavaScriptRunxi Yu10 days1-1/+1
|
* endpoint_index.go: Fix bug of not returning after rendering login pageRunxi Yu10 days1-1/+1
|
* Remove benchmarking utilityRunxi Yu10 days4-134/+0
|
* Reduce code repetition and remove fake authenticationRunxi Yu10 days9-349/+157
|
* *.go: Use wrapError() for brevityRunxi Yu11 days13-91/+53
|
* Don't pass session ID to WebSocket routinesRunxi Yu11 days5-13/+1
|
* drop.sql: DROP TABLE misc;Runxi Yu11 days1-0/+1
|
* Rename tmpl -> templatesRunxi Yu11 days8-10/+7
|
* *.go: Restructure backend filesRunxi Yu11 days14-143/+161
|
* Combine "Enrichment" and "Culture" into "Non-sport"Runxi Yu11 days2-12/+10
|
* courses.go: courseTypes should be a map[courseTypeT]struct{}Runxi Yu11 days1-4/+4
| | | | This saves one byte per course type
* Separate wsm.go into a file for each functionRunxi Yu11 days3-155/+215
|
* Move AGPL out of the primary appendix documentRunxi Yu11 days3-688/+685
|
* latexify-source.sh: Use a function instead of copying code aroundRunxi Yu11 days1-55/+23
|
* deploy.sh: Update sed expressionRunxi Yu11 days1-1/+1
|
* student.js: Use wss://cca.runxiyu.org/wsv0.1.9Runxi Yu11 days1-1/+1
|
* README.md: Remove "(WIP)"Runxi Yu11 days1-1/+1
|
* Revert "auth.go: Set SameSite=Strict"Runxi Yu11 days1-1/+1
| | | | | | | This reverts commit a6a5db47eb7a2040cd70dbd39e16d7de3fd9bd9f. Users are unable to log in with it. I'll look for another way to prevent CSRF.
* *.html: s/IA Docs/IA/gRunxi Yu11 days4-4/+4
|
* auth.go: Set SameSite=StrictRunxi Yu11 days1-1/+1
| | | | | We use GET requests for some administration endpoints (most importantly, the ones managing the global state).
* Implement course selection started/stopped statesRunxi Yu11 days10-21/+135
| | | | Implements: https://todo.sr.ht/~runxiyu/cca/13
* staff.html: Add search functionalityRunxi Yu12 days1-0/+11
|
* state.go: Cancel connections when setting state 0Runxi Yu12 days1-8/+16
|
* newcourses.go: setupCourses must be run after commitRunxi Yu12 days1-10/+11
| | | | Otherwise it reads an old snapshot of the database...
* wsc.go: Check newCtx.Done() when entering other event casesRunxi Yu12 days1-12/+25
| | | | | | | | | | We select the context done channel when entering other cases too (see below) because we need to make sure the context cancel works even if both the cancel signal and another event arrive while processing a select cycle. It's a bit verbose and looks repetitive but is technically more correct than code without it.
* wsh.go: Remove old TODO about limiting connections per userRunxi Yu12 days1-7/+0
| | | | This has been implemented quite a while ago.
* wsh.go: Remove TODO about checking pgErrRunxi Yu12 days1-1/+0
| | | | | | | If the UUIDs actually collide, we're doomed anyway. Okay... this isn't the best way to write software that must be ultra-reliable, but this doesn't need to be ultra-reliable.
* export.go: Remove unnecessary TODORunxi Yu12 days1-1/+1
|
* auth.go: Remove access token expiration fields and related TODORunxi Yu12 days1-14/+5
| | | | | We're only using the token immediately after it is issued, so it's a bit unnecessary.