B2: crate-digging filters in playlist sheet; sync memorystate to post-ship state - #20
Merged
Merged
Conversation
…-ship state Funnel chip in MobilePlaylistSheet expands facet rows (genre/label/decade/ country) built from the loaded playlist — top 12 values per facet by frequency with counts, OR within a facet, AND across facets, display-only so real playlist indices are preserved. Header shows "X of Y tracks" and the runtime total follows the filtered view. No style facet: Discogs styles fold into genre at ingest. memorystate.md Current State header updated (Phase A + B1 shipped in 4eed9e2, no longer "local and uncommitted"); CLAUDE.md filter docs synced. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N3cCZs8879w8SsYPxPgDX5
…toplay youtube-search chain rebuilt: the quota-free tiers were dead in production (yt-dlp can't spawn subprocesses in the edge runtime; the Invidious list was all shut-down instances), so every search fell through to the official API and burned quota. New chain: yt-dlp -> YouTube results-page scrape (new, quota-free, no third-party dependency) -> refreshed Invidious list -> Piped (new) -> official API strictly last. Weekly rescan inherits the chain automatically. track-cache get now pages internally in 1000-row batches with no total cap (PostgREST's 1000-row response cap silently truncated collections beyond 1000 tracks). Client upserts chunked at 500 rows/request; cover-art .in() lookups chunked at 200 ids. usePlayer: shuffle defaults ON and the initial playlist is shuffled, so playback starts on a different random track each load. Autoplay on skip enforced with a ~3s retry loop that survives the direct-audio -> iframe engine remount. Quota banner copy now describes fallback mode instead of "demo mode". Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N3cCZs8879w8SsYPxPgDX5
…nding) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N3cCZs8879w8SsYPxPgDX5
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Owner
Author
|
All good |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Funnel chip in MobilePlaylistSheet expands facet rows (genre/label/decade/
country) built from the loaded playlist — top 12 values per facet by
frequency with counts, OR within a facet, AND across facets, display-only
so real playlist indices are preserved. Header shows "X of Y tracks" and
the runtime total follows the filtered view. No style facet: Discogs
styles fold into genre at ingest.
memorystate.md Current State header updated (Phase A + B1 shipped in
4eed9e2, no longer "local and uncommitted"); CLAUDE.md filter docs synced.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01N3cCZs8879w8SsYPxPgDX5