Methods
(static) emitRow(libId, res) → {void}
Transforms one response and emits its row.
res is invalid when the request never got an answer — the pool was down, or the run budget expired. An HTTP error (res.ok = false) is deliberately folded into the same "failed" status: apiPipeline distinguishes the two, but neither is authoritative about what the library HOLDS, which is the only question this row's contents answer. Only an "ok" carries a list the UI may act on, including an empty one (which legitimately removes the row). HomeRows leaves any existing row alone on "failed" — a populated one keeps its content, an unpopulated one keeps its loading placeholder.
| Name | Type | Description |
|---|---|---|
libId | string | |
res | dynamic |
- Type:
- void
(static) init() → {void}
- Type:
- void
(static) loadLatestRows() → {void}
One thread services every latest-media row, at any library count. apiPipeline keeps the API pool busy — several requests in flight, one per free slot — while this task stays a single thread; the per-library task fan-out it replaced was a &h29 "too many threads" source on large servers (epic #728). See source/api/apiPipeline.bs.
Results ride out as appended children rather than a shared field: rapid writes to one field can coalesce and silently drop a row.
- Type:
- void
(static) supportedItems(apiItems) → {object}
Drops item types the app can't present — Books (issue #525).
| Name | Type | Description |
|---|---|---|
apiItems | object |
- Type:
- object