MCPcopy
hub / github.com/stravu/crystal / handleSessionCreated

Function handleSessionCreated

frontend/src/components/ProjectTreeView.tsx:42–72  ·  view source on GitHub ↗
(newSession: Session)

Source from the content-addressed store, hash-verified

40
41 // Set up event listeners for session updates
42 const handleSessionCreated = (newSession: Session) => {
43 console.log('[ProjectTreeView] Session created:', newSession.id, 'projectId:', newSession.projectId);
44
45 // Add the new session to the appropriate project without reloading everything
46 setProjectsWithSessions(prevProjects => {
47 const updatedProjects = prevProjects.map(project => {
48 if (project.id === newSession.projectId) {
49 console.log('[ProjectTreeView] Adding session to project:', project.id, project.name);
50 // Add the new session to this project
51 return {
52 ...project,
53 sessions: [...project.sessions, newSession]
54 };
55 }
56 return project;
57 });
58
59 // If no project was found, log a warning
60 if (!updatedProjects.some(p => p.id === newSession.projectId)) {
61 console.warn('[ProjectTreeView] No matching project found for session projectId:', newSession.projectId);
62 console.log('[ProjectTreeView] Available projects:', prevProjects.map(p => ({ id: p.id, name: p.name })));
63 }
64
65 return updatedProjects;
66 });
67
68 // Auto-expand the project that contains the new session
69 if (newSession.projectId) {
70 setExpandedProjects(prev => new Set([...prev, newSession.projectId!]));
71 }
72 };
73
74 const handleSessionUpdated = (updatedSession: Session) => {
75 // Only reload if the create dialog is not open

Callers

nothing calls this directly

Calls 2

warnMethod · 0.80
logMethod · 0.45

Tested by

no test coverage detected