- Shipped
- 8 de setembro de 2026 às 07:47 UTC
- Author
- Kamo
- Commit
- f23167c
Dois defeitos encontrados lendo o código de volta, nenhum dos quais qualquer teste poderia ver. # # O relógio teria jogado no seu primeiro tique-taque `HoldemDeadlineSweep` transportado `@Transactional` em três métodos protegidos Invocou "isto". O representante da Spring nunca vê uma auto-invocação, então a anotação não fez nada além de ler como se uma transação estivesse aberta — e ambos condicional as reivindicações são `@Modifying` consultas, que lançam `TransactionRequiredException` sem uma. Cada tiquetaque, uma vez por segundo, para sempre: nenhuma mão jamais teria sido Tratou e nenhum jogador nunca teria sido cronometrado. `@Transactional` agora está nos dois métodos de repositório, que é onde `@Modifying` consulta realmente precisa dele e onde uma auto-invocação não pode perdê-lo. Os três ajudantes da varredura são privados e dizem porque não têm anotações. # # Um full-size tudo-em-aberto nada `actuedThisStreet` decidiu o que tinha reaberto as apostas do nome da ação - Aposto ou aumento. Mas um aumento que deixa o levanter sem nada é registrado como ALL IN, deliberadamente: a propriedade interessante de um all-in é que o jogador pode Nunca agir novamente, e todos os consumidores se preocupam com isso e nada mais. Então... full-size all-in aumento parecia "não um aumento", e um jogador enfrentando um A re-raise legítima só poderia chamar ou dobrar. `replaystreet` agora anda na rua com a própria aritmética do motor — agressão é colocar mais do que a aposta pendente; um aumento pelo menos o tamanho do aumento anterior ou o big blind. Um all-in curto move a aposta e Não abre nada, que é a regra. Blinds definir a aposta para bater sem contar como agressão, que é o que mantém a opção do Big blind. `fullSizedAllInReopens' é a contrapartida para o teste de tudo em curto, e pinos o mínimo para o aumento depois dele.