Commit Graph
18 Commits
Author SHA1 Message Date
FreeTLab ae0d55c00f fix(android): target API level 35 as required by Google Play
Build & Deploy Farolero / Análisis de código (push) Successful in 14s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 1m16s
Play rejected version code 54 for still targeting 34.

From API 35 Android forces edge-to-edge: content is drawn behind the system
bars and it is up to each screen to keep clear of them. Seven screens had no
SafeArea and their bottom action button would have ended up under the
gesture bar, so FondoFarolero gains a respetarBarras flag that insets the
content while the background still paints full bleed. The seventeen screens
that already handle it are untouched.

The navigation bar colour is ignored under edge-to-edge, so its icons are
now forced light to stay visible over the dark background.

Verified on the merged manifest: targetSdkVersion 35, and the release bundle
builds. The visual result has not been checked on a device.
2026-07-25 22:27:28 +02:00
FreeTLab 863690168c feat(multidispositivo): reconnection, impostor awareness and protocol fixes
Fixes
- SnapshotPartidaOnline no longer serializes esImpostor unless the game is
  over. Every phase change was broadcasting the impostor roles in clear to
  all clients.
- The impostor clue travels in its own field and only when the game enables
  it. It used to be sent as the category key ("todas" when no category was
  picked) and was overwritten by each phase snapshot.
- Eliminated players can no longer vote nor be voted for, on both the client
  screen and the host listener.
- Nearby listeners are removed on dispose; votes are no longer dispatched
  twice; votacionResultado no longer triggers two navigations.
- _jugadoresHostControlados handed the secret word to the host's own
  impostors in the payload.
- Impostor cap unified as maxImpostoresPara(n) for both modes, and the
  silent clamp in multi-device now reports the effective number.
- palabraAleatoria uses Random.secure.

Impostors know each other
- ConfigPartida.impostoresSeConocen, on by default. companerosImpostores is
  nullable: null means nothing to show, an empty list means "you are the
  only impostor".

Reconnection
- IdentidadDispositivo persists a stable device id; the host uses it as the
  clientId so a phone that drops and returns is the same client. Falls back
  to the endpointId for clients that do not send one.
- Usuario.absorbidoDe records the original owner when the host takes over a
  disconnected player, and they are handed back automatically on return.
- New solicitarResync/resync messages: the host replies with the current
  phase plus that client's own players, and the client jumps straight to the
  running phase.
- Readiness is keyed by clientId instead of endpointId, and a disconnected
  client no longer blocks the round.
- The retry gives up after three minutes, only reconnects to the host it
  belonged to, and is cancelled correctly while shutting down.

Per-word clue support
- The word bank loader accepts both the old list-of-strings format and the
  new one carrying a clue per word, falling back to the category clue.

Not verified on real devices: Nearby reconnection timing still needs two
Android phones.
2026-07-25 20:36:32 +02:00
FreeTLab 90ada9099f Multitud de iconos más
Build & Deploy Farolero / Análisis de código (push) Successful in 14s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 1m46s
2026-05-12 01:36:41 +02:00
FreeTLab 158a7ae6a8 Iconografía básica 2026-05-12 01:20:19 +02:00
FreeTLab 1885c85de9 uso de imágenes y eliminación de innecesarias 2026-05-12 01:09:05 +02:00
FreeTLab be255d5ea3 algunos iconos PRO 2026-05-12 00:11:43 +02:00
FreeTLab 4599678e77 refactorización de pantallas 2026-05-11 23:16:38 +02:00
FreeTLab 9007728310 A ver qué tal los nuevos botones ahora 2026-05-11 21:10:39 +02:00
FreeTLab e7c5b08ec0 Limpieza de peso de imágenes 2026-05-11 20:30:59 +02:00
FreeTLab df2659ab9d Nuevos assets para otras pantallas (meta)
Build & Deploy Farolero / Análisis de código (push) Failing after 56s
Build & Deploy Farolero / Build APK + AAB release (push) Has been skipped
2026-05-11 19:04:45 +02:00
FreeTLab 2503b64d34 nuevas pantallas 2026-05-11 18:44:51 +02:00
FreeTLab a93bab290a más mejoras 2026-05-10 23:54:09 +02:00
FreeTLab a8494f7b01 corrección de botonesa, y por lo visto también traducciones 2026-05-10 23:36:31 +02:00
FreeTLab 12af58d828 correcciones
Build & Deploy Farolero / Análisis de código (push) Successful in 35s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 1m49s
2026-05-10 22:27:10 +02:00
FreeTLab 42f01949c4 Cambios visuales completos 2026-05-10 17:28:35 +02:00
FreeTLab e2cebafdbb Gamificación 2026-05-09 17:24:46 +02:00
FreeTLab 957b42ea0c Gestión de usuarios y avatares en la aplicación. Gestión de traducciones de las palabras. 2026-05-04 20:58:02 +02:00
FreeTLab 841f94e543 Completo y absoluto cambio de diseño
Build & Deploy Farolero / Análisis de código (push) Successful in 23s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 1m53s
2026-05-04 13:57:55 +02:00