Skip to content

B2: crate-digging filters in playlist sheet; sync memorystate to post-ship state - #20

Merged
CarlosFranzetti merged 3 commits into
masterfrom
claude/check-out-jkrunj
Jul 19, 2026
Merged

CarlosFranzetti merged 3 commits into
masterfrom
claude/check-out-jkrunj

Conversation

@CarlosFranzetti

Copy link
Copy Markdown
Owner

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

claude added 3 commits July 17, 2026 23:09
…-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
@supabase

supabase Bot commented Jul 18, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project lircvbmcqxbnjaeyrpui because there are no changes detected in supabase/supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@vercel

vercel Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
discogs-stream Ready Ready Preview, Comment Jul 18, 2026 1:41am

@CarlosFranzetti
CarlosFranzetti merged commit 71463b9 into master Jul 19, 2026
4 checks passed
@CarlosFranzetti

Copy link
Copy Markdown
Owner Author

All good

This branch was successfully deployed

1 active deployment
Preview 46643f31 Deployed Jul 18, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants