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>
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>
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>
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>
Move AwardImporter after ImportRepository to fix autowiring order
in compiled container cache.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Clear Doctrine identity map after each film import to prevent memory
accumulation. Run messenger with --no-debug and higher PHP memory_limit
to avoid profiling overhead in dev.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove the notification system entirely and show import progress
directly in the user dropdown menu. Block new imports while one
is already running.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Hints should help identify the row actor (to find the highlighted letter),
not reveal the main actor directly. Simplified hint generation: no shared
exclusion pools needed since each row has a different actor.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Display spaces, hyphens and other non-letter characters as static cells
instead of input fields, and add separator rows in the grid for
non-alphabetic characters in the main actor's name.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename `read` column to `is_read` (PostgreSQL reserved word)
- Wrap navbar + modal in parent div for Stimulus controller scope
- Set temporary filePath before first flush in ImportController
- Use RETURNING clause for atomic incrementProcessedBatches
- Return proper empty 204 response in NotificationController
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>