The remaining list 500s were not an upstream per-row serializer bug. Ombi resolves {sort} with TypeDescriptor.GetProperties(...).Find(sortProperty, true) against RequestedDate. The adapter sent the RAML example requestDate, prop was null, and GetValue threw on the first row. Empty pending pages never called GetValue, which is why they appeared to work. The adapter now sends RequestedDate.
TV search fallback from the earlier half of this issue is unchanged.
#27read_discover TV popular/most_watched read budget
When HideAvailableFromDiscover is on, Ombi hydrates full seasonRequests trees on popular/most-watched TV browse. Three long-running shows exceed the 8 MiB read cap. Browse now streams the JSON array, skips seasonRequests while tokenizing, and uses a 64 MiB safety cap so the compact title/identifier projection still returns.
GET /api/v2/Issues/details/{providerId} returns an empty body when the provider has no issues. That is now an empty group_page, not UPSTREAM_SCHEMA_MISMATCH.
Resolves the three remaining open issues from the post-M8 read-tools live sweep.
## #10 `read_requests` v2 list 500s
The remaining list 500s were not an upstream per-row serializer bug. Ombi resolves `{sort}` with `TypeDescriptor.GetProperties(...).Find(sortProperty, true)` against `RequestedDate`. The adapter sent the RAML example `requestDate`, `prop` was null, and `GetValue` threw on the first row. Empty `pending` pages never called `GetValue`, which is why they appeared to work. The adapter now sends `RequestedDate`.
TV search fallback from the earlier half of this issue is unchanged.
## #27 `read_discover` TV popular/most_watched read budget
When `HideAvailableFromDiscover` is on, Ombi hydrates full `seasonRequests` trees on popular/most-watched TV browse. Three long-running shows exceed the 8 MiB read cap. Browse now streams the JSON array, skips `seasonRequests` while tokenizing, and uses a 64 MiB safety cap so the compact title/identifier projection still returns.
## #28 `read_issues provider_summary` empty body
`GET /api/v2/Issues/details/{providerId}` returns an empty body when the provider has no issues. That is now an empty `group_page`, not `UPSTREAM_SCHEMA_MISMATCH`.
Fixes #10
Fixes #27
Fixes #28
v2 request lists sent the RAML example sort field requestDate; Ombi
looks up RequestedDate and NullReferenceException'd every non-empty
page. Browse now streams TV popular/most-watched payloads and skips
the hydrated seasonRequests graph that blew the 8 MiB read budget.
provider_summary treats an empty upstream body as an empty group_page.
gronod
merged commit 80e01253a2 into develop2026-09-19 21:00:34 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Resolves the three remaining open issues from the post-M8 read-tools live sweep.
#10
read_requestsv2 list 500sThe remaining list 500s were not an upstream per-row serializer bug. Ombi resolves
{sort}withTypeDescriptor.GetProperties(...).Find(sortProperty, true)againstRequestedDate. The adapter sent the RAML examplerequestDate,propwas null, andGetValuethrew on the first row. Emptypendingpages never calledGetValue, which is why they appeared to work. The adapter now sendsRequestedDate.TV search fallback from the earlier half of this issue is unchanged.
#27
read_discoverTV popular/most_watched read budgetWhen
HideAvailableFromDiscoveris on, Ombi hydrates fullseasonRequeststrees on popular/most-watched TV browse. Three long-running shows exceed the 8 MiB read cap. Browse now streams the JSON array, skipsseasonRequestswhile tokenizing, and uses a 64 MiB safety cap so the compact title/identifier projection still returns.#28
read_issues provider_summaryempty bodyGET /api/v2/Issues/details/{providerId}returns an empty body when the provider has no issues. That is now an emptygroup_page, notUPSTREAM_SCHEMA_MISMATCH.Fixes #10
Fixes #27
Fixes #28