From 840ef02c716bdd2e9b6e3612f2fc17b716399396 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Thu, 30 Oct 2025 20:05:33 +0100 Subject: [PATCH] SerenaAgent.get_current_tasks: Exclude completes/cancelled tasks --- src/serena/agent.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/serena/agent.py b/src/serena/agent.py index 07128c2f..92ca0aec 100644 --- a/src/serena/agent.py +++ b/src/serena/agent.py @@ -238,6 +238,12 @@ class SerenaAgent: thread = Thread(target=run_task, name=self.name) thread.start() + def is_done(self) -> bool: + """ + :return: whether the task has completed (either successfully, with failure, or via cancellation) + """ + return self.future.done() + def _process_task_queue(self) -> None: while True: # obtain task from the queue @@ -296,7 +302,8 @@ class SerenaAgent: if self._task_executor_current_task is not None: tasks.append(self.TaskInfo.from_task(self._task_executor_current_task, True)) for task in self._task_executor_queue: - tasks.append(self.TaskInfo.from_task(task, False)) + if not task.is_done(): + tasks.append(self.TaskInfo.from_task(task, False)) return tasks def get_language_server_manager(self) -> LanguageServerManager | None: