snapshot_poker_ui_ux_fix_again_fuckmylife

This commit is contained in:
DeSqBlocki
2026-09-08 21:12:34 +02:00
parent c61e34c241
commit 6342c4569b
4 changed files with 66 additions and 40 deletions
+26 -30
View File
@@ -474,39 +474,35 @@ async function clearCookieOperation(
userId,
operationId
) {
if (
typeof operationId !==
"string"
||
!/^[A-Za-z0-9:_-]{1,160}$/.test(
operationId
)
) {
throw new Error(
"INVALID_COOKIE_OPERATION_ID"
);
}
const cookies =
getCookieCollection();
const {
cookies
} =
getCollections();
const result =
await cookies.updateOne(
{
userId
},
{
$pull: {
appliedCookieOperations:
operationId
}
await cookies.updateOne(
{
userId
},
{
$pull: {
appliedCookieOperations:
operationId
}
);
}
);
return result.modifiedCount ===
1;
await cookies.updateOne(
{
userId,
appliedCookieOperations: {
$size: 0
}
},
{
$unset: {
appliedCookieOperations:
""
}
}
);
}
+30
View File
@@ -2426,6 +2426,20 @@ function createPokerService({
)
);
/*
* Defensive cleanup for sessions created before
* buy-in markers were cleared immediately after
* durable table membership was committed.
*/
await clearOperationQuietly(
userId,
buyInOperationId(
gameId,
player.sessionId
)
);
if (
nextGame.state ===
"CLOSED"
@@ -2532,6 +2546,14 @@ function createPokerService({
player.sessionId
)
);
await clearOperationQuietly(
player.userId,
buyInOperationId(
gameId,
player.sessionId
)
);
}
await deleteGameQuietly(
@@ -2794,6 +2816,14 @@ function createPokerService({
)
);
await clearOperationQuietly(
player.userId,
buyInOperationId(
game.gameId,
player.sessionId
)
);
const remainingGame =
await store.getGame(
game.gameId