fix(app_controller): async RAG engine init to avoid blocking startup
RAG engine initialization (including chromadb import and index loading) now happens in a background thread, allowing the GUI to show immediately. The app was blocking for 5+ seconds during init_state() because RAG was enabled in config. Now RAG loads asynchronously.
This commit is contained in:
@@ -1234,10 +1234,12 @@ class AppController:
|
||||
|
||||
self.rag_engine = None
|
||||
if self.rag_config.enabled:
|
||||
def _init_rag_engine():
|
||||
from src import rag_engine
|
||||
self.rag_engine = rag_engine.RAGEngine(self.rag_config, self.active_project_root)
|
||||
if self.rag_engine.is_empty():
|
||||
self._rebuild_rag_index()
|
||||
threading.Thread(target=_init_rag_engine, daemon=True).start()
|
||||
|
||||
from src.personas import PersonaManager
|
||||
self.persona_manager = PersonaManager(Path(self.active_project_path).parent if self.active_project_path else None)
|
||||
|
||||
Reference in New Issue
Block a user