Publish the complete YouTube-style Shorts experience - #5
Draft
ark1st wants to merge 27 commits into
Draft
Conversation
Publish the current YouTube-style feed, member discovery, free-play navigation, per-settlement comments, capture/share behavior, and responsive 16:9 presentation without replacing the existing Pages demo. Constraint: The GitHub Pages demo remains a separately generated static artifact. Rejected: Replace github-pages with the Svelte build | The existing public demo has its own preserved deployment flow. Confidence: high Scope-risk: moderate Directive: Build the production container from dpbr_front/Dockerfile and point /api/v1 at the backend. Tested: svelte-check; Vite production build Not-tested: Production SSH deployment
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Use the newly approved 256-pixel MapleWind favicon and advance the cache key so browsers fetch it immediately. Constraint: Browsers cache favicon responses aggressively. Rejected: Replace the asset without a URL revision | Existing visitors could retain the previous icon. Confidence: high Scope-risk: narrow Directive: Increment the favicon query version whenever the icon bytes change. Tested: svelte-check; Vite production build Not-tested: HTTPS favicon delivery
Remove the synthetic character-card route, download the member avatar directly, and continue every completed member feed with cross-member random Shorts. Constraint: Preserve settlement PNG export and share behavior. Rejected: Redirecting to a new random route after each member | causes loading resets instead of a continuous Shorts feed. Confidence: high Scope-risk: moderate Directive: Keep per-slide member metadata keyed by settlement when extending the mixed random feed. Tested: npm run check; npm run build; browser-tested direct avatar download, random free-play expansion, and one-item member random continuation. Not-tested: Native iOS download shelf presentation.
Keep the compact four-button mobile bar while swapping the two center actions to match the requested priority. Constraint: Desktop guide navigation order remains unchanged. Confidence: high Scope-risk: narrow Tested: npm run check; npm run build. Not-tested: Physical-device tap ergonomics.
Replace the redundant random shortcut with a global chronological feed that keeps cross-member metadata correct and falls through to random playback at the end. Constraint: Desktop free play remains random and existing member feeds keep their current behavior. Rejected: Sorting already-loaded member cards in the client | cannot create one complete cross-member timeline. Confidence: high Scope-risk: moderate Directive: Keep chronological mode backed by the global paginated settlement contract. Tested: npm run check; npm run build. Not-tested: Full production timeline traversal through the final record.
Constraint: Web Share requires HTTPS and unsupported browsers must not download implicitly. Rejected: Server-render every share image | It does not enable the native share API and duplicates the existing PNG renderer. Confidence: high Scope-risk: narrow Directive: Keep download behavior exclusive to the save action. Tested: npm run check; npm run build Not-tested: Physical iOS and Android share sheets
Constraint: The previous metadata referenced a missing image and an obsolete GitHub Pages URL. Rejected: Reuse a settlement screenshot | A stable cohort thumbnail represents every route consistently. Confidence: high Scope-risk: narrow Directive: Keep Open Graph images at 1200x630 and use absolute production URLs. Tested: npm run check; npm run build; verified PNG dimensions and rendered output Not-tested: Kakao and social crawler cache refresh
Constraint: The prior thumbnail used an invented symbol instead of the product's actual icon. Rejected: Generic YouTube logo | The site already has a distinct MapleWind video-style icon. Confidence: high Scope-risk: narrow Directive: Keep shared visuals aligned with the app favicon. Tested: npm run check; npm run build; rendered 1200x630 PNG inspection Not-tested: Social crawler cache refresh
Constraint: Small transparent sprites and tall photos need one predictable display boundary. Rejected: Per-member frontend sizing rules | they would make future uploads inconsistent Confidence: high Scope-risk: narrow Directive: Preserve the shared media bounds when adding team-message layouts. Tested: npm run check; npm run build; local desktop and 390x844 visual smoke checks Not-tested: Production visual smoke pending
Constraint: The previous ICO encoded dark corner pixels instead of transparency. Rejected: A white square background | it would look equally boxed in dark browser themes Confidence: high Scope-risk: narrow Directive: Keep favicon corner pixels transparent and provide both PNG and multi-size ICO fallbacks. Tested: npm run check; npm run build; 256px PNG alpha and seven ICO sizes verified; local browser smoke Not-tested: Production browser cache refresh pending
Constraint: Some browsers request /favicon.ico before parsing icon links. Rejected: Relying only on versioned head links | it leaves the automatic root request at 404 Confidence: high Scope-risk: narrow Directive: Keep /favicon.ico synchronized with the versioned app favicon. Tested: app check/build; binary equality and alpha verification Not-tested: Production fallback path pending
… title Constraint: Preserve the stable admin-team route and internal backend character key while changing visible labels. Rejected: Show only real names | the requested identity format is nickname and position. Confidence: high Scope-risk: narrow Directive: Keep 운영진 한마디 and 비대위 wording consistent across live and GitHub Pages surfaces. Tested: svelte-check with zero warnings; Vite production build; GitHub Pages source check; local browser verification of list and detail views. Not-tested: Physical iOS and Android devices.
Constraint: Hashed assets remain immutable, but index.html and _app/env.js select each release and must revalidate. Rejected: Disable caching for all static assets | it would discard safe long-lived caching for hashed bundles. Confidence: high Scope-risk: narrow Directive: Keep only the HTML shell and runtime env file non-cacheable. Tested: frontend source validation and diff check; production header verification follows in deployment. Not-tested: Browser cache behavior across every mobile browser.
Constraint: Keep the committee name and role intact while replacing the secondary organization line with the requested club label.\nRejected: Change the public channel name | the requested edit targets the descriptive line only.\nConfidence: high\nScope-risk: narrow\nDirective: Keep the GitHub Pages trial and live Svelte frontend in sync for this label.\nTested: svelte-check reported 0 errors and 0 warnings; Vite production build passed.\nNot-tested: Browser screenshot after deployment.
Constraint: Preserve the existing channel navigation while removing only the committee page options control.\nRejected: Remove the search affordance too | the request targeted the options menu specifically.\nConfidence: high\nScope-risk: narrow\nDirective: Keep the login back action and static trial navigation consistent.\nTested: svelte-check 0 errors and 0 warnings; Vite build passed; GitHub Pages source validation passed.\nNot-tested: External browser click-through after deployment.
Constraint: Keep search available on member channels while simplifying the committee channel to navigation only.\nRejected: Remove the whole toolbar | the back action remains useful on the committee page.\nConfidence: high\nScope-risk: narrow\nDirective: Keep the static trial and live frontend behavior aligned.\nTested: svelte-check 0 errors and 0 warnings; Vite build passed; GitHub Pages source validation passed.\nNot-tested: Browser screenshot after this final deployment.
Constraint: Distinct descriptions must render as a second line without duplicating descriptions equal to titles. Rejected: Merging descriptions into backend titles | that would corrupt the existing title/description schema. Confidence: high Scope-risk: narrow Directive: Use getSettlementCaption for Shorts surfaces that present a complete recap caption. Tested: npm run check; npm run build; local visual verification of settlement 20 at desktop viewport. Not-tested: Production browser before deployment.
Constraint: Preserve existing segment timing, fade, scrolling, comments, and mobile/desktop layouts. Rejected: Client-side filename lookup | BGM identity belongs in the Settlement API. Confidence: high Scope-risk: moderate Directive: Keep user pause independent from mute, comments, and visibility recovery. Tested: svelte-check; production build; mobile 390x844 and desktop 1440x900 browser smoke; pause/resume and BGM details. Not-tested: Production deployment.
Constraint: Preserve larger branding on login and onboarding surfaces. Rejected: Scaling every logo globally | Brand-led screens need their existing emphasis. Confidence: high Scope-risk: narrow Directive: Keep navigation wordmarks compact and adjust brand-led surfaces separately. Tested: svelte-check; production build; git diff check. Not-tested: Production visual smoke before deployment.
Constraint: Preserve the red icon silhouette and the original header wordmark sizes. Rejected: Shrinking the full favicon or navigation logo | The request targets only the white mark inside the favicon. Confidence: high Scope-risk: narrow Directive: Regenerate PNG and all ICO sizes together when the favicon artwork changes. Tested: visual asset inspection; seven ICO sizes; svelte-check; production build; git diff check. Not-tested: Browser cache refresh on every client.
Constraint: Preserve user-initiated pause and the existing member-to-random feed transition. Rejected: Looping the current static recap | Continuous movement better fits this image-led feed. Confidence: high Scope-risk: moderate Directive: Cancel pending auto-advance whenever playback restarts or the active slide changes. Tested: svelte-check; production build; 15-second segment advanced exactly one slide; user pause held the current slide for 16 seconds. Not-tested: Production deployment.
Constraint: Follow the YouTube brand-lockup hierarchy without copying its play mark. Rejected: Reusing the old COMMUNITY_PROJECT wordmark | It does not identify MapleWind clearly in the header. Confidence: high Scope-risk: narrow Directive: Reuse BrandWordmark for navigation branding and keep brand-led login artwork separate. Tested: svelte-check; production build; desktop header screenshot; Visual Ralph score 94. Not-tested: Production deployment.
Constraint: The navigation should follow the compact YouTube lockup pattern without replacing the existing MapleWind symbol. Rejected: Reusing the favicon tile as the header mark | It obscured the original multicolor brand asset. Confidence: high Scope-risk: narrow Directive: Keep favicon presentation and in-product brand lockups as separate concerns. Tested: npm run check; npm run build; desktop header visual verification score 94 Not-tested: physical mobile device rendering
Constraint: The red YouTube-style symbol stays while the adjacent name must use the established image wordmark. Rejected: Plain text and the standalone multicolor symbol | Neither matches the requested legacy brand lockup. Confidence: high Scope-risk: narrow Directive: Treat the app icon and legacy text wordmark as two deliberate assets in navigation. Tested: npm run check; npm run build; git diff --check Not-tested: physical mobile device rendering
Constraint: Match YouTube-like compact proportions without stretching either existing brand asset. Rejected: Distorting the square app icon into a YouTube badge | It damages the MapleWind symbol. Confidence: high Scope-risk: narrow Directive: Preserve the four-pixel lockup gap and intrinsic wordmark aspect ratio. Tested: npm run check; npm run build; visual comparison score 95 Not-tested: physical mobile device rendering
Constraint: The world chips must disappear while search, pagination, and the complete member feed remain unchanged. Rejected: Retaining a disabled world selector | It preserves controls the user explicitly removed. Confidence: high Scope-risk: narrow Directive: Do not reintroduce world filtering into the home chip row. Tested: npm run check; npm run build; git diff --check Not-tested: local real-data visual capture was blocked by the production API CORS policy; production smoke follows deployment
Mirror the existing mobile date-order playback entry in both expanded and collapsed desktop guide rails while retaining free playback. Constraint: Deploy only the desktop navigation addition; concurrent comment work must remain excluded. Rejected: Replace free playback | the request asks for both playback modes on PC. Confidence: high Scope-risk: narrow Directive: Keep desktop and mobile chronological navigation wired to the shared openChronologicalSettlements helper. Tested: Svelte check with 0 errors and 0 warnings; production build; 1280px DOM visibility check. Not-tested: End-to-end local API navigation was blocked by the production API CORS policy and will be smoke-tested after deployment.
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 changed
Why
The repository source now matches the locally verified 14th-cohort experience from the first screen through every settlement and member page.
Deployment impact
Build the production image from
dpbr_front/Dockerfileand route/api/v1plus backend media paths through the reverse proxy.Validation
svelte-check: 0 errors, 0 warningsKnown dependency note
npm auditcurrently reports 8 dependency advisories; no automatic major-version fixes were applied in this feature PR.