feat(home): Trending DNA 블렌드 배선 + Suspense 스트리밍 (#848)#954
Open
thxforall wants to merge 1 commit into
Open
Conversation
AC1/AC2 — TrendingRail(client)이 useTrending()로 /feed/trending 소비:
로그인=Style DNA mood 블렌드, 게스트=글로벌(customInstance Bearer 자동분기).
라벨 "Trending Style" 유지 — DNA는 실제 트렌딩 포스트의 랭킹 가중치지
조작된 세트가 아님(≠"For you" 오라벨). /feed/trending 이 24h 윈도우라
개인화 결과가 짧을 때 글로벌 seed 로 top-up(dedup, HOME_RAIL_LIMIT).
AC4 — page.tsx 가 hero(above-the-fold)만 await, discovery(popular/recent/
mood/warehouse/curations)를 async server HomeDiscovery + <Suspense> 로
hero-first 스트리밍. HomeShell {hero, discoverySlot} slot 패턴(client shell
이 server subtree 를 slot 으로 수신).
feedItemToLookCard 공유 매퍼 추출(server=warehouse enrich / client=원본).
serverApiGet 은 revalidate 공유캐시라 개인화 불가 → 클라이언트 fetch 필연.
백엔드 blend_with_dna 는 #663 에 이미 구축(FE 배선만 미완).
테스트: TrendingRail 6(게이팅·seed-during-loading·DNA swap·top-up dedup·
non-http filter·empty) + HomeDiscovery locale 2(#838 RSC locale audit 이관
보존). tsc 순증 0(pre-existing generated-model drift 만) · 2축 리뷰 반영.
AC3(Hero a11y)는 PR #916 에서 완료.
Refs #848
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
What
홈 "Trending Style" 레일을 DNA 블렌드
/feed/trending으로 배선(#848 AC1/AC2) + 홈 hero-first Suspense 스트리밍(AC4).Why
/feed/trending(Style DNA mood 블렌드,blend_with_dna)은 #663(2026-06-12)에 백엔드가 구축됐으나 FE 가 소비하지 않아 홈 Trending 은 글로벌sort=popular였음(미완 배선, 폐기된 적 없음). 또 홈은 6개 fetch 를Promise.all로 전부 await 해 hero(above-the-fold)가 느린 below-fold fetch 에 블록됨.Changes
TrendingRail(client):useTrending()→ 로그인=Style DNA mood 블렌드, 게스트=글로벌(customInstance세션 Bearer 자동분치, 로그아웃 시 미부착 → 엔드포인트가 스스로 개인화/글로벌 분기). 라벨 "Trending Style" 유지 — DNA 는 실제 트렌딩 포스트의 랭킹 가중치지 조작 세트가 아님(≠글로벌을 "For you" 로 오라벨)./feed/trending이 24h 윈도우라 개인화 결과가 짧을 때 글로벌 seed 로 top-up(id dedupe,HOME_RAIL_LIMIT).page.tsx가 hero 만 await, discovery(popular/recent/mood/warehouse/curations)를 async serverHomeDiscovery+<Suspense fallback={<DiscoverySkeleton/>}>로 hero-first 스트리밍.HomeShell={hero, discoverySlot}slot 패턴(client shell 이 server subtree 수신).feedItemToLookCard공유 매퍼 추출(server=warehouse enrich / client=원본).serverApiGet은revalidate공유캐시라 per-user 개인화 불가 → DNA 블렌드는 클라이언트 fetch 필연.Verification
StyleSampleItem.colors/moods·CurationListItem.slug/posts)는 원본page.tsx에서 verbatim 이관한 generated-model drift(레포 전반 기존 debt, origin/dev 원본에 동일 존재)./feed/trending미호출(정직) · reduced-motion AC3 무회귀.Scope notes
Closes #848
🤖 Generated with Claude Code