diff --git a/synapse/http/client.py b/synapse/http/client.py
index 4eb740c040..d7bc09494b 100644
--- a/synapse/http/client.py
+++ b/synapse/http/client.py
@@ -452,7 +452,7 @@ class SimpleHttpClient:
)
# turn timeouts into RequestTimedOutErrors
- request_deferred.addErrback(_timeout_to_request_timed_out_error)
+ request_deferred.addErrback(_timeout_to_request_timed_out_error) # type: ignore[unused-awaitable]
response = await make_deferred_yieldable(request_deferred)
diff --git a/synapse/http/connectproxyclient.py b/synapse/http/connectproxyclient.py
index 23a60af171..76c01dc268 100644
--- a/synapse/http/connectproxyclient.py
+++ b/synapse/http/connectproxyclient.py
@@ -102,7 +102,7 @@ class HTTPConnectProxyEndpoint:
d = self._proxy_endpoint.connect(f)
# once the tcp socket connects successfully, we need to wait for the
# CONNECT to complete.
- d.addCallback(lambda conn: f.on_connection)
+ d.addCallback(lambda conn: f.on_connection) # type: ignore[unused-awaitable]
return d
@@ -196,7 +196,7 @@ class HTTPConnectProtocol(protocol.Protocol):
self.http_setup_client = HTTPConnectSetupClient(
self.host, self.port, self.proxy_creds
)
- self.http_setup_client.on_connected.addCallback(self.proxyConnected)
+ self.http_setup_client.on_connected.addCallback(self.proxyConnected) # type: ignore[unused-awaitable]
def connectionMade(self) -> None:
self.http_setup_client.makeConnection(self.transport)
diff --git a/synapse/http/matrixfederationclient.py b/synapse/http/matrixfederationclient.py
index b92f1d3d1a..aa28de41ea 100644
--- a/synapse/http/matrixfederationclient.py
+++ b/synapse/http/matrixfederationclient.py
@@ -1214,7 +1214,7 @@ class MatrixFederationHttpClient:
try:
d = read_body_with_max_size(response, output_stream, max_size)
- d.addTimeout(self.default_timeout, self.reactor)
+ d.addTimeout(self.default_timeout, self.reactor) # type: ignore[unused-awaitable]
length = await make_deferred_yieldable(d)
except BodyExceededMaxSize:
msg = "Requested file is too large > %r bytes" % (max_size,)
diff --git a/synapse/logging/_remote.py b/synapse/logging/_remote.py
index 5a61b21eaf..3a07df867c 100644
--- a/synapse/logging/_remote.py
+++ b/synapse/logging/_remote.py
@@ -193,7 +193,7 @@ class RemoteHandler(logging.Handler):
self._connection_waiter = None
deferred: Deferred = self._service.whenConnected(failAfterFailures=1)
- deferred.addCallbacks(writer, fail)
+ deferred.addCallbacks(writer, fail) # type: ignore[unused-awaitable]
self._connection_waiter = deferred
def _handle_pressure(self) -> None:
diff --git a/synapse/logging/context.py b/synapse/logging/context.py
index f62bea968f..56972f42a6 100644
--- a/synapse/logging/context.py
+++ b/synapse/logging/context.py
@@ -843,7 +843,7 @@ def run_in_background( # type: ignore[misc]
# which is supposed to have a single entry and exit point. But
# by spawning off another deferred, we are effectively
# adding a new exit point.)
- res.addBoth(_set_context_cb, ctx)
+ res.addBoth(_set_context_cb, ctx) # type: ignore[unused-awaitable]
return res
@@ -870,7 +870,7 @@ def make_deferred_yieldable(deferred: "defer.Deferred[T]") -> "defer.Deferred[T]
# ok, we can't be sure that a yield won't block, so let's reset the
# logcontext, and add a callback to the deferred to restore it.
prev_context = set_current_context(SENTINEL_CONTEXT)
- deferred.addBoth(_set_context_cb, prev_context)
+ deferred.addBoth(_set_context_cb, prev_context) # type: ignore[unused-awaitable]
return deferred
diff --git a/synapse/logging/opentracing.py b/synapse/logging/opentracing.py
index b69060854f..180061c99e 100644
--- a/synapse/logging/opentracing.py
+++ b/synapse/logging/opentracing.py
@@ -908,7 +908,7 @@ def _custom_sync_async_decorator(
scope.__exit__(None, None, None)
return result
- result.addCallbacks(call_back, err_back)
+ result.addCallbacks(call_back, err_back) # type: ignore[unused-awaitable]
else:
if inspect.isawaitable(result):
diff --git a/synapse/rest/client/transactions.py b/synapse/rest/client/transactions.py
index 61375651bc..dbb1f22f19 100644
--- a/synapse/rest/client/transactions.py
+++ b/synapse/rest/client/transactions.py
@@ -120,7 +120,7 @@ class HttpTransactionCache:
# we deliberately do not propagate the error any further, as we
# expect the observers to have reported it.
- deferred.addErrback(remove_from_map)
+ deferred.addErrback(remove_from_map) # type: ignore[unused-awaitable]
return make_deferred_yieldable(observable.observe())
diff --git a/synapse/util/__init__.py b/synapse/util/__init__.py
index 7be9d5f113..c04bbbca44 100644
--- a/synapse/util/__init__.py
+++ b/synapse/util/__init__.py
@@ -132,7 +132,7 @@ class Clock:
call = task.LoopingCall(f, *args, **kwargs)
call.clock = self._reactor
d = call.start(msec / 1000.0, now=False)
- d.addErrback(log_failure, "Looping call died", consumeErrors=False)
+ d.addErrback(log_failure, "Looping call died", consumeErrors=False) # type: ignore[unused-awaitable]
return call
def call_later(
diff --git a/synapse/util/async_helpers.py b/synapse/util/async_helpers.py
index d24c4f68c4..d0ae193624 100644
--- a/synapse/util/async_helpers.py
+++ b/synapse/util/async_helpers.py
@@ -154,7 +154,7 @@ class ObservableDeferred(Generic[_T], AbstractObservableDeferred[_T]):
else:
return f
- deferred.addCallbacks(callback, errback)
+ deferred.addCallbacks(callback, errback) # type: ignore[unused-awaitable]
def observe(self) -> "defer.Deferred[_T]":
"""Observe the underlying deferred.
@@ -588,7 +588,7 @@ class ReadWriteLock:
# writer waiting for us and it completed entirely within the
# `new_defer.callback()` call above.
if self.key_to_current_writer.get(key) == new_defer:
- self.key_to_current_writer.pop(key)
+ self.key_to_current_writer.pop(key) # type: ignore[unused-awaitable]
return _ctx_manager()
@@ -646,7 +646,7 @@ def timeout_deferred(
raise defer.TimeoutError("Timed out after %gs" % (timeout,))
return value
- deferred.addErrback(convert_cancelled)
+ deferred.addErrback(convert_cancelled) # type: ignore[unused-awaitable]
def cancel_timeout(result: _T) -> _T:
# stop the pending call to cancel the deferred if it's been fired
@@ -654,7 +654,7 @@ def timeout_deferred(
delayed_call.cancel()
return result
- deferred.addBoth(cancel_timeout)
+ deferred.addBoth(cancel_timeout) # type: ignore[unused-awaitable]
def success_cb(val: _T) -> None:
if not new_d.called:
@@ -664,7 +664,7 @@ def timeout_deferred(
if not new_d.called:
new_d.errback(val)
- deferred.addCallbacks(success_cb, failure_cb)
+ deferred.addCallbacks(success_cb, failure_cb) # type: ignore[unused-awaitable]
return new_d
@@ -712,7 +712,7 @@ def stop_cancellation(deferred: "defer.Deferred[T]") -> "defer.Deferred[T]":
wrapped with `make_deferred_yieldable`.
"""
new_deferred: "defer.Deferred[T]" = defer.Deferred()
- deferred.chainDeferred(new_deferred)
+ deferred.chainDeferred(new_deferred) # type: ignore[unused-awaitable]
return new_deferred
@@ -774,10 +774,10 @@ def delay_cancellation(awaitable: Awaitable[T]) -> Awaitable[T]:
new_deferred.pause()
new_deferred.errback(Failure(CancelledError()))
- deferred.addBoth(lambda _: new_deferred.unpause())
+ deferred.addBoth(lambda _: new_deferred.unpause()) # type: ignore[unused-awaitable]
new_deferred: "defer.Deferred[T]" = defer.Deferred(handle_cancel)
- deferred.chainDeferred(new_deferred)
+ deferred.chainDeferred(new_deferred) # type: ignore[unused-awaitable]
return new_deferred
diff --git a/synapse/util/caches/cached_call.py b/synapse/util/caches/cached_call.py
index e325f44da3..74b2bc4ebc 100644
--- a/synapse/util/caches/cached_call.py
+++ b/synapse/util/caches/cached_call.py
@@ -89,7 +89,7 @@ class CachedCall(Generic[TV]):
def got_result(r: Union[TV, Failure]) -> None:
self._result = r
- self._deferred.addBoth(got_result)
+ self._deferred.addBoth(got_result) # type: ignore[unused-awaitable]
# TODO: consider cancellation semantics. Currently, if the call to get()
# is cancelled, the underlying call will continue (and any future calls
diff --git a/synapse/util/caches/descriptors.py b/synapse/util/caches/descriptors.py
index 75428d19ba..11707f4317 100644
--- a/synapse/util/caches/descriptors.py
+++ b/synapse/util/caches/descriptors.py
@@ -377,7 +377,7 @@ class DeferredCacheListDescriptor(_CacheDescriptorBase):
for k, v in r.items():
results[cache_key_to_arg(k)] = v
- pending_deferred.addCallback(update_results)
+ pending_deferred.addCallback(update_results) # type: ignore[unused-awaitable]
cached_defers.append(pending_deferred)
if missing:
diff --git a/synapse/util/patch_inline_callbacks.py b/synapse/util/patch_inline_callbacks.py
index f97f98a057..b09eb242c2 100644
--- a/synapse/util/patch_inline_callbacks.py
+++ b/synapse/util/patch_inline_callbacks.py
@@ -108,7 +108,7 @@ def do_patch() -> None:
raise Exception(err)
return r
- res.addBoth(check_ctx)
+ res.addBoth(check_ctx) # type: ignore[unused-awaitable]
return res
return wrapped
diff --git a/synapse/util/ratelimitutils.py b/synapse/util/ratelimitutils.py
index 2aceb1a47f..b653b54492 100644
--- a/synapse/util/ratelimitutils.py
+++ b/synapse/util/ratelimitutils.py
@@ -334,7 +334,7 @@ class _PerHostRatelimiter:
queue_defer = queue_request()
return queue_defer
- ret_defer.addBoth(on_wait_finished)
+ ret_defer.addBoth(on_wait_finished) # type: ignore[unused-awaitable]
else:
ret_defer = queue_request()
@@ -358,8 +358,8 @@ class _PerHostRatelimiter:
self.ready_request_queue.pop(request_id, None)
return r
- ret_defer.addCallbacks(on_start, on_err)
- ret_defer.addBoth(on_both)
+ ret_defer.addCallbacks(on_start, on_err) # type: ignore[unused-awaitable]
+ ret_defer.addBoth(on_both) # type: ignore[unused-awaitable]
return make_deferred_yieldable(ret_defer)
def _on_exit(self, request_id: object) -> None:
diff --git a/tests/test_server.py b/tests/test_server.py
index 2d9a0257d4..be85639067 100644
--- a/tests/test_server.py
+++ b/tests/test_server.py
@@ -117,7 +117,7 @@ class JsonResourceTests(unittest.TestCase):
def _callback(request: SynapseRequest, **kwargs: object) -> "Deferred[None]":
d: "Deferred[None]" = Deferred()
- d.addCallback(_throw)
+ d.addCallback(_throw) # type: ignore[unused-awaitable]
self.reactor.callLater(0.5, d.callback, True)
return make_deferred_yieldable(d)
diff --git a/tests/unittest.py b/tests/unittest.py
index a120c2976c..381b5adf05 100644
--- a/tests/unittest.py
+++ b/tests/unittest.py
@@ -555,7 +555,7 @@ class HomeserverTestCase(TestCase):
deferred: Deferred[TV] = ensureDeferred(d) # type: ignore[arg-type]
results: list = []
- deferred.addBoth(results.append)
+ deferred.addBoth(results.append) # type: ignore[unused-awaitable]
self.pump(by=by)
|