thumbs: a changed `preview:` pin or source URL never refreshes the stored image, and a source that keeps failing keeps its old image forever
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ó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 57/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
Hướng nghiên cứu
Start with site/lib/thumbs.mjs around needsFetch() (117–124), then read the fetch failure and prune paths in site/thumbs.mjs (218–248) and the validator note in site/checks.mjs (798–800). Run the relevant cases in lib.test.mjs and a dry run with a changed preview: pin. Done means source and pin changes trigger fetching, repeated failures eventually drop stale records and files, and each manifest source matches its entry URL.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Why it matters
site/thumbs.json decides which publisher image the site shows. If a contributor repoints preview: at a better image, or an entry's url moves, the old picture stays on the entry page, the card and the hero filmstrip for up to 180 days. If a source starts returning 404, the old image is republished at every build with no expiry at all.
Evidence (at 69387df)
site/lib/thumbs.mjs:117-124needsFetch()compares onlyrecord.licenseandrecord.fetched. Verified: a record whosesourceandimagediffer from the entry still returnsfalsewhen the licence matches andfetchedis recent.source,imageandpinnedare stored (site/thumbs.mjs:138-139) but never read back.site/thumbs.mjs:218-227: on a fetch failure the old record and.webpare kept; the prune at 245-248 only removes files with no record. Nothing counts consecutive failures.site/checks.mjs:798-800says the record "is otherwise not compared with the entry", so the validator will not catch it.
Suggested approach
In needsFetch, also return true when record.source !== entry.url, when the pinned flag no longer matches whether preview: is an https:// URL, or when a pinned record's image !== entry.preview. Add a failures counter (or lastTried) to the record; after N failed runs, or when fetched is older than 2 x maxAgeDays, drop the record and file so the tile falls back to the typographic one, and report the drop in the run summary. A one-line validator check can enforce record.source === entry.url.
Done when
lib.test.mjs covers "source changed", "pin added/removed/changed" and "stale after repeated failure"; a dry run with a repointed preview: lists that entry under Fetched; the manifest's source always equals the entry's url.
- Ngôn ngữ chính
- JavaScript
- Star
- 58
- Fork
- 15
- Merge trung bình
- 16 giờ 53 phút
- Pull request đã merge (30 ngày)
- 14
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 TMHSDigital/Free-Game-Dev-Assets
-
community marketing priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
TMHSDigital/Free-Game-Dev-Assets#151 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation priority: medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
TMHSDigital/Free-Game-Dev-Assets#72 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 68/100
TMHSDigital/Free-Game-Dev-Assets#3 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
marketing priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
TMHSDigital/Free-Game-Dev-Assets#152 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feature priority: medium
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
TMHSDigital/Free-Game-Dev-Assets#144 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của TMHSDigital/Free-Game-Dev-Assets
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
AOSSIE-Org/BabyNest#284 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
seek4science/seek#2762 ·
Maintainer thường phản hồi trong vòng 5 ngày
-
feedback simulation workshop
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
githubnext/gh-aw-workshop#5009 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Clinic sharing: fast sync refusal message suggests Delete Data, which only developer builds haveĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
avniproject/avni-client#2228 ·
-
Add: K+ Sport 2 LogoĐang mởcheck:passed logos:add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 6 ngày