Changelog
Was sich am Hub geändert hat.
Jeder Eintrag ist verifiziert, nicht geplant — inklusive der Stellen, wo etwas korrigiert werden musste.
Forgejo wieder abgebaut, Whiteboard in Chat aufgegangen
InfrastructureForgejo (git.judolas.xyz) wurde ungenutzt — komplett zurückgebaut. Whiteboard/Watchparty haben keine eigene Bento-Karte mehr, sind Teil der Chat-Showcase.
- —Docker-Container + Image + Datenverzeichnis (/opt/forgejo) entfernt, Caddy-Block für git.judolas.xyz raus (validiert vor Aktivierung, wie immer), git.judolas.xyz antwortet jetzt korrekt gar nicht mehr.
- —Git-Eintrag aus der Service-Registry, /projects/git-Showcase und Preview-Screenshot entfernt.
- —Whiteboard-Karte entfernt (war eh Teil desselben Matrix-Servers) — Chat-Tagline und /projects/chat erweitert, dazu ein neuer unverlinkter Activity-Block: letzte Commits von judolas-matrix-server (privates Repo, bewusst nirgends verlinkt, da Besucher es sowieso nicht öffnen können).
- —Nebenbei behoben: unhandled promise rejection im Frame-Preloader (Promise.all → Promise.allSettled), sichtbar geworden durchs Next-Dev-Overlay beim Testen der neuen Activity-Sektion.
judolas-matrix-server auf GitHub, GitHub-Widget auf ein Repo eingeschränkt
ContentAuf Nutzerwunsch: Hub zeigt nur noch N0xZz/vibe-household-app; Musikbot, Whiteboard/Watchparty und das Element+Matrix-Setup als eigenes, bereinigtes Repo gepusht.
- —lib/github.ts liest jetzt genau ein konfiguriertes Repo (owner/name), nicht mehr die zuletzt gepushten Repos einer ganzen Liste.
- —Vor dem Push: vollständiger Secrets-Audit von /opt/matrix-server. Fund: HANDOVER.md (VPS-Root-Passwort, Synapse-Admin-Token im Klartext) war im lokalen Repo getrackt — bleibt draußen, ebenso Signing-Key, homeserver.yaml, alle Bridge-Registration-Dateien, Cookies, Backups.
- —Zwei hartkodierte Secrets in sonst sauberem Code gefunden (POSTGRES_PASSWORD, LIVEKIT_SECRET in docker-compose.yml und jwt_auth_service.py) und durch Env-Var-Referenzen ersetzt, echte Werte nie committed.
- —Neues privates Repo N0xZz/judolas-matrix-server: frische Git-History (nicht die alte mit den Secrets drin), 22 kuratierte Dateien, README dokumentiert explizit was fehlt und warum.
GitHub-Projekte statt Forgejo-Activity
FixDas Activity-Widget zeigte die falsche Quelle — jetzt echte GitHub-Repos statt interner Forgejo-Pushes.
- —lib/github.ts: öffentliche Repos von github.com/judolas, sortiert nach letztem Push.
- —Optionaler GITHUB_TOKEN schaltet auf den authenticated /user/repos-Endpunkt um und zeigt dann auch private Repos.
- —Ungenutzte Forgejo-Activity-Anbindung entfernt: Token revoked, FORGEJO_*-Env-Vars aus dem Hub-Service gestrichen.
Diese Seite
FeatureEin sichtbarer, ehrlicher Verlauf aller Änderungen am Hub — kein Marketing-Text, jeder Eintrag verifiziert.
- —/changelog als eigene Route, verlinkt aus der Haupt-Navigation.
Forgejo unter git.judolas.xyz
InfrastructureSelf-hosted Git-Server — kein Bestand vorher gefunden, sauber neu aufgesetzt.
- —Vor dem Aufsetzen komplett geprüft: kein vorhandener Forgejo/Gitea-Container, keine Reste — echte Lücke.
- —Forgejo 16, SQLite-Backend, öffentliche Registrierung gesperrt (nur Admin legt Accounts an).
- —End-to-End verifiziert: echtes Repo per API angelegt, geklont, committed, gepusht, mit frischem Klon die Persistenz bestätigt — danach Test-Repo und Tokens wieder entfernt.
- —Hub-Inhalt korrigiert: ursprüngliche Ankündigung von CI/Actions-Runnern entfernt, weil nie aufgesetzt — keine unbelegten Behauptungen.
Household-Fehlstart korrigiert
FixEine komplette Next.js/SQLite-App gebaut und deployed — bevor klar wurde, dass Vibe Household schon existierte.
- —Neue App zurückgebaut: systemd-Service gestoppt und entfernt, /opt-Verzeichnis gelöscht.
- —Echte Vibe-Household-App (Expo/React Native Web, Supabase-Backend) unter /var/www/household gefunden — war nie in Caddy verdrahtet.
- —Caddy-Block von reverse_proxy auf file_server mit SPA-Fallback umgebaut (Caddy 2.6.2 hat kein try_files), Cache-Header für gehashte Expo-Assets ergänzt.
- —Hub-Inhalt (Tech-Stack, Beschreibung) korrigiert, statt an der ursprünglich erfundenen Next.js/tRPC/Postgres-Beschreibung festzuhalten.
Echte Vorschau-Screenshots
ContentDie Displacement-Preview-Cards zeigten Testmuster (SMPTE-Farbbalken) — jetzt echte Screenshots der laufenden Services.
- —Chat-, Household- und Git-Karten zeigen live eingefangene Screenshots der jeweils echten Anwendung.
- —Dabei einen echten Shader-Bug gefunden und live behoben: `sample` ist ein reserviertes Wort in GLSL ES, Vertex-Shader kompilierte still nicht.
Live-Deploy auf judolas.xyz
InfrastructureNext.js Standalone-Build, systemd-Service, Caddy-Routing — ohne die bestehende Matrix-Federation zu brechen.
- —Vor jeder Caddyfile-Änderung: live gelesen statt angenommen. Die judolas.xyz-Apex-Domain trug bereits `.well-known/matrix/*`-Federation-Delegation — nur der Catch-all-Handler wurde ersetzt, alles andere blieb unberührt.
- —Node 18 → 22 LTS auf dem VPS aktualisiert (Next 16 braucht ≥20), node:sqlite statt better-sqlite3 durchgängig genutzt, um plattformübergreifende Native-Module-Probleme beim Windows-Build/Linux-Deploy von vornherein auszuschließen.
- —Backup vor jeder Caddyfile-Aktivierung, `caddy validate` vor jedem Restart.
Hub-Grundgerüst
FeatureNext.js 16 App Router, Bento-Grid-Dashboard, interaktive 3D-Previews, Scroll-Scrubbing-Showcases.
- —DisplacementViewer: React-Three-Fiber-Shader, Luminanz-getriebenes Vertex-Displacement + Pointer-Parallax + Fresnel-Glow, IntersectionObserver-gated, mit Error-Boundary + Suspense.
- —ScrollCraftCanvas: Canvas-Frame-Scrubbing über GSAP ScrollTrigger, gebündelte Frame-Preloads statt einem Promise.all über hunderte Bilder.
- —shadcn-Pattern UI-Primitives (Button, Card, Badge), Deep-Dark-Theme über CSS-Custom-Properties.