Repository navigation
Host follows the account being played; public page names Fabled companions (1.1.0, relay 0.3.1) - #10
Merged
Merged
Conversation
…nions (relay 0.3.1)
VERIFICACION K8, 2026-10-20: after a change of region (a new account) HDT exported the new deck into the new account's inbox folder, but the host had chosen its account once at start-up (newest collection.json) and never looked again, so the overlay, !deck and the public page stayed on the old region's deck ("Updated 1 h ago").
- OverlayStateService re-evaluates the account on every poll: the one with the newest exporter file (collection, decks, rank, active-deck) or finished game wins; --account still pins. On a switch it drops dust, rank, deck and sync of the previous account and re-reads the new folder in the same poll (log: "Now following account …"). Power.log is polled before the account is chosen, so a finished game of another account is itself the evidence; completed games are counted after the choice.
- GameRepository.Latest() seeds the evidence from the database at start-up.
- KickStreamService closes the session that is open even when the overlay follows another account by then (StreamSessionRepository.LatestOpen(null)); rank_end is taken from the session's account.
- Public deck page: cards.collectible.json has no tokens, so the two companions of a Fabled card showed as "Card #id" (same as the panel's F11 on 2026-10-15). The browser script now fetches the full cards.json only when something stays unresolved. Bundle rebuilt; RELAY_VERSION 0.3.1.
- Tests: The_overlay_follows_the_account_whose_exports_are_newer (host, both directions), LatestOpen(null). 211 .NET + 67 vitest.
- Docs: VERIFICACION K8.6/K8.7, PROGRESO, overlay.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaFitGHCUzwkHrFTjz8qJb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Qué pasaba
VERIFICACION K8 (2026-10-20): después del cambio de región (que es otra cuenta), HDT exportaba el mazo nuevo a la carpeta de la cuenta nueva, pero el host había elegido su cuenta una sola vez al arrancar (el
collection.jsonmás reciente) y no volvía a mirar. Resultado: overlay,!decky la página pública seguían con el mazo de la región vieja ("Updated 1 h ago") mientras HDT mostraba otro.Además, la página pública mostraba
Card #120064/Card #120068en un mazo con una carta Fabled: sus dos compañeras no son coleccionables ycards.collectible.jsonno las trae (el mismo F11 que tuvo el panel el 15/10).Qué cambia
OverlayStateServicereevalúa la cuenta en cada poll: gana la que tenga el archivo del exporter (collection,decks,rank,active-deck) o la partida terminada más reciente;--accountsigue fijando una. Al cambiar, olvida polvo, rango, mazo y sync de la anterior y relee la carpeta nueva en el mismo poll (service.log:Now following account …). Power.log se lee antes de elegir la cuenta, así una partida terminada de otra cuenta es en sí la evidencia.GameRepository.Latest()siembra la evidencia desde la base al arrancar.KickStreamServicecierra la sesión que esté abierta aunque el overlay ya siga otra cuenta (LatestOpen(null)), y toma el rango final de la cuenta de la sesión.cards.jsoncompleto solo cuando algo queda sin resolver (tres veces el tamaño; de ahí el fallback). Bundle regenerado;RELAY_VERSION0.3.1 → hace falta el tagworker-v0.3.1.The_overlay_follows_the_account_whose_exports_are_newer(ida y vuelta entre dos cuentas),LatestOpen(null). 211 .NET + 67 vitest en verde.Para probar (después de mergear)
worker-v0.3.1(deploy del relay) y zip nuevo desdemain.!decky/d/tsukuru-tvmuestran el mazo de esa cuenta./d/tsukuru-tvcon un mazo Fabled: las compañeras salen con nombre.Generated by Claude Code