summaryrefslogtreecommitdiff
path: root/.editorconfig (unfollow)
Commit message (Collapse)AuthorFilesLines
5 daysstudent.js: Display confirmed table when HI is after YCRunxi Yu1-0/+35
5 daysAllow exporting student list with confirmed attributeRunxi Yu4-4/+147
5 daysstudent.js: ReformatRunxi Yu1-28/+29
5 daysendpoint_export.go: Strip leading s from student IDRunxi Yu1-1/+1
5 daysgo.mod, go.sum: Remove UUIDRunxi Yu2-3/+0
5 daysAdd course metadata course_id and section_id for PowerSchoolRunxi Yu5-21/+44
5 daysAdd confirmed courses table to confirmed stateRunxi Yu2-2/+36
5 dayswsmsg_{un,}confirm.go: Check course selections open stateRunxi Yu2-0/+24
5 daysAdd confirmed dialogue on the client side (table not added yet)Runxi Yu7-64/+213
5 days{wsmsg_hello,confirm}.go: Send confirmed stateRunxi Yu3-3/+51
5 dayscancelled -> canceledRunxi Yu7-13/+16
5 daysShow required course types on frontend tooRunxi Yu3-4/+74
5 daysBackend confirm course type minimum checkRunxi Yu10-48/+295
We still need to: - Implement YC and NC on the frontend - Reject Y and N when confirmed - Export list of confirmed users
5 daysDisplay allowed groups/types on csv error; course{Group,Type}T -> stringRunxi Yu8-30/+37
5 daysiadocs: Use Inconsolatazi4Runxi Yu2-2/+2
5 daysiadocs: Include iadocs's own codeRunxi Yu3-1/+7
5 daysiadocs: AGPL \texttt -> \urlRunxi Yu1-2/+2
5 daysiadocs: Appendix updateRunxi Yu3-11/+37
5 dayslatexify-source.sh: CSS is of language CSS, not JavaScriptRunxi Yu1-1/+1
5 daysendpoint_index.go: Fix bug of not returning after rendering login pageRunxi Yu1-1/+1
5 daysRemove benchmarking utilityRunxi Yu4-134/+0
5 daysReduce code repetition and remove fake authenticationRunxi Yu9-349/+157
5 days*.go: Use wrapError() for brevityRunxi Yu13-91/+53
5 daysDon't pass session ID to WebSocket routinesRunxi Yu5-13/+1
5 daysdrop.sql: DROP TABLE misc;Runxi Yu1-0/+1
5 daysRename tmpl -> templatesRunxi Yu8-10/+7
5 days*.go: Restructure backend filesRunxi Yu14-143/+161
5 daysCombine "Enrichment" and "Culture" into "Non-sport"Runxi Yu2-12/+10
5 dayscourses.go: courseTypes should be a map[courseTypeT]struct{}Runxi Yu1-4/+4
This saves one byte per course type
5 daysSeparate wsm.go into a file for each functionRunxi Yu3-155/+215
5 daysMove AGPL out of the primary appendix documentRunxi Yu3-688/+685
5 dayslatexify-source.sh: Use a function instead of copying code aroundRunxi Yu1-55/+23
6 daysdeploy.sh: Update sed expressionRunxi Yu1-1/+1
6 daysstudent.js: Use wss://cca.runxiyu.org/wsv0.1.9Runxi Yu1-1/+1
6 daysREADME.md: Remove "(WIP)"Runxi Yu1-1/+1
6 daysRevert "auth.go: Set SameSite=Strict"Runxi Yu1-1/+1
This reverts commit a6a5db47eb7a2040cd70dbd39e16d7de3fd9bd9f. Users are unable to log in with it. I'll look for another way to prevent CSRF.
6 days*.html: s/IA Docs/IA/gRunxi Yu4-4/+4
6 daysauth.go: Set SameSite=StrictRunxi Yu1-1/+1
We use GET requests for some administration endpoints (most importantly, the ones managing the global state).
6 daysImplement course selection started/stopped statesRunxi Yu10-21/+135
Implements: https://todo.sr.ht/~runxiyu/cca/13
6 daysstaff.html: Add search functionalityRunxi Yu1-0/+11
6 daysstate.go: Cancel connections when setting state 0Runxi Yu1-8/+16
6 daysnewcourses.go: setupCourses must be run after commitRunxi Yu1-10/+11
Otherwise it reads an old snapshot of the database...
6 dayswsc.go: Check newCtx.Done() when entering other event casesRunxi Yu1-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.
6 dayswsh.go: Remove old TODO about limiting connections per userRunxi Yu1-7/+0
This has been implemented quite a while ago.
6 dayswsh.go: Remove TODO about checking pgErrRunxi Yu1-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.
6 daysexport.go: Remove unnecessary TODORunxi Yu1-1/+1
6 daysauth.go: Remove access token expiration fields and related TODORunxi Yu1-14/+5
We're only using the token immediately after it is issued, so it's a bit unnecessary.
6 daysauth.go: Remove TODO about implementing nonce checksRunxi Yu1-7/+0
It's the OAuth provider that's responsible for checking this nonce.
6 daysauth.go: Remove TODO about using ON CONFLICTRunxi Yu1-7/+0
I think using the pgErr method actually makes the logic easier to follow especially since I'm not updating the "confirmed" field when UPDATEing but it's being initialized to false during INSERT.
6 daysReplace tcourse.sql with an example importable CSVRunxi Yu3-14/+15