Files
makelore/.project-docs/30-worklog/tasks/20260929-community-welcome-c724e5a1.md
T

71 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Task: Add community inspiration to the creative welcome screen and update trial
## Identity
- Task ID: 20260929-community-welcome-c724e5a1
- Mode: Feature
- Branch: codex/20260929-community-welcome-c724e5a1-community-welcome
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20260929-community-welcome-c724e5a1
- Base commit: 4199cadd1e067ce9741d6496196f4d13fed61d12
- Owner: codex
- Status: Ready for Integration
## Scope
- Implement a creative empty-state and explicit external Works Square links in the existing temporary application. Latest user correction: do not fetch or surface works from the square, and do not embed the square.
## Intent And Constraints
- User authorizes the previous community design. No subagents, desktop focus changes, cloud publication, paid model calls, formal-app installation or remote push. Preserve project selection, drafts, history and teacher three-round introduction behavior. Public community browsing is explicitly authorized; retired upload/publish and learning flows stay retired.
## Outcome
- Warm welcome heading, existing composer and a compact inspiration invitation share the empty-chat layout. Both the invitation and persistent sidebar button open only https://square.nianxx.cn/#explore in the system browser on explicit click.
- No public project feed, preview cards, community store or iframe remains in this feature. Existing unrelated Main routes are unchanged. The composer remains mounted across the first send; teacher introductions keep their prior three-successful-operation-round behavior and receive responsive clearance.
- Preserved the concurrent live help-label overlay (task 20260929-teacher-help-label-83a2f67c): the two buttons and suggestions text remain 帮我整体看🧠. Ported only its three source edits and synchronized existing expectations; peer checkout untouched.
- Temporary Renderer now loads this checkout's index-DHC9QT47.js. Existing Main PID 62668 remains running; formal installation, cloud configuration, user history and remote branches unchanged. Kept this worktree for the live trial.
## Verification
- Pinned corepack pnpm: typecheck passed; lint:check has 0 errors and 8 pre-existing warnings; production Renderer/Main/Preload/utility build passed.
- Final full suite: 2,654 passed, 3 skipped across 265 files including the separate pressure run. Final focused link/composer suite: 33 passed. Help-label preservation suite also passed.
- Five headless Chrome tests passed: 375/768/1280/1470px layouts, teacher clearance, reduced motion, no square network requests or iframe, click-only external URL, draft/composer preservation and first-send dismissal. Visually inspected desktop and narrow screenshots. Native Electron fixture updated and all 20 cases parse via --list; no headed Electron test or real external-browser launch was performed.
- Live verification: current asset, sidebar link present, no work cards or iframe, no alert, runtime worker ready/idle, authentication identity/route unchanged, all 13 saved drafts byte-equal. Updates used background loadFile with cache-busting; no app/window activation called. Focus monitor during refresh showed no trial activation.
- Temporary bundle was missing Info.plist/helper metadata and other resources. Matched local Electron 43.4.0 main/framework SHA-256 hashes, restored 238 missing bundle files and retained the trial bundle identity. Existing conversation hydration recovered; no model prompt was sent. This repaired only temporary bundle files, not repository runtime behavior.
- Evidence and pre-update manifests/state are in trial community-welcome-20260929/. Project-docs ownership drift and git diff checks passed.
## Follow-ups
- Keep the worktree while the trial references it. Merge/push only when requested.
## Promotion Candidates
- None recorded.
## Project Context Loaded
- Feature task `20260929-community-welcome-c724e5a1`; branch/worktree in Identity and base `4199cadd1e067ce9741d6496196f4d13fed61d12` verified by official start/status. App worktree tool returned Not a git repository for the parent chat cwd, so the official skill script created this isolated checkout. Previous trial source remains read-only.
- Read entry/memory/positioning, own task, current integrated snapshot, decisions, architecture, domain, success criteria, evidence/reflection/commitment indexes and peer task scopes. Existing approved classroom behavior at 4199cad supersedes stale canonical component/welcome wording. Feature ownership prohibits canonical edits.
- Goal: student-owned creation with a welcoming input and real peer-work inspiration. Main remains the remote data/auth boundary. User approval of public community browsing explicitly covers this new entry despite the earlier general gallery restriction; do not restore publishing, uploads, learning or asset galleries.
- Peers: prior teacher cleanup/UI task owns the live trial source, formal installation/cloud-agent verification is separately active, and language-skill scope is unfinished. No changes to those checkouts or cloud. New isolated frontend feature uses committed previous UI work as base. No semantic dependency conflict.
- Evidence: public `/api/projects?limit=100` returns 21 works including runnable apps and videos; existing Main `/api/works/projects` already provides a public safe projection. Root and play-page HEAD responses have no X-Frame-Options/frame-ancestors restriction. Prefer existing public Host API and an isolated, sandboxed community overlay without unmounting the current project.
- Gate: Passed.
## Final Plan And Scope Correction
1. Keep the approved welcome/composer layout and teacher clearance.
2. Follow the user's latest correction: only external square links. Remove the proposed feed, recommendation cards, store and in-app viewer completely. Keep project state and drafts mounted and never send a prompt on link clicks.
3. Verify layout, click behavior, no community requests, drafts, repository checks and the actual temporary Renderer; preserve the concurrent label update and temporary profile.
All three steps completed. Earlier public-feed investigation was feasibility work; no feed fetching or embedded browsing is present in the delivered feature.
## Follow-up: Keep Composer At Bottom
- User asks to move the chat input to the bottom. Continue this owned worktree; latest trial manifest points here and checkout is clean. Existing context/ownership gates remain valid.
- Move welcome and external square link into the scrolling content area, keep the same composer mounted at the bottom, and reserve teacher clearance only in the content area. Verify desktop/narrow/short windows, preserve drafts, then refresh the trial without activation.
- Completed: composer is anchored below the independently scrolling welcome/link area, keeps its instance and draft, and remains centered while teacher clearance affects only the upper content.
- Verification: 33 focused unit tests, all 6 headless layout/interaction tests (including a 375×600 viewport), typecheck, scoped ESLint, build:vite, native E2E --list (20 cases) and diff checks passed. Visually reviewed the new desktop layout.
- Trial now shows the actual welcome screen with index-DHC9QT47.js, input bottom gap 16px, two teacher greetings and the square link; no cards, iframe or alert. Account, route and all 13 saved drafts preserved. Focus monitor recorded only Codex during the refresh. Evidence: trial composer-bottom-20260929/.