2c85df3499
Stefan ist unterwegs, ADB nicht moeglich. Dieses Script ist die andere
Haelfte des Crash-Reportings (commit 21a315c hat die App-Seite + Bridge-
Endpoint gebaut):
Nutzung:
tools/fetch-app-logs.sh # 200 letzte Eintraege
tools/fetch-app-logs.sh --limit 50
tools/fetch-app-logs.sh --watch # alle 5s pollen + Diff ausgeben
tools/fetch-app-logs.sh --clear # Log auf VM nach Abholen leeren
Liest $ARIA_DIAG_URL aus .claude/aria-vm.env, ruft GET /api/app-log.
Speichert komplette JSON-Response in .aria-debug/app-log-<ts>.json
(gitignored). Stdout zeigt kompakt: Uhrzeit, Level, Scope, Message,
erste 8 Stack-Frames pro Eintrag.
.gitignore: .aria-debug/ ist komplett ausgeschlossen (Crashes
koennen private Daten enthalten).
tools/README.md: kurze Doku des Workflows.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tools/
Hilfsskripte für die Dev-Maschine. Brauchen .claude/aria-vm.env (aus
.example kopieren + lokale VM-IP eintragen).
fetch-app-logs.sh
Holt App-Crash-Logs von der VM und speichert sie unter .aria-debug/
(gitignored). Die App schickt JS-Errors und ungefangene Promise-
Rejections via RVS an die Bridge — Bridge sammelt in
/shared/logs/app.log, Diagnostic-Server gibt sie via
GET /api/app-log raus.
tools/fetch-app-logs.sh # 200 neueste Eintraege
tools/fetch-app-logs.sh --limit 50 # weniger
tools/fetch-app-logs.sh --watch # alle 5s pollen, neue rausgeben
tools/fetch-app-logs.sh --clear # nach Abholen Log auf VM leeren
Ausgabe enthaelt pro Eintrag: Uhrzeit, Level (error/warn/info), Scope
(z.B. ChatScreen.InboxModal oder global-fatal), Message, und die
ersten ~8 Stack-Frames. Die kompletten Daten liegen als JSON in
.aria-debug/app-log-<timestamp>.json.
Workflow nach einem Crash:
- App rebuilden mit Crash-Reporting (passiert automatisch ab dem
21a315c-Commit) - Crash in der App ausloesen
tools/fetch-app-logs.shauf der Dev-Maschine- Stacktrace lesen / Claude geben
- Fix bauen
tools/fetch-app-logs.sh --cleardamit der Log wieder sauber ist