gamer147
2d675aa35d
feat(practice): serve default/trial/leader-skin lists on practice/deck_list
...
practice/deck_list returns the same wire shape as /deck/info (the client parses
both via DeckGroupListData), but only ever sent user decks — so a fresh account
saw no default decks and couldn't start a practice match.
Extract the /deck/info hydration into a shared IDeckListBuilder used by
/deck/info, /deck/my_list, and /practice/deck_list. Practice passes
padEmptySlots:false (deck *select*, not builder) — matches the prod practice
capture, which returns real decks unpadded plus the 8 per-class default decks
and per-class leader-skin settings. Retire the near-duplicate
PracticeDeckListResponse DTO in favor of the shared DeckListResponse.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-29 12:01:36 -04:00
..
2026-05-27 10:41:49 -04:00
2026-05-27 00:00:24 -04:00
2026-05-29 10:38:39 -04:00
2026-05-28 18:03:15 -04:00
2026-05-27 10:35:40 -04:00
2026-05-28 22:56:33 -04:00
2026-05-29 12:01:36 -04:00
2026-05-29 10:38:39 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 19:57:34 -04:00
2026-05-26 22:49:30 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 19:57:34 -04:00
2026-05-24 21:13:15 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-28 22:56:33 -04:00
2026-05-28 22:56:33 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 18:14:42 -04:00
2026-05-24 02:03:13 -04:00
2026-05-24 02:03:13 -04:00
2026-05-28 18:04:13 -04:00
2026-05-24 02:03:13 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-24 02:03:13 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 15:47:23 -04:00
2024-09-12 00:35:31 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-25 12:03:47 -04:00
2026-05-23 15:47:23 -04:00
2026-05-28 18:03:32 -04:00
2026-05-23 15:47:23 -04:00
2026-05-24 21:13:15 -04:00
2026-05-26 10:01:37 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 18:14:42 -04:00
2026-05-23 15:47:23 -04:00