Fix #10, #27 and #28 from the read-tools sweep #29

Merged
gronod merged 1 commits from fix/read-tools-10-27-28 into develop 2026-09-19 21:00:34 +01:00
Owner

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

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
gronod added 1 commit 2026-09-19 21:00:25 +01:00
Fix #10, #27 and #28 from the read-tools sweep
Build and publish / Test and build (linux) (pull_request) Canceled after 0s
Build and publish / Test and build (windows) (pull_request) Canceled after 0s
Build and publish / Build and publish Docker image (pull_request) Canceled after 0s
Build and publish / Test and build (darwin) (pull_request) Canceled after 40s
Build and publish / Test and build (darwin) (push) Successful in 2m9s
Build and publish / Test and build (linux) (push) Successful in 2m34s
Build and publish / Test and build (windows) (push) Successful in 3m11s
Build and publish / Build and publish Docker image (push) Successful in 1m55s
80e01253a2
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 develop 2026-09-19 21:00:34 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/ombi-mcp#29