diff --git a/gajim/common/app.py b/gajim/common/app.py
index 6ad438cedbaa1a1f833f840490b711952657a3c7..5fee746642061906fd0150045e8754a06abd356f 100644
--- a/gajim/common/app.py
+++ b/gajim/common/app.py
@@ -62,6 +62,7 @@
     from gajim.common.cert_store import CertificateStore
     from gajim.common.call_manager import CallManager
     from gajim.common.preview import PreviewManager
+    from gajim.common.task_manager import TaskManager
 
 
 interface = cast(types.InterfaceT, None)
@@ -112,7 +113,7 @@ def __init__(self):
 
 preview_manager = cast('PreviewManager', None)
 
-task_manager = None
+task_manager = cast('TaskManager', None)
 
 # These will be set in app.gui_interface.
 idlequeue = cast(IdleQueue, None)
diff --git a/gajim/common/task_manager.py b/gajim/common/task_manager.py
index 18b10f32df1b89c1b0a0221fd2894bccfa404fa5..52032d0eea5537fcc1317e959af5bfc6aabc41c0 100644
--- a/gajim/common/task_manager.py
+++ b/gajim/common/task_manager.py
@@ -14,7 +14,7 @@
 
 from __future__ import annotations
 
-from typing import List
+from typing import Optional
 
 import functools
 import queue
@@ -26,16 +26,16 @@
 
 
 class TaskManager:
-    def __init__(self):
-        self._timeout = None
-        self._queue = queue.PriorityQueue()
+    def __init__(self) -> None:
+        self._timeout: Optional[int] = None
+        self._queue: queue.PriorityQueue[Task] = queue.PriorityQueue()
 
     def _start_worker(self) -> None:
         self._timeout = GLib.timeout_add_seconds(2, self._process_queue)
 
     def _process_queue(self) -> bool:
         log.info('%s tasks queued', self._queue.qsize())
-        requeue = []
+        requeue: list[Task] = []
         while not self._queue.empty():
             task = self._queue.get_nowait()
             if task.is_obsolete():
@@ -63,7 +63,7 @@ def _process_queue(self) -> bool:
         self._timeout = None
         return False
 
-    def _requeue_tasks(self, tasks: List[Task]) -> bool:
+    def _requeue_tasks(self, tasks: list[Task]) -> bool:
         if not tasks:
             return False
 
@@ -81,7 +81,7 @@ def add_task(self, task: Task) -> None:
 
 @functools.total_ordering
 class Task:
-    def __init__(self, priority: int = 0):
+    def __init__(self, priority: int = 0) -> None:
         self.priority = priority
         self._obsolete = False
 
diff --git a/pyrightconfig.json b/pyrightconfig.json
index 91388eb8e9fa39c318ab215d9b14fc36496ad747..e2bbb4911957f256ac758390d0ed332e3591758b 100644
--- a/pyrightconfig.json
+++ b/pyrightconfig.json
@@ -37,6 +37,7 @@
         "gajim/common/setting_values.py",
         "gajim/common/sound.py",
         "gajim/common/storage/",
+        "gajim/common/task_manager.py",
         "gajim/gtk/about.py",
         "gajim/gtk/account_page.py",
         "gajim/gtk/account_side_bar.py",