thibaud-leclere
ecd716204d
fix: keep empty revealed cells uncolored
2026-04-11 12:53:24 +02:00
thibaud-leclere
253fdcf040
fix: keep main actor column highlighted on abandon
2026-04-11 12:52:13 +02:00
thibaud-leclere
2c5c9899bd
fix: preserve attempt feedback when abandoning game
2026-04-11 12:47:52 +02:00
thibaud-leclere
15760ebc08
Add configurable game start filters
2026-04-11 12:40:54 +02:00
thibaud-leclere
0698589d5b
Fix test bootstrap and ActorSyncer test doubles
2026-04-11 12:39:35 +02:00
thibaud-leclere
d9b8853d11
fix: keep synced actors available for award import
2026-04-11 11:55:31 +02:00
thibaud-leclere
62a0fdb4c6
update .gitignore
2026-04-11 11:00:54 +02:00
thibaud-leclere
6e83355231
fix: reveal grid solutions when abandoning game
2026-04-11 10:58:33 +02:00
9dcf43052d
docs: retry tmdb requests
2026-04-05 23:37:37 +02:00
6f9739d4c8
fix: retry TMDB requests on timeout and 5xx errors
2026-04-05 21:01:29 +02:00
665a6c5385
feat: mark import as 'error' in case it fails
2026-04-05 20:37:26 +02:00
15a50e02e4
chore: remove unused example assets ( fixes #2 )
...
Delete hello_controller.js and Hello.jsx, which are Symfony/UX
boilerplate files not referenced anywhere in the project.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 14:22:20 +02:00
61851ac19a
feat: add success flash on register
2026-04-04 18:18:41 +02:00
699e9952f0
fix: correct host for gitea registry
2026-04-04 18:06:40 +02:00
thibaud-leclere
1f99b1068e
docs: add victory condition implementation plan
2026-04-03 21:43:30 +02:00
thibaud-leclere
b641f947ba
fix: center create game button
2026-04-03 21:42:59 +02:00
thibaud-leclere
2382d6f8d3
docs: add victory condition design spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 21:26:47 +02:00
thibaud-leclere
843009e193
feat: include release year in film hint text
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:25:05 +02:00
thibaud-leclere
2e7d7ecf44
fix: register game-config Stimulus controller in bootstrap.js
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:09:08 +02:00
thibaud-leclere
6b514aa87b
feat: sort award types by actor count descending
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:05:55 +02:00
thibaud-leclere
51a9f49797
fix: address code review findings
...
- Guard against empty awardTypeIds array in AwardRepository
- Refactor Stimulus controller to use data-action attributes instead of
imperative addEventListener (fixes duplicate listener issue)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 23:10:38 +02:00
thibaud-leclere
b637b725d8
feat: add game config panel UI (template, Stimulus controller, CSS)
...
Config panel with toggle for watched films, hint type checkboxes,
and multi-select for award types above the start game button.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 23:08:09 +02:00
thibaud-leclere
ba715d69a0
feat: extract game config from POST and pass eligible AwardTypes to template
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 23:07:04 +02:00
thibaud-leclere
94ff0ced63
feat: GameGridProvider accepts config for hint types, watched-only, and retry logic
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 23:06:04 +02:00
thibaud-leclere
9c095a76eb
fix: remove actor deletion in AwardTypeRepositoryTest to avoid FK violation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 23:03:33 +02:00
thibaud-leclere
f291df0fcf
feat: add ActorRepository::findOneRandomInWatchedFilms()
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 23:01:57 +02:00
thibaud-leclere
67571e8b33
feat: add AwardTypeRepository::findWithMinActors()
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:58:52 +02:00
thibaud-leclere
5fbac8359f
feat: add AwardRepository::findOneRandomByActorAndTypes()
2026-04-01 22:58:04 +02:00
thibaud-leclere
468b72b419
docs: add game config panel implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:49:16 +02:00
thibaud-leclere
54225ad97b
docs: add game configuration panel design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:39:59 +02:00
thibaud-leclere
295bb16ab7
fix: reduce false positives in award detection
...
Filter SPARQL query to only return entertainment awards (film, TV,
music, theater) and add a canonical award map to normalize variants
(e.g. all Oscar/Academy Award → "Oscar", all Golden Globe → "Golden
Globe"). Non-entertainment awards (orders, medals, honorary degrees)
are excluded both at SPARQL level and via PHP keyword filter.
Also restart messenger container on cache:clear to avoid stale DI
container errors.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:12:28 +02:00
thibaud-leclere
116d7b409e
perf: batch Wikidata SPARQL queries per film instead of per actor
...
Use a VALUES clause to fetch awards for all actors of a film in a
single SPARQL request, reducing Wikidata API calls from ~20 per film
to 1 and avoiding idle timeout errors from rate limiting.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:37:13 +02:00
thibaud-leclere
369893a77e
refactor: track import progress per film instead of per batch
...
Replace batch-level progress (processedBatches/totalBatches) with
film-level progress (processedFilms/totalFilms) for smoother UI updates.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:30:15 +02:00
thibaud-leclere
8c73a22eff
refactor: embed film data directly in batch messages
...
Avoid re-parsing the entire CSV file in each batch handler by including
the film data in the message payload itself.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:25:45 +02:00
thibaud-leclere
087b063f1f
chore: reorganizing
2026-04-01 19:24:04 +02:00
thibaud-leclere
0e3b17bb7d
docs: add project README
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 18:14:31 +02:00
thibaud-leclere
246d6fc740
fix: reorder constructor params in ImportFilmsBatchMessageHandler
...
Move AwardImporter after ImportRepository to fix autowiring order
in compiled container cache.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:44:08 +02:00
thibaud-leclere
353ffddeea
feat: add popover to confirm abandon
2026-04-01 14:36:41 +02:00
thibaud-leclere
fb13a8819d
feat: use DB awards instead of live Wikidata calls for hint generation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 14:29:36 +02:00
thibaud-leclere
0fd0b85b8f
feat: import actor awards during film batch import
2026-04-01 14:27:54 +02:00
thibaud-leclere
8aa33ccefc
feat: add AwardImporter service with tests
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 14:27:15 +02:00
thibaud-leclere
d4d2272396
feat: add migration for award_type, award tables and actor.awards_imported
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:24:48 +02:00
thibaud-leclere
6c1e4cb38b
feat: add awardsImported flag and awards relation to Actor
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:23:56 +02:00
thibaud-leclere
859a5a1067
feat: add Award entity and repository
2026-04-01 14:23:23 +02:00
thibaud-leclere
acc266739d
feat: add AwardType entity and repository
2026-04-01 14:22:33 +02:00
thibaud-leclere
76013afb1c
docs: add implementation plan for awards in database
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:20:20 +02:00
thibaud-leclere
d2d211a228
docs: add design spec for persisting awards in database
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:17:04 +02:00
thibaud-leclere
116812b3f8
save movies release date in BDD, remove unused badge, add help to export movie from letterboxd
2026-03-31 22:18:46 +02:00
thibaud-leclere
c5d359bb0c
remove unused sync commands (app:sync-actors, app:sync-films)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:55:08 +02:00
thibaud-leclere
ded3d063c6
fix: render hint popover via FloatingPortal to prevent overflow clipping
...
The popover was invisible because it rendered inside the table's
overflow-x:auto scroll container. FloatingPortal moves it to document.body.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:49:46 +02:00