Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Homepage shows deactivated chapters (sidebar fragment invalidation deletes the wrong key)

Offen
#2,993 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@mroderick arbeitet bereits daran.

Seit 07.10.2026.

  • #2994 von @mroderick — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
30/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
rails, ruby
Bereich
backend

Rechercherichtung

Read app/components/chapters_sidebar_component.html.erb and the Chapter#expire_chapters_sidebar_cache callback described in the issue. Check how the sidebar fragment key is built and how Chapter.active.count can be included; the issue says this count is needed because direct SQL updates do not change updated_at. Done means chapter-set changes produce a fresh sidebar cache key; note that pull request #2994 is already open.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Deactivated chapters stay in the homepage chapter list. The chapter page 404s correctly and the subscriptions list is correct. Seen after several chapters were deactivated by setting active = false directly in the database.

The sidebar caches under a fixed key, and the callback that expires it deletes a key that does not exist:

  • app/components/chapters_sidebar_component.html.erb calls cache "chapters-sidebar". ActionView stores this as views/chapters_sidebar_component/chapters-sidebar, plus the cache namespace.
  • Chapter#expire_chapters_sidebar_cache deletes chapters-sidebar, which resolves to a different entry. The delete has never matched, so no write path invalidates the fragment, not only direct database edits.

Fix: derive the cache key from the data so it changes whenever the chapter set changes. The key must include Chapter.active.count, because a plain SQL update that sets active does not bump updated_at.

Evidence
  • The production cache store held one sidebar entry, last written 2026-09-13, under views/chapters_sidebar_component/chapters-sidebar, and no chapters-sidebar entry.
  • Toggling Chapter#update! in a production rails runner fired the callbacks and left the homepage unchanged.
  • Deleting the real entry refreshed the homepage at once.
  • The fixed key is shared across locales. A derived key removes that side effect.
  • The stale entry is cleared in production as of 2026-10-07. It will go stale again on the next chapter change until this is fixed.
Vorherrschende Sprache
Ruby
Sterne
105
Forks
206
Ø Merge
1 T. 1 Std.
Gemergte PRs (30 T.)
78

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus codebar/planner

Alle Issues in codebar/planner

Ähnliche Issues

Weitere Issues zu Ruby

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.