fix(sessions): correct session state categorization

- Backend now returns stopped and error sessions too
- Active sessions include running/building/pending
- Recent sessions show stopped/error only
- Status badge shows actual status (running/building/pending)
This commit is contained in:
Fusion
2026-05-20 14:49:30 +02:00
parent d906c12aa9
commit 1a922d4171
2 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -827,7 +827,7 @@ async def get_user_sessions(
result = await session.execute( result = await session.execute(
select(ToolInstance) select(ToolInstance)
.where(ToolInstance.owner_id == user_id) .where(ToolInstance.owner_id == user_id)
.where(ToolInstance.status.in_(["running", "building", "pending"])) .where(ToolInstance.status.in_(["running", "building", "pending", "stopped", "error"]))
.order_by(ToolInstance.created_at.desc()) .order_by(ToolInstance.created_at.desc())
) )
instances = result.scalars().all() instances = result.scalars().all()
+3 -3
View File
@@ -92,12 +92,12 @@ export const SessionsPage = () => {
}, [selectedProject]); }, [selectedProject]);
const activeSessions = useMemo( const activeSessions = useMemo(
() => sessions.filter((s) => s.status === "running"), () => sessions.filter((s) => ["running", "building", "pending"].includes(s.status)),
[sessions] [sessions]
); );
const recentSessions = useMemo( const recentSessions = useMemo(
() => sessions.filter((s) => s.status !== "running").slice(0, 5), () => sessions.filter((s) => ["stopped", "error"].includes(s.status)).slice(0, 5),
[sessions] [sessions]
); );
@@ -259,7 +259,7 @@ export const SessionsPage = () => {
</a> </a>
</p> </p>
)} )}
<span className="status-badge running">running</span> <span className={`status-badge ${session.status}`}>{session.status}</span>
</div> </div>
<div className="session-actions"> <div className="session-actions">
{session.url ? ( {session.url ? (