Commit Graph
33 Commits
Author SHA1 Message Date
zkldi 0e36b17827 fix(critical): Pin prudence to an exact version
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.
2022-10-14 01:09:31 +01:00
zkldi 33c800fa4d feat: iidx-mdb-parser + merger 2022-10-06 02:53:43 +01:00
zkldi c6dfae2cf2 feat: update how bms-table-sync works 2022-10-03 20:39:03 +01:00
zkldi bb47de0fa8 chore: add tap as a dependency to common 2022-10-02 21:14:22 +01:00
zkldi ee6d634be1 feat(ghbot): validate signatures coming in 2022-09-28 22:42:25 +01:00
zkldi 964ba91e09 feat(github-bot): make a github bot that listens for seeds changes
and posts links to the diff viewer!
2022-09-28 22:23:00 +01:00
zkldi cb7d5a3eed feat(seeds): diffing, reading remotes, everything else 2022-09-25 16:41:53 +01:00
zkldi 08844354e4 perf(sieglinde): replace logger with bare console
winston has some horrific performance issues under mass load
so we're just not going to use it.
2022-08-20 17:40:13 +01:00
zkldi a82641849d chore: make certain @types not devDeps
These are actually necessary in non-dev scenarios, as we use
ts-node/register as our loader. This expects types to exist
for our dependencies, for some reason.

I'm too tired to properly resolve this, so making @types mandatory
is my hack fix.

It's not like they add much to the build size anyway.
2022-08-18 02:54:11 +01:00
zkldi 6dba56aa12 fix: move ts-node out of devDependencies 2022-08-18 02:04:37 +01:00
zkldi 1e839acb90 feat: update bootstrap dep for "security"
they're wrong, by the way. they don't analyse lockfiles but instead
analyse package.jsons. I mean, they could be correct in theory, but this
is why we have lockfiles right?

Dependabot can shut the hell up. Support PNPM. Please!
2022-08-16 23:31:06 +01:00
zkldi 503ad5da05 feat: add seq support to the discord bot 2022-08-16 23:26:58 +01:00
zkldi e25ab75708 chore: trim dependencies further 2022-07-18 01:59:05 +01:00
zkldi e34bac8226 fix: add missing glob deps and update browserslist 2022-07-17 23:14:03 +01:00
zkldi 9cdfddd5f0 chore: bump node-fetch in sieglinde so they shut up 2022-07-17 21:46:10 +01:00
zkldi 90ae7d17d7 chore: clean up client and lint stuff finally 2022-07-17 20:14:07 +01:00
zkldi edd5142b4d fix: react-router-dom is broken and bad 2022-07-17 20:06:28 +01:00
zkldi 231117bd2e refactor: trim unused bot deps 2022-07-17 20:02:45 +01:00
zkldi 2d6e5a8acf refactor: trim unecessary server/client deps 2022-07-17 20:00:56 +01:00
zkldi 62559be245 feat: get database-seeds/scripts running
even if it whines a *lot* about types for some reason. who knows
2022-07-15 23:13:05 +01:00
zkldi caf0b2e9d5 feat: dependency management is hell and you are all going to it 2022-07-15 19:56:39 +01:00
zkldi bd50c89831 fix: potentially fix history types 2022-07-14 00:16:45 +01:00
zkldi cedfa26612 feat: allow CORS for any no-authed GET request in public 2022-07-12 12:49:29 +01:00
zkldi 460751525c fix: get client to import modules properly
god *damn* i am the greatest toolchain user of all time

sponsored by:
https://medium.com/@NiGhTTraX/making-typescript-monorepos-play-nice-with-other-tools-a8d197fdc680

This guy just saved my life.
2022-07-04 12:33:11 +01:00
zkldi a173e70ee2 fix: remove tachi-common as dep from client 2022-07-04 12:11:51 +01:00
zkldi d1dcffb6de refactor: apply cadence to bot and make it compile 2022-07-04 02:16:10 +01:00
zkldi 3dbd2de92f chore: mount /bot as a package 2022-07-04 02:16:10 +01:00
zkldi 5227a0cb6a fix: make linting work in client 2022-07-04 02:15:43 +01:00
zkldi 1e8e334ca0 refactor: force parent common dependencies 2022-07-04 02:15:43 +01:00
zkldi d2da586d85 feat: i absolutely refuse to believe that this is just compiling and working 2022-07-04 02:15:43 +01:00
zkldi e55a0eb129 fix: get tachi-server to atleast boot and sync with common 2022-07-04 02:15:43 +01:00
zkldi 24f8ddcbd0 fix: temp 2022-07-04 02:15:43 +01:00
zkldi 68403c84eb refactor: monorepo genesis commit 2022-07-04 02:15:42 +01:00