# RetrieX EventSource Stream Fix

Dieser Patch stabilisiert den Antwort-Stream bei Commerce-/Shop-Suchanfragen.

## Enthaltene Änderungen

- `public/assets/js/base.js`
  - Browser-Streaming von manuellem `fetch().body.getReader()` auf natives `EventSource` umgestellt.
  - Neuer Ablauf: `POST /ask-jobs` erstellt einen Stream-Job, anschließend `GET /ask-sse/{jobId}` per EventSource.
  - Abbruch-Button schließt nun EventSource sauber.

- `src/Controller/AskSseController.php`
  - Neuer Endpoint `POST /ask-jobs` zum Erstellen kurzlebiger Stream-Jobs.
  - Neuer Endpoint `GET /ask-sse/{jobId}` für natives SSE/EventSource.
  - Alter `POST /ask-sse` bleibt als Rückwärtskompatibilität erhalten.
  - Stream-Header erweitert um `no-transform`; Job-Dateien liegen kurzlebig unter `var/stream_jobs`.

- `src/Commerce/ShopSearchService.php`
  - Harte Shopware-Isolation bei Store-API-Systemfehlern.
  - Wenn ein Reference-Probe bereits einen Store-API-Systemfehler auslöst, wird keine weitere Shop-Suche in derselben Anfrage gestartet.
  - Retry ohne Commerce-History wird bei Store-API-Systemfehlern nicht mehr ausgeführt.

## Einspielen

ZIP im Projektroot entpacken, Dateien überschreiben, danach Symfony-Cache leeren.

Empfohlen:

```bash
bin/console cache:clear
```

Falls OPcache aktiv ist, PHP-FPM danach reloaden.

## Hinweis

Der Patch enthält bewusst nur geänderte Dateien und keine `var/cache`, Logs, Vendor-Dateien oder Wissensdaten.
