Google-Reauth und TLI-Volltext-Backfill live abgeschlossen
changed
- **Google OAuth Stores (`gog` + `gws`)**
- `gog` mit frischem Consent erneut autorisiert.
- `gws` vom kaputten verschluesselten Token-Store auf einen frischen Plaintext-Credentials-Store mit demselben neuen Refresh-Token umgezogen; alte Dateien als Backup unter `~/.config/gws/backup-20260411T...Z/` weggeparkt.
- **`thelonginvestor/scripts/backfill-tli-intake.mjs`**
- Edgecase gefixt, bei dem ein doppelter `ticker + subject` innerhalb desselben Gmail-Laufs als `id=undefined` im Update-Zweig endete.
- **`.openclaw/workspace/projects/tyrone-terminal/src/app/api/insights/route.ts`**
- TLI-Dedupe-Key auf `ticker + subject + created_at` umgebaut und bei gleichem Zeitstempel die laengere Summary bevorzugt, damit frisch hochgezogene Volltexte die alten Kurzfassungen im Feed verdrängen.
- Patreon-Mail-Noise wie `In der App anzeigen`, Teilen-/Footer-Blocke im API-Sanitizer entfernt.
- **`.openclaw/workspace/projects/tyrone-terminal/src/lib/supabase.ts`**
- denselben Timestamp-basierten TLI-Dedupe samt Laengen-Priorisierung und Kommentar-Bereinigung fuer den Client-/Fallbackpfad nachgezogen.
verified
- `gog gmail messages search 'from:[E-Mail] newer_than:3d' --account [E-Mail] -j`
- Ergebnis: `gog` liest Gmail wieder live.
- `gws gmail users messages list --params '{"userId":"me","maxResults":3,"q":"from:[E-Mail] newer_than:3d"}' --format json`
- Ergebnis: `gws` liest ebenfalls wieder live.
- `node `thelonginvestor/scripts/backfill-tli-intake.mjs` --after 2026/03/25 --max 250`
- Ergebnis: `19` Upgrades im zweiten Lauf; zuvor im ersten Teil-Lauf bereits die fehlenden `26` portfolio-relevanten TLI-Mails neu geschrieben.
- `curl -s 'http://[localhost]/api/insights?ticker=HIMS&limit=3'`
- Ergebnis: HIMS-TLI-Feed zeigt jetzt den langen Kommentar statt der alten 53-Zeichen-Kurzfassung; Footer-/Patreon-Muell ist aus der API-Antwort entfernt.
- `npm test -- --runTestsByPath src/__tests__/components/NewsPanel.test.tsx`
- Ergebnis: `5/5` Tests gruen.
- `npm run build` in `.openclaw/workspace/projects/tyrone-terminal`
- Ergebnis: Build gruen; danach `pm2 restart [process] + `pm2 save`.