docs(notify): tie the thread filter to the one-URL-per-engine invariant

The capture only sees the real failure reason because Apprise dispatches a
single server in the calling thread. Nothing enforced that link; a future
change batching URLs into one engine would silently blank every reason.
This commit is contained in:
Catubba
2026-07-09 19:55:27 +02:00
parent dfb4ca068b
commit 51ceb9177d
+6
View File
@@ -67,6 +67,12 @@ class _LogCapture(logging.Handler):
one send's failure reason from being attributed to the other's channel — do not remove
this check as an unneeded "simplification", it is the only thing making capture
thread-safe.
This relies on the plugin logging from the calling thread, which holds only because we
give each engine exactly one URL: Apprise dispatches a single server sequentially and
only reaches for its thread pool with two or more. Batch several URLs into one engine
and the reason would be logged off-thread, get dropped here, and every failure would
report no reason at all.
"""
def __init__(self) -> None: