# 2026-06-03 — filter→catalog DOWN crash fix

Observed warning: `FocusRequester is not initialized` at filter→catalog transition (down press from last visible filter chip).

Logcat timestamp: 2026-06-02 21:55:26–27 (user-reported snippet, no full stack trace).

Files touched:
- `app/src/main/java/com/unspooled/app/ui/components/NuvioButtons.kt` (`SourceFilterRow`)

Root cause:
```kotlin
.focusProperties { down = downFocusRequester ?: FocusRequester.Default }
```
Down passed as non-last chips too; when `downFocusRequester` was null, `Default` forced geometric search in a `LazyRow`, which hit uninitialized candidates in recycled off-screen items.

One-line fix:
```kotlin
down = downFocusRequester ?: FocusRequester.Cancel
```
Ensure parent screens (`UnspooledHomeScreen.kt`, `CatalogBrowserScreen.kt`) pass the real downstream `rowFocusRequester` or `contentEntryRequester` into `SourceFilterRow(downFocusRequester = ...)`.

Notes:
- Same pattern applies to `GlassSourceFilterRow.kt` if it still has `FocusRequester.Default` fallback.
- Do not remove `left/right` per-chip wiring — that is required and working.
- No cleartext/cert changes in this pass; purely focus-graph fix.
