summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
...
* ws.go: chanPool should be a map tooRunxi Yu2024-09-271-19/+8
* courses.go, etc: Make courses a map instead of a sliceRunxi Yu2024-09-263-10/+3
* .editorconfig: Indent yaml with 2 spacesRunxi Yu2024-09-261-0/+4
* .github: Try to upload artifactsRunxi Yu2024-09-261-0/+6
* main.go: Use http.Server.ServeRunxi Yu2024-09-261-1/+5
* db.go: Fix tautological error handlingRunxi Yu2024-09-261-1/+4
* *.go, cca.scfg.example: Expose performance optionsRunxi Yu2024-09-264-4/+40
* Revert "main.go: Use http.Server with timeouts"Runxi Yu2024-09-261-5/+1
* lint.sh: Add #!/bin/shRunxi Yu2024-09-261-0/+1
* *.go: Wrap errorsRunxi Yu2024-09-267-20/+25
* README.md: Mention GitHub CI tooRunxi Yu2024-09-261-1/+2
* Attempt to use GitHub workflowsRunxi Yu2024-09-261-0/+28
* main.go: Use http.Server with timeoutsRunxi Yu2024-09-261-1/+5
* auth.go: Use contexts in getAccessTokenRunxi Yu2024-09-261-3/+8
* {auth,index,ws}.go: Add contexts for database callsRunxi Yu2024-09-263-10/+10
* README.md: Add link to CI pageRunxi Yu2024-09-261-1/+1
* README.md: Update [skip ci]Runxi Yu2024-09-261-10/+27
* .woodpecker: Add lintingRunxi Yu2024-09-261-1/+2
* lint.sh: Disable some bad checkersRunxi Yu2024-09-261-1/+1
* ws.go: ReformatRunxi Yu2024-09-261-1/+1
* .woodpecker: I can only release on tagsRunxi Yu2024-09-261-2/+2
* .woodpecker: Attempt 3Runxi Yu2024-09-261-2/+1
* .woodpecker: Attempt 2Runxi Yu2024-09-261-5/+2
* .woodpecker: Add release workflow (well I'm trying)Runxi Yu2024-09-261-0/+14
* .woodpecker: Try alpine:edgeRunxi Yu2024-09-251-1/+1
* .woodpecker: Initialize CIRunxi Yu2024-09-251-0/+11
* ws.go: Document chanPoolLock's purposeRunxi Yu2024-09-241-0/+9
* auth.go: Close PostForm response bodyRunxi Yu2024-09-241-0/+1
* style.css: Fix more regressionsRunxi Yu2024-09-241-4/+8
* index.html, main.js: Display message when connection is closedRunxi Yu2024-09-243-2/+41
* index.html: Fix template to match the new "ID" rather than "Id"Runxi Yu2024-09-241-5/+5
* auth.go: Fix json tag, should be access_token not accessTokenRunxi Yu2024-09-241-1/+1
* auth.go: Fix grant_type=authorization_codeRunxi Yu2024-09-241-1/+1
* cca.scfg.example -> docs/Runxi Yu2024-09-241-0/+0
* docs, scripts, sql: Sort support files into subdirectoriesRunxi Yu2024-09-246-0/+0
* Makefile: Update number of Go filesRunxi Yu2024-09-241-1/+1
* main.js: Omit semicolonsRunxi Yu2024-09-242-40/+38
* main.js, eslint.config.js: Start using eslintRunxi Yu2024-09-242-41/+149
* main.js: Don't indent case in switchRunxi Yu2024-09-241-28/+28
* *.go: LintingRunxi Yu2024-09-2410-140/+147
* style.css, index.html: More clean-upRunxi Yu2024-09-242-136/+106
* style.css: Initial clean-upRunxi Yu2024-09-241-42/+9
* utils.go: ReformatRunxi Yu2024-09-241-2/+2
* courses.go: Comment out coursetype_t enum to make linter happy for nowRunxi Yu2024-09-241-5/+7
* {index,utils,ws}.go: Handle write errorsRunxi Yu2024-09-243-39/+39
* {utils,auth,index,ws}.go: Handle errors in random number generationRunxi Yu2024-09-244-10/+30
* ws.go: Log userid and sessionid with channel pointerRunxi Yu2024-09-241-3/+4
* auth.go: Remove unnecessary fmt.SprintfRunxi Yu2024-09-231-1/+1
* ws.go: chanPoolLock should be a RWMutex rather than a pointer to oneRunxi Yu2024-09-231-1/+1
* ws.go: Add missing returns after authentication failureRunxi Yu2024-09-231-0/+2