Close latent Matins Gospel-homily dedup gap
Deploy / deploy (push) Successful in 2m24s

When a Gospel+homily pair is folded into one pool entry, the homily's
own text was never registered in seenReadingText -- only the Gospel
pericope's text was. Not live for any date today, but the same
structural mistake already fixed once for two ids pooling the same
Gregory the Great excerpt: a later pooled id whose solo lesson happens
to share a homily's exact text would render as a visible duplicate.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T6rG4RTNqLFYcyjbCGkPFs
This commit is contained in:
2026-09-05 14:08:36 -04:00
parent 9d671751d9
commit cf0ecdf4c5
+5 -1
View File
@@ -966,7 +966,11 @@ function buildReadingPool(day: LiturgicalDay, temporalId: string, date: string,
const next = readings[i + 1]; const next = readings[i + 1];
const homily = next && !next.isGospel && next.nocturn === reading.nocturn ? next : undefined; const homily = next && !next.isGospel && next.nocturn === reading.nocturn ? next : undefined;
bucket.push(gospelReadingPart(reading, homily, id, commonPoolIndex++, day)); bucket.push(gospelReadingPart(reading, homily, id, commonPoolIndex++, day));
if (homily) i++; if (homily) {
i++;
const homilyKey = homily.text.la ?? homily.text.en ?? '';
if (homilyKey) seenReadingText.add(homilyKey);
}
} else { } else {
bucket.push(nocturnReadingPart(reading, id, commonPoolIndex++, day)); bucket.push(nocturnReadingPart(reading, id, commonPoolIndex++, day));
} }