[Design] Redesign the chat composer
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 42/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
Hướng nghiên cứu
Start at /design-audit#surfaces and the chat composer in apps/web, then compare the listed shadcn Input Group and AI Elements PromptInput references with the current behavior. Run bun test apps/web/src/chat and review the required verification commands while checking each listed visual, keyboard, draft, reference, and error state. Done means the chosen library direction is documented, Maggie approves the specimen, and existing composer behavior remains intact.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Base branch: main
Branch: maggie/redesign-chat-composer
Depends on: None
Goal
Replace the visually inconsistent chat composer shell with a polished shared composition built from proven component patterns while preserving Chopin's collaboration behavior.
Context From Planning
- The composer in
/design-audit#surfaceslooks inconsistent with the rest of Chopin and should not be reinvented from scratch. - Investigate shadcn Input Group and AI SDK AI Elements PromptInput as references, not preselected dependencies.
- AI Elements PromptInput is a close reference for auto-resize, submit-status icons, attachments, and keyboard behavior: https://elements.ai-sdk.dev/components/prompt-input
Current Behavior
The production composer owns acknowledged drafts, # document references, a listbox picker, send/stop state, keyboard submission, connection/read-only state, and inline send errors. Its visual shell is assembled from generic field/button classes and local layout utilities.
Desired Behavior
Create a cohesive composer with a clear input surface, footer/actions, reference affordance, busy/error presentation, and excellent keyboard/focus behavior. Reuse a library pattern where it fits, but adapt it to Chopin's existing state model.
Acceptance Criteria
- A short library evaluation compares shadcn Input Group, AI Elements PromptInput, and adapting the current composer; it records the chosen direction and dependency cost.
- The design audit covers empty, drafted, focused, disabled/disconnected, submitting, Planner-working/stop, reference-picker, reference-limit, and send-error states.
- Existing acknowledged-draft behavior,
#references, picker keyboard navigation, Enter/Shift-Enter behavior, submit focus restoration, stop action, and error recovery remain intact. - The composer is usable at narrow widths and with long referenced document names.
- The visual shell is shared where appropriate with comment/research composers without forcing their different domain behavior into one state machine.
- Maggie approves the audit specimen before production migration.
Verification Commands
bun run typesbun run cibun test apps/web/src/chatbun run e2e
Primary Surfaces
/design-audit#surfaces- Chat composer in
apps/web - Reference picker and acknowledged composer drafts
Expected PR Checks
- Repo required checks
Report Requirements
- Library comparison and decision
- Before/after screenshots for key states and widths
- Keyboard/accessibility evidence
- Confirmation that draft/reference behavior is unchanged
Implementation Notes
- Treat external components as visual/interaction references. Chopin's wire protocol and draft reconciliation remain authoritative.
- Do not replace the composer with a component that assumes a different message or attachment model.
- Keep send errors associated with the composer without collapsing the input layout.
Stop Conditions
- A candidate library requires replacing Chopin's draft/reference state model.
- Attachment scope or new composer features would expand beyond this visual redesign.
- Ngôn ngữ chính
- TypeScript
- Star
- 591
- Fork
- 33
- Merge trung bình
- 4 giờ 13 phút
- Pull request đã merge (30 ngày)
- 412
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của githubnext/chopin
-
documentation triage/human-response
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
githubnext/chopin#149 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
githubnext/chopin#699 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 3/5 Nửa ngày Mức phù hợp với người mới 45/100
githubnext/chopin#597 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
githubnext/chopin#596 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
githubnext/chopin#595 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của githubnext/chopin
Issue tương tự
-
JSDelivr CDN is brokenĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
🐛 bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
LibreChat-AI/LibreChat#17875 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
category:helper tech-debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
LanternOps/breeze#11285 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: core area: docs good first issue help wanted lane: free-agent priority: P3 roadmap size: XS type: task
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
arminazimi/seaworthy#701 ·
Maintainer thường phản hồi trong vòng 1 ngày