* 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
* feat: add myt chunithm support
* fix: check linting when merging
* fix: run linter
* fix: my ide is very broken and likes to delete code at random
* fix: linting isn't being called correctly *anywhere*...
* fix: eslint ignore .d.ts
* fix: lint common
* fix: well whatever i guess literally nothing ever fucking works in js tools
---------
Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
* add inGameID to WACCA charts
* add WACCA import support from MYT
* add client support for api/myt-wacca
* add bot support for api/myt-wacca
* remove artistJP and titleJP from songs-wacca
Turns out these aren't actually in the game data or anything, and we won't be
able to get their values for omni songs or future songs added in plus.
* add some missing omni WACCA songs
* add test
* fix tabs in test.conf.json5
* revamp grpc call handling a bit and add more error handling
* feat: drag the protofiles in rather than alter build
---------
Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
* feat: initial ongeki support
* feat: initial ongeki seeds
* chore: link to a basic score exporter
* fix: unhardcode the colSpan of score dropdowns
Fixes ongeki and doesn't break chunithm
* fix: make bellCount optional to match judgements and damage
* docs: add a page for Ongeki
* feat: ongeki seeder
* feat: implement isHot
Also restore Arcaea to test.conf.json5 (it was a mistake)
* fix: add isHot to the seeder
* fix: proper handling of re:masters
Also change non-full-bell from an empty string to "NONE", for clarity
* docs: document the re:master fix
* feat: update rg-stats to 0.5.5
enables ongeki calcs
* chore: lockfile
* fix: get rid of scales as they're unused
* fix: update name->NAME
* minrelevantvalue should be one of the values?
* fix: add property that must be there?
* fix: jesus christ the tests are loud
* better docs on mrv
* fix: remove platdelta, make platscore optional
* fix: grade B tests oh my god
* fix: rating check
* fix: pb merge check
* fix: pb merge check #2
* fix: use nowrap in all lamp cells
* fix: tidy up platcell
* fix: all of these MUST be part of scoreID
* fix: remove unused code
* feat: remove note counts & isHot
* chore: bump rg-stats
---------
Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
this was causing issues with vite and is potentially a bug in prudence
or in vite. it's very hard to tell and i've already spent
3 hours trying to fix this, so here.
This is a long one.
So, `instanceof` in Typescript is incredibly flimsy. There's a
documented bug with what happens when you extend built-in classes, such
as Error or Array. You can read more about it here: https://github.com/Microsoft/TypeScript/wiki/FAQ#why-doesnt-extending-built-ins-like-error-array-and-map-work
However, this normally works fine. A previous commit moved some schemas
from server/ to common/, our gameSpecific UGPT settings schemas. This
caused them to break in an interesting way. For any schema recursive
with a depth greater than 1, all errors would be ignored. Why on earth
was this happening?
Well Prudence passes errors up the stack with a "return Err" -> "if
ret instanceof Err: return Err" kind of approach. This normally works
fine.
The real kicker here is that because server/ and common/ were on 0.9.7
and 0.9.8 respectively, the "Err" instance in question would actually be
erased when ran at runtime. The "if ret instance of Err" would fail,
because the Err would be from 0.9.7, not 0.9.8. This subtle difference
in file results in catastrophic damage.
In short. InstanceOf is a footgun. I hate it. Lets never do it again.
Thanks.