DashboardQuery eager-loads workshop_host with :sponsors in one join (same host-loss trap as #2975)
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ó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Bắt đầu trong app/queries/dashboard_query.rb:5-6 và so sánh DashboardQuery.upcoming_events với mẫu liệt kê sự kiện trong #2981, Listable.most_recent. Tái hiện hành vi của workshop-host bằng bản phác thảo từ #2975, sau đó xác minh đầu ra địa điểm của thẻ dashboard sau khi áp dụng cách bố trí eager-load/preload được đề xuất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
DashboardQuery.upcoming_events eager-loads :workshop_host together with :sponsors in one join (app/queries/dashboard_query.rb:5-6). Both associations route through the workshop_sponsors table, so the scoped has_one falls into the same eager-load alias trap documented in #2975: workshop_host comes back nil or points at a non-host sponsor, on a plan-dependent subset of workshops.
Suggested fix: the same pattern the events listing now uses (#2981, Listable.most_recent) — keep :sponsors in the join, move the host to preload:
Workshop.eager_load(:chapter, :sponsors, :organisers, :permissions)
.preload(workshop_host: :sponsor)
Worth confirming first whether the dashboard card actually renders the wrong venue when workshop_host is lost (follow the same repro sketch as #2975), or only shows no venue.
- Ngôn ngữ chính
- Ruby
- Star
- 105
- Fork
- 206
- Merge trung bình
- 1 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 74
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không 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 codebar/planner
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
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 68/100
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 30/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 42/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của codebar/planner
Issue tương tự
-
Add ZammadCó thể đã có người làm @Arslan-TR đã nhận hôm nay. Đang mởrequest
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
endoflife-date/endoflife.date#11298 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
performance v/6
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
WITCodingClub/calendar-backend#689 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
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 74/100
rubys/roundhouse#571 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/web interface
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
mastodon/mastodon#40924 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày