You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
recorderFriendCode w payloadzie v2 (schemaVersion 3.0.0) i w D1 #377
Payload gry z moda dostaje nowe pole recorderFriendCode: friend code maszyny, która nagrała mecz (Recorder). Recorder to nie zawsze host lobby: host może się zmienić w trakcie meczu, a obserwator może wysłać swoją kopię.
Gałąź: feat/recorder-friend-code od main. Merge i deploy tylko w oknie przełączenia, razem z hostem 1.2.0. Zod ma .strict(), więc nowy host i stary serwer dają 400, a stary host i nowy serwer też dają 400.
Co zrobić
gamesV2.ts: schemaVersion: z.literal('3.0.0'), recorderFriendCode: z.string().min(1). Pole jest wymagane od razu. Brak pola albo null daje 400. Endpoint zostaje /api/v2/games.
D1, jedna migracja:
games.recorderFriendCode (String? w Prisma). Stare gry mają NULL.
games.recorderPlayerId (Int?, relacja do Player, onDelete: SetNull).
HostClient.tsx (ręczne wysłanie przez admina) musi przyjąć payload 3.0.0. Gra z okna przełączenia zostaje na dysku hosta. Admin dodaje pola ręcznie i wysyła ją przez tę stronę.
Konflikt
Draft PR #346 zmienia createGameV2.ts (usuwa blok lista_cweli) i schema.prisma. Konflikt jest mały. Rozwiąż go przy rebase.
Gotowe, gdy
gamesV2.test.ts: brak pola, null i schemaVersion2.0.0 dają błąd.
Test createGameV2 dla trzech przypadków reguły recorderPlayerId.
Test: getGameData nie zwraca żadnego z dwóch pól.
npm run typecheck i npm test przechodzą. Migracja działa lokalnie (db:migrate:apply:local).
Commity: 62607ce, 34862df (test zapytania z review), e736797 (klient 1.3.0 w manifeście). Merge w #383 (fa282f7), deploy prod OK, migracja 0013 na D1 prod. npm test: 157 passed. Test lokalny: payload 3.0.0 z prawdziwej gry daje 201, recorderPlayerId wskazuje gracza z tym friend code. Payload 2.0.0 daje 400. Strona gry nie pokazuje friend code.
Activity
test(mod): the recorder lookup asks D1 for live players only
feat(mod): client plugin 1.3.0 in the update manifest
quarties commentedon Oct 21, 2026
Commity:
62607ce,34862df(test zapytania z review),e736797(klient 1.3.0 w manifeście). Merge w #383 (fa282f7), deploy prod OK, migracja0013na D1 prod.npm test: 157 passed. Test lokalny: payload3.0.0z prawdziwej gry daje201,recorderPlayerIdwskazuje gracza z tym friend code. Payload2.0.0daje400. Strona gry nie pokazuje friend code.