thibaud-leclere
e3ee26e070
feat: add hintType and hintData columns to GameRow entity
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 22:30:30 +02:00
thibaud-leclere
cdcd3312ef
docs: add game hints implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:26:32 +02:00
thibaud-leclere
4fb1a25469
docs: add game hints system design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 22:21:26 +02:00
thibaud-leclere
335a55562f
feat: handle non-letter characters in actor names with separator rows
...
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 >
2026-03-30 21:59:11 +02:00
thibaud-leclere
ba9a3fba5d
feat: replace code icon with Git logo in navbar
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 21:58:43 +02:00
thibaud-leclere
86bf2eb1d3
feat: move hints column to the left of the game grid
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 21:33:40 +02:00
thibaud-leclere
1f80b554fd
Remove AppExtension
2026-03-30 21:17:17 +02:00
thibaud-leclere
52c40f1ecc
feat: add bug report issue template and report button on game grid
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 20:36:39 +02:00
thibaud-leclere
c35e239450
various fixes
2026-03-30 20:12:10 +02:00
thibaud-leclere
2f5ba701b6
feat: wrap game in centered card, style abandon button, abandon anonymous game on login
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:55:32 +02:00
thibaud-leclere
96adefbb1e
feat: update homepage template with start/abandon game UI
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 19:46:58 +02:00
thibaud-leclere
a6b3a93d5c
refactor: use persisted games in HomepageController
2026-03-30 19:46:12 +02:00
thibaud-leclere
884168aa49
feat: add GameController with start and abandon actions
2026-03-30 19:45:39 +02:00
thibaud-leclere
ef155463ab
feat: add GameGridGenerator service
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 19:44:50 +02:00
thibaud-leclere
1d7c215887
feat: add migration for game and game_row tables
2026-03-30 19:44:05 +02:00
thibaud-leclere
665233425a
feat: add Game and GameRow repositories
2026-03-30 19:43:39 +02:00
thibaud-leclere
ff9a48448c
feat: add GameRow entity
2026-03-30 19:43:29 +02:00
thibaud-leclere
55145c366f
feat: add Game entity
2026-03-30 19:43:18 +02:00
thibaud-leclere
90ca2b946d
docs: add game persistence implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:41:45 +02:00
thibaud-leclere
1eb7817182
docs: add game grid persistence design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 19:38:29 +02:00
thibaud-leclere
6cd6c1ed47
fix: bind vendor with host in dev instead of named volume
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 18:41:24 +02:00
thibaud-leclere
3c15c12255
update theme
2026-03-30 12:13:19 +02:00
thibaud-leclere
99abd78495
remove git action
2026-03-30 00:13:39 +02:00
thibaud-leclere
bcf6cd1a03
Add secrets
Build and Push Docker Images / Build app image (push) Failing after 23s
Build and Push Docker Images / Build database image (push) Successful in 9s
Build and Push Docker Images / Build node image (push) Failing after 11s
2026-03-30 00:11:16 +02:00
thibaud-leclere
503c474461
fix: use correct env var syntax for Symfony secrets
...
Secrets are accessed via %env(NAME)% not %env(secret:NAME)%.
Symfony automatically resolves secrets as env vars.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 23:19:07 +02:00
thibaud-leclere
f42a3ba286
fix: manually register Stimulus controllers in bootstrap.js
...
Auto-discovery may not work reliably with vite-plugin-symfony.
Explicit registration ensures dropdown, notifications, and
import-modal controllers are loaded.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 23:14:16 +02:00
thibaud-leclere
23c291d2c2
fix: modal-overlay hidden attribute overridden by display:flex
...
The CSS display:flex on .modal-overlay was overriding the HTML hidden
attribute, making the modal always visible.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 23:12:15 +02:00
thibaud-leclere
201faf3789
chore: add make rule for Symfony secrets
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:37:55 +02:00
thibaud-leclere
5fc6b4a53b
feat: add Messenger worker Docker service
...
Build and Push Docker Images / Build app image (push) Failing after 37s
Build and Push Docker Images / Build node image (push) Has been cancelled
Build and Push Docker Images / Build database image (push) Has been cancelled
Reuses the app image with messenger:consume command.
Restarts automatically, with 1h time limit and 256M memory limit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:30:23 +02:00
thibaud-leclere
6edc122ff6
fix: address code review issues
...
- 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 >
2026-03-29 10:27:57 +02:00
thibaud-leclere
b0024bbcf5
feat: add navbar, dropdown, modal and notification styles
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:23:57 +02:00
thibaud-leclere
300699fa82
feat: add Stimulus import modal controller
2026-03-29 10:23:19 +02:00
thibaud-leclere
c9880baddb
feat: add Stimulus notifications controller with polling
2026-03-29 10:22:58 +02:00
thibaud-leclere
1ea07a2438
feat: add Stimulus dropdown controller
2026-03-29 10:22:37 +02:00
thibaud-leclere
a348de01b0
feat: add navbar with user dropdown and import modal
2026-03-29 10:22:20 +02:00
thibaud-leclere
4f8eb5f3dc
feat: add notification API endpoints
2026-03-29 10:21:30 +02:00
thibaud-leclere
2cfbe191cf
feat: add POST /api/imports endpoint
2026-03-29 10:21:02 +02:00
thibaud-leclere
4955c5bde9
feat: add ImportFilmsBatchMessageHandler
2026-03-29 10:20:24 +02:00
thibaud-leclere
98be393e3c
feat: add ProcessImportMessageHandler
2026-03-29 10:19:31 +02:00
thibaud-leclere
2d768e8b52
feat: add Messenger messages for import processing
2026-03-29 10:18:35 +02:00
thibaud-leclere
dedc41e237
refactor: extract ActorSyncer service from SyncActorsCommand
2026-03-29 10:18:00 +02:00
thibaud-leclere
bbbfb895af
refactor: extract FilmImporter service from SyncFilmsCommands
2026-03-29 10:17:17 +02:00
thibaud-leclere
1bf8afd88e
feat: add Notification entity
2026-03-29 10:16:29 +02:00
thibaud-leclere
7be4de6967
feat: add Import entity with batch tracking
2026-03-29 10:11:30 +02:00
thibaud-leclere
5f7ddcd3cc
feat: add UserMovie join entity
2026-03-29 10:10:27 +02:00
thibaud-leclere
5d16d28c59
feat: install Flysystem S3 and configure SeaweedFS storage
...
Add league/flysystem-bundle and league/flysystem-aws-s3-v3 packages and
configure the default.storage adapter to use AWS S3Client pointed at the
SeaweedFS endpoint (s3.lclr.dev) with path-style endpoints and secret-based
credentials.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-29 10:08:56 +02:00
thibaud-leclere
def97304a9
docs: add implementation plan for user import & notifications
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:06:32 +02:00
thibaud-leclere
720e8e0cf9
docs: add design spec for user film import, navbar & notifications
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 10:00:46 +02:00
thibaud-leclere
9cb5c6e2a5
fix: use vite-plugin-symfony Stimulus loader and wrap react_component in div
...
Build and Push Docker Images / Build app image (push) Failing after 17s
Build and Push Docker Images / Build database image (push) Successful in 8s
Build and Push Docker Images / Build node image (push) Failing after 17s
The @symfony/stimulus-bundle loader generates an empty controllers.js,
so Stimulus controllers from controllers.json (including ux-react) were
never registered. Switching to vite-plugin-symfony/stimulus/helpers
uses the virtual:symfony/controllers module that properly reads
controllers.json. Also wrap react_component() output in a <div> since
it only renders data-attributes, not a full HTML element.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-28 15:02:27 +01:00
thibaud-leclere
ae9b0fdba7
ci(docker): add node image build-and-push job to workflow
...
Build and Push Docker Images / Build app image (push) Failing after 11s
Build and Push Docker Images / Build database image (push) Successful in 10s
Build and Push Docker Images / Build node image (push) Failing after 10s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-28 14:00:32 +01:00