Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Progress difficulty filter lists Hard before Medium

Đã đóng Phù hợp với người mới
#281 1 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Pandamachi đang làm issue này rồi.

Từ ngày 11/10/2026.

  • #287 của @Pandamachi — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
86/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
javascript, node.js, rust
Lĩnh vực
frontend, testing

Hướng nghiên cứu

Bắt đầu với progressOptions trong web/progress.js, nơi values("difficulty") tạo menu, rồi so sánh thứ tự của menu với LEVELS trong web/problem-picker.js. Issue chỉ ra tests/browser/progress.test.js và bài kiểm tra tùy chọn bộ lọc hiện có là điểm bắt đầu để viết kiểm thử; bổ sung độ bao phủ kiểm thử bằng Easy, Medium và Hard. Hoàn tất khi các tùy chọn trong danh sách chọn theo thứ tự của thang mức độ: All, Easy, Medium, Hard.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Observed behavior

Once the saved history holds attempts at all three levels, the Difficulty select under "Filter attempts" in the lobby's progress panel lists its options as All, Easy, Hard, Medium. Hard sits between Easy and Medium, so the menu reads in a different order from the difficulty checkboxes beside it, and a reader scanning for the next level up meets the hardest one first.

Expected behavior

The options follow the difficulty scale: All, Easy, Medium, Hard. That is the order LEVELS in web/problem-picker.js defines and the order the lobby's own difficulty checkboxes use.

Reproduction
  1. Save at least one report at each of Easy, Medium and Hard, so the progress panel has attempts at all three levels.
  2. Open the lobby and find the Difficulty select under "Filter attempts" in the progress panel.
  3. Read the options: All, Easy, Hard, Medium.

Without three saved reports, the list can be read straight from the module. From a checkout, passing buildProgressModel three records whose difficulties are Hard, Easy and Medium returns options.difficulty as ["Easy","Hard","Medium"].

CodeTrial version

A checkout of main at 8c3dda1 (2026-10-11). cargo run -- --version was not run; the list above came from loading web/progress.js of that checkout under Node 24.

Environment

OS: Windows 11 (Node 24 for the module-level reproduction)
Browser: any; the list is computed in web/progress.js before the page renders it
Language: any
Problem: any

Sanitized evidence

progressOptions in web/progress.js builds the menu with values("difficulty") and no comparator, so Array.prototype.sort compares the strings and "Hard" sorts before "Medium"; the duration menu on the next line does pass a numeric comparator. The test "filter options are deduplicated, ordered, and free of unreadable values" in tests/browser/progress.test.js uses only Easy and Medium, for which the alphabetical and the scale order agree, so it passes either way. The panel and this list arrived together in 451d870.

Public data confirmation
  • I removed credentials, session tokens, candidate recordings, and personal interview content from this public report.
Ngôn ngữ chính
Rust
Star
160
Fork
64
Merge trung bình
1 ngày 10 giờ
Pull request đã merge (30 ngày)
112

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của sysprog21/codetrial

Tất cả issue của sysprog21/codetrial

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.