Methods

(static) init() → {void}

Returns:
Type: 
void

(static) search() → {void}

Returns:
Type: 
void

(static) searchMedia(query) → {dynamic}

Searches multiple Jellyfin endpoints for media matching the query. Runs on SearchTask thread — fetchJson blocks waiting for ApiPool responses. Every result echoes the query it ANSWERS. The caller gives each keystroke a new node and drops a delivery from any node it has since replaced (SearchResults.loadResults); the echo is what that drop logs, so a superseded delivery names the query it answered. Taken from the local the search actually ran with, so the echo and the items cannot disagree.

⚠️ m.top.results is assigned ONCE, below, as this function's last act — and that is load-bearing, not incidental. It is what lets the caller's control = "stop" prevent a superseded query from delivering at all (measured: 12 keystrokes, 6 deliveries, every one current). Publishing partial results as each fetch lands would widen the window of superseded deliveries that SearchResults.loadResults has to drop.

Parameters:
NameTypeDescription
querystring
Returns:
Type: 
dynamic