fix: align teacher and operation composer heights
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# Task: Align teacher composer height and add file attachments
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260929-teacher-composer-files-4d46a1a9
|
||||
- Mode: Feature
|
||||
- Branch: codex/20260929-teacher-composer-files-4d46a1a9-teacher-composer-files
|
||||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20260929-merge-composer-actions-23414dc2
|
||||
- Base commit: 72218e0c79018a79e81cfb28eabb91cfae8f7d8b
|
||||
- Owner: codex
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Align the teacher input box height with the operation Agent composer, including multiline sizing. The user explicitly cancelled the initially requested plus/file-attachment feature; do not add it.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Preserve microphone/send/stop, hidden model details, shortcuts, draft/history, streaming and keyboard/IME behavior. Keep the teacher's visual colors. No API/backend/attachment changes, live-app update, main merge or remote push is part of this implementation request.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Teacher composer now uses the same 42px minimum textarea, one-to-six row growth, 32px control row and classroom bottom spacing as the operation composer. Matching bottom border width keeps the complete input boxes equal in height. Teacher color and 13px input font remain; desktop/mobile line heights match the operation textarea.
|
||||
- Retained microphone/send and 32px stop controls, keyboard/IME behavior, hidden model details and existing data flow. Added no plus button, file picker, attachment handling or backend contract, as explicitly cancelled by the user. README describes the resulting layout.
|
||||
|
||||
## Verification
|
||||
|
||||
- 91 relevant unit tests across coding-teacher-ui, teacher-composer-voice and teacher-conversation-panel passed. Standard typecheck, scoped ESLint, production build:vite and git diff --check passed; logs /tmp/teacher-composer-height-{typecheck,unit,lint,build,electron}.log.
|
||||
- Two existing real-component Chrome browser scenarios now compare TeacherChatPanel against CodingComposer at 319px and 508px, with empty/one/three/six/eight-line input. Textarea and surface heights plus bottom edges match within 1px, growth stops at six rows with internal scrolling, and there is no horizontal overflow. Microphone/send-only UI and stored-model send behavior remain verified. Latest narrow/wide empty/eight-line screenshots visually reviewed by the test agent.
|
||||
- Existing Electron draft/retry scenario passed with actual side-by-side surfaces equal in height and bottom position, no model/file controls, and both drafts retained after retry. Used an isolated mocked Host API and a temporary generated-entry show/focus guard, restored in finally; no running user application or real model calls were involved.
|
||||
- Initial Electron size assertion ran while opening the teacher had selected the existing Work tab and hidden the operation composer; corrected the scenario to select Operation Chat before measuring. Independent review caught inherited desktop font sizing; preserving the original 13px font exposed a 12px three-line difference in browser tests, fixed by matching the desktop 20px line height, then reran successfully. A fixture-only Fast Refresh lint warning was fixed by exporting its test component.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Changes are committed on this feature branch for later integration/application update when requested. Main and the running temporary application are unchanged by this task.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
- Task ID 20260929-teacher-composer-files-4d46a1a9; feature mode, branch/worktree/base as recorded. Reused the clean completed merge checkout after official release; old branch/commits remain. Official start/status confirmed ownership and task reservation.
|
||||
- Read current AGENTS, entry/memory-index/planning-gate and own task record. Positioning, current-state, teacher ADR/decisions, architecture, domain/success criteria and evidence/reflection/commitments were loaded during the immediately preceding integration and verified byte-identical in this base. README and explicit current user instructions govern the approved hidden-picker UI.
|
||||
- Goal: support student project creation with cloud-defined teachers; Main retains execution, billing, frozen requests and project conversations. This is a small presentation correction.
|
||||
- Read-only peer review covered 27 other registered tasks; none missing, no concrete semantic conflict. Child-language has unspecified old scope but no dependency. Current Code navigation work is separate. Preserve existing introduction grouping and streaming.
|
||||
- Diagnosis: teacher textarea has a 60px minimum and fixed two rows, followed by a 68px footer and 8px gap. Operation composer uses a 42px textarea, dynamic one-to-six rows and a 32px footer. Align sizing and classroom bottom spacing, retaining teacher colors and controls.
|
||||
- File support assessment found the operation plus accepts images while teacher references are text-only. User cancelled that addition after clarification; no attachment code was written.
|
||||
- Files: TeacherChatPanel, classroom workspace styles, existing composer browser fixture/spec, README and this record. No cloud or Main contracts change.
|
||||
- Gate: Passed.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Match teacher textarea/footer and classroom bottom spacing to the operation composer.
|
||||
2. Extend existing browser checks to compare both real composer components at narrow/wide widths and with multiline input; run relevant UI/voice regressions, typecheck, lint and build.
|
||||
3. Inspect the resulting screenshots, record evidence and commit the isolated change.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
Reference in New Issue
Block a user