zkldi
681a3965a6
Merge pull request #738 from TNG-dev/zkldi/rival-pb-compare
2022-11-01 23:48:15 +00:00
zkldi
1d2f94a8aa
feat: rival folder compare
2022-11-01 22:17:38 +00:00
zkldi
8f903103ad
feat: allow more than 100 best pbs in rival compare
2022-11-01 14:27:37 +00:00
zkldi
9c632f7684
temp: add logging for sv6c static requests
2022-11-01 01:11:21 +00:00
zkldi
faf4ff16ed
feat: initial comparePBsTable draft
2022-11-01 00:59:19 +00:00
zkldi
73f929b3e4
feat: initial pb-union code
2022-10-30 19:24:17 +00:00
zkldi
b318fa44dc
refactor: rename score-leaderboard to PB leaderboard
2022-10-30 18:40:23 +00:00
zkldi
1f9f62fc7c
feat: add migration script for old charts
2022-10-30 17:03:28 +00:00
zkldi
f7f2eedf32
fix: accidental false types
2022-10-30 17:02:58 +00:00
zkldi
2bb54cdaaa
fix(lr2hook): handle early exiting *properly*
2022-10-30 15:47:29 +00:00
zkldi
824df0ae21
fix: critical misstep in folder code (thanks tests)
2022-10-30 13:55:09 +00:00
zkldi
e73bf2abc8
fix: dont do bulkwrites if empty
...
thanks mongo
2022-10-30 13:42:13 +00:00
zkldi
77f782eac6
fix: make initfolderchartlookup race-safe
2022-10-30 13:36:12 +00:00
zkldi
0de9214d55
fix: typo
2022-10-30 01:58:44 +00:00
zkldi
a8ebb2c3c0
feat: add migration to fix borked bms charts
2022-10-28 03:26:21 +01:00
zkldi
96b9b21cab
fix(critical): sync correct seeds!
...
whoops
2022-10-28 03:07:42 +01:00
zkldi
5a591c4f94
feat: backsync to staging and prod always
2022-10-28 00:54:20 +01:00
zkldi
1635bc7574
fix: bms-table-sync should just update levels, not add new folders/tables
2022-10-27 20:28:40 +01:00
zkldi
7eaa8bc06b
fix(lr2hook): reject BP if user failed
...
LR2Hook sends invalid BP if the user ends up exiting the song early.
We need to handle this, and not accept it.
2022-10-27 19:46:33 +01:00
zkldi
d89e3fbbb5
fix: tests
2022-10-22 19:46:02 +01:00
zkldi
cd743c4f0e
fix: tests compile lol
2022-10-22 19:36:03 +01:00
zkldi
53ddd4c247
feat: tests, static-import rejection
2022-10-22 19:31:34 +01:00
zkldi
b78a000c13
feat: kshook static import settings
2022-10-22 19:31:23 +01:00
zkldi
103689593c
feat: kshook settings
2022-10-22 19:31:13 +01:00
zkldi
deb2329993
feat: sv6c static importing
2022-10-22 19:27:49 +01:00
zkldi
5ae4d720c7
test: add regression tests for sdvxInGameID importing
2022-10-22 12:41:26 +01:00
zkldi
b650213cc2
feat: enable batch manual errmsgs in client before uploading
...
this runs prudence schemas on the browser
straightforward enough, required a little refactoring, but we're good.
2022-10-21 01:48:50 +01:00
zkldi
d17bb49a6e
fix: remove misleading comment in sdvx class handler
2022-10-21 00:46:55 +01:00
zkldi
5e6151633f
docs: mention gifs
2022-10-20 20:53:21 +01:00
zkldi
64ca19e772
fix: tests pass for real
2022-10-20 12:27:48 +01:00
zkldi
ed1a199c16
fix: more test fixes
...
i'm getting very frustrated with this code rn
2022-10-20 11:59:05 +01:00
zkldi
82a9cc77aa
fix: we can't use pnpm ts-node
...
i have no idea why this doesn't work but I don't have the time
to investigate properly at the moment.
How bizarre. We definitely have ts-node installed,
and pnpm ts-node should work reliably.
If anything, what we're doing right now *shouldn't* work!
2022-10-20 11:49:40 +01:00
zkldi
c07b63f42d
style: local man forgets to run linter
2022-10-20 11:43:18 +01:00
zkldi
2e6e9e3e76
feat: actually support casthour and add regression tests
2022-10-20 11:41:15 +01:00
zkldi
e2b3a8545d
fix: use pnpm ts-node instead of ts-node
2022-10-20 11:28:27 +01:00
zkldi
7397406caa
feat: support casthour
2022-10-19 19:50:49 +01:00
zkldi
839fac7bbc
refactor!: rename milestones to quests and milestone-sets to questlines
2022-10-18 19:04:29 +01:00
zkldi
910a6756f8
fix: offByOne in initial rival ranking set
2022-10-17 00:21:37 +01:00
zkldi
ca4f4be9c0
fix: strict cookie settings also apply to staging
...
at the moment they were only applied to prod,
which means that browsers wont accept the login cookies
this issue only affects staging
lol
2022-10-16 23:54:19 +01:00
zkldi
ffb776e691
feat: recalc rivalRankings when you set new rivals
...
UNTESTED! lol
2022-10-16 23:47:18 +01:00
zkldi
946752853b
fix: override types so AWS passes checks.
2022-10-16 23:05:15 +01:00
zkldi
dd5fc52e1e
fix: make tests pass
2022-10-16 22:01:14 +01:00
zkldi
0985ca4f8c
Merge pull request #715 from TNG-dev/zkldi/rivals
2022-10-16 19:27:00 +01:00
zkldi
1be6acb326
fix: make server tests compile and work
2022-10-16 19:19:58 +01:00
zkldi
3e8dd5a4a6
feat: rivals scorederboard
2022-10-16 18:03:11 +01:00
zkldi
5941902257
feat: set default rival or global rankings
2022-10-16 15:26:00 +01:00
zkldi
0b54d6d862
feat: rival ranking in UI
2022-10-15 02:49:41 +01:00
zkldi
2c3af78b7c
feat: rival ranking on server
2022-10-14 23:53:35 +01:00
zkldi
d70e30e727
feat: rival chart dropdown
...
+ more stuff, score graph dropdowns, etc.
2022-10-14 21:21:45 +01:00
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