Merge preview toolbar and icon-only teacher refresh
This commit is contained in:
commit
0a6ab29e9f
11 files changed
+334
-36
No files matched your search
@@ -0,0 +1,63 @@
|
||||
# Task: Move work preview address toolbar beside workspace tabs
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260930-preview-toolbar-tabs-56e98b2d
|
||||
- Mode: Feature
|
||||
- Branch: codex/20260930-preview-toolbar-tabs-56e98b2d-preview-toolbar-tabs
|
||||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20260930-preview-toolbar-tabs-56e98b2d
|
||||
- Base commit: c55e9c718201eb8986a83e545e9b3ad7b110dd7e
|
||||
- Owner: codex
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Move the entire embedded work-preview address toolbar (back, forward, reload and editable URL) beside the Operation Chat / Work tabs, as explicitly confirmed by the user.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Keep the current navigation, browser/view lifecycle, URL editing, empty-work behavior, native viewport bounds, teacher clearance and student drafts. Show the toolbar only in the Work tab; retain standalone developer-browser layout. Use existing visual styles, fitting one row when space permits and wrapping cleanly on narrow panes. The follow-up explicitly requests updating the temporary app; no main merge or push is requested.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Embedded work previews render their existing navigation form through a portal into a stable slot beside the two workspace tabs. The form remains outside the tablist, retains existing handlers and address focus protection, and disappears when the Work tab is hidden. The old internal toolbar row is removed only when the external slot is available; standalone/fallback browsers remain unchanged. Responsive layout keeps all controls usable and wraps the address toolbar only when the pane is too narrow. README documents the new position.
|
||||
- Updated the running temporary app on explicit follow-up authorization. Its latest composite renderer now includes this toolbar patch, with prior reference isolation and presentation changes preserved. No main-branch merge or remote push was performed.
|
||||
|
||||
## Verification
|
||||
|
||||
- Standard typecheck, production build and scoped ESLint passed. All 59 relevant unit tests passed: 42 coding-chat-panel/use-work-preview tests and 17 agent-browser-panel tests, including external-toolbar navigation, inline fallback and hide/reopen behavior.
|
||||
- All 17 browser layout scenarios were verified (14 passed in the full run; the final 3 passed after replacing obsolete internal-toolbar spacing assumptions with native viewport clearance assertions). Screenshots verified 375px wrapping, 768/1180px alignment and the expanded teacher pane. The fixture now includes a standards-mode doctype and production tab icons. Native pixels keep 8–10px below overlapping teacher speech, reclaim space for shorter messages, and restore the original 20px content padding when speech is dismissed or no longer overlaps.
|
||||
- The updated isolated Electron work-tab scenario passed: the complete toolbar shares the tab row, address arrow keys stay in the input, refresh reaches the existing navigation endpoint, keyboard tab switches preserve the draft, and the toolbar returns without duplicate controls. Test-only changes to generated Main were restored byte-for-byte; no running user app or data was changed.
|
||||
- Independent static review found no blocking lifecycle, focus, native bounds, tab semantics or teacher-clearance issues. Root reviewed the product/test diff and browser/Electron screenshots. Logs: `/tmp/preview-toolbar-tabs-final-typecheck.log`, `/tmp/preview-toolbar-tabs-final-lint.log`, `/tmp/preview-toolbar-tabs-build.log`, `/tmp/preview-toolbar-tabs-regression.log`, `/tmp/preview-toolbar-tabs-browser-full-56e98b2d.log`, `/tmp/preview-toolbar-tabs-clearance-56e98b2d.log`, `/tmp/preview-toolbar-tabs-electron-56e98b2d.log`.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- None recorded.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
- Task: 20260930-preview-toolbar-tabs-56e98b2d; feature mode; branch/worktree/base as Identity. Official start/status confirms ownership/reservation. App create_worktree is unavailable at this parent-directory chat root (Not a git repository); official skill isolation succeeded from primary main `c55e9c7`.
|
||||
- Read AGENTS, entry/memory index, task record and planning gate. Positioning, current-state, decision index, architecture and teacher ADR remain byte-identical to the previously loaded `7bce156` snapshot; domain, success criteria and evidence/reflection/commitment context remains applicable. README and actual source govern current presentation.
|
||||
- Project supports student creation through Main-owned project conversations and a shared Agent/browser work preview. This is a Renderer layout change, without API/model/data changes.
|
||||
- Read all 26 peer task Scope/Intent/Promotion sections. New teacher-reference-isolation peer protects selected source text/teacher handoff; leave those handlers intact. Empty-work peer requires local empty detection before conversation/model launch. No semantic conflict. Old unspecified child-language task is unrelated.
|
||||
- Browser ownership remains Main/project/generation-scoped. Tabs hide the existing view without destroying or navigating it; native viewport bounds and teacher-overlay clearance must remain correct. Standalone browser and diagnostics retain current behavior.
|
||||
- Files: AgentBrowserPanel, CodingChatPanel, classroom-workspace.css, focused browser/navigation tests and README. React portal can reuse the existing toolbar state/handlers in an external sibling slot outside the semantic tablist, avoiding duplicate controls or a second browser owner.
|
||||
- Gate: Passed.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Add an optional embedded-toolbar target and a sibling slot on the tabs row; keep the existing form/navigation handlers and standalone fallback.
|
||||
2. Scope styles to the workspace row, keep tab/button semantics separate, and prevent overflow in narrow panes.
|
||||
3. Verify navigation/disabled states/tab lifecycle, real layout/native viewport behavior, relevant regressions, typecheck/lint/build; record and commit the isolated result.
|
||||
|
||||
## Temporary App Update
|
||||
|
||||
- User explicitly requested updating the temporary app after product commit `d787267`. Resumed this same task through official start/status; feature ownership, branch and base match. Previously loaded canonical context remains unchanged. Re-read own record, entry, memory index, positioning and relevant integrated/architecture context. Peer review found no semantic conflict: the new teacher-reference merge only updates main; the new Alice investigation targets the installed app. The merge peer was cleaned during review, making the initial owner snapshot stale, without a dependency on this renderer update. Gate: Passed.
|
||||
- Actual temporary app is PID 32583 with its own `makelore-trial-tdq_nuah/user-data`. Its latest renderer is the composite `teacher-reference-70b4a183/source`, with served entry `index-mR-oHKNI.js`. Preserve its reference isolation, sidebar, height and prior presentation changes. The three product-file patch from `d787267` applies cleanly to that source. Stage/build a separate copy, compare manifests and served entry before publication, append assets and atomically replace only the renderer entry, then refresh and verify state. Keep Main, preload, user data, native window overlays and the installed app intact.
|
||||
- Completed staging at `/var/folders/mx/ltbgwsks5_n8zllj69p_wbcw0000gn/T/makelore-trial-tdq_nuah/preview-toolbar-tabs-56e98b2d/source`. Verified only the three requested product files differ from the previous composite source. Composite typecheck, production build and all 16 existing browser-panel unit tests passed.
|
||||
- Published renderer asset `index-nb2_203t.js` and route stylesheet `index-BC3KHUz-.css`; retained old assets and saved previous entry/manifests for rollback. Main PID stayed 32583. Restored the original Work tab after refresh. Live DOM measurements and captured toolbar image confirm a single complete address toolbar to the right of the tabs, vertically centered, outside the tablist, without overflow; native preview starts below the row.
|
||||
- Route, selected conversation, inputs, operation/teacher drafts, teacher panel/turns, preview URL, sidebar state, window bounds and fullscreen were preserved. All 14 previously rendered operation messages remain unchanged and in order; hydration additionally loaded 8 earlier messages. No request was active and no message was sent. Released the temporary runtime lease (0 remain), restored background throttling and closed the debugging listener. Main/preload, window overlays and the installed app were not replaced. Evidence: `build-source.json`, `verification.json`, `cleanup.json`, logs and `live-toolbar.png` under the staging directory above. Both trial launch manifests point to the new renderer source and record `d787267` as an added overlay.
|
||||
@@ -0,0 +1,51 @@
|
||||
# Task: Show the teacher refresh control as an icon only
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260930-refresh-icon-2c6e81a4
|
||||
- Mode: Feature
|
||||
- Branch: codex/20260930-refresh-icon-2c6e81a4-refresh-icon
|
||||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20260930-refresh-icon-2c6e81a4
|
||||
- Base commit: 9f575e2c2fecad195fe08b3c4c2dcbd49b14f3e6
|
||||
- Owner: codex
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Remove the visible label from the upper-right teacher refresh button, keeping a compact icon control; continue the current temporary-app UI update.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Keep refresh behavior, disabled/busy state, spinning icon, accessible name, status announcement and hover tooltip. Preserve the completed address-toolbar move and all latest composite trial changes. No merge or push.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Removed the teacher refresh label and reduced its control to a 32px square icon button. Refresh handler, accessible label, tooltip, busy/disabled state, spinning icon and status announcement remain intact. README now describes the icon-only behavior. Updated the current temporary app on top of its latest composite source, preserving the previous full address-toolbar move.
|
||||
|
||||
## Verification
|
||||
|
||||
- Standard typecheck, focused ESLint, production build and all 49 existing teacher-companion unit tests passed. No new tests were added for the reversible label/style change.
|
||||
- Separate composite trial build passed; byte comparison confirmed only TeacherCompanion.tsx and classroom-workspace.css changed from the previous trial source. Live PID remained 32583 and loaded `index-CwXrqibZ.js`. DOM and captured image confirm no button text, one refresh icon, a 32x32 target and the original tooltip; the full address toolbar remains visible.
|
||||
- Restored the original Work tab and open teacher pane after the renderer refresh. Route, conversation, inputs, both draft stores, teacher turns, 22 operation messages, preview URL, sidebar, window bounds and fullscreen all match before. No generation was active and no messages were sent. Restored background throttling, released the update lease (0 remain) and closed the debugging listener. Main/preload, native window overlays and installed app were not replaced.
|
||||
- Source check logs are `/tmp/refresh-icon-{typecheck,unit,lint,build}.log`. Composite source, rollback entry/manifests, `verification.json`, `cleanup.json` and `live-refresh-icon.png` are under `/var/folders/mx/ltbgwsks5_n8zllj69p_wbcw0000gn/T/makelore-trial-tdq_nuah/refresh-icon-2c6e81a4`.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- None recorded.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
- Task ID/mode/branch/worktree/base match Identity; official start/status confirms isolated ownership. App worktree creation returned Not a git repository at the parent-directory chat root; official skill isolation succeeded from the preceding completed toolbar task `9f575e2`.
|
||||
- Read own task record. All 12 previously loaded entry, positioning, integrated-state, decision/teacher ADR, architecture, domain/success, evidence/reflection/commitment files are byte-identical to the just-completed toolbar task. Product remains Main-owned project conversations and a shared browser; this is a Renderer presentation-only change.
|
||||
- Read-only review of 27 peer records found no semantic conflict. Existing refresh task requires preserving refresh/drafts/version behavior. Prior toolbar task is ready; retain its changes. Old child-language scope remains undefined and unrelated. No canonical writes are needed.
|
||||
- Files: TeacherCompanion.tsx, scoped workspace CSS and README. Remove the label span; reduce the button from 76px to 32px square. Existing status/aria/title and click handlers remain. Gate: Passed.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Apply the small presentation change and document the icon/tooltip behavior.
|
||||
2. Run existing focused refresh tests, typecheck and production build; no new tests are needed for this reversible label/style change.
|
||||
3. Apply only the two product-file changes to a new copy of the latest trial source, update its renderer, verify the icon and preserved state, and record the result.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
Reference in new issue
Block a user