aYOUne

Changelog

Was sich verändert hat — gruppiert nach Release, filterbar nach Komponente und Repository.

Weitere Änderungen 2
Fix auth

NUL-Byte aus login-brand.ts, Rueckfall-Vergleich ohne Sentinel

Der Rueckfall-Wert von `hostnameOf` fuer den eigenen Host war ein
Sentinel-String, der beim Schreiben zu einem NUL-Byte wurde. Folge: git
fuehrte die Quelldatei als BINAER (`Bin 0 -> 11342 bytes`) — kein Diff, keine
Durchsicht, obwohl Bau und Proben gruen blieben. Gefunden beim Pflicht-Blick
auf `git show --stat` nach dem Commit, nicht vom Bau.

Der Sentinel ist zugleich sachlich ersetzt: ein leerer eigener Host darf gar
nicht vergleichen, sonst waere er ein Treffer fuer jeden ebenso unlesbaren
Host. Statt eines Wertes, der nie trifft, jetzt eine ausdrueckliche Bedingung.

19/19 Proben unveraendert gruen, `tsc` (app + spec) und `build:stage` gruen.
Fix auth

Rueckweg zur Anmeldung traegt die Marke des Hosts statt aYOUne

`redirectToLogin` schickte einen Nutzer, dessen Sitzung ablaeuft, auf
`${loginUrl}/ayoune` — der Marken-Slug stand fest im Quelltext. Auf einem
weiss-etikettierten Host (`app.kunde.de`) verschwand damit mitten in der
Nutzung die Marke des Wiederverkaeufers, ohne sichtbaren Fehler.

Der Slug wird jetzt aus dem HOST abgeleitet, in derselben Reihenfolge wie in
`clients/auth`: Zwischenspeicher → Plattform-Host → Abruf (`GET /host/:host`
auf reseller-api, seit 2026-08-23 gebaut). Faellt der Abruf aus, gilt `ayoune`
— fail-safe, nicht fail-closed. Die Rueckfall-Regel `login.ayoune.app/<slug>`
bleibt unangetastet; es wird nichts umgeleitet und nichts ersetzt.

ZWEI gemessene Abweichungen gegenueber `clients/auth`, beide notwendig:
(a) der Apex kommt aus `loginUrl`, NICHT aus `frontendUrl` — der traegt hier
`pwa.ayoune.app`, also eine Flaeche UNTER dem Namen; dieselbe Ableitung haette
`app.ayoune.app` zum Fremd-Host gemacht und den haeufigsten Rueckweg einen
Abruf gekostet. (b) die Etiketten-Liste traegt zusaetzlich `pwa`.

Messung (Schritt 1 des Auftrags): genau EINE fest verdrahtete Fundstelle.
Zwei weitere sehen so aus, sind es aber nicht (`${startupUrl}/ayoune` ist
`/:product`, kein Marken-Slug), und die Lib `@tolinax/ayoune-auth-client`
leitet nackt auf `loginUrl` ohne Slug — den Fall deckt der Host-Riegel der
Anmelde-Oberflaeche ab.

19 Proben (`login-brand.spec.ts`) mit Flip-Probe `login.protos.ayoune.app`
(Reseller-Domaene unter dem Plattform-Namen ist KEIN Plattform-Host),
Byte-Gleichheit auf der Plattform-Marke und drei Negativ-Kontrollen
(404 / Netzfehler / Antwort ohne slug → `ayoune`, nie `undefined`).