"Apply filters" (and "Clear filters" with nothing set) reset the stream, refetched the first page and dropped the reader's scroll position even when no filter changed. Like the toolbar's equality guard, an unchanged refinement now does nothing. Failing before: the browser test counted one listing fetch after an unchanged Apply; now none, and the loaded cards stay in place.