Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement course selection started/stopped states | Runxi Yu | 2024-10-10 | 1 | -0/+4 |
| | | | | Implements: https://todo.sr.ht/~runxiyu/cca/13 | ||||
* | Replace tcourse.sql with an example importable CSV | Runxi Yu | 2024-10-10 | 1 | -0/+14 |
| | |||||
* | docs/fields.txt: Remove | Runxi Yu | 2024-10-09 | 1 | -27/+0 |
| | |||||
* | 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 | 1 | -3/+7 |
| | | | | This reverts commit 831040c3d7dbc116a25848786bc5ab83fef6149b. | ||||
* | Revert "{config,wsc}.go, cca.scfg.example: Dynamic course update delay" | Runxi Yu | 2024-10-07 | 1 | -7/+3 |
| | | | | This reverts commit de3f0b9e7003e4521f5ea866134e77ff859ab99b. | ||||
* | {config,wsm}.go, cca.scfg.example: Configurable immediate propagation | Runxi Yu | 2024-10-06 | 1 | -0/+5 |
| | |||||
* | iadocs, etc.: Add source to appendix | Runxi Yu | 2024-10-06 | 1 | -1/+1 |
| | |||||
* | {config,wsc}.go, cca.scfg.example: Dynamic course update delay | Runxi Yu | 2024-10-06 | 1 | -3/+7 |
| | |||||
* | docs/.gitignore: Delete because empty | Runxi Yu | 2024-10-06 | 1 | -0/+0 |
| | |||||
* | *: Overhaul structure again and embed everything | Runxi Yu | 2024-10-06 | 3 | -28/+8 |
| | | | | | | | | - Remove sub-Makefiles; recursive make is annoying - Just use one top-level Makefile that builds everything - Embed templates and minified static resources into the binary - Embed all compiled documentation into the binary and serve - Embed all source into the binary and serve | ||||
* | */Makefile: Update again | Runxi Yu | 2024-10-05 | 1 | -0/+7 |
| | |||||
* | *: Further restructuring | Runxi Yu | 2024-10-05 | 1 | -3/+6 |
| | |||||
* | *.go: Move to backend | Runxi Yu | 2024-10-05 | 1 | -1/+1 |
| | | | | And adjust Makefiles, admin handbook, and lint.sh accordingly. | ||||
* | iadocs: Update IA documentation | Runxi Yu | 2024-10-05 | 1 | -0/+1 |
| | |||||
* | docs: max-width: 50rem; | Runxi Yu | 2024-10-05 | 1 | -1/+1 |
| | |||||
* | docs/admin: Document database setup | Runxi Yu | 2024-10-05 | 1 | -1/+10 |
| | |||||
* | docs/admin: Update protocol information | Runxi Yu | 2024-10-05 | 1 | -3/+2 |
| | |||||
* | {config,ws}.go, cca.scfg.example: Add perf.course_update_interval | Runxi Yu | 2024-10-05 | 1 | -0/+4 |
| | | | | | | This causes a drastic increase in performance. References: https://todo.sr.ht/~runxiyu/cca/7 | ||||
* | {config,ws}.go, cca.scfg.example: Remove chanPool/SendQ | Runxi Yu | 2024-10-05 | 1 | -4/+0 |
| | |||||
* | {config,main}.go, cca.scfg.example: Settable static path | Runxi Yu | 2024-10-04 | 1 | -6/+3 |
| | | | | | | | | | Because of the poor performance of using NGINX as a reverse proxy, I've added native TLS in commit 4a1a7af76408e956ebc343bf28960fdd00c00c58. Serving static files was already supported, but it was expected that people use a static web server to do so, so we didn't support a configurable static path. Now since reverse proxy setups are discouraged, it makes more sense to be better at serving static files. | ||||
* | {config,main}.go, cca.scfg.example: Support TLS | Runxi Yu | 2024-10-04 | 1 | -0/+16 |
| | |||||
* | main.go, cca.scfg.example: Remove FastCGI support | Runxi Yu | 2024-10-04 | 1 | -5/+3 |
| | | | | | | I would love to serve FastCGI but it is a huge pain to get WebSocket working, at least with NGINX. I don't think OpenBSD httpd would be better at this either. | ||||
* | cca.scfg.example: Listen on 127.0.0.1:5555 only by default | Runxi Yu | 2024-10-03 | 1 | -3/+3 |
| | | | | | | I would have used IPv6, i.e. [::1]:5555, but our school network only has IPv4 and it'd be easier to keep everything on the same protocol, though this probably wouldn't matter for standard reverse proxy setups. | ||||
* | {config,ws}.go, cca.scfg.example: Allow same-user fake auth | Runxi Yu | 2024-10-03 | 1 | -5/+0 |
| | | | | This is useful for testing whether connection collisions work well. | ||||
* | {config,ws}.go, cca.scfg.example: Add fake auth support | Runxi Yu | 2024-10-02 | 1 | -0/+5 |
| | | | | | Fake authentication is useful when benchmarking the server with an external program without going insane with the OpenID Connect forms. | ||||
* | admin_handbook: List configuration caveats | Runxi Yu | 2024-09-30 | 1 | -3/+7 |
| | |||||
* | docs, iadocs: Revamp | Runxi Yu | 2024-09-30 | 3 | -0/+187 |
| | |||||
* | docs: TeXinfo kinda sucks, removing | Runxi Yu | 2024-09-30 | 3 | -57/+0 |
| | |||||
* | {config,index}.go, cca.scfg.example, style.css, *.html: Link to source | Runxi Yu | 2024-09-30 | 1 | -0/+4 |
| | |||||
* | auth.go, config.go, cca.scfg.example: Issue expiring cookies | Runxi Yu | 2024-09-30 | 1 | -0/+3 |
| | |||||
* | ws.go, config.go, config.scfg.example: Attempt to fix deadlock | Runxi Yu | 2024-09-29 | 1 | -0/+4 |
| | | | | | | | 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. | ||||
* | Add phony all target for the handbooks | Runxi Yu | 2024-09-27 | 1 | -0/+3 |
| | |||||
* | Add an admin handbook stub | Runxi Yu | 2024-09-27 | 3 | -0/+51 |
| | |||||
* | Add a .gitignore to ignore generated .html files from TeXinfo | Runxi Yu | 2024-09-27 | 1 | -0/+3 |
| | |||||
* | courses.go, etc: Make courses a map instead of a slice | Runxi Yu | 2024-09-26 | 1 | -4/+0 |
| | | | | | We need to refer to courses by their ID, and a map makes significantly more sense than a slice. | ||||
* | *.go, cca.scfg.example: Expose performance options | Runxi Yu | 2024-09-26 | 1 | -0/+20 |
| | |||||
* | cca.scfg.example -> docs/ | Runxi Yu | 2024-09-24 | 1 | -0/+65 |
| | |||||
* | docs, scripts, sql: Sort support files into subdirectories | Runxi Yu | 2024-09-24 | 1 | -0/+26 |