Merge branch 'main' of https://git.nianxx.cn/wangxuming/makelore
This commit is contained in:
commit
87d3f03d75
9 files changed
+259
-34
No files matched your search
@@ -0,0 +1,72 @@
|
||||
# Task: Update trial and merge first-open work preview fix
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20261008-merge-work-preview-4b72e9c1
|
||||
- Mode: Feature
|
||||
- Branch: codex/20261008-merge-work-preview-4b72e9c1-merge-work-preview
|
||||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20261008-merge-work-preview-4b72e9c1
|
||||
- Base commit: d12d214d7f33d6233187f66f592d00ee58ec02f7
|
||||
- Owner: codex
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Update the independent temporary app to source d12d214, fast-forward main, push origin/main, and clean this change's source and merge worktrees while retaining branches/commits.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- User explicitly authorized all four actions and cleanup. Preserve the installed app, its profile and drafts, other task worktrees, and existing global integration lock.
|
||||
- Previous trial root was deleted externally; rebuild an independent trial in a stable user-local folder. Copy only project metadata and ordinary settings; no auth/Chromium database/lock copying. New trial requires normal login.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
Task context:
|
||||
- Identity fields above verified against official start/status; feature mode, base d12d214.
|
||||
- Integration-mode start was rejected by the old classroom-integration lock; it rolled back ownership but left its newly created clean worktree. Official feature claim succeeded on that clean checkout (managed=false). No canonical document changes are planned.
|
||||
- 28 peer owner records inspected read-only through registered paths; no new conflicting work. Source is ready and clean; primary main is clean.
|
||||
|
||||
Read:
|
||||
- Entry/read-before-planning, memory-index, own task and completed source task.
|
||||
- Previously loaded positioning/current-state/decisions/architecture/domain/success/evidence/reflection/commitments remain byte-identical from fe1a377 to d12d214; reused that verified context.
|
||||
- README/AGENTS and relevant temporary-app startup, profile, authentication and runtime boundaries reviewed.
|
||||
|
||||
Relevant understanding:
|
||||
- Goal: student creation app with Main-owned browser; this patch only pauses static welcome rendering on Work and restores it on chat.
|
||||
- Source product/testing exactly as already verified: 103 unit cases (one unchanged async case passed on file retry), 18 browser cases, one Electron scenario, typecheck/lint/build.
|
||||
- Fresh fetch: main and origin/main still fe1a377; source d12d214 directly descends from it, allowing conflict-free FF.
|
||||
- Current running PID6483 is installed Makelore, not trial. Old trial directory no longer exists. Isolated new profile/ports allow trial without restarting installed app; login cannot be copied to unpackaged trial.
|
||||
- Unknown: live account/game validation awaits user login; no model request will be sent for update validation.
|
||||
- Cleanup covers only this source and merge checkout. Explicit user cleanup authorizes normal release/non-force removal for the worktree left unmanaged by the failed official start; branches/commits retained. The managed source uses official retire.
|
||||
|
||||
Gate result: Passed.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Stage the verified complete source/build and an independent Electron bundle outside disposable Git worktrees; open a fresh isolated trial and verify runtime/assets/UI.
|
||||
2. Record the runtime outcome, commit this handoff record, fast-forward clean main and push; verify remote SHA.
|
||||
3. Retire the managed source and clean the task-created merge checkout after checking no runtime dependency; retain both branches/commits.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Source d12d214 is included in this handoff branch with no additional product/test edits. Clean main/origin-main at fe1a377 can fast-forward; the following publish step promotes this record together with the verified source.
|
||||
- Rebuilt and opened the independent trial at `/Users/chillishark/Library/Application Support/Makelore Trials/work-preview-d12d214`. Source/archive and built Renderer/Main/Preload are independent of both disposable task worktrees; only dependencies link to primary repository node_modules.
|
||||
- Trial PID38637, Host API port60966, debugger port60967, dedicated bundle ID and user-data. Normal authentication preserved (E2E skip-setup not enabled); trial is at the login screen and requires the user to sign in again. Project metadata/settings copied as stable validated JSON snapshots; no auth, passwords or Chromium database copied. Installed PID6483 remains running unchanged.
|
||||
- Reopen using `打开临时应用.command` in the trial folder; `launch.json` records source/build/PID/ports, and the launcher reuses the running instance or allocates free ports on restart.
|
||||
- User-approved cleanup covers only 20261008-work-first-open-8ac7e621 and this merge checkout, after successful remote verification. Both branches and their committed records remain retained; trial runtime files are outside their paths. Managed source uses official retire. The task-created merge checkout left by failed integration start uses official release then non-force Git removal because it was subsequently claimed as unmanaged; no registry flags or foreign lock are changed.
|
||||
|
||||
## Verification
|
||||
|
||||
- Fresh origin fetch: main=origin/main=fe1a377, d12d214 directly descends from it. Source/merge product, tests and README byte-identical; source verification remains applicable without redundant rebuilding.
|
||||
- Source checks: typecheck/scoped lint/build, 103 unit cases (one unchanged async assertion required successful 17-case file retry), 18 browser layout cases, one real Electron fixture scenario; independent review passed.
|
||||
- Staged trial dist (131 files) and dist-electron (8 files) match the verified source build byte-for-byte (SHA-256). Running page loads `assets/index-BhQqvIkX.js` from the independent trial path; normal Login button visible at `#/login`.
|
||||
- Trial screenshot `/tmp/makelore-work-preview-trial-login.png`; launch metadata under the independent trial root. No model request or user project mutation performed for live smoke; real logged-in game acceptance awaits user sign-in.
|
||||
- Task-aware drift check and git diff --check passed. Remote SHA and final cleanup eligibility are checked immediately during promotion/retirement; final receipts are reported to the user and captured in trial launch metadata.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Sign in to the new trial to use account features. Installed-app session and its in-memory drafts remain available in the original process.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Carry source task's welcome-visibility proposal for canonical integration later. Canonical files remain unchanged because the existing classroom integration owner retains the repository integration lock; this does not block the user-authorized code merge, push, or bounded cleanup.
|
||||
@@ -0,0 +1,74 @@
|
||||
# Task: Investigate and fix the first-open work preview layout
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20261008-work-first-open-8ac7e621
|
||||
- Mode: Feature
|
||||
- Branch: codex/20261008-work-first-open-8ac7e621-work-first-open
|
||||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20261008-work-first-open-8ac7e621
|
||||
- Base commit: fe1a3775c5f785adaa6372bd7ea3102c79331656
|
||||
- Owner: codex
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Fix the first-open Work preview being pushed below the entire teacher welcome group. Renderer visibility only; preserve native-preview overlay clearance for real messages and hover introductions.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- User confirmed: temporarily hide welcome introductions on Work, restore on Operation Chat. Do not persist dismissal or change the three-operation-round introduction lifecycle, unread receipts, consultation entry, or preview startup.
|
||||
- No running-app update, main merge, push, or cleanup requested for this change.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
Task context:
|
||||
- Task ID / mode / branch / worktree / base: exactly as Identity above; official start and status ownership verification passed.
|
||||
- Other local tasks: 27 peer owner records inspected by read-only reviewer through their registered paths; no active conflicting layout work.
|
||||
- Related completed scopes: teacher-group-intro, hover intro, preview toolbar, empty-work preview. Preserve grouped dismissal and real unread messages.
|
||||
|
||||
Read:
|
||||
- Agent entry/read-before-planning, memory-index, planning-gate; this task record.
|
||||
- Project positioning, current-state, decision-index, system-overview, business-rules, success-criteria (task-relevant sections).
|
||||
- ADR-2026-09-22-coding-teacher; evidence-index, reflection-index, commitments; AGENTS.md and README.md.
|
||||
|
||||
Relevant understanding:
|
||||
- Project goal: student creation workspace with Main-owned native Work preview and cloud-defined teachers.
|
||||
- Integrated baseline: fe1a377, clean main. URL toolbar beside workspace tabs; native pixels avoid teacher DOM overlays.
|
||||
- Root cause: bubbleRef points to the whole welcome group; usePreviewClearance offsets the whole panel below its bottom, wasting most of the first-open viewport.
|
||||
- Constraints: only gate welcome rendering with the current tab; keep hook/persistence, real invitations, hover descriptions, and backend contracts unchanged.
|
||||
- Canonical ADR still describes per-teacher introduction dismissal, superseded by the grouped implementation and README; this change preserves current grouped behavior.
|
||||
- Evidence: user screenshots and static code; isolated browser measurements and regressions to follow. No applicable unresolved external commitment.
|
||||
- Modules: TeacherCompanion, CodingChatPanel, related unit/browser/Electron fixtures and README.
|
||||
|
||||
Gate result: Passed.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Add a presentation-only welcome visibility prop and derive it from the Work tab.
|
||||
2. Cover hide/restore without consuming welcome state, real messages remaining visible, first-open preview geometry, and actual workspace integration.
|
||||
3. Run focused unit/browser/Electron checks, typecheck, lint and production build; record evidence and hand off a committed feature branch.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Added presentation-only `showWelcomes` to TeacherCompanion, controlled by `!agentBrowserOpen`. Both grouped introductions and the legacy static welcome are unmounted on Work, and return on Operation Chat if not already consumed by existing lifecycle rules.
|
||||
- Real invitations/unread markers and hover descriptions remain visible with existing native-preview clearance. No persistent dismissal, model call, storage change, or preview startup change is triggered by this flag.
|
||||
- Updated README, lifecycle unit regressions, four-size browser layout scenarios, and the existing actual Electron workspace test.
|
||||
- Baseline reproduced in isolation: group height 440px; native preview was pushed down 391px, from top 107px to 498px. At 1280x800, height dropped from 639px to 248px; at 1440x900, from 739px to 348px. Fixed screenshots restore top 107px and full 639/739px height.
|
||||
- Independent read-only review found no blocking issue, stale margin, ResizeObserver leak, or new first-open bounds race.
|
||||
|
||||
## Verification
|
||||
|
||||
- Typecheck, scoped ESLint, and production build:vite passed using pinned pnpm 10.33.4. Logs: `/tmp/makelore-first-work-{typecheck,lint,build}.log`.
|
||||
- Focused units: 103 cases across teacher-companion, coding-chat-panel, and agent-browser-panel. Initial parallel run passed 102 and hit an existing asynchronous presentation assertion in unchanged agent-browser-panel; that file passed all 17 alone on retry. All changed-component tests passed initially. Logs: `/tmp/makelore-first-work-units.log`, `/tmp/makelore-first-work-browser-units-retry.log`.
|
||||
- Browser layout suite: 18/18 passed, including 375/768/1280/1440px hide/restore, repeat visits, explicit dismissal, real messages, and hover clearance. Screenshots visually inspected; no horizontal overflow. `/tmp/work-first-open-browser-8ac7e621/run.log` and `results/`.
|
||||
- Electron production-build fixture: 1/1 passed, proving actual workspace tab wiring, full-height preview, hover recovery, welcome restoration, teacher entry and retained drafts. `/tmp/makelore-first-work-electron.log`, `/tmp/makelore-first-work-electron-results/`.
|
||||
- Baseline geometry and before/after images: `/tmp/work-first-open-repro-8ac7e621/`.
|
||||
- Tests use isolated fixtures; installed app and user project/data were not changed. No installed-app update or native game-content acceptance claimed.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Running-app update and main integration remain separate user-requested steps; feature branch is ready for handoff.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Target: teacher ADR and system-overview. Proposal: static welcome introductions are paused on Work and restored on Operation Chat without consuming introduction or unread state; actual messages and hover descriptions retain native clearance. Evidence: user explicitly selected this behavior, focused lifecycle/browser/Electron regressions. Future impact: prevents reintroducing full-panel welcome clearance on first Work entry. Conflict: older ADR intro dismissal wording is stale relative to grouped implementation; leave it read-only in this feature. Further human confirmation for this visibility behavior is not required.
|
||||
Reference in new issue
Block a user