Dieser Commit ist enthalten in:
Claude Project Manager
2025-07-09 22:40:13 +02:00
Ursprung 4dab418f2f
Commit 6112313a91
5 geänderte Dateien mit 62 neuen und 15 gelöschten Zeilen

Datei anzeigen

@ -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}")