Descripción
El backend cards_game_service ya expone hiddenHandIds en el View
redactado (ids reales, sin type, de la mano rival cuando hay un trío de
gatos pendiente contra ella — ver cards_game_service#9, ya mergeada en
ese repo), pensado justamente para que el cliente pueda armar un
ChooseCardAction válido al elegir a ciegas.
El lado Flutter (online_wire_codec.dart) nunca llegó a consumir ese
campo: seguía generando ids sintéticos (_placeholderCard) para la mano
rival, que el servidor nunca va a reconocer (stealChosenCard busca la
carta por id exacto). El trabajo existía como commit suelto en una rama
sin PR (de71c77, "consumir hiddenHandIds del backend para el trío de
gatos a ciegas") — quedó huérfano durante el trabajo de Fase 7.
Fix
_playerFromWire en online_wire_codec.dart ahora arma la mano rival
con los ids reales de hiddenHandIds cuando el backend los manda, en vez
de placeholders sintéticos, cuando no hay hand completa ni
hiddenHandIds sigue cayendo al placeholder de siempre por tamaño
(handSize).
Descripción
El backend
cards_game_serviceya exponehiddenHandIdsen elViewredactado (ids reales, sin
type, de la mano rival cuando hay un trío degatos pendiente contra ella — ver
cards_game_service#9, ya mergeada enese repo), pensado justamente para que el cliente pueda armar un
ChooseCardActionválido al elegir a ciegas.El lado Flutter (
online_wire_codec.dart) nunca llegó a consumir esecampo: seguía generando ids sintéticos (
_placeholderCard) para la manorival, que el servidor nunca va a reconocer (
stealChosenCardbusca lacarta por id exacto). El trabajo existía como commit suelto en una rama
sin PR (
de71c77, "consumir hiddenHandIds del backend para el trío degatos a ciegas") — quedó huérfano durante el trabajo de Fase 7.
Fix
_playerFromWireenonline_wire_codec.dartahora arma la mano rivalcon los ids reales de
hiddenHandIdscuando el backend los manda, en vezde placeholders sintéticos, cuando no hay
handcompleta nihiddenHandIdssigue cayendo al placeholder de siempre por tamaño(
handSize).