refactor: use updated session watcher

In addition, for projects_updated websocket response, send the sessionId instead
This commit is contained in:
Haileyesus
2026-04-24 21:56:19 +03:00
parent b3445508e9
commit 3fd2353ffe
12 changed files with 97 additions and 209 deletions

View File

@@ -311,20 +311,12 @@ export function useProjectsState({
const projectsMessage = latestMessage as ProjectsUpdatedMessage;
if (projectsMessage.changedFile && selectedSession && selectedProject) {
const normalized = projectsMessage.changedFile.replace(/\\/g, '/');
const changedFileParts = normalized.split('/');
if (projectsMessage.updatedSessionId && selectedSession && selectedProject) {
if (projectsMessage.updatedSessionId === selectedSession.id) {
const isSessionActive = activeSessions.has(selectedSession.id);
if (changedFileParts.length >= 2) {
const filename = changedFileParts[changedFileParts.length - 1];
const changedSessionId = filename.replace('.jsonl', '');
if (changedSessionId === selectedSession.id) {
const isSessionActive = activeSessions.has(selectedSession.id);
if (!isSessionActive) {
setExternalMessageUpdate((prev) => prev + 1);
}
if (!isSessionActive) {
setExternalMessageUpdate((prev) => prev + 1);
}
}
}

View File

@@ -62,7 +62,7 @@ export interface LoadingProgress {
export interface ProjectsUpdatedMessage {
type: 'projects_updated';
projects: Project[];
changedFile?: string;
updatedSessionId?: string;
[key: string]: unknown;
}