live rooms, and the rating that stopped existing
live 1v1 debate shipped. two people, a four character code, no accounts
the real decision was what a room even is. serverless functions dont share memory between instances, so a Map tracking whether a room exists lies abt half the time. host creates it on one instance, the guest’s join lands on another, and the guest gets told the room doesnt exist while the host is sat inside it. so nothing tracks existence any more. presence on an ably channel is the room
two bugs that only turned up by testing it properly
only the host’s browser calls the judge, so the ballot came back written entirely from the host’s side. both players read the host’s strengths and the host’s weaknesses in the second person. the judge writes both ballots now and mirror swaps them for the guest
and a room was ending when the first person left instead of the last, which threw out whoever had stayed
this reverses the last log, twice
both elo modules got deleted. one number going up and down implies a round mode run and a debate round measure the same thing, and they dont. it became a plain record instead
then the record got deleted too. a debate ends on its verdict and nothing counts up across rounds
results were showing +1,380 of 2,280, a division you have to do in your head at the exact moment you want one answer. its a score out of ten now. anything above ten written by an older build gets dropped rather than converted, cuz converting needs a denominator that was never stored
cut
suggestion chips, which turned “name a topic” into “pick one of these”. three motions that typewrote themselves onto the debate note for no functional reason. /proof, which was a third way into a landing page arguing there are two. thirteen exported symbols nothing was calling
and the “get the ballot” button. the eighth speech lands and the round goes to the judge on its own
palette
rebuilt off the logo. the dark ground is sampled straight out of the asset, and every neutral swapped for the grey at the same relative luminance, so the contrast ratios that were already tuned still hold. type warmed to the logo’s cream and the accent became the star’s gold
two prompt bugs
the voice instructions were teaching third person inside their own example. and the ballot voice used bare letters A and B, which now and then came out as “a flaw in A’s hanging out point”
worst near miss of the session: the case insensitive fix for the letter A also matched the article “a”, and shipped “with they cheaper alternative” thru a live judge call before anybody caught it
separate one, numbered lists were coming out as a single run-on line. fixed, and property tested against 200 random chunkings
copy
the unavailable message used to claim nothing youd typed had been lost, which this app has no way of knowing
bigger one. every ai call was failing with a raw HTTP 402 on a student’s screen, telling them to retry something that was never going to work, cuz the shared key had run out of balance. it says plainly that retrying wont fix it now
readme
the status section had gone stale before, so it got corrected twice this session
first pass: a full eight speech live debate across two real browsers, 1.6s to join, each speech reaching the other window in 423 to 1039ms, and a 15.2 second wait before a disconnect gets noticed, written down as measured rather than rounded down. the judge was stubbed that pass, the key had no balance
second pass, once the key refilled: two real judge calls, two genuinely different ballots, no stray letters
still open: a judge call made from inside a live room and mirrored to the guest has only ever been checked against a stub
Comments 1
Idk why the screenshot is like that sorry
Sign in to join the conversation.