| Commit message (Expand) | Author | Files | Lines |
2024-10-01 | style.css: Switch the header to a grey theme | Runxi Yu | 1 | -4/+8 |
2024-10-01 | style.css: Revert back to blue theme | Runxi Yu | 1 | -3/+5 |
2024-10-01 | {ws,wsm}.go: Split message handlers into their own functions | Runxi Yu | 2 | -124/+182 |
2024-10-01 | lint.sh: Disable dogsled and unparam | Runxi Yu | 1 | -1/+1 |
2024-10-01 | {auth,ws}.go: Remove unnecessary TODOs | Runxi Yu | 2 | -19/+2 |
2024-10-01 | ws.go: Allow deselecting courses | Runxi Yu | 1 | -0/+34 |
2024-10-01 | lint.sh: Disable yet another cyclomatic complexity checker | Runxi Yu | 1 | -1/+1 |
2024-10-01 | ws.go: Fix logic error when reaffirming a course choice | Runxi Yu | 1 | -2/+2 |
2024-10-01 | {main,pw}.go, Makefile, index_login.html: Remove password auth stub | Runxi Yu | 4 | -92/+1 |
2024-10-01 | ws.go: protocolError instead of R on unexpected database errors | Runxi Yu | 1 | -23/+7 |
2024-10-01 | index.go, ws.go: Fix race condition surrounding courses | Runxi Yu | 2 | -13/+21 |
2024-10-01 | courses.go: Propagate course.Selected when setting up courses | Runxi Yu | 1 | -2/+7 |
2024-10-01 | ws.go: Decrement course.Selected counter on commit failures | Runxi Yu | 1 | -0/+6 |
2024-10-01 | ws.go: Reaffirm course choice when duplicate is requested | Runxi Yu | 1 | -5/+13 |
2024-10-01 | ws.go: propagateCouldFail -> propagateIgnoreFailures | Runxi Yu | 1 | -2/+2 |
2024-10-01 | ws.go, schema.sql: Enforce uniqueness of course choices | Runxi Yu | 2 | -43/+65 |
2024-10-01 | lint.sh: Disable yet another cyclomatic complexity checker | Runxi Yu | 1 | -1/+1 |
2024-10-01 | ws.go, *.sql: Add course choices to the database | Runxi Yu | 3 | -7/+47 |
2024-10-01 | postgres_run.sh: Run in debug level 2 | Runxi Yu | 1 | -1/+1 |
2024-10-01 | ws.go: propagate -> propagateCouldFail | Runxi Yu | 1 | -3/+8 |
2024-10-01 | ws.go: propagate course number updates in another goroutine | Runxi Yu | 1 | -1/+1 |
2024-10-01 | auth.go: Add TODO about INSERT | Runxi Yu | 1 | -0/+7 |
2024-09-30 | admin_handbook: List configuration caveats | Runxi Yu | 1 | -3/+7 |
2024-09-30 | iadocs: cover_page.{html->htm} | Runxi Yu | 2 | -353/+352 |
2024-09-30 | docs, iadocs: Revamp | Runxi Yu | 6 | -352/+544 |
2024-09-30 | docs: TeXinfo kinda sucks, removing | Runxi Yu | 3 | -57/+0 |
2024-09-30 | ws.go: Separate c.Write calls into writeText() | Runxi Yu | 1 | -25/+17 |
2024-09-30 | utils.go, auth.go: Rename random to randomBytes | Runxi Yu | 2 | -3/+3 |
2024-09-30 | main.go: Actually repsect config.Perf.ReadHeaderTimeout | Runxi Yu | 1 | -1/+1 |
2024-09-30 | style.css: Misc enhancements | Runxi Yu | 1 | -29/+25 |
2024-09-30 | style.css: Break element specifiers onto its own line when long | Runxi Yu | 1 | -6/+12 |
2024-09-30 | style.css: Rename --boxbg to --box | Runxi Yu | 1 | -13/+11 |
2024-09-30 | style.css: Add a dark theme | Runxi Yu | 1 | -8/+28 |
2024-09-30 | style.css: Remove poorly-framed comment on --x-contrast colors | Runxi Yu | 1 | -5/+0 |
2024-09-30 | ws.go, utils.go: Document some synchronization design choices | Runxi Yu | 2 | -1/+21 |
2024-09-30 | index.html: Disable checkbox initially when .Selected >= Max | Runxi Yu | 1 | -0/+4 |
2024-09-30 | main.js: Move connect(s) to the event listener directly | Runxi Yu | 1 | -6/+2 |
2024-09-30 | {config,index}.go, cca.scfg.example, style.css, *.html: Link to source | Runxi Yu | 6 | -14/+17 |
2024-09-30 | *: Change license to AGPL-3.0-or-later | Runxi Yu | 13 | -238/+787 |
2024-09-30 | index.go: Correct typo | Runxi Yu | 1 | -1/+1 |
2024-09-30 | auth.go, config.go, cca.scfg.example: Issue expiring cookies | Runxi Yu | 3 | -2/+13 |
2024-09-30 | {auth,index,ws}.go, schema.sql: Move session cookie into the user table | Runxi Yu | 4 | -55/+23 |
2024-09-30 | utils.go: Better logging for wstr() | Runxi Yu | 1 | -1/+1 |
2024-09-30 | main.js: Disable boxes when full | Runxi Yu | 1 | -0/+8 |
2024-09-30 | main.js: Fix the IRC-style message parser | Runxi Yu | 1 | -0/+4 |
2024-09-30 | index.html, main.js, ws.go: Enhance course selection rejection message | Runxi Yu | 3 | -5/+9 |
2024-09-29 | main.js: Handle "Y" (course selection approved) | Runxi Yu | 1 | -0/+4 |
2024-09-29 | style.css: Remove styling for preformatted text | Runxi Yu | 1 | -9/+0 |
2024-09-29 | ws.go, config.go, config.scfg.example: Attempt to fix deadlock | Runxi Yu | 3 | -4/+14 |
2024-09-29 | main.js: Handle number updates | Runxi Yu | 1 | -0/+3 |