summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| | | | | | | A pointer to one could always be obtained via &chanPoolLock; but if I declare it as a pointer globally, I would need to initialize it somewhere so I don't get a null pointer dereference. It's more convenient to just declare it as the value.
* ws.go: Add missing returns after authentication failureRunxi Yu2024-09-231-0/+2
|
* ws.go: Initial attempt to manage chanPoolRunxi Yu2024-09-231-13/+22
|
* auth.go, ws.go: Update commentsRunxi Yu2024-09-232-7/+10
|
* Bump dependenciesRunxi Yu2024-09-232-3/+3
|
* Bump dependenciesRunxi Yu2024-09-222-6/+6
|
* index.html: Add box styling to the WebSocket warningRunxi Yu2024-09-171-1/+1
|
* ws.go, main.js, index.html: Better WS documentation and structureRunxi Yu2024-09-164-85/+156
|
* ws.go: Fix previous commit's type inconsistenciesRunxi Yu2024-09-131-4/+5
|
* ws.go: Very basic channelsRunxi Yu2024-09-132-5/+23
|
* go.mod: Bump dependenciesRunxi Yu2024-09-122-21/+21
|
* tcourse.sql: Use real-ish example dataRunxi Yu2024-09-121-6/+5
|
* 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
|
* fields.txt: Document the export fields we needRunxi Yu2024-09-111-0/+26
|
* ws.go: TODO: Select c.Read and a broadcast channelRunxi Yu2024-09-111-0/+1
| | | | | | | I'm not sure whether we need to spawn an entirely different goroutine, make a shared channel, and select between the channels. It certainlly doesn't seem like there's a trivial way to block from a synchronous function and a channel, but I might be wrong, being unfamiliar with Go's concurrency.
* auth.go: Use && instead of nested if statementRunxi Yu2024-09-111-14/+12
|
* tcourse.sql: Make the names slightly less randomRunxi Yu2024-09-091-6/+6
|
* *.go: Add more licensesRunxi Yu2024-09-094-0/+120
|
* .editorconfig: InitializeRunxi Yu2024-09-091-0/+16
|
* index{,_login}.tmpl: Rename .tmpl to .htmlRunxi Yu2024-09-092-0/+0
|
* *.go: Shorter line lengthsRunxi Yu2024-09-093-8/+34
|
* *.go: Add commentsRunxi Yu2024-09-098-11/+134
|
* ws.go: splitMsg should return strings instead of bytesRunxi Yu2024-09-091-7/+9
|
* ws.go: Split IRC-style messagesRunxi Yu2024-09-092-3/+30
|
* ws.go: gofmtRunxi Yu2024-09-091-1/+1
|
* index.tmpl: Add git.rx and GitHub URLRunxi Yu2024-09-081-1/+1
|
* style.css, index.tmpl: Style changesRunxi Yu2024-09-082-2/+8
|
* main.js, index.tmpl: Confirmation buttonRunxi Yu2024-09-082-0/+17
| | | | | In the future we shall the confirmation button to only work when all fields are correctly completed.
* index.tmpl: Place the search bar inside the tableRunxi Yu2024-09-081-3/+5
|
* *: Password login stubRunxi Yu2024-09-084-4/+76
|
* index.tmpl: Rename the "Course" field into "Name", in the HTMLRunxi Yu2024-09-081-1/+1
|
* ws.go: Check session cookieRunxi Yu2024-09-081-2/+24
| | | | I'm not sure if all browsers send them along in WebSocket requests.
* main.js: More robust check handlingRunxi Yu2024-09-081-1/+15
|
* main.js: Send message whenever the checkbox changesRunxi Yu2024-09-081-0/+6
|
* main.js: Send HELLO, not BLOOPRunxi Yu2024-09-081-1/+1
|
* main.js: Slight reformat and code commentsRunxi Yu2024-09-081-0/+7
|
* index.tmpl: Add .coursecheckbox to checkboxesRunxi Yu2024-09-081-1/+1
|
* ws.go: Don't close the connection that fastRunxi Yu2024-09-081-7/+8
|
* ws.go: Don't echo messages backRunxi Yu2024-09-081-4/+9
|