Server-side save (survives page refresh/close): - Moved save_run() from generator (client-dependent) into pipeline thread - Pipeline thread collects responses server-side independently - save_run() executes in pipeline thread's finally block — ALWAYS runs - Even if user closes browser mid-run, the run completes and saves to DB Public user tracking: - Runs from demo/showcase users tagged with config.owner = "public" - Admin runs tagged with actual username - History list shows orange "PUB" badge on public user runs - owner column added to history list query for fast filtering Architecture change: - _pipeline_collected[] built by pipeline thread (not generator loop) - _run_config stored before generator starts, accessible by pipeline thread - run_saved SSE event emitted from pipeline thread after save - Generator's collected[] still tracks for display, but save is independent Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Description
LLM Team UI - Full-stack local AI orchestration platform
Languages
Python
97.4%
Shell
2.6%