aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* wsm.go, main.js: Display the user's selected courses on first runHEADv0.1.0masterRunxi Yu2024-10-012-2/+22
* style.css: Switch the header to a grey themeRunxi Yu2024-10-011-4/+8
* style.css: Revert back to blue themeRunxi Yu2024-10-011-3/+5
* {ws,wsm}.go: Split message handlers into their own functionsRunxi Yu2024-10-012-124/+182
* lint.sh: Disable dogsled and unparamRunxi Yu2024-10-011-1/+1
* {auth,ws}.go: Remove unnecessary TODOsRunxi Yu2024-10-012-19/+2
* ws.go: Allow deselecting coursesRunxi Yu2024-10-011-0/+34
* lint.sh: Disable yet another cyclomatic complexity checkerRunxi Yu2024-10-011-1/+1
* ws.go: Fix logic error when reaffirming a course choiceRunxi Yu2024-10-011-2/+2
* {main,pw}.go, Makefile, index_login.html: Remove password auth stubRunxi Yu2024-10-014-92/+1
* ws.go: protocolError instead of R on unexpected database errorsRunxi Yu2024-10-011-23/+7
* index.go, ws.go: Fix race condition surrounding coursesRunxi Yu2024-10-012-13/+21
* courses.go: Propagate course.Selected when setting up coursesRunxi Yu2024-10-011-2/+7
* ws.go: Decrement course.Selected counter on commit failuresRunxi Yu2024-10-011-0/+6
* ws.go: Reaffirm course choice when duplicate is requestedRunxi Yu2024-10-011-5/+13
* ws.go: propagateCouldFail -> propagateIgnoreFailuresRunxi Yu2024-10-011-2/+2
* ws.go, schema.sql: Enforce uniqueness of course choicesRunxi Yu2024-10-012-43/+65
* lint.sh: Disable yet another cyclomatic complexity checkerRunxi Yu2024-10-011-1/+1
* ws.go, *.sql: Add course choices to the databaseRunxi Yu2024-10-013-7/+47
* postgres_run.sh: Run in debug level 2Runxi Yu2024-10-011-1/+1
* ws.go: propagate -> propagateCouldFailRunxi Yu2024-10-011-3/+8
* ws.go: propagate course number updates in another goroutineRunxi Yu2024-10-011-1/+1
* auth.go: Add TODO about INSERTRunxi Yu2024-10-011-0/+7
* admin_handbook: List configuration caveatsRunxi Yu2024-09-301-3/+7
* iadocs: cover_page.{html->htm}Runxi Yu2024-09-302-353/+352
* 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
* 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
* 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
* 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