Repository navigation
Conversation
Ermöglicht das Auslagern der Entwicklung auf einen Hetzner CX33, damit
der lokale PC nicht mehr laufen muss und die Projekte vom Handy aus
erreichbar sind.
vite.config.ts
".ts.net" zu server.allowedHosts hinzugefügt. Der Dev-Server läuft
künftig auf dem Remote-Host und wird über Tailscale MagicDNS als
https://<host>.<tailnet>.ts.net geöffnet; ohne diesen Eintrag lehnt
Vite die Anfrage mit "Blocked request. This host is not allowed." ab.
Dev-only, wie die bereits vorhandenen Tunnel-Einträge für
.trycloudflare.com und .loca.lt.
infra/hetzner/
Runbook plus vier idempotente Setup-Skripte für Ubuntu 24.04:
01 Benutzer, SSH-Härtung (kein root, keine Passwörter), ufw mit
Tailnet-Freigabe, 4 GB Swap, Tailscale, unattended-upgrades
02 Toolchains, an den CI-Workflows ausgerichtet: Node 22, Python
3.13 via uv, gcc-arm-none-eabi, clang/cppcheck, libasound2-dev,
Qt-Runtime für PyQt6, ffmpeg, Xvfb
03 code-server auf 127.0.0.1, per "tailscale serve" als HTTPS
ausschließlich im Tailnet veröffentlicht
04 Klont Synthstudio, omnitribe und Korg_ESX_E2S_Editor und fährt
deren CI-Checks als Verifikation
Der Synthstudio-Clone nutzt --filter=blob:none, da die History rund
1,6 GB Sample-Dateien unter "Korg ESX files/" trägt.
Verifikation: pnpm gen:sandbox (in sync), pnpm check, pnpm build,
pnpm test (11397 passed, 101 skipped); shellcheck -S warning sauber.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017bTa1Rc3WHG8Ku5TM2VAxb
CI-Status auf
|
| Check | Ergebnis |
|---|---|
| Type-Check + Unit-Tests | ✅ success |
| Playwright Browser-Tests | ✅ success |
| Playwright Browser-Tests (Audio/Sim, non-blocking) | ❌ failure |
Der rote Job gehört nicht zu diesem PR — er ist auf dem Basis-Commit ebenso rot.
Beleg: Job Playwright Browser-Tests (Audio/Sim, non-blocking) auf main @ beab04e1 (dem Commit, von dem dieser Branch abzweigt) → conclusion: failure, gleicher Fehlerpunkt im Schritt Run Playwright Browser Tests (Audio/Sim). Hier @ c8f2f94 → derselbe Ausgang, 2 passed, der Rest der sim-*.spec.ts in Timeouts.
Das ist der in ci.yml:86-88 dokumentierte Zustand: Die Specs brauchen echtes Web-Audio bzw. den WS-Sim-Loopback, „was in headless CI fehlt → Timeouts erwartet". Der Job trägt deshalb continue-on-error: true und hält den Gesamtstatus des Runs grün.
Kein Fix portiert, weil es keinen gibt, den ich hier hineinziehen könnte — die Ursache liegt in der Headless-Umgebung, nicht im Code. Ein Re-Run wäre ohne Erkenntniswert: Die Zuordnung ist nicht über Wiederholbarkeit belegt, sondern über den identischen Ausgang auf dem Basis-Commit, und das ist das stärkere Signal.
Der Diff dieses PR kann den Job nicht beeinflussen: vite.config.ts bekommt einen zusätzlichen Eintrag in server.allowedHosts (rein additiv, localhost bleibt unverändert — und der blockierende Playwright-Job, der genau darüber läuft, ist grün), infra/hetzner/ wird von keinem Workflow ausgeführt.
Aus meiner Sicht ist der PR damit auf dem aktuellen Head grün, soweit es diesen PR betrifft.
Nebenbefund, nicht Teil dieses PR: Der Kommentar in ci.yml:87 erwartet, dass continue-on-error: true den Job-Check „als success abschließt". Tatsächlich meldet GitHub den Check-Run weiterhin als failure und hält nur den Run grün — deshalb taucht der Job in der PR-Checkliste rot auf. Wenn das stören sollte, wäre der übliche Weg, den Playwright-Aufruf selbst mit || true abzuschließen und das Ergebnis über den hochgeladenen Report zu bewerten.
Generated by Claude Code
Ermöglicht das Auslagern der Entwicklung auf einen Hetzner CX33, damit der lokale PC nicht mehr laufen muss und die Projekte vom Handy aus erreichbar sind.
vite.config.ts".ts.net"zuserver.allowedHostshinzugefügt.Der Dev-Server läuft künftig auf dem Remote-Host und wird über Tailscale MagicDNS als
https://<host>.<tailnet>.ts.netgeöffnet. Ohne diesen Eintrag lehnt Vite die Anfrage mit "Blocked request. This host is not allowed." ab. Dev-only, analog zu den bereits vorhandenen Tunnel-Einträgen für.trycloudflare.comund.loca.lt—buildund Produktion sind nicht betroffen.infra/hetzner/Runbook plus vier idempotente Setup-Skripte für Ubuntu 24.04:
01-bootstrap-root.sh02-toolchains.shuv,gcc-arm-none-eabi, clang/cppcheck,libasound2-dev, Qt-Runtime für PyQt6, ffmpeg, Xvfb, tmux03-code-server.sh127.0.0.1:8080, pertailscale serveals HTTPS ausschließlich im Tailnet veröffentlicht04-projects.shDie Toolchain-Versionen sind bewusst an die bestehenden Workflows angeglichen statt frei gewählt: Node 22 aus
ci.yml(omnitribe braucht--experimental-strip-types), Python 3.13 aus omnitribe- und Korg-CI, pnpm über corepack aus dempackageManager-Feld.Der Synthstudio-Clone nutzt
--filter=blob:none, da die History rund 1,6 GB Sample-Dateien unterKorg ESX files/trägt und.gitdadurch auf ~1,2 GB angewachsen ist.Verifikation
Lokal gefahren, entsprechend
ci.yml:pnpm gen:sandbox→sandbox-runtime.generated.tsin syncpnpm check→ sauberpnpm build→ erfolgreich (lädtvite.config.tstatsächlich aus, also der eigentliche Test der Änderung)pnpm test→ 11397 passed, 101 skipped, 521 Test-Dateienshellcheck -S warning infra/hetzner/*.sh→ sauberNicht abgedeckt: Der Tailnet-Zugriff selbst lässt sich nur auf dem laufenden Server verifizieren.
Generated by Claude Code