Verze klienta a schéma záznamů

V administraci (/admin → Users) jsou u každého účtu dva údaje o tom, co má tester nainstalováno:

  • Build – verze aplikace (app_version) z posledních událostí, které klient poslal. Sloupec zežloutne („STALE · version unknown"), když klient posílá události bez verze (starší než 0.8.71).
  • Schema – verze replay záznamu z nejnovější uploadnuté hry účtu (schema_version). Žlutě, pokud je starší než schéma, které umí tento server; najetím myší se zobrazí datum záznamu a schéma serveru. V detailu účtu je řádek replay schema.

Sloupec Schema říká, co klient skutečně vyrábí — nezávisle na tom, co tvrdí jeho verze. Je to nejrychlejší způsob, jak poznat, že tester ještě nemá novou verzi: pokud jsou všechny hry ve schématu 7, žádná oprava, která spoléhá na krok fáze nebo pořadí akcí (v8/v9), se na jeho hrách projevit nemůže.

Proč se hodnota nemění hned

Schema se bere z poslední nahrané hry. Tester, který si aplikaci aktualizoval, ale od té doby nedohrál hru, stále ukazuje staré schéma.

Které vydání aplikace píše které schéma

Odvozeno z .glass-shard-sha v každém tagu aplikace (scryglass) a konstanty SCHEMA_VERSION v tom commitu.

Vydání aplikace Datum Replay schéma
v0.8.80 – v0.9.3 do 21. 9. 2026 3
v0.9.4 23. 9. 2026 4
v0.9.5 23. 9. 2026 5
v0.9.6 23. 9. 2026 7
(nevydáno) – 8 (Play::seq, spell_cost_counters)
(nevydáno) – 9 (Play::step, controller v záznamu)

Stav k 30. 9. 2026: v cloudu je 2152 her a žádná není ve schématu 8 ani 9 — klienti na to čekají na další vydání.

Jak si to ověřit sám

-- nejnovější schéma na účet (to samé, co ukazuje admin)
SELECT u.email,
       (t.data->>'schema_version')::int AS schema,
       t.created_at
FROM users u
JOIN LATERAL (
  SELECT data, created_at FROM training_events
  WHERE user_id = u.id AND kind = 'replay_record'
  ORDER BY created_at DESC LIMIT 1
) t ON true;

Server pro tento dotaz používá částečný index idx_training_events_replay_user_created (migrace 0021).

Pole current_replay_schema v odpovědi /admin/users je schéma, které rozumí engine tohoto serveru (glass_engine::replay::SCHEMA_VERSION), a po každém nasazení se aktualizuje samo.