* build(client): add 'lintfix' target matching the server
* docs(lr2hook): suggest lr2_chainload instead of BokutachiLauncher.exe
BokutachiLauncher.exe is no longer a part of BokutachiHook.
* refactor(server/lr2hook): G-ATTACK, P-ATTACK and HAZARD are not HARD
* feat(server/lr2hook): parse extendedJudgements
* feat(server/lr2hook): use fast-slow and early/late judgements
* test(server/lr2hook): make clear that in this test notesPlayed != notesTotal
* feat(server/lr2hook): calculate BP by hand when exiting chart early
* feat(server/lr2hook): parse rseed
* feat(server/lr2hook): parse extendedHpGraphs
* feat(server/lr2hook): parse unixTimestamp
* feat(server/lr2hook): use unixTimestamp as score play time
Especially useful as BokutachiHook now retries sending scores after some
time on connections errors.
* feat(common/bms+server/lr2hook+docs): add gaugeHistory{Easy,Groove,Hard}
Could also save graphs for unimplemented gauges, not done here as I
don't know if they are ever going to be implemented while they take some
decent space.
* feat(client/bms): support several gauges
Ugly IIFE inside IIFE is work-around for eslint bug `Expected a 'break'
statement before 'case'`.
* temporary dvctr
* start of work
* fix: timeouts in windows
* fish?
* feat: better, working stuff
* refactor: rename database-seeds to seeds/
* better
* fdsaf
* feat: don't let our container get owned by root
* fix: better user handling
* feat: falling asleep at my desk i yield to you what i have done
* feat: autoadminify
* docs: denote trickshot
* feat: open in browser on launch
* better seeds workings...
* fix: dont kill shell
* docs: mention dev/debs
* fix: whoops
* fix: make seeds load within the century
* feat: rest of the containerisation
* feat: new alias
* style: fix linter errors
* fix: bad call
* fix: better justfile