Skip to content

Workflow status is tracked in GitHub: https://github.com/emulebb/emulebb/issues/41. This local document is retained as an engineering spec/evidence record.

BUG-138 - Follow up deferred RC1 REST and search hot-path bounds

Summary

Track the concrete findings from the final RC1 stabilization review that were not selected for the immediate BUG-137 implementation slice. Revalidate each against current main before implementation because the REST/search hot paths have changed repeatedly during RC preparation.

Deferred Findings

  • Public search result paging still defaults to exact totals and can walk all results on large live searches.
  • Native REST /shared-files?limit= still scans the full shared-file map to compute exact totals before returning a bounded page.
  • Queued REST search start failure can leave stale tabs or result state behind.
  • Native REST /snapshot?limit= still serializes every server before applying the response limit.
  • qBit-compatible setCategory partial-success handling can return before queue cache invalidation is guaranteed visible to the next poll.

Acceptance Criteria

  • [ ] Search paging has a bounded, non-exact fast path for hot polling clients.
  • [ ] Shared-file REST paging avoids full-map exact totals unless explicitly requested.
  • [ ] Failed queued REST search startup cleans up transient UI/search state.
  • [ ] Snapshot limits are enforced before full server serialization.
  • [ ] qBit category mutations invalidate queue cache before any success response can be observed.

Notes

This item intentionally excludes the qBit deleteFiles=false behavior, which is a permanent product decision and must not be re-raised as a blocker.