summaryrefslogtreecommitdiff
path: root/ws.go (follow)
Commit message (Expand)AuthorAgeFilesLines
* {ws,wsm}.go: Split message handlers into their own functionsRunxi Yu4 days1-124/+5
* {auth,ws}.go: Remove unnecessary TODOsRunxi Yu4 days1-14/+2
* ws.go: Allow deselecting coursesRunxi Yu4 days1-0/+34
* ws.go: Fix logic error when reaffirming a course choiceRunxi Yu4 days1-2/+2
* ws.go: protocolError instead of R on unexpected database errorsRunxi Yu4 days1-23/+7
* index.go, ws.go: Fix race condition surrounding coursesRunxi Yu4 days1-1/+5
* ws.go: Decrement course.Selected counter on commit failuresRunxi Yu4 days1-0/+6
* ws.go: Reaffirm course choice when duplicate is requestedRunxi Yu4 days1-5/+13
* ws.go: propagateCouldFail -> propagateIgnoreFailuresRunxi Yu4 days1-2/+2
* ws.go, schema.sql: Enforce uniqueness of course choicesRunxi Yu4 days1-42/+64
* ws.go, *.sql: Add course choices to the databaseRunxi Yu4 days1-1/+33
* ws.go: propagate -> propagateCouldFailRunxi Yu4 days1-3/+8
* ws.go: propagate course number updates in another goroutineRunxi Yu4 days1-1/+1
* ws.go: Separate c.Write calls into writeText()Runxi Yu5 days1-25/+17
* ws.go, utils.go: Document some synchronization design choicesRunxi Yu5 days1-1/+18
* *: Change license to AGPL-3.0-or-laterRunxi Yu5 days1-21/+11
* {auth,index,ws}.go, schema.sql: Move session cookie into the user tableRunxi Yu5 days1-8/+8
* index.html, main.js, ws.go: Enhance course selection rejection messageRunxi Yu6 days1-1/+1
* ws.go, config.go, config.scfg.example: Attempt to fix deadlockRunxi Yu6 days1-4/+7
* ws.go: Attempt to propagate messagesRunxi Yu6 days1-1/+11
* ws.go: Implement course choice limitsRunxi Yu6 days1-0/+31
* ws.go: protocolError is now its own functionRunxi Yu6 days1-28/+15
* .ws.go: Close websocket on protocol errorsRunxi Yu6 days1-0/+12
* ws.go: Stub for commands "Y" and "N", currently only counting argumentsRunxi Yu6 days1-0/+14
* ws.go: chanPoolLock should be locked during setupChanPoolRunxi Yu9 days1-0/+2
* ws.go: chanPool should be a map tooRunxi Yu9 days1-19/+8
* *.go, cca.scfg.example: Expose performance optionsRunxi Yu10 days1-3/+3
* *.go: Wrap errorsRunxi Yu10 days1-3/+4
* {auth,index,ws}.go: Add contexts for database callsRunxi Yu10 days1-1/+1
* ws.go: ReformatRunxi Yu10 days1-1/+1
* ws.go: Document chanPoolLock's purposeRunxi Yu11 days1-0/+9
* *.go: LintingRunxi Yu11 days1-14/+20
* {index,utils,ws}.go: Handle write errorsRunxi Yu11 days1-8/+28
* {utils,auth,index,ws}.go: Handle errors in random number generationRunxi Yu11 days1-1/+1
* ws.go: Log userid and sessionid with channel pointerRunxi Yu12 days1-3/+4
* ws.go: chanPoolLock should be a RWMutex rather than a pointer to oneRunxi Yu12 days1-1/+1
* ws.go: Add missing returns after authentication failureRunxi Yu12 days1-0/+2
* ws.go: Initial attempt to manage chanPoolRunxi Yu12 days1-13/+22
* auth.go, ws.go: Update commentsRunxi Yu13 days1-5/+5
* ws.go, main.js, index.html: Better WS documentation and structureRunxi Yu2024-09-161-19/+55
* ws.go: Fix previous commit's type inconsistenciesRunxi Yu2024-09-131-4/+5
* ws.go: Very basic channelsRunxi Yu2024-09-131-5/+17
* ws.go: Clarrify handleWs's purposeRunxi Yu2024-09-121-1/+2
* ws.go: Move the login logic to handleWs from handleConnRunxi Yu2024-09-121-19/+38
* ws.go: gofmtRunxi Yu2024-09-121-3/+2
* ws.go: Use channels to handle incoming messagesRunxi Yu2024-09-121-11/+30
* ws.go: Document the message formatRunxi Yu2024-09-121-0/+25
* ws.go: TODO: Select c.Read and a broadcast channelRunxi Yu2024-09-111-0/+1
* *.go: Shorter line lengthsRunxi Yu2024-09-091-3/+15
* *.go: Add commentsRunxi Yu2024-09-091-1/+44