feature: anti-wallhack match option and status tracking#342
Conversation
Upstream's plugin-runtimes monorepo merge (7cbb681) introduced hasura/migrations/default/1870000000000_plugin_runtimes, colliding with our 1870000000000_alter_table_public_match_options_add_column_anti_wallhack migration's numeric prefix. HasuraService.getAvailableVersions keys migrations by the numeric prefix before the first underscore and throws "duplicate version" on collision, so the two anti-wallhack migrations are renumbered to 1871000000000 and 1871000000100 (contents unchanged) to sort after all upstream migrations without colliding.
Regenerate generated/ against a Hasura instance carrying both upstream's plugin-runtime schema (7cbb681) and this branch's anti_wallhack columns, after the rebase onto origin/main took upstream's generated/ wholesale to resolve the schema.ts/types.ts conflict. Confirmed both anti_wallhack (26 occurrences) and plugin_runtime (206 occurrences) identifiers are present in generated/schema.ts.
80b196c to
a602075
Compare
|
Max-effort code review completed on the rebased branch (10 finder angles, adversarial verification, gap sweep). Confirmed findings fixed in a9b078a:
IMPORTANT for anyone who ran this branch BEFORE the mono-repo rebase against a persistent database: the anti-wallhack migrations were renumbered from 1870000000000/1870000000100 to 1871000000000/1871000000100 because upstream's plugin_runtimes migration took 1870000000000. A DB that applied the OLD numbering has a stale schema_migrations row that will silently skip plugin_runtimes and then crash-loop on the enums pass with "relation e_plugin_runtimes does not exist". Remediation: DELETE FROM hdb_catalog.schema_migrations WHERE version = '1870000000000'; then restart so plugin_runtimes applies. No known environment ran the old numbering (the dev stack was down throughout), but flagging for safety. This was empirically reproduced during review. Systemic notes for the maintainer (pre-existing, not changed here):
|
API side of the CS2FOW anti-wallhack integration.
PRE-MERGE CHECKPOINT: regenerate genql types against the real dev Hasura (Task 11 codegen ran against an ephemeral stack; restores unrelated stale-main drift and the generated client default URL).
Design: docs/plans/2026-07-09-cs2fow-anti-wallhack-design.md (5stack local docs)
Part 2 of 3; merge after game-server PR #162, before the web PR.