Add active user session tracking from agent user :0 2026-07-16 15:46
user pts/0 2026-07-16 15:50 (:0) user pts/1 2026-07-16 16:46 (:0) user pts/2 2026-07-17 09:05 (:0) to server UI
This commit is contained in:
@@ -69,6 +69,10 @@ def heartbeat(
|
||||
computer.current_ram_percent = payload.ram_percent
|
||||
computer.current_ram_total_gb = payload.ram_total_gb
|
||||
|
||||
sessions = payload.sessions
|
||||
if sessions:
|
||||
sessions = [s.model_dump() for s in sessions]
|
||||
|
||||
heartbeat = Heartbeat(
|
||||
computer_id=computer.id,
|
||||
timestamp=now,
|
||||
@@ -83,6 +87,7 @@ def heartbeat(
|
||||
cpu_temp=payload.cpu_temp,
|
||||
load_avg=payload.load_avg,
|
||||
processes=payload.processes or [],
|
||||
sessions=sessions,
|
||||
)
|
||||
db.add(heartbeat)
|
||||
db.commit()
|
||||
|
||||
@@ -115,6 +115,7 @@ def computer_page(computer_id: int, request: Request, db: Session = Depends(get_
|
||||
)
|
||||
|
||||
hb_data = []
|
||||
latest_sessions = []
|
||||
for h in heartbeats:
|
||||
hb_data.append({
|
||||
"timestamp": h.timestamp.isoformat() if h.timestamp else None,
|
||||
@@ -124,7 +125,10 @@ def computer_page(computer_id: int, request: Request, db: Session = Depends(get_
|
||||
"ram_percent": h.ram_percent,
|
||||
"cpu_temp": h.cpu_temp,
|
||||
"processes": h.processes or [],
|
||||
"sessions": h.sessions or [],
|
||||
})
|
||||
if not latest_sessions and h.sessions:
|
||||
latest_sessions = h.sessions
|
||||
|
||||
return templates.TemplateResponse(
|
||||
"computer.html",
|
||||
@@ -133,6 +137,7 @@ def computer_page(computer_id: int, request: Request, db: Session = Depends(get_
|
||||
"user": current_user,
|
||||
"computer": computer,
|
||||
"heartbeats": hb_data,
|
||||
"latest_sessions": latest_sessions,
|
||||
"unread_count": get_unread_count(db),
|
||||
},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user