Openverse application auth.lib/stock.ts now exchanges optional
OPENVERSE_CLIENT_ID / OPENVERSE_CLIENT_SECRET for a short-lived bearer token
(cached in-process, auto-refreshed) to lift Openverse's rate limit. Still works fully
anonymously when the vars are unset. Documented in .env.example.
Changed
Stock-search results no longer pop in and reflow. Each result cell now reserves its
exact aspect ratio up front (we already know each photo's width/height), so the masonry
columns are stable from the first paint instead of jumping as thumbnails stream in — the
Pexels/Unsplash approach. Under each thumbnail sits the provider's dominant colour
(captured from Unsplash color / Pexels avg_color) for an instant colour block, or a
shimmer skeleton when no colour is available; the thumbnail fades in once it decodes.