Update changes
Dieser Commit ist enthalten in:
@ -6,6 +6,7 @@ Handles WebSocket connection to the Activity Server
|
||||
import socketio
|
||||
import requests
|
||||
import threading
|
||||
import time
|
||||
import json
|
||||
from typing import Optional, Callable, List, Dict
|
||||
from pathlib import Path
|
||||
@ -178,6 +179,19 @@ class ActivitySyncService:
|
||||
})
|
||||
|
||||
logger.info(f"Started activity for project: {project_name}")
|
||||
|
||||
# Force refresh after a short delay to ensure all clients get the update
|
||||
def refresh_activities():
|
||||
time.sleep(0.5) # Give server time to process
|
||||
activities = self.get_activities()
|
||||
if activities is not None:
|
||||
self.activities = activities
|
||||
if self.on_activities_update:
|
||||
self.on_activities_update(activities)
|
||||
logger.debug("Forced activity refresh after start")
|
||||
|
||||
threading.Thread(target=refresh_activities, daemon=True).start()
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to start activity: {e}")
|
||||
@ -218,6 +232,18 @@ class ActivitySyncService:
|
||||
self.sio.emit('activity-stop', emit_data)
|
||||
|
||||
logger.info(f"Stopped activity for project: {project_name}")
|
||||
|
||||
# Force refresh after a short delay to ensure all clients get the update
|
||||
def refresh_activities():
|
||||
time.sleep(0.5) # Give server time to process
|
||||
activities = self.get_activities()
|
||||
if activities is not None:
|
||||
self.activities = activities
|
||||
if self.on_activities_update:
|
||||
self.on_activities_update(activities)
|
||||
logger.debug("Forced activity refresh after stop")
|
||||
|
||||
threading.Thread(target=refresh_activities, daemon=True).start()
|
||||
else:
|
||||
# Stop all activities (backward compatibility)
|
||||
project_names = [p['projectName'] for p in self.active_projects]
|
||||
@ -229,6 +255,18 @@ class ActivitySyncService:
|
||||
|
||||
logger.info(f"Stopped all activities: {project_names}")
|
||||
|
||||
# Force refresh after a short delay to ensure all clients get the update
|
||||
def refresh_activities():
|
||||
time.sleep(0.5) # Give server time to process
|
||||
activities = self.get_activities()
|
||||
if activities is not None:
|
||||
self.activities = activities
|
||||
if self.on_activities_update:
|
||||
self.on_activities_update(activities)
|
||||
logger.debug("Forced activity refresh after stopping all")
|
||||
|
||||
threading.Thread(target=refresh_activities, daemon=True).start()
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to stop activity: {e}")
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren