Methods
(static) init() → {void}
- Type:
- void
(static) search() → {void}
- Type:
- void
(static) searchMedia(query) → {dynamic}
Searches multiple Jellyfin endpoints for media matching the query. Runs on SearchTask thread: each read blocks waiting for its ApiPool response. 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, by search() with this function's return value, as the Task's last act, and that is essential, not incidental. It is what lets the caller's control = "stop" prevent a superseded query from delivering at all (measured 2026-08-14: 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.
Every result also carries a status (searchOutcome.statusOf): a read that did not answer says nothing about what the server holds, so the screen never shows a search whose reads failed as one that found nothing.
| Name | Type | Description |
|---|---|---|
query | string |
- Type:
- dynamic