Widget: a header menu with New conversation, Download transcript and a privacy link
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
Issue này chưa được đánh giá.
Mô tả
F-05 task 19. The panel header has the name, the subtitle and a close button (packages/widget/src/dom/panel.ts:128-160). Visitors have no way to start over or keep a copy of the chat, though the widget can already do the first one: newConversation() exists (packages/widget/src/widget.ts:455), and so does its string, newConversation: 'New conversation' (packages/widget/src/i18n.ts:62), which nothing uses yet.
What to do
- Add a "More options" button (a
⋯icon inpackages/widget/src/dom/icons.ts) before the close button. It opens a small menu with:- New conversation: calls
newConversation(). - Download transcript: saves the visible conversation as a
.txtfile (who said it and the text, one message after another) through aBloband a temporary<a download>. No network request. - Privacy: a link that opens in a new tab. It's only shown when a new
privacyUrlconfig option is set (onlyhttps:andhttp:URLs).
- New conversation: calls
- Use the menu button pattern:
aria-haspopup="menu"andaria-expandedon the button,role="menu"androle="menuitem", arrow keys and Home/End to move, Enter/Space to pick, and Escape closes the menu only, putting focus back on the button. Escape now closes the popup, so the menu has to handle Escape first (the F-05 key table says Escape "closes that layer only"). - New strings in
WidgetLocaleStrings(English defaults; other languages fall back to them): the button label, "Download transcript" and "Privacy". - Use
--cc-surface-raisedfor the menu background, with logical CSS so RTL works.
Size
The panel is at 17.15 of 18 kB. If the menu doesn't fit, it can load on first open the way the pre-chat form does (its own chunk, with a 2 kB budget). Talk to me before raising a budget.
Acceptance criteria
- Unit tests: the menu opens and closes, keyboard navigation works, New conversation resets the log, the transcript file has the right text, and Privacy only shows with
privacyUrlset (and never for ajavascript:URL) - An e2e test for opening the menu with the keyboard and choosing New conversation, with the axe checks passing in light, dark and RTL
-
privacyUrldocumented inwebsite/src/content/docs/widget/configuration.mdxand the widget README (pnpm docs:checkpasses) - A minor changeset for
@chatcops/widget;pnpm test:coverage,pnpm lint,pnpm api(commit the snapshot change) andpnpm sizepass
Comment here to be assigned.
- Ngôn ngữ chính
- TypeScript
- Star
- 13
- Fork
- 7
- Merge trung bình
- 3 giờ 28 phút
- Pull request đã merge (30 ngày)
- 296
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọ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 codercops/chatcops
-
Core README lists old default modelsCó thể đã có người làm @prakashNalla đã nhận hôm nay. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
codercops/chatcops#503 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Widget: theme.tokens to set any color or size token, and the full token table in the docsCó thể đã có người làm @Sreehita-here đã nhận hôm nay. Đang mởhacktoberfest
codercops/chatcops#500 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Widget: keep a message sent while offline, and send it when the connection is backCó thể đã có người làm @Saifjafri212213 đã nhận hôm nay. Đang mởhacktoberfest
codercops/chatcops#495 · 3 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Widget: copy a completed assistant replyCó thể đã có người làm @piyusshhjangid đã nhận 1 ngày trước. Đang mởhacktoberfest
codercops/chatcops#477 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Server: validate `rateLimit.windowMs` before creating the limiterCó thể đã có người làm @ashutoshpalhare đã nhận 1 ngày trước. Đang mở
codercops/chatcops#452 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của codercops/chatcops
Issue tương tự
-
Add: Disco Mix SDĐang mởcheck:passed streams:add
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
level2 nsoc26
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
GauravKarakoti/SecureFlow#1488 ·
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 72/100
deltachat/deltachat-desktop#6914 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
area:cli bug P4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug from-studio
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
esengine/DeepSeek-Reasonix#14868 ·
Maintainer thường phản hồi trong vòng 1 ngày