From 979891bdcbbc9ab87157662b6b1bc15892335f13 Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Tue, 10 Nov 2026 21:34:45 -0500 Subject: [PATCH] The template's cap on address notes is keyed by the seat's token, so a seat given a new token is noted afresh at once Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01CCLa2PaEeCj8njQZSWGqHx --- template/server/src/rooms.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/template/server/src/rooms.ts b/template/server/src/rooms.ts index b76835c..fc110af 100644 --- a/template/server/src/rooms.ts +++ b/template/server/src/rooms.ts @@ -337,7 +337,8 @@ export class Rooms { return; } if (seat.addr === addr) return; - const key = `${room.id}/${seat.id}`; + // Keyed by the token too: a seat given a new token is noted afresh at once, whoever held it before. + const key = `${room.id}/${seat.id}/${seat.tokenHash}`; const now = Date.now(); if ((this.seenAt.get(key) ?? 0) > now - SEEN_EVERY_MS) return; this.seenAt.set(key, now);