Commit Graph
496 Commits
Author SHA1 Message Date
agw 2da781e361 Speaker: stort begyndelsesbogstav, også når replikken starter med et svar
CI / test (push) Successful in 16s
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 21:59:10 +02:00
agw 6f8370fb96 Speaker: højst tre samtidige kald til ElevenLabs og nyt forsøg ved 429
CI / test (push) Successful in 24s
Afsløringen bestilte alle trin på én gang og ramte abonnementets loft for
samtidige kald. Forklaringen genereres nu allerede, mens der løjes.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 21:58:30 +02:00
agw d2dfeafea0 Speaker med stemme: replikker læses op med ElevenLabs
CI / test (push) Successful in 23s
Spilmotoren udsender begivenheder, rummet vælger en replik, indsætter navne
og talord og genererer lyden (cachet på disk ud fra tekst, stemme og
model). Storskærmen afspiller replikkerne i rækkefølge. Afsløringen venter
på lyden og får en længde pr. trin, så stemplet lander, mens speakeren
taler. Uden nøgle eller ved fejl kører spillet som før, bare uden stemme.

Spørgsmålene er gjort familievenlige, og de otte mest kluntede replikker er
skrevet om.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 21:57:00 +02:00
agw 0573f867c9 Generisk driftsbeskrivelse i stedet for konkret opsætning
CI / test (push) Successful in 33s
Deploy-script og systemd-unit beskrev én bestemt installation og hører ikke
hjemme i et offentligt repo. README beskriver nu kravene til proxy og
headere generelt, og eksempelmiljøet bruger neutrale værdier.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 21:56:00 +02:00
agw 2d75c4ce5a Speakerens manuskript: 170 replikker til 28 begivenheder
CI / test (push) Successful in 16s
Klar til oplæsning med ElevenLabs. En test håndhæver reglerne fra
manuskript-prompten: tilladte pladsholdere og lyd-tags pr. begivenhed,
højst 20 ord, ingen tankestreger og tal skrevet med bogstaver.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 21:54:37 +02:00
agw ec9758ada0 Bots kan fylde et eksisterende spil op (--code)
CI / test (push) Successful in 19s
Så kan et spil testes alene: vær vært og VIP selv, og lad bots være de
andre spillere.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 20:53:55 +02:00
agw 09d56eb8db Bot-test virker mod drift, CI kører testene, protokol opdateret
CI / test (push) Successful in 20s
Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 20:37:34 +02:00
agw 10652ee219 Storskærm og telefon-UI, 147 danske spørgsmål og drift
Vanilla JS uden build-trin: én WebSocket pr. skærm med automatisk
genforbindelse, tegner altid fra seneste snapshot. Storskærmen viser kode,
QR, nedtælling og en animeret afsløring; telefonen er bygget til store
knapper og genoptager sin plads efter genindlæsning. dev.html viser alle
faser uden server. deploy/ har systemd-unit, deploy-script og en bot-test,
der spiller et helt spil mod en kørende server.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 20:25:49 +02:00
agw 9a53d8fe04 Start forfra: server-autoritativ spilmotor over WebSocket
Den tidligere version (Angular-SPA, REST og polling) er gemt på branchen
legacy. Denne version samler alle regler i en ren Python-spilmotor
(fupogfakta/engine.py), holder rummene i hukommelsen i én proces og sender
hele spiltilstanden pr. rolle over én WebSocket. Vært-login sker via
Authentik forward-auth i NPMplus.

Claude-Session: https://claude.ai/code/session_01JmhJG6JnhXfzNiKv8f2vHu
2026-10-01 20:40:00 +02:00
agw d86941fef8 Merge pull request '[READY][Gameplay] #310 Host transition idempotency and error catalog for scoreboard -> next round / finish' (#320) from dev/issue-310-host-transition-idempotency-v2 into main
CI / test-and-quality (push) Successful in 3m30s
Reviewed-on: #320
Reviewed-by: reviewer-bot <review-no-reply@weircon.dk>
2026-03-18 06:52:03 +01:00
dev-bot 21e390d200 test: tighten pr320 lobby ownership guard
CI / test-and-quality (push) Successful in 4m6s
CI / test-and-quality (pull_request) Successful in 4m8s
2026-03-18 06:44:54 +01:00
dev-bot df9b6d192c chore: refresh i18n parity artifact
CI / test-and-quality (push) Successful in 4m6s
CI / test-and-quality (pull_request) Successful in 4m6s
2026-03-18 05:19:53 +00:00
dev-bot 702f130de2 test(lobby): lock issue-310 transition ownership boundary
CI / test-and-quality (push) Successful in 4m14s
CI / test-and-quality (pull_request) Successful in 4m15s
2026-03-18 05:00:48 +00:00
dev-bot 92f2cda83a test(lobby): lock scoreboard next-round bootstrap target
CI / test-and-quality (push) Successful in 4m3s
CI / test-and-quality (pull_request) Successful in 4m5s
2026-03-18 04:36:20 +00:00
dev-bot d080f05661 fix(ci): retain lobby payload ownership export
CI / test-and-quality (push) Successful in 4m0s
CI / test-and-quality (pull_request) Successful in 4m2s
2026-03-18 04:17:17 +00:00
dev-bot e246bd648f fix(gameplay): scope next-round selection to target round
CI / test-and-quality (push) Failing after 11s
CI / test-and-quality (pull_request) Failing after 11s
2026-03-18 03:54:25 +00:00
dev-bot 06e4ccac61 fix(lobby): restore scoreboard payload import
CI / test-and-quality (push) Failing after 13s
CI / test-and-quality (pull_request) Failing after 14s
2026-03-18 02:55:30 +00:00
dev-bot 3c9214178e fix(ci): remove stale scoreboard payload import
CI / test-and-quality (pull_request) Failing after 3m34s
CI / test-and-quality (push) Failing after 3m35s
2026-03-18 02:33:36 +00:00
dev-bot feddd910eb fix: restore reveal payload import in submit_guess
CI / test-and-quality (push) Failing after 12s
CI / test-and-quality (pull_request) Failing after 12s
2026-03-18 02:12:11 +00:00
dev-bot dd615796f4 refactor(payloads): delegate session detail gameplay payload
CI / test-and-quality (push) Failing after 11s
CI / test-and-quality (pull_request) Failing after 12s
2026-03-18 01:33:47 +00:00
dev-bot d2cdf16322 test(lobby): lock repaired stale next-round replay
CI / test-and-quality (push) Successful in 4m0s
CI / test-and-quality (pull_request) Successful in 4m1s
2026-03-18 00:46:51 +00:00
dev-bot 101c3f9c26 fix(gameplay): repair stale next-round question drift
CI / test-and-quality (pull_request) Successful in 3m55s
CI / test-and-quality (push) Successful in 3m56s
2026-03-17 23:25:02 +00:00
dev-bot 65eb5685f7 test(lobby): lock scoreboard ownership boundary
CI / test-and-quality (push) Successful in 3m57s
CI / test-and-quality (pull_request) Successful in 3m58s
2026-03-17 23:07:22 +00:00
dev-bot 8a70645fda test(lobby): lock session detail payload delegation
CI / test-and-quality (push) Successful in 3m53s
CI / test-and-quality (pull_request) Successful in 3m54s
2026-03-17 22:25:03 +00:00
dev-bot 2cd8d940f9 test(lobby): lock session detail ownership boundary
CI / test-and-quality (pull_request) Successful in 3m55s
CI / test-and-quality (push) Successful in 3m57s
2026-03-17 21:22:39 +00:00
dev-bot 72bc5997ff test(gameplay): keep lobby delegation checks in lobby suite
CI / test-and-quality (push) Successful in 4m3s
CI / test-and-quality (pull_request) Successful in 4m5s
2026-03-17 21:03:50 +00:00
dev-bot c9e64bc8a8 test(gameplay): lock lobby delegation for host transitions (#310)
CI / test-and-quality (push) Successful in 4m4s
CI / test-and-quality (pull_request) Successful in 4m4s
2026-03-17 20:48:39 +00:00
dev-bot 1c7f1e7c53 fix(ci): satisfy PR #320 lobby lint contract
CI / test-and-quality (pull_request) Successful in 3m56s
CI / test-and-quality (push) Successful in 3m56s
2026-03-17 20:06:12 +00:00
dev-bot 03850b5ed5 refactor(gameplay): extract start/show transitions from lobby views
CI / test-and-quality (push) Failing after 11s
CI / test-and-quality (pull_request) Failing after 12s
2026-03-17 19:44:13 +00:00
dev-bot 16c9cf6b57 refactor(gameplay): extract round start payload builders
CI / test-and-quality (push) Successful in 3m51s
CI / test-and-quality (pull_request) Successful in 3m53s
2026-03-17 19:15:44 +00:00
dev-bot c45f04f9f1 refactor(gameplay): extract round question payload builder
CI / test-and-quality (push) Successful in 3m41s
CI / test-and-quality (pull_request) Successful in 3m42s
2026-03-17 18:55:28 +00:00
dev-bot 319038555a refactor(gameplay): move phase view model into cartridge
CI / test-and-quality (pull_request) Successful in 3m42s
CI / test-and-quality (push) Successful in 3m44s
2026-03-17 18:29:11 +00:00
dev-bot e318711148 test(gameplay): lock refreshed next-round deadline contract
CI / test-and-quality (push) Successful in 3m47s
CI / test-and-quality (pull_request) Successful in 3m48s
2026-03-17 17:44:34 +00:00
dev-bot a9c6e4fd79 test(lobby): lock host transition ownership boundary
CI / test-and-quality (push) Successful in 3m44s
CI / test-and-quality (pull_request) Successful in 3m44s
2026-03-17 17:25:22 +00:00
dev-bot 7eb3507934 fix(gameplay): refresh stale next-round bootstrap config
CI / test-and-quality (push) Successful in 3m39s
CI / test-and-quality (pull_request) Successful in 3m40s
2026-03-17 17:06:59 +00:00
dev-bot dfa197b33b refactor(gameplay): keep host transition payloads in cartridge
CI / test-and-quality (pull_request) Successful in 3m37s
CI / test-and-quality (push) Successful in 3m38s
2026-03-17 16:06:46 +00:00
dev-bot fefc5ecd56 test(lobby): lock refreshed deadline for reused bootstrap round
CI / test-and-quality (push) Successful in 3m40s
CI / test-and-quality (pull_request) Successful in 3m40s
2026-03-17 15:42:00 +00:00
dev-bot 94f940e5d8 refactor(gameplay): delegate host transition events from service
CI / test-and-quality (push) Successful in 3m35s
CI / test-and-quality (pull_request) Successful in 3m35s
2026-03-17 13:43:44 +00:00
dev-bot a102a72a77 fix(gameplay): refresh reused bootstrap lie timer
CI / test-and-quality (pull_request) Successful in 3m27s
CI / test-and-quality (push) Successful in 3m27s
2026-03-17 13:21:52 +00:00
dev-bot d272e35a79 refactor(gameplay): keep host transition events in payload layer
CI / test-and-quality (push) Successful in 3m28s
CI / test-and-quality (pull_request) Successful in 3m28s
2026-03-17 13:04:58 +00:00
dev-bot 8a07433f11 refactor(gameplay): move transition event composition into service
CI / test-and-quality (pull_request) Successful in 3m36s
CI / test-and-quality (push) Successful in 3m37s
2026-03-17 11:58:39 +00:00
dev-bot 9baade0105 test(gameplay): lock lobby replay side-effect delegation
CI / test-and-quality (push) Successful in 3m43s
CI / test-and-quality (pull_request) Successful in 3m44s
2026-03-17 11:35:19 +00:00
dev-bot 35e2d09ee3 test(gameplay): lock lobby host-transition delegation
CI / test-and-quality (push) Successful in 3m34s
CI / test-and-quality (pull_request) Successful in 3m34s
2026-03-17 10:55:41 +00:00
dev-bot a916da12a7 refactor: move scoreboard promotion out of lobby view
CI / test-and-quality (pull_request) Successful in 3m26s
CI / test-and-quality (push) Successful in 3m28s
2026-03-17 10:41:09 +00:00
dev-bot 7f20cb3bf9 refactor(gameplay): move scoreboard phase events into cartridge payloads
CI / test-and-quality (push) Successful in 3m25s
CI / test-and-quality (pull_request) Successful in 3m27s
2026-03-17 10:13:41 +00:00
dev-bot f736f4f74e refactor(gameplay): move scoreboard transitions into cartridge service
CI / test-and-quality (push) Successful in 3m27s
CI / test-and-quality (pull_request) Successful in 3m28s
2026-03-17 09:29:02 +00:00
dev-bot 8247787404 refactor(gameplay): move transition payload builders to cartridge
CI / test-and-quality (pull_request) Successful in 3m30s
CI / test-and-quality (push) Successful in 3m31s
2026-03-17 09:08:14 +00:00
dev-bot 6722be43d4 merge(main): resolve PR #320 scoreboard transition conflict
CI / test-and-quality (pull_request) Successful in 3m24s
CI / test-and-quality (push) Successful in 3m26s
2026-03-17 08:45:55 +00:00
dev-bot 212549373b fix(gameplay): gate next-round replay on scoreboard exit marker
CI / test-and-quality (push) Successful in 3m25s
CI / test-and-quality (pull_request) Successful in 3m26s
2026-03-17 08:25:57 +00:00
dev-bot 47659ed673 test(gameplay): guard extracted lobby helper wiring
CI / test-and-quality (push) Successful in 3m26s
CI / test-and-quality (pull_request) Successful in 3m26s
2026-03-17 07:43:49 +00:00