You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looking into this a bit, it seems the issue is that CompactSession spawns a goroutine to call the summarize API but doesn't use the context parameter or store a cancel function. The interrupt handler in tui.go calls a.app.Cancel() which only aborts the main session operations, not the compact operation running in its own goroutine. I think to make compact operations interruptable like regular session operations we'd need to:
Store a context.CancelFunc in the App struct when starting a compact operation
Pass a cancellable context to the Session.Summarize call
Have the interrupt handler also cancel this context if it exists
Activity
morgvanny commentedon Jul 2, 2025
Looking into this a bit, it seems the issue is that
CompactSessionspawns a goroutine to call the summarize API but doesn't use the context parameter or store a cancel function. The interrupt handler in tui.go callsa.app.Cancel()which only aborts the main session operations, not the compact operation running in its own goroutine. I think to make compact operations interruptable like regular session operations we'd need to:feat: pulse Soul sidebar icon when soul mode is active (anomalyco#606)