From 6c142365185bac02bbc3eff95cb1112ef47c7d77 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Thu, 29 Oct 2026 22:56:05 -0700 Subject: Stop skipping ages as they change unit getElementsByClassName returns a live collection, so an age moved to the next unit dropped out of it mid-loop and the age after it was skipped until the next pass, which can be a day away. On a cached page that has crossed a unit boundary every second age stayed stale. querySelectorAll returns a static list of the same elements. --- assets/cgit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'assets') diff --git a/assets/cgit.js b/assets/cgit.js index 90f06c0..d09423f 100644 --- a/assets/cgit.js +++ b/assets/cgit.js @@ -67,7 +67,7 @@ function update_ages() { var now = Math.round(new Date().getTime() / 1000); for (bucket = 0; bucket < age_classes.length; bucket++) { - elements = document.getElementsByClassName(age_classes[bucket]); + elements = document.querySelectorAll("." + age_classes[bucket]); if (elements.length && update_delay[bucket] < delay) delay = update_delay[bucket]; -- cgit 2.12.1