summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* 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
* 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
* 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
* .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
* 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
* index.html: acronym -> abbrRunxi Yu2024-09-291-4/+1
* index.html, style.css: #table-of-courses { width: 100%; }Runxi Yu2024-09-292-1/+5
* index.html, style.css: Misc enhancementsRunxi Yu2024-09-292-19/+24
* eslint.sh: Pass additional arguments to eslint (to use e.g. --fix)Runxi Yu2024-09-291-1/+1
* main.js: Set checkboxes to indeterminate after selectionRunxi Yu2024-09-291-1/+3
* index.html: Remove "course.Confirmed" as it was removed from structRunxi Yu2024-09-291-6/+5
* courses.go: courseT.{Lock->SelectedLock}Runxi Yu2024-09-291-12/+12
* courses.go: Add a RWMutex to courseTRunxi Yu2024-09-281-8/+15
* Add eslint.shRunxi Yu2024-09-281-0/+7
* eslint.config.js: Allow globals and reformatRunxi Yu2024-09-281-19/+29