confirmation dialogue

This commit is contained in:
Alexis Purslane 2025-12-01 11:43:04 -05:00
parent c9c1f69b82
commit ca18942bfd
No known key found for this signature in database

View file

@ -5,6 +5,7 @@ import { deleteSession, loadMessages } from "./session-api"
import { showToastNotification } from "../lib/notifications"
import { messageStoreBus } from "./message-v2/bus"
import { instances } from "./instances"
import { showConfirmDialog } from "./alerts"
export interface SessionInfo {
cost: number
@ -288,6 +289,19 @@ async function cleanupBlankSessions(instanceId: string, excludeSessionId?: strin
const instanceSessions = sessions().get(instanceId)
if (!instanceSessions) return
if (fetchIfNeeded) {
const confirmed = await showConfirmDialog(
"This cleanup may be slow, and may delete sessions you didn't intend to delete. Are you sure?",
{
title: "Deep Clean Sessions",
detail: "Deep cleaning sessions fetches the messages for each and every session in your history so it can remove not just all blank sessions, but all unused forks of sessions, and all subagents whose primary task has been completed.",
confirmLabel: "Continue",
cancelLabel: "Cancel"
}
)
if (!confirmed) return
}
const cleanupPromises = Array.from(instanceSessions)
.filter(([sessionId]) => sessionId !== excludeSessionId)
.map(async ([sessionId, session]) => {