Projekt-Identität und -Config neu: .ai-control/config.json mit UUID und Name
- Projekt-Config zieht von ai-control.json nach .ai-control/config.json um, das Icon liegt daneben und synct mit dem Projekt. - Jedes Projekt trägt eine UUID (id) und den Anzeigenamen (name) in der Config; die UUID ist Registry-Schlüssel und project-Parameter aller Commands, der Name reine Darstellung. - Pool-Zuordnung ist maschinenlokal und liegt in der projects.json-Registry, nicht mehr in der syncbaren Projekt-Config. - open_terminal prüft die ID im Ordner gegen die Registry (verschobene oder ersetzte Ordner scheitern laut). - Import übernimmt eine mitgebrachte ID, legt Arbeitsordner und Archiv-Home an und zieht die Archiv-Permission nach. - Migration beim App-Start: Alt-Datei umziehen, Pool in die Registry, Icons aus ~/.config/ai-control/icons ins Projekt, Registry auf UUIDs. - ProjectConfig reicht unbekannte Keys per serde(flatten) durch den Round-Trip (Regressionstest config_roundtrip_erhaelt_fremde_keys).
This commit is contained in:
@@ -72,11 +72,13 @@ pub fn run() {
|
||||
// Eigene Wayland-app_id pro Terminal-Prozess -> eigener Dock-Eintrag
|
||||
// (muss vor dem GTK-Init stehen; No-op außerhalb Linux).
|
||||
platform::set_app_id(&format!("aicontrol-{project}"));
|
||||
let icon = domain::project::terminal_config(&project)
|
||||
let icon = domain::project::project_config(&project)
|
||||
.expect("Projekt-Config nicht lesbar")
|
||||
.terminal
|
||||
.icon
|
||||
.map(|i| {
|
||||
domain::project::resolve_icon_path(&domain::paths::Paths::real(), &i)
|
||||
domain::project::resolve_icon_path(&domain::paths::Paths::real(), &project, &i)
|
||||
.expect("Projekt nicht registriert")
|
||||
.to_string_lossy()
|
||||
.into_owned()
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user