No description
Find a file
Simon Kuehn 4c16f8cd68 feat: live pipeline status notifications via SSE
Adds real-time toast notifications to all admin pages for AI pipeline
job progress. The browser subscribes to an SSE endpoint
(GET /admin/pipeline/events) which polls the DB every 2 seconds and
emits events whenever a job's step or status changes.

- AIPipelineJob gains updatedAt (migration 20260519020000), bumped on
  every state-change method, with an index for efficient polling
- AIPipelineJobRepositoryInterface/Doctrine get findUpdatedSince()
- PipelineStreamController streams SSE with per-connection dedup and
  auto-reconnect (retry: 3000); streams for 90 s then signals reconnect
- pipeline-notifications.js handles EventSource, shows colour-coded
  toasts (queued/processing/completed/failed/needs_review) and is loaded
  globally via DashboardController::configureAssets()

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 07:36:03 +00:00
.gitea/workflows feat: add Gitea Actions CI (CS Fixer, PHPStan, Pest + migrations) 2026-05-14 04:25:50 +00:00
bin chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
config feat: editable AI prompt templates and articleType context in specs research 2026-05-18 07:19:02 +00:00
docker chore: disable OPcache for dev and mount php.ini as volume 2026-05-18 07:22:48 +00:00
docs/superpowers chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
migrations feat: live pipeline status notifications via SSE 2026-05-18 07:36:03 +00:00
public feat: live pipeline status notifications via SSE 2026-05-18 07:36:03 +00:00
src feat: live pipeline status notifications via SSE 2026-05-18 07:36:03 +00:00
templates feat: add manual ingest form, AI status page and pipeline archive 2026-05-18 07:18:39 +00:00
tests chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
translations chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.editorconfig chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.env chore: switch default AI backend to Mistral and support .env.local override 2026-05-18 07:18:53 +00:00
.env.dev chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.env.test chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.gitignore feat: add PHPStan level 9, PHP CS Fixer, Pest; fix docker user=1000 to avoid root-owned files 2026-05-14 04:25:30 +00:00
.php-cs-fixer.dist.php chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
.php-cs-fixer.php feat: implement Plan 2 — Article Management API 2026-05-14 05:19:20 +00:00
composer.json feat: admin panel, Mistral client, attribute management, API key command 2026-05-17 20:15:13 +00:00
composer.lock feat: admin panel, Mistral client, attribute management, API key command 2026-05-17 20:15:13 +00:00
docker-compose.override.yml feat: add Docker Compose environment with Caddy, PostgreSQL 17, Redis, PHP-FPM workers 2026-05-14 04:14:55 +00:00
docker-compose.yml chore: disable OPcache for dev and mount php.ini as volume 2026-05-18 07:22:48 +00:00
phpstan.neon feat: implement Plan 2 — Article Management API 2026-05-14 05:19:20 +00:00
phpunit.dist.xml chore: add tooling config, test bootstrap, env templates and docs 2026-05-17 22:44:16 +00:00
phpunit.xml.dist feat: add PHPStan level 9, PHP CS Fixer, Pest; fix docker user=1000 to avoid root-owned files 2026-05-14 04:25:30 +00:00
symfony.lock feat: admin panel, Mistral client, attribute management, API key command 2026-05-17 20:15:13 +00:00