diff --git a/src/app_controller.py b/src/app_controller.py index 5421066..d85e3ef 100644 --- a/src/app_controller.py +++ b/src/app_controller.py @@ -2597,6 +2597,9 @@ class AppController: disc_data = discussions[name] with self._disc_entries_lock: self.disc_entries = models.parse_history_entries(disc_data.get("history", []), self.disc_roles) + if "context_snapshot" in disc_data: + snapshot_data = disc_data["context_snapshot"] + self.files = [models.FileItem.from_dict(f) if isinstance(f, dict) else models.FileItem(path=str(f)) for f in snapshot_data] self.ai_status = f"discussion: {name}" def _flush_disc_entries_to_project(self) -> None: @@ -2612,6 +2615,7 @@ class AppController: disc_data = discussions.setdefault(self.active_discussion, project_manager.default_discussion()) disc_data["history"] = history_strings disc_data["last_updated"] = project_manager.now_ts() + disc_data["context_snapshot"] = [f.to_dict() for f in self.files] def _create_discussion(self, name: str) -> None: """ @@ -2623,6 +2627,8 @@ class AppController: self.ai_status = f"discussion '{name}' already exists" return discussions[name] = project_manager.default_discussion() + if self.files: + discussions[name]["context_snapshot"] = [f.to_dict() for f in self.files] self._switch_discussion(name) def _branch_discussion(self, index: int) -> None: