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

Bug: curated starter accepts an empty URL fragment despite its no-fragments contract

Đã đóng
#27 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

Một pull request liên quan đã được merge.

  • #37 của @drevendev — đã merge

Đánh giá

Độ khó
4/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
tooling

Hướng nghiên cứu

Review examples/curated-starter/curate.py and the existing candidate fix in beautifulrepo/workshop-hardening-20261018; this issue says that work is already underway. Check the regression cases for /#, /path#, /#section, and /%23, then run the repository checks. Done means the empty literal fragment is rejected while %23 remains accepted and the listed URL behaviors are preserved.

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

Mô tả

Reproduced on the public product

Review: 2026-10-19; master c2cbcf07ae67263ec7dbeb7cfb5822ea65b49c38.
examples/curated-starter/curate.py, blob 32cdddb2b79696ee2bb75dfa37ca7105292ef22a.

checked_url() accepts https://example.org/# and https://example.org/path#. A trailing literal # introduces an empty fragment, but parts.fragment is the empty string, so the current truthiness check misses it. The curated starter explicitly intends to reject fragment-bearing URLs.

Priority and existing work

P2 contract regression. A candidate fix already exists in beautifulrepo/workshop-hardening-20261018; review that work instead of creating another implementation. It has not reached the reviewed master.

Acceptance

  • Reject a literal fragment delimiter even when the fragment text is empty.
  • Continue accepting the encoded character %23 within an otherwise valid path/query.
  • Add regression cases for /#, /path#, /#section and /%23.
  • Preserve original no-credentials, URL encoding and deterministic-output behavior.
  • Run current full repository checks before integration.

This is deliberately separate from #26: the core catalog and curated starter have different fragment policies. Do not apply a global fragment ban to the core catalog merely to unify implementations.

Ngôn ngữ chính
Python
Star
2
Fork
0
Merge trung bình
7 giờ 30 phút
Pull request đã merge (30 ngày)
78

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 drevendev/BeautifulRepo

Tất cả issue của drevendev/BeautifulRepo

Issue tương tự

Thêm issue về Python

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.