Repository navigation
fix(resources): restore the music mood filter panel - #111
Merged
creatorcluster merged 1 commit intoOct 21, 2026
Merged
Conversation
The mood sidebar vanished for every production visitor. /music_moods was classified as an asset path by the api-router, so it was sent to assets-api-worker, which does not implement it and answers 404. The client then failed to parse "Not found", left the mood list empty, and MusicMoodFilter returned null — no panel, no error. - router: route /music_moods to the resources pool (e3 / hamburger-api) and allow it for partner read keys; also fail over to the next origin when a JSON API path returns 404 instead of passing that 404 to the client - e3: serve music/music_moods.json from disk on the signed API path so the primary origin implements the endpoint too - web: surface loading/error states in the panel (with retry) instead of silently rendering nothing when the request fails
|
@Coder-soft is attempting to deploy a commit to the yamura3's projects Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 3
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Summary
The music mood sidebar was invisible for every visitor on https://renderdragon.org/resources?category=music.
moodsDatacame fromGET /music_moods, and the request path was broken:Changes:
workers/api-router/src/index.ts—/music_moodsmoved into the resources pool (and into the partnerassets:readread set). Added a general rule: a 404 on a JSON API path now tries the next origin instead of handing that 404 to the client, so an origin missing a route can never silently break an endpoint again.hamburger-api(/home/home/assets-api/server.mjs, not in this repo) — servesmusic/music_moods.jsonfrom disk on the signed API path, so the primary origin implements it too, and it tracks the catalog through__update.src/components/resources/MusicMoodFilter.tsx+ResourcesHub.tsx— the panel no longer unmounts on failure: it renders a skeleton while loading, an error state with Try again, and an explicit "No mood tags available yet." The fetch now checksres.okand that the payload is a list.There is no "genres" filter in the codebase or in the data —
music_moods.jsononly carries mood tags, so this restores the single Mood Filter panel.Evidence
Origin behaviour, before the change (which is what production hit):
After patching e3 and deploying the router:
Merge Danger
Door: two-way — the router change is revertible with a redeploy; the web change is purely additive UI state.
Blast Radius: route classification
/music_moodsnow goes through e3 first (like/all,/category/*,/fonts,/mcicons). Partner keys withassets:readgain this read-only path. The new 404-failover only applies to the five JSON API paths, never to asset file paths, so a genuinely missing file still returns 404 from the first origin.Summary by CodeRabbit
New Features
Bug Fixes