A busy downloader may drop a caller instead of joining it
RSSDownloader.download() logs and returns while a worker is retained. It does not add that caller to the active request's callback set or queue another URL. The accepted request also returns no admission receipt. Completion invokes its registered callbacks before clearing the worker reference, so a callback that immediately calls download() again still encounters the busy guard. This differs from the URL callback grouping above.
The scheduled poll replaces lastRSS only when the worker's result is not None. Otherwise it delivers the previously retained dictionary, or the initial empty dictionary, to the accepted caller. Completion therefore does not by itself establish a fresh feed or success of the latest attempt; the callback payload carries no separate freshness/error status.
The login feed view requests periodically when its configuration enables the feature, independently of individual completion, and ignores received data after disposal. That caller does not rely on a callback for every submission or infer freshness from delivery. Selected-class controls with inert workers, scheduler, clock and callbacks confirmed busy rejection, retained-data delivery and rejection of an immediate reentrant request. No feed parsing, real thread, network, native callback or client-runtime behavior was exercised.
HTTP success does not validate decoded data
The platform request path and its accepted-status settings separate HTTP status from JSON decoding. The final response is successful for HTTP 200 or 201 even when json.loads() raises a caught TypeError or ValueError and the decoder returns None. This success code does not establish a parsed document or a valid application payload.
PlatformResponse stores data or {}, and its getter also uses that fallback. Decoded null, false, zero, an empty string and an empty list therefore become an empty dictionary; a truthy non-dictionary value is retained. The fallback is neither schema validation nor proof that every returned value supports dictionary methods. Validate the shape and required fields at the consuming boundary.
A connected status projection checks success and data separately: an empty successful payload leaves its status UNDEFINED, while truthy data selects ADDED. That is a presence check, not validation of required fields. Selected readable response-method controls with inert HTTP responses and logging confirmed malformed-JSON success, falsy-value collapse, retained truthy list data and the separate HTTP-error path. These checks did not perform HTTP, asynchronous polling, native calls or client-runtime execution.