## Context [Controller subtask](https://github.com/nextcloud/server/issues/61654) ships a standalone `UnifiedSearchController` (plain TS, no Vue, unit-tested), but nothing consumes it yet. This tracks the wiring. ## Scope Four parts: - [ ] Controller filter pass-through: accept per-category `since` / `until` / `person` / `extraQueries` - [ ] `useUnifiedSearch()` composable: a thin reactive adapter around the controller, torn down via `dispose()` on unmount. - [ ] Rewire `UnifiedSearchModal.vue` to consume new controller - [ ] dev toggle to delay/fail a provider (to demo the blocked/failed states)
Context
Controller subtask ships a standalone
UnifiedSearchController(plain TS, no Vue, unit-tested), but nothing consumes it yet. This tracks the wiring.Scope
Four parts:
since/until/person/extraQueriesuseUnifiedSearch()composable: a thin reactive adapter around the controller, torn down viadispose()on unmount.UnifiedSearchModal.vueto consume new controller