fix: Projekt-Fokus pro Geraet unabhaengig (Diagnostic/App/Multi-Instanz)

Zwei Kopplungs-Bugs behoben:
- set_project_kind nutzte den globalen active_project statt des Request-Projekts
  → markierte das falsche Projekt (belegt: global aktiv war mac_os_update_fehler,
  das kind=code bekam, obwohl die App in basic_os war). _dispatch_tool bekommt
  jetzt die project_id des Requests durchgereicht; set_project_kind wirkt darauf.
- Die App erzwang bei project_changed-Broadcasts (ARIA-Tool/Diagnostic/andere
  App-Instanz) einen Fokuswechsel → alle Geraete wurden mitgezogen. Fokus ist
  jetzt rein geraetelokal; Broadcasts aktualisieren nur Namen/Typ. Wechseln nur
  noch lokal ueber den Drawer.

py-compile + tsc clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 22:37:51 +02:00
co-authored by Claude Opus 4.8
parent f45d42cd30
commit c2122c43c2
3 changed files with 36 additions and 13 deletions
+8 -5
View File
@@ -992,11 +992,14 @@ const ChatScreen: React.FC = () => {
if (p.id && (p.kind === 'code' || p.kind === 'chat')) {
projectFocus.setKind(p.id, p.kind);
}
if (action === 'entered' || action === 'created') {
if (p.id) setFocusedProjectId(p.id);
} else if (action === 'exited') {
setFocusedProjectId('');
}
// KEIN erzwungener Fokuswechsel mehr: Projekt-Fokus ist rein GERAETE-
// LOKAL. project_changed-Broadcasts (von ARIA-Tools / Diagnostic / einer
// anderen App-Instanz) aktualisieren nur Namen + Typ, ziehen dieses
// Geraet aber NICHT in ein anderes Projekt. So arbeitet jede App-/
// Diagnostic-Instanz unabhaengig in ihrem eigenen Projekt. Wechseln
// geht ausschliesslich lokal ueber den Projekt-Drawer.
// (action wird bewusst nicht mehr fuer setFocusedProjectId genutzt.)
void action;
return;
}