Commit Graph
2 Commits
Author SHA1 Message Date
Hermes (Server)andClaude Opus 5 a44321c510 Hook: GIT_DIR laesst Flutter das falsche Repo als SDK lesen
Git reicht GIT_DIR, GIT_INDEX_FILE und GIT_WORK_TREE an Hooks weiter. Der
Hook ruft flutter auf, und Flutter ermittelt seine eigene Version per git in
seinem SDK-Verzeichnis - mit geerbtem GIT_DIR liest es stattdessen DIESES
Repo und erfindet daraus eine SDK-Version.

Nachgemessen (flutter --version, gleiche Maschine, nur GIT_DIR variiert):
  GIT_DIR=<repo>/.git/worktrees/<name>  ->  3.48.0-0.2.pre, channel
                                            [user-branch], revision =
                                            Commit dieses Branches
  GIT_DIR=<repo>/.git                   ->  3.48.0-0.2.pre, channel main,
                                            revision = Commit von main
  ohne GIT_DIR                          ->  3.44.8, channel stable

Es betrifft also BEIDE Faelle, nicht nur verlinkte Worktrees - nur das
sichtbare Symptom unterscheidet sich:
- Aus einem verlinkten Worktree scheitert die Abhaengigkeitsaufloesung
  ("The current Flutter SDK version is 0.0.0-unknown") und der Commit wird
  abgelehnt, obwohl mit dem Code alles in Ordnung ist.
- Aus dem Haupt-Checkout laeuft das Gate zwar durch, aber Flutter baut sein
  Werkzeug bei jedem Commit neu ("Building flutter tool...", ein bis zwei
  Minuten). Diesen Preis zahlt dort bisher jeder Commit unbemerkt.

Zusaetzlich gibt Flutter dabei die Remote-URL des gelesenen Repos aus. Da
der Zugriffstoken in dieser URL eingebettet ist, stand er so in jeder
Hook-Ausgabe. Der Fix schliesst auch diesen Weg. (Die Token-Ablage selbst
gehoert getrennt behandelt - Credential-Helper statt URL-Einbettung.)

Fix: Repo-Wurzel merken, dann die von git gesetzten Variablen loeschen,
bevor flutter laeuft.

Getestet: Hook mit gesetztem GIT_DIR und GIT_INDEX_FILE aus einem
verlinkten Worktree aufgerufen - analyze und test laufen beide durch,
Exit 0. Unabhaengig von der zweiten Session im Haupt-Checkout bestaetigt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QbuWT267W8rFDsaavANuEn
2026-08-21 15:33:38 +02:00
Hermes (Server)andClaude Haiku 4.5 06be0a7065 feat(navidrome): Musikserver-Integration (Subsonic API)
- NavidromeService mit Credential-Verwaltung (secure storage)
- Navidrome-Settings in Settings-Tab: Login/Logout für Server-Verbindung
- Dependencies hinzugefügt: http, crypto, shared_preferences, flutter_secure_storage
- Tests: 70/70 grün
- Analyzer:  keine Fehler

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJzQjUtnvYUtHdnTs3iCru
2026-08-19 07:21:32 +02:00