Skip to content

Unify Search with compact filters and stable results - #109

Merged
debpalash merged 1 commit into
mainfrom
feat/search-v2
Oct 2, 2026
Merged

debpalash merged 1 commit into
mainfrom
feat/search-v2

Conversation

@debpalash

@debpalash debpalash commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Changes

  • Replace the native Universal/Torrent switch and source icon toolbar with one Search field, Filters, and a compact Sort menu.
  • Add independent content, availability, quality, seeds, size and provider facets, removable chips, accurate shown/loaded counts, readable Sources status and retry.
  • Share typed search metadata with the web companion; retain generation-scoped opaque actions and direct URL/magnet opening.
  • Copy resolver results by publication revision and render the native viewport without holding resolver locks. Keep keyboard traversal and stable action identities.
  • Admit stronger late results within the existing bounded set; preserve typed edition/episode identity, actual provider tags, cache metadata and queue/risk guards.
  • Extract web Search into its own served and offline-cached module.

Verification

  • Native macOS and headless builds; integrated Zig unit gate passed.
  • Live static asset socket tests: 3 passed, covering development, packaged validators and concurrent requests.
  • Full feature gate: 481 passed, 0 failed, 0 warnings, 14 optional checks skipped.
  • Local library live API tests: 2 passed (loading, pagination, corrections).
  • Additional isolated unified Search API check: indexed result retains typed metadata, exact size, public provider and opaque key; private file paths are not serialized.
  • Web lifecycle tests: 55 passed.
  • Focused Search policy tests: 19 passed.
  • Synthetic browser checks at 1280px and 390px: no horizontal overflow; filtering, chip removal and keyboard navigation checked.

Limits

Native pixels and interaction were not visually verified because macOS screen capture access is disabled. Browser checks used synthetic results and do not establish live provider uptime. The global resolver remains bounded to 96 rows; Retry search reruns enabled sources. Pointer navigation uses viewport rendering, while keyboard traversal retains the full bounded layout.

@debpalash
debpalash merged commit 81dd76a into main Oct 2, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant