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
+5 -5
View File
@@ -38,11 +38,11 @@ module.exports = {
game
);
return interaction.editReply({
content: "✅ Poker table cancelled. All seated players were cashed out.",
embeds: [],
components: []
});
try {
await interaction.deleteReply();
} catch {}
return;
} catch (error) {
return editPokerError(interaction, error);
}
+5 -5
View File
@@ -8,10 +8,10 @@ module.exports = {
async execute(interaction) {
await deferPokerReply(interaction);
return interaction.editReply({
content: "✅ Poker table left open.",
embeds: [],
components: []
});
try {
await interaction.deleteReply();
} catch {}
return;
}
};
+16 -20
View File
@@ -474,25 +474,9 @@ 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
@@ -505,8 +489,20 @@ async function clearCookieOperation(
}
);
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