### feats - implement transactional pattern in db write methods; + - implement the db methods for sessions in repos/session.go; + - auto close room if nothing is going on there (hmm) for ~1h; + - words database (file) load and form random 25 words; + - invite link; + - login with invite link; + - there three places for bot to check if its its move: start-game; end-turn, after mime gave clue; + - remove bot button (if game is not running, or bot already added); + - hide clue input for mime when it's not their turn; + - needs resend to llm btn; + - check if clue word is the same as one of the cards and return err if it is; + - autoscroll down backlog on update; + - instead of guessing all words at ones, ask only for 1 word to be open. + - ways to remove bots from teams; + - mark cards (instead of opening them (right click?); + - on end of turn clear all the marks; + - different files for each supported lang; + - sse div to bot thinking; + - simplify mime prompt; + - redo card .revealed use: it should mean that card is revealed for everybody, while mime should be able to see cards as is; + - better styles and fluff; - common auth system between sites; === - show in backlog (and with that in prompt to llm) how many cards are left to open, also additional comment: if guess was right; - gameover to backlog; - cleanup backlog after new game is started; - ended turn action to backlog; === - clear indication that model (llm) is thinking / answered; - possibly turn markings into parts of names of users (first three letters?); + - at game creation list languages and support them at backend; + - sql ping goroutine with reconnect on fail; + - player stats: played games, lost, won, rating elo, opened opposite words, opened white words, opened black words. #### sse points - clue sse update; - join team; - start game; - end turn; - open card; - game over; - timer per turn (when added); ### issues - after the game started (isrunning) players should be able join guessers, but not switch team, or join as a mime; + - guessers should not be able to open more cards, than mime gave them +1 (auto end turn); + - mime rejoined the room: does not see colors; state save in store.json has empty role and team + - restart bot routines after server restart; + - remove verbs from word file; + - if mime joins another role, he stays as mime (before game start); + - guesser llm makes up words, likely the prompt should be more clear; + - remove bot does not remove for player roles in the room; + - guesser did not have same number of guesses (move ended after 1 guess); show how much guesses left on the page (red after blue); + - 0 should mean without limit; + - remove join as mime button if there is a mime already on that team (rewrite teampew templ); + - bot clues to lowercase; + - guesser bot no request after game restart; (not a bug) - openrouter 429 errors (retry); + - retry call to llm (if 400|429|4xx); + - there is a clue window for a mime before game started; + - sse hangs / fails connection which causes to wait for cards to open a few seconds (on local machine) (did not reoccur so far); - invite link gets cutoff; - when llm guesses the word it is not removed from a pool of words making it keep guessing it; + - bot team does not loses their turn after white card (or limit); + - name check does not work; - game did not end when all blue cards were open; + - bot ends a turn after guessing one word only; + - sync writing to json cache; what happens now: timer (or other side routine) overwrites old room, while mime making clue; + ----------------- - card marks; + - on server recover relaunch guess timer if needed; - start new game: clear last clue; mimedone to false; unload old cards; + - backlog shows white word with opposite color; - bot actions are not recorded; + - bot recieves opp-color clue because of it ^; + - old cards are still around; + - bot mime makes a clue -> no update in the room for players; + - red moves after bot gave (metal - 3) ended after two guesses (showed in logs, that opened 3. double click on the same card? or somewhere counter is not dropped?); the first guess moved counter to 2, in logs only two requests as expected; - bot mime gve a blue -> timer did not start; timer should be in third package, maybe in crons; + - log journal is not shown on the page; - marks did not clear after end of the turn (feature?) - start new game satrted timer for a mime; (feature? in other cases mime has no timer); - timer ended and went to 300;