Uebergabe: Liegestuetze, Vorlese-Freigabe, naechste Sitzung Overlay neu
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
094a791da2
commit
81ab865de0
1 file changed
+61
-10
+61
-10
@@ -1,6 +1,6 @@
|
|||||||
# Übergabe
|
# Übergabe
|
||||||
|
|
||||||
Stand **2026-09-25**, letztes gebautes Paket 0.5.4. Wer hier weitermacht,
|
Stand **2026-10-04**, letztes gebautes Paket 0.5.4. Wer hier weitermacht,
|
||||||
liest zuerst diese Seite, dann [`07-mvp-plan.md`](07-mvp-plan.md). Für Abdu
|
liest zuerst diese Seite, dann [`07-mvp-plan.md`](07-mvp-plan.md). Für Abdu
|
||||||
selbst gibt es das [Handbuch](handbuch/handbuch.pdf).
|
selbst gibt es das [Handbuch](handbuch/handbuch.pdf).
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ Auslöser bis zum fertigen Short steht im Code vollständig. Geprüft ist sie
|
|||||||
| S5 Onboarding + Sichtung | offen | |
|
| S5 Onboarding + Sichtung | offen | |
|
||||||
| S6 Erstchatter-Begrüßung | offen | |
|
| S6 Erstchatter-Begrüßung | offen | |
|
||||||
|
|
||||||
281 Tests, alle grün. Was noch fehlt, steht vollständig in
|
288 Tests, alle grün. Was noch fehlt, steht vollständig in
|
||||||
[`offene-punkte.md`](offene-punkte.md).
|
[`offene-punkte.md`](offene-punkte.md).
|
||||||
|
|
||||||
## Neu: der Dienst läuft zentral
|
## Neu: der Dienst läuft zentral
|
||||||
@@ -83,9 +83,18 @@ Durchlauf, im Entwurfsmodus.
|
|||||||
|
|
||||||
## Das Overlay steht
|
## Das Overlay steht
|
||||||
|
|
||||||
Fünf Browser-Sources unter `apps/overlay-web/public`, ausgeliefert vom
|
Browser-Sources unter `apps/overlay-web/public`, ausgeliefert vom
|
||||||
Overlay-Server: Einblendungen, Chat, Statusleiste, Effekte, Pausenbild. Kein
|
Overlay-Server: Einblendungen, Chat, Kamerarahmen, Statusleiste, Effekte,
|
||||||
Build, kein Framework - OBS lädt die Dateien direkt.
|
Pausenbild, Vorlesen, Liegestütze. Kein Build, kein Framework - OBS lädt die
|
||||||
|
Dateien direkt.
|
||||||
|
|
||||||
|
**Nächste Sitzung: das Overlay wird neu gemacht.** Gestaltung von Grund auf,
|
||||||
|
nicht nur der Kamerarahmen. Was bleiben sollte, weil es Fehler verhindert, die
|
||||||
|
man erst im Stream bemerkt: `client.js` (Neuverbinden, Wachhund,
|
||||||
|
Schnappschuss, `Overlay.esc`), der durchsichtige Hintergrund und die Kontur
|
||||||
|
aus `theme.css`, `?probe=1` zum Ansehen im Browser. Die Ereignisse auf dem Bus
|
||||||
|
(`apps/overlay-server/src/bus.ts`) sind die Schnittstelle, an der sich die
|
||||||
|
neuen Seiten festhalten können.
|
||||||
|
|
||||||
Die Ereignisse kommen über Server-Sent Events statt WebSocket. Warum, und was
|
Die Ereignisse kommen über Server-Sent Events statt WebSocket. Warum, und was
|
||||||
gegen die tote Browser-Source nach einem Neustart getan ist, steht in
|
gegen die tote Browser-Source nach einem Neustart getan ist, steht in
|
||||||
@@ -161,6 +170,37 @@ Zeichenketten, jede Belohnung war ohne Meldung unwirksam - auch das Beispiel
|
|||||||
in `config.example.yaml`. Behoben und getestet; die bestehenden Dateien
|
in `config.example.yaml`. Behoben und getestet; die bestehenden Dateien
|
||||||
werden nachweislich gleich gelesen wie vorher.
|
werden nachweislich gleich gelesen wie vorher.
|
||||||
|
|
||||||
|
## Kanalpunkte: Liegestütze
|
||||||
|
|
||||||
|
Seit 2026-10-04 scharf. Die Belohnung „5 Liegestütze" gab es auf Twitch schon
|
||||||
|
(von Hand angelegt, 61 Einlösungen bis dahin). Sie steht jetzt in der
|
||||||
|
Hub-Konfiguration mit `aktion: liegestuetze`, `anzahl: 5`, zugeordnet über den
|
||||||
|
Titel. Wird sie auf Twitch umbenannt, zählt der Hub nicht mehr mit.
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Zähler | `apps/hub/src/liegestuetze.ts`, Tabelle `zaehler` (Migration 003), übersteht Neustarts |
|
||||||
|
| Offen | Einlösung +5. Auf der Übersicht −1/−5/−10, Setzen, auf 0 |
|
||||||
|
| Gemacht | Was mit −1/−5/−10 abgezogen wird. Setzen zählt nicht, das ist Korrektur. Eigenes Feld zum Korrigieren |
|
||||||
|
| Neuer Stream | Gemacht auf 0, offen bleibt. Nicht beim Neustart des Hubs mitten im Stream, nicht bei einer Lücke bis 5 Minuten |
|
||||||
|
| Overlay | `/liegestuetze`, 420×200. `?verstecken=1`, `?gemacht=0`, `?titel=...` |
|
||||||
|
|
||||||
|
**Ungeprüft im Stream.** Getestet mit Probeserver und Browser. Weder eine
|
||||||
|
echte Einlösung noch das Nullen beim Streamstart ist seit dem Ausrollen
|
||||||
|
passiert. Der Zähler startete bei 0 offen, die 61 alten Einlösungen sind nicht
|
||||||
|
übernommen. In OBS ist die Quelle noch nicht eingetragen.
|
||||||
|
|
||||||
|
**Die Belohnung ist nicht über die API angelegt.** Der Hub kann ihre
|
||||||
|
Einlösungen deshalb nicht als erledigt melden und schreibt bei jeder eine
|
||||||
|
Warnung ins Log. Für das Zählen egal. Eine ältere Belohnung „10 Liegestütze"
|
||||||
|
(12 Einlösungen bis 2026-09-24) steht nicht in der Konfiguration.
|
||||||
|
|
||||||
|
**Nebenbei behoben: die Vorlese-Freigabe auf der Übersicht war tot.**
|
||||||
|
`POST /tts` landete bei der Overlay-Seite `/tts` statt bei der Freigabe, auf
|
||||||
|
dem Hub ohne Schlüssel sogar mit 403. „Vorlesen", „Ablehnen" und „Sofort
|
||||||
|
still" haben damit nie gewirkt. Overlay-Seiten werden jetzt nur bei GET
|
||||||
|
ausgeliefert. Gegen eine echte Warteschlange nicht nachgeprüft.
|
||||||
|
|
||||||
## Der Discord-Server steht
|
## Der Discord-Server steht
|
||||||
|
|
||||||
Dazugekommen seit der letzten Übergabe, und kein Teil des MVP: der
|
Dazugekommen seit der letzten Übergabe, und kein Teil des MVP: der
|
||||||
@@ -217,6 +257,16 @@ nichts Vertrauliches mehr hineinschreiben, auch nicht in die Doku.
|
|||||||
(`ZeasyAlex/abdulive`) und `discord` (`ZeasyAlex/abdulive_-discord`). Wer
|
(`ZeasyAlex/abdulive`) und `discord` (`ZeasyAlex/abdulive_-discord`). Wer
|
||||||
pusht, pusht auf beide, sonst laufen sie auseinander.
|
pusht, pusht auf beide, sonst laufen sie auseinander.
|
||||||
|
|
||||||
|
**`deploy-hub.sh` schiebt den Arbeitsstand, nicht den Commit.** Liegt
|
||||||
|
Unfertiges herum, landet es im LXC. Sauber ausrollen aus einem eigenen
|
||||||
|
Checkout:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git worktree add --detach ../abdulive-deploy HEAD
|
||||||
|
../abdulive-deploy/scripts/deploy-hub.sh
|
||||||
|
git worktree remove ../abdulive-deploy
|
||||||
|
```
|
||||||
|
|
||||||
Die Begründungen stehen in [`decisions/`](decisions/), acht ADRs. Wer eine
|
Die Begründungen stehen in [`decisions/`](decisions/), acht ADRs. Wer eine
|
||||||
davon umwerfen will, liest sie vorher. ADR-0004 (Docker) ist durch ADR-0007
|
davon umwerfen will, liest sie vorher. ADR-0004 (Docker) ist durch ADR-0007
|
||||||
ersetzt; die Analyse darin bleibt lesenswert, weil zwei der vier
|
ersetzt; die Analyse darin bleibt lesenswert, weil zwei der vier
|
||||||
@@ -417,14 +467,15 @@ malt. Das war vorher nicht zu erraten.
|
|||||||
`mode: live`. Das ist der kleinste verbleibende Handgriff mit der größten
|
`mode: live`. Das ist der kleinste verbleibende Handgriff mit der größten
|
||||||
Wirkung.
|
Wirkung.
|
||||||
|
|
||||||
**Den Kamerarahmen fertig machen** und die Statusleiste damit ablösen.
|
**Das Overlay neu machen** (nächste Sitzung, siehe oben). Der Kamerarahmen
|
||||||
|
als Entwurf geht darin auf, die Statusleiste soll ersetzt werden. Danach die
|
||||||
|
Liegestütze-Quelle in OBS eintragen und im Stream einmal beobachten.
|
||||||
|
|
||||||
**`apps/recap` bauen.** Angefangen, aber nicht committet: `apps/recap/src/recap.ts`
|
**`apps/recap` bauen.** Angefangen, aber nicht committet: `apps/recap/src/recap.ts`
|
||||||
und Ergänzungen in `packages/db/src/repos.ts` liegen nur im Arbeitsstand
|
und Ergänzungen in `packages/db/src/repos.ts` liegen nur im Arbeitsstand
|
||||||
(die Typprüfung meckert dort noch über `url: undefined`). Der Webhook liegt
|
(die Typprüfung meckert dort noch über `url: undefined`). Der Webhook liegt
|
||||||
bereit, der Hub hat die Daten. Achtung: `deploy-hub.sh` schiebt den ganzen
|
bereit, der Hub hat die Daten. Seit 2026-10-04 wird aus einem sauberen
|
||||||
Arbeitsstand, der halbe Recap liegt also schon im LXC. Er wird nur von nichts
|
Checkout ausgerollt, der halbe Recap liegt also nicht mehr im LXC.
|
||||||
aufgerufen.
|
|
||||||
|
|
||||||
**Danach S5.** Nicht wegen des Codes, sondern weil das Werkzeug ohne
|
**Danach S5.** Nicht wegen des Codes, sondern weil das Werkzeug ohne
|
||||||
Sichtungsseite für Abdu nicht bedienbar ist. Die Kette funktioniert, aber sie
|
Sichtungsseite für Abdu nicht bedienbar ist. Die Kette funktioniert, aber sie
|
||||||
@@ -458,7 +509,7 @@ auf denselben Klick. Auf dem Stream-PC bleibt das Discord-Token leer.
|
|||||||
|
|
||||||
**Der Overlay-Schlüssel steht in der Adresse.** Damit steht er in jedem
|
**Der Overlay-Schlüssel steht in der Adresse.** Damit steht er in jedem
|
||||||
OBS-Profil und auf jedem Screenshot der Einstellungen. Neu würfeln geht auf
|
OBS-Profil und auf jedem Screenshot der Einstellungen. Neu würfeln geht auf
|
||||||
der Übersichtsseite, aber danach müssen alle fünf Adressen in OBS neu
|
der Übersichtsseite, aber danach müssen alle Adressen in OBS neu
|
||||||
eingetragen werden.
|
eingetragen werden.
|
||||||
|
|
||||||
**Das Overlay hat nie unter Last gelaufen.** Geprüft ist es gegen den
|
**Das Overlay hat nie unter Last gelaufen.** Geprüft ist es gegen den
|
||||||
|
|||||||
Reference in new issue
Block a user