Commit Graph
181 Commits
Author SHA1 Message Date
ShanaiaBot 7d96673edb fix(ci): use Kotlin DSL syntax instead of Groovy in build.gradle.kts
Build & Deploy Farolero / Análisis de código (push) Successful in 10s
Build & Deploy Farolero / Build APK + AAB release (push) Failing after 11s
2026-07-25 21:54:15 +02:00
ShanaiaBot 9b73c08bbc chore: bump version to 1.1.45+50 [ci skip] 2026-07-25 21:37:18 +02:00
ShanaiaBot c52d8af1e6 fix(ci): fix YAML syntax errors in keystore secret and SSH key references
Build & Deploy Farolero / Análisis de código (push) Successful in 11s
Build & Deploy Farolero / Build APK + AAB release (push) Failing after 10s
2026-07-25 21:36:55 +02:00
ShanaiaBot 8f9d1dd298 chore: cleanup analysis_options 2026-07-25 21:33:51 +02:00
ShanaiaBot 26f9acb789 feat(ci): add workflow_dispatch trigger for manual runs 2026-07-25 21:31:22 +02:00
ShanaiaBot 82ae03d4f7 chore: verify production signing CI 2026-07-25 21:29:43 +02:00
ShanaiaBot e1c14a43e8 chore: trigger CI for production signing verification 2026-07-25 21:28:10 +02:00
ShanaiaBot 42d79eed5d chore: trigger CI for production signing verification 2026-07-25 21:26:50 +02:00
ShanaiaBot 374c6aef36 feat: change applicationId to es.freetimelab.farolero.game with production signing config 2026-07-25 21:22:56 +02:00
ShanaiaBot 3430238067 feat(ci): add keystore signing step for production release builds 2026-07-25 21:20:45 +02:00
ShanaiaBot 7c5544afd1 chore: bump version to 1.1.44+49 [ci skip] 2026-07-25 21:00:27 +02:00
ShanaiaBot 17f9813de5 chore(ci): remove Telegram notification step
Build & Deploy Farolero / Análisis de código (push) Successful in 11s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 2m10s
2026-07-25 21:00:02 +02:00
ShanaiaBot 212e56bc6d chore: bump version to 1.1.43+48 [ci skip] 2026-07-25 21:00:00 +02:00
ShanaiaBot b3823fecd1 fix(ci): use curly braces in BOT_TOKEN var to avoid bash parsing issues
Build & Deploy Farolero / Análisis de código (push) Successful in 11s
Build & Deploy Farolero / Build APK + AAB release (push) Failing after 1m27s
2026-07-25 20:59:39 +02:00
ShanaiaBot d37a231240 chore: bump version to 1.1.42+47 [ci skip] 2026-07-25 20:57:20 +02:00
ShanaiaBot 87958c1622 fix(ci): add explicit PATH with homebrew so flutter is found by bash --norc
Build & Deploy Farolero / Análisis de código (push) Successful in 10s
Build & Deploy Farolero / Build APK + AAB release (push) Failing after 1m38s
2026-07-25 20:57:03 +02:00
ShanaiaBot 862ff12bbd fix(ci): remove broken --unshallow (clone is full) and fix Telegram notify syntax
Build & Deploy Farolero / Análisis de código (push) Failing after 3s
Build & Deploy Farolero / Build APK + AAB release (push) Skipped
2026-07-25 20:55:19 +02:00
ShanaiaBot cc069f1c39 fix(ci): replace actions/checkout@v4 with git clone (no Node.js on runner)
Build & Deploy Farolero / Análisis de código (push) Successful in 12s
Build & Deploy Farolero / Build APK + AAB release (push) Failing after 3s
2026-07-25 20:52:50 +02:00
FreeTLab 633d156892 chore(deps): refresh the lockfile after running the suite
Build & Deploy Farolero / Análisis de código (push) Failing after 7s
Build & Deploy Farolero / Build APK + AAB release (push) Skipped
2026-07-25 20:36:49 +02:00
FreeTLab 4167319da8 feat(palabras): give every word its own impostor clue
The clue used to be the category name, which is the same for a hundred
words. Each of the 1000 words now carries a single associated trait:
Perro -> Fiel, Cebolla -> Hace llorar, Egipto -> Piramides.

18000 clues across the 18 languages. Files move to version 3; the loader
already reads both formats.

Verification caught 79 clues that contained the word they were meant to
hide and gave it away. Eight were exact matches caused by homonyms that do
not exist in Spanish: Schach and Xake mean both chess and check, and the
same happened with the Arabic 5G and the Chinese Apple and Spam. The other
71 contained the word as a substring, such as Libro -> "Pagine e
segnalibro". All rewritten.

banco_pistas_test guards it: per language it checks 10x100 words, no empty
clue and no clue containing its own word. One-character words are skipped
because any sentence contains them; the Turkish title for the film IT is a
bare "O".
2026-07-25 20:36:48 +02:00
FreeTLab b1b12cc8af feat(i18n): fill the translation backlog and add the new strings
40 keys existed only in app_es.arb and fell back to Spanish everywhere else
(15 of them in English). Most were multi-device screens: hostGame, votar,
clueIs, whoDoYouThinkIsTheImpostor, waitingPlayersSeeWord.

Adds those plus the new keys for impostor awareness, the adjusted impostor
count, the eliminated-player notice and the reconnection screen.

51 keys across the 18 supported languages.
2026-07-25 20:36:39 +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 bad641653c fix(test): make the suite runnable without device plugins
crearPartida clears the notes, which goes through SharedPreferences, and
ServicioNearby.dispose called notifyListeners after tearing the notifier
down. Both failed on plugin channels that do not exist in the test host.

Suite goes from 25 passing / 8 failing to a green run.
2026-07-25 20:36:15 +02:00
ShanaiaBot 553456836f chore: bump version to 1.1.41+46 [ci skip] 2026-05-12 21:51:20 +02:00
FreeTLab cee8c7c2ce Merge branch 'main' of https://git.freetimelab.es/FreeTLab/farolero
Build & Deploy Farolero / Análisis de código (push) Failing after 1s
Build & Deploy Farolero / Build APK + AAB release (push) Has been skipped
2026-05-12 21:50:18 +02:00
FreeTLab 8f78652ac6 Firma de la aplicación como pide play store 2026-05-12 21:50:16 +02:00
ShanaiaBot bb4359656f chore: bump version to 1.1.40+45 [ci skip] 2026-05-12 01:37:36 +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 5697c2a5a1 A ver si compila y publica en main
Build & Deploy Farolero / Análisis de código (push) Failing after 15s
Build & Deploy Farolero / Build APK + AAB release (push) Has been skipped
2026-05-12 01:11:59 +02:00
FreeTLab 7ee8c6ae2f Merge branch 'main' of https://git.freetimelab.es/FreeTLab/farolero 2026-05-12 01:11:02 +02:00
FreeTLab 1885c85de9 uso de imágenes y eliminación de innecesarias 2026-05-12 01:09:05 +02:00
FreeTLab a055ed808c más iconos 2026-05-12 00:44:33 +02:00
FreeTLab 4334e06b04 multiples iconografías 2026-05-12 00:40:40 +02:00
FreeTLab be255d5ea3 algunos iconos PRO 2026-05-12 00:11:43 +02:00
ShanaiaBot 50cf83826c chore: bump version to 1.1.39+44 [ci skip] 2026-05-11 23:22:04 +02:00
FreeTLab 532e3b84f1 correcciones
Build & Deploy Farolero / Análisis de código (push) Successful in 14s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 1m34s
2026-05-11 23:21:13 +02:00
FreeTLab e60fc27d6f Merge branch 'main' of https://git.freetimelab.es/FreeTLab/farolero
Build & Deploy Farolero / Análisis de código (push) Failing after 17s
Build & Deploy Farolero / Build APK + AAB release (push) Has been skipped
2026-05-11 23:16:49 +02:00
FreeTLab 4599678e77 refactorización de pantallas 2026-05-11 23:16:38 +02:00
ShanaiaBot 0ba1038170 chore: bump version to 1.1.38+43 [ci skip] 2026-05-11 22:06:44 +02:00
FreeTLab 1929d86689 corrección a un error
Build & Deploy Farolero / Análisis de código (push) Successful in 22s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 2m13s
2026-05-11 22:05:07 +02:00
FreeTLab 1bad40cbf5 Merge branch 'main' of https://git.freetimelab.es/FreeTLab/farolero
Build & Deploy Farolero / Análisis de código (push) Failing after 24s
Build & Deploy Farolero / Build APK + AAB release (push) Has been skipped
2026-05-11 21:58:19 +02:00
FreeTLab 3c5d98d6dd literales y unificación de resultados en los dos modos de juego 2026-05-11 21:57:46 +02:00
ShanaiaBot 82ebb71ff6 chore: bump version to 1.1.37+42 [ci skip] 2026-05-11 21:12:16 +02:00
FreeTLab 8ecd1ead32 Merge branch 'main' of https://git.freetimelab.es/FreeTLab/farolero
Build & Deploy Farolero / Análisis de código (push) Successful in 23s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 2m12s
2026-05-11 21:10:46 +02:00
FreeTLab 9007728310 A ver qué tal los nuevos botones ahora 2026-05-11 21:10:39 +02:00
ShanaiaBot cd82d1ccf3 chore: bump version to 1.1.36+41 [ci skip] 2026-05-11 20:32:54 +02:00
FreeTLab 8f3e907781 Merge branch 'main' of https://git.freetimelab.es/FreeTLab/farolero
Build & Deploy Farolero / Análisis de código (push) Successful in 24s
Build & Deploy Farolero / Build APK + AAB release (push) Successful in 2m19s
2026-05-11 20:31:09 +02:00
FreeTLab e7c5b08ec0 Limpieza de peso de imágenes 2026-05-11 20:30:59 +02:00
ShanaiaBot d03efcdda1 chore: bump version to 1.1.35+40 [ci skip] 2026-05-11 19:17:08 +02:00