on main help sign in
chore: fix cancellation
commit31a3c05a541522fe6f6d65ac1622846e2286ab8a authorKujtim Hoxha <kujtimii.h@gmail.com> dateMon 14 Jul 2025, 12:14 (1 year ago) parenta282449
2 files changed+10−3
internal/app/app.go+3−3 internal/llm/agent/agent.go+7
internal/app/app.go+3−3
@@ -279,6 +279,9 @@ func (app *App) Subscribe(program *tea.Program) {
279279
280280// Shutdown performs a clean shutdown of the application
281281func (app *App) Shutdown() {
282+ if app.CoderAgent != nil {
283+ app.CoderAgent.CancelAll()
284+ }
282285 app.cancelFuncsMutex.Lock()
283286 for _, cancel := range app.watcherCancelFuncs {
284287 cancel()
@@ -298,9 +301,6 @@ func (app *App) Shutdown() {
298301 }
299302 cancel()
300303 }
301− if app.CoderAgent != nil {
302− app.CoderAgent.CancelAll()
303− }
304304
305305 for _, cleanup := range app.cleanupFuncs {
306306 if cleanup != nil {
internal/llm/agent/agent.go+7
@@ -801,6 +801,13 @@ func (a *agent) CancelAll() {
801801 a.Cancel(key.(string)) // key is sessionID
802802 return true
803803 })
804+ for {
805+ if a.IsBusy() {
806+ time.Sleep(200 * time.Millisecond)
807+ } else {
808+ break
809+ }
810+ }
804811}
805812
806813func (a *agent) UpdateModel() error {