Skip to content

[Chore] Update PHP, Symfony, Node.js, and Next.js dependencies - #253

Open
PhilDaiguille wants to merge 5 commits into
Fan2Shrek:mainfrom
PhilDaiguille:feat/update-symfony
Open

PhilDaiguille wants to merge 5 commits into
Fan2Shrek:mainfrom
PhilDaiguille:feat/update-symfony

Conversation

@PhilDaiguille

@PhilDaiguille PhilDaiguille commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

Mise à jour des dépendances (PHP 8.5, Symfony 8.1, Node/Next) + les adaptations de code que ces montées de version imposent.

Ce qui cassait

HubInterface (Mercure)

Deux méthodes ont été ajoutées à l'interface : getProtocolVersion() et getCookieName(). App\Tests\Resources\MockHub ne les implémentait pas, donc la classe était refusée au chargement — et comme le Kernel la référence pour l'env test, tout boot du kernel devenait fatal (make setup-tests, make tests-replay, bin/console).

TokenFactoryInterface::create()

La signature attend maintenant des objets Grant et non plus une liste de topics :

- $this->hub->getFactory()?->create([$topic], []);
+ $this->hub->getFactory()?->create([new Grant([Grant::ACTION_SUBSCRIBE], [$topic])], []);

Appliqué aux 6 appels : GameProvider, GameDebugProvider, JoinRoomHandler, CreateRoomHandler, CreateTradeHandler, SubscribeTradeHandler.

Kernel::configureContainer()

Le configureContainer() du trait Symfony ne prend plus qu'un seul argument. L'appel à defaultConfigureContainer() a été réduit à $container ($loader et $builder restent utilisés dans le corps de la méthode).

Fixtures de replay

Symfony\Component\VarExporter\Internal\Hydrator a disparu en 8.1, remplacé par deepclone_from_array(). Les 10 fixtures générées de tests/GameReplay/resources/ n'étaient plus chargeables du tout.

  • 9 régénérées via make regenerate-tests-replay ;
  • 11-bombs n'est pas réimportable (carte dummy_character absente du registry, même cas que 1-basic qui lui est écrit à la main) : chargée une fois avec l'ancienne classe restaurée temporairement, puis réexportée au format actuel.

Le contenu des états de jeu est inchangé, seule la sérialisation l'est.

HackedZoneCardTest

PHPUnit 12 fait comparer les clés à assertEqualsCanonicalizing. array_filter conservait les index 1, 3, 5… d'où l'échec ; enveloppé dans array_values(). Aucun changement de logique.

Baseline mago

La montée de version a rendu 51 entrées obsolètes et en a fait apparaître d'autres : baseline régénérée. Les 119 issues masquées l'étaient déjà avant, elles sont juste réparties différemment — le vrai nettoyage n'a pas sa place dans une PR de deps.

Vérifications

commande résultat
make tests 504 tests, 1757 assertions — OK
make tests-replay 12 tests, 17 assertions — OK
make stan no issues
make format / make lint OK (1 warning pré-existant, DataMinerCard)

🤖 Generated with Claude Code

@PhilDaiguille PhilDaiguille changed the title Update PHP, Symfony, Node.js, and Next.js dependencies [Chore] Update PHP, Symfony, Node.js, and Next.js dependencies Aug 30, 2026
@Fan2Shrek

Copy link
Copy Markdown
Owner

Je sais qu'il y a aussi les CIs à mettre à jour si t'a le courage ;)

@PhilDaiguille

Copy link
Copy Markdown
Contributor Author

Je sais qu'il y a aussi les CIs à mettre à jour si t'a le courage ;)

toujours

@Fan2Shrek

Copy link
Copy Markdown
Owner

Les tests ne passent plus :(

Faut maj les implèmentaitons de HubInterface à voir si ca suffit

PhilDaiguille and others added 3 commits September 4, 2026 15:41
- MockHub: implement getProtocolVersion() and getCookieName(), new on
  HubInterface (the missing methods made every kernel boot fatal)
- Mercure token factory now takes Grant objects instead of topic strings
- Kernel: configureContainer() from the trait only takes $container
- Regenerate replay fixtures: VarExporter dropped Internal\Hydrator in
  favour of deepclone_from_array()
- HackedZoneCardTest: assertEqualsCanonicalizing now compares keys too
- Regenerate the mago analyzer baseline

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FxQc1fqQJANRX9nHq2LMfR
The comment API needs issues:write; the step also no longer fails the
job when the token is read-only anyway.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants