aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* docs, iadocs: RevampRunxi Yu2024-09-306-352/+544
|
* docs: TeXinfo kinda sucks, removingRunxi Yu2024-09-303-57/+0
|
* ws.go: Separate c.Write calls into writeText()Runxi Yu2024-09-301-25/+17
|
* utils.go, auth.go: Rename random to randomBytesRunxi Yu2024-09-302-3/+3
|
* main.go: Actually repsect config.Perf.ReadHeaderTimeoutRunxi Yu2024-09-301-1/+1
|
* style.css: Misc enhancementsRunxi Yu2024-09-301-29/+25
|
* style.css: Break element specifiers onto its own line when longRunxi Yu2024-09-301-6/+12
|
* style.css: Rename --boxbg to --boxRunxi Yu2024-09-301-13/+11
|
* style.css: Add a dark themeRunxi Yu2024-09-301-8/+28
|
* style.css: Remove poorly-framed comment on --x-contrast colorsRunxi Yu2024-09-301-5/+0
|
* ws.go, utils.go: Document some synchronization design choicesRunxi Yu2024-09-302-1/+21
| | | | Also use TryLock in setupChanPool, and fail when not successful.
* index.html: Disable checkbox initially when .Selected >= MaxRunxi Yu2024-09-301-0/+4
|
* main.js: Move connect(s) to the event listener directlyRunxi Yu2024-09-301-6/+2
|
* {config,index}.go, cca.scfg.example, style.css, *.html: Link to sourceRunxi Yu2024-09-306-14/+17
|
* *: Change license to AGPL-3.0-or-laterRunxi Yu2024-09-3013-238/+787
|
* index.go: Correct typoRunxi Yu2024-09-301-1/+1
|
* auth.go, config.go, cca.scfg.example: Issue expiring cookiesRunxi Yu2024-09-303-2/+13
|
* {auth,index,ws}.go, schema.sql: Move session cookie into the user tableRunxi Yu2024-09-304-55/+23
| | | | | | | One user shall only have one session at a time. This reduces the possibility of strange race conditions and simplifies the code a lot. References: https://todo.sr.ht/~runxiyu/cca/4
* utils.go: Better logging for wstr()Runxi Yu2024-09-301-1/+1
|
* main.js: Disable boxes when fullRunxi Yu2024-09-301-0/+8
|
* main.js: Fix the IRC-style message parserRunxi Yu2024-09-301-0/+4
| | | | | Previously, if it receives a message like "a b :c", it returns "["a", "b", "c "]" which is erroneous.
* index.html, main.js, ws.go: Enhance course selection rejection messageRunxi Yu2024-09-303-5/+9
|
* main.js: Handle "Y" (course selection approved)Runxi Yu2024-09-291-0/+4
|
* style.css: Remove styling for preformatted textRunxi Yu2024-09-291-9/+0
|
* ws.go, config.go, config.scfg.example: Attempt to fix deadlockRunxi Yu2024-09-293-4/+14
| | | | | | | When propagate tries to propagate a message to a connection that actually called propagate, it deadlocks because the it tries to send to that connection's send channel in the same goroutine. This is an attempt at a fix.
* main.js: Handle number updatesRunxi Yu2024-09-291-0/+3
|
* main.js: Relocate a comment and remove a blank lineRunxi Yu2024-09-291-2/+1
|
* ws.go: Attempt to propagate messagesRunxi Yu2024-09-291-1/+11
|
* ws.go: Implement course choice limitsRunxi Yu2024-09-291-0/+31
|
* pre-commit hook: Use && to chain lint.sh and eslint.shRunxi Yu2024-09-291-2/+1
|
* main.js: Add stub case "R" for course selection rejectedRunxi Yu2024-09-291-0/+5
|
* main.js: Comments should be /* */ rather than //Runxi Yu2024-09-291-2/+2
|
* main.js: Remove command "A" (authentication)Runxi Yu2024-09-291-3/+0
| | | | | Authentication is handled during the HTTP request that establishes the WebSocket connection since the cookie is passed there anyway.
* auth.go: Document why we use a hybrid auth flowRunxi Yu2024-09-291-1/+12
|
* ws.go: protocolError is now its own functionRunxi Yu2024-09-291-28/+15
|
* index.html: Remind user to report connection closed errorsRunxi Yu2024-09-291-0/+3
|
* style.css, index.html: Emit warning when CSS doesn't loadRunxi Yu2024-09-292-0/+7
|
* .github, .woodpecker: Remove CI for nowRunxi Yu2024-09-292-59/+0
| | | | I'll add them back when necessary
* .ws.go: Close websocket on protocol errorsRunxi Yu2024-09-291-0/+12
|
* ws.go: Stub for commands "Y" and "N", currently only counting argumentsRunxi Yu2024-09-291-0/+14
|
* lint.sh: Disable gocognitRunxi Yu2024-09-291-1/+1
|
* style.css: Use YK Pao GreenRunxi Yu2024-09-291-1/+1
|
* Add the pre-commit hookRunxi Yu2024-09-291-0/+4
|
* README.md: Add CI and IA noticeRunxi Yu2024-09-291-2/+7
|
* index.html: Use div instead of main to be semantically appropriateRunxi Yu2024-09-291-7/+5
|
* style.css: Do not differentiate between odd and even rowsRunxi Yu2024-09-291-9/+0
| | | | It looks annoying
* index.html: Remove erroneous comma in tag attributesRunxi Yu2024-09-291-1/+1
|
* index.html, style.css: Use .reading-width instead of sectionRunxi Yu2024-09-292-3/+3
| | | | Section has semantic meaning and should be accompanied by a heading
* index.html: acronym -> abbrRunxi Yu2024-09-291-4/+1
| | | | It seems deprecated: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/acronym
* index.html, style.css: #table-of-courses { width: 100%; }Runxi Yu2024-09-292-1/+5
|