Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | *.go: Use sync.Map instead of map[int]*courseT for courses | Runxi Yu | 2024-10-09 | 6 | -73/+115 | |
| | | | | I'm not sure whether this is actually better than locking. | |||||
* | {courses,wsc,wsp}.go: Usems should be sync.Map | Runxi Yu | 2024-10-09 | 3 | -19/+12 | |
| | | | | | This is a classic few-reads, many-writes situation where a sync.Map would lead to substantially less lock contention. | |||||
* | {courses,wsc,wsm}.go: map[courseGroupT](bool->struct{}) | Runxi Yu | 2024-10-08 | 3 | -8/+8 | |
| | | | | | This makes it use slightly less memory. Approximately courseGroupT bits per connection! | |||||
* | style.css: Work around Firefox bug 217769 | Runxi Yu | 2024-10-08 | 1 | -0/+8 | |
| | | | | | | | Firefox eats the left, bottom, and right borders when tbody is empty. This is a bug known for 21 years (that was Firefox 37 or something). References: https://bugzilla.mozilla.org/show_bug.cgi?id=217769 | |||||
* | *.go: Further wrap errors | Runxi Yu | 2024-10-08 | 6 | -24/+52 | |
| | ||||||
* | err.go: Create, and unify some error definitions | Runxi Yu | 2024-10-08 | 5 | -38/+55 | |
| | ||||||
* | Revert "latexify-source.sh: \subsection{\texttt{%s}}" | Runxi Yu | 2024-10-07 | 1 | -11/+11 | |
| | | | | This reverts commit a9916b3a7df327836f18011edcbf8cc218260f89. | |||||
* | student.js: Use "let" rather than "var"v0.1.7 | Runxi Yu | 2024-10-07 | 1 | -2/+2 | |
| | ||||||
* | latexify-source.sh: Don't set -x | Runxi Yu | 2024-10-07 | 1 | -1/+1 | |
| | ||||||
* | cca.scfg.example: usem_delay_shift_bits should default to 5 | Runxi Yu | 2024-10-07 | 1 | -1/+1 | |
| | ||||||
* | Reapply "{config,wsc}.go, cca.scfg.example: Dynamic course update delay" | Runxi Yu | 2024-10-07 | 3 | -17/+34 | |
| | | | | This reverts commit 831040c3d7dbc116a25848786bc5ab83fef6149b. | |||||
* | Revert "{config,wsc}.go, cca.scfg.example: Dynamic course update delay" | Runxi Yu | 2024-10-07 | 3 | -34/+17 | |
| | | | | This reverts commit de3f0b9e7003e4521f5ea866134e77ff859ab99b. | |||||
* | {courses,wsm,wsp}.go: Make course.Selected atomic | Runxi Yu | 2024-10-07 | 3 | -12/+15 | |
| | ||||||
* | wsc.go: Fix race condition with usemCount atomics | Runxi Yu | 2024-10-07 | 1 | -1/+6 | |
| | | | | Atomics must be read atomically via atomic.LoadT | |||||
* | postgres_run.sh: Remove as unnecessary | Runxi Yu | 2024-10-07 | 1 | -3/+0 | |
| | ||||||
* | Makefile, main.go: Use cover page as iadocs/index.html | Runxi Yu | 2024-10-06 | 2 | -3/+9 | |
| | ||||||
* | {config,wsm}.go, cca.scfg.example: Configurable immediate propagation | Runxi Yu | 2024-10-06 | 3 | -10/+28 | |
| | ||||||
* | iadocs: ROT table should be HTML | Runxi Yu | 2024-10-07 | 4 | -23/+250 | |
| | ||||||
* | main.go: -config -> -c | Runxi Yu | 2024-10-06 | 1 | -1/+1 | |
| | ||||||
* | latexify-source.sh: \subsection{\texttt{%s}} | Runxi Yu | 2024-10-07 | 1 | -11/+11 | |
| | ||||||
* | iadocs: Switch back to TeX Gyre Termes/Heros with LM Mono | Runxi Yu | 2024-10-07 | 1 | -7/+7 | |
| | ||||||
* | iadocs: Use Latin Modern | Runxi Yu | 2024-10-06 | 2 | -10/+8 | |
| | ||||||
* | .editorconfig, latexify-source.sh, student.js: Indent 4, wrap 85 | Runxi Yu | 2024-10-06 | 3 | -29/+57 | |
| | ||||||
* | Makefile: lualatex -interaction batchmode | Runxi Yu | 2024-10-06 | 1 | -4/+4 | |
| | ||||||
* | *.go: Limit to approximately 80 characters per line | Runxi Yu | 2024-10-06 | 9 | -95/+431 | |
| | ||||||
* | iadocs/header.inc: link color white!40!blue!50!black | Runxi Yu | 2024-10-06 | 1 | -1/+1 | |
| | ||||||
* | Makefile: lualatex -halt-on-error | Runxi Yu | 2024-10-06 | 1 | -4/+4 | |
| | ||||||
* | iadocs, etc.: Add source to appendix | Runxi Yu | 2024-10-06 | 7 | -4/+797 | |
| | ||||||
* | iadocs: Use DejaVu Sans Mono [Scale=0.8] | Runxi Yu | 2024-10-06 | 1 | -1/+1 | |
| | ||||||
* | deploy.sh: Add deployment script | Runxi Yu | 2024-10-06 | 1 | -0/+18 | |
| | ||||||
* | index.go, login.html: Improve looks of session expired message | Runxi Yu | 2024-10-06 | 2 | -4/+4 | |
| | ||||||
* | studnet.js: TODO about configurable WebSocket URL | Runxi Yu | 2024-10-06 | 1 | -0/+17 | |
| | ||||||
* | README.md: Update | Runxi Yu | 2024-10-06 | 1 | -6/+12 | |
| | ||||||
* | main.go, Makefile: Add .editorconfig and .gitignore to srcFS | Runxi Yu | 2024-10-06 | 2 | -2/+2 | |
| | ||||||
* | Revert "Makefile, main.go: Add vendor dependencies to srcFS"v0.1.6 | Runxi Yu | 2024-10-06 | 2 | -5/+2 | |
| | | | | This reverts commit a25fdc67f05cfb1b37ac750460a21ddbb18008de. | |||||
* | go.mod: Fix module URL | Runxi Yu | 2024-10-06 | 1 | -1/+1 | |
| | ||||||
* | {config,wsc}.go, cca.scfg.example: Dynamic course update delay | Runxi Yu | 2024-10-06 | 3 | -15/+24 | |
| | ||||||
* | bench: Accept courseID and connections flags | Runxi Yu | 2024-10-06 | 1 | -3/+11 | |
| | ||||||
* | wsm.go: "R" on multiple choices in group rather than closing connection | Runxi Yu | 2024-10-06 | 1 | -4/+5 | |
| | ||||||
* | Makefile, main.go: Add vendor dependencies to srcFS | Runxi Yu | 2024-10-06 | 2 | -2/+5 | |
| | ||||||
* | .gitignore: Ignore vendor | Runxi Yu | 2024-10-06 | 1 | -0/+1 | |
| | ||||||
* | .gitignore: Only ignore dist/build in rootv0.1.5 | Runxi Yu | 2024-10-06 | 1 | -2/+2 | |
| | ||||||
* | docs/.gitignore: Delete because empty | Runxi Yu | 2024-10-06 | 1 | -0/+0 | |
| | ||||||
* | wsm.go: Check course group constraint first when choosing | Runxi Yu | 2024-10-06 | 1 | -13/+15 | |
| | ||||||
* | {courses,wsc,wsm,wsp}.go: Send course number immediately on user interaction | Runxi Yu | 2024-10-06 | 4 | -14/+42 | |
| | ||||||
* | main.go: Don't embed LaTeX aux/log/etc files for iadocs | Runxi Yu | 2024-10-06 | 1 | -2/+2 | |
| | ||||||
* | main.go: Reorder startup events | Runxi Yu | 2024-10-06 | 1 | -16/+16 | |
| | ||||||
* | Makefile, main.go: Add go.* to the served sources | Runxi Yu | 2024-10-06 | 2 | -2/+2 | |
| | ||||||
* | bench.go: Use deadlock instead of timed exit | Runxi Yu | 2024-10-06 | 1 | -10/+7 | |
| | ||||||
* | bench: Fix timer | Runxi Yu | 2024-10-06 | 1 | -2/+2 | |
| |