ba9625d45d
CI / test (push) Has been cancelled
Subscribe per-device with a Symfony Mercure hub: server publishes a fresh device payload after every poll (200/304/204), every PATCH, and every lock/unlock. The frontend opens one EventSource per device topic and splats inbound JSON straight into the devices store — same shape as GET /api/devices, so no envelope handling. Topic: https://pictureframe.edholm.me/devices/{id} Stack mirrors aqua-iq: - symfony/mercure-bundle + config/packages/mercure.yaml - App\Service\MercurePublisher (errors swallowed + logged; a flaky hub must not break a poll response) - App\Service\DeviceSerializer extracted as the single source of truth for the wire shape (REST + Mercure share it) - Frontend useDeviceMercure() composable: opens/closes EventSources to match the device list reactively, reconnects on hub-side closes - SpaController exposes MERCURE_PUBLIC_URL via window.__PF_MERCURE_URL__ Production compose adds a dunglas/mercure container with Traefik labels for pictureframe.edholm.me/.well-known/mercure (handled separately on the host since the file isn't in this repo). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
18 lines
1.0 KiB
PHP
18 lines
1.0 KiB
PHP
<?php
|
|
|
|
return [
|
|
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
|
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
|
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
|
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
|
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
|
|
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
|
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
|
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
|
DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true],
|
|
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
|
Symfony\Bundle\MercureBundle\MercureBundle::class => ['all' => true],
|
|
];
|