Background
The User-Agent header sent to Reddit (src/geddit.js, 20 call sites) was switched to a Safari UA in commit 26d7724 to bypass Reddit's blocking of generic fetch() UAs. As Safari/macOS versions roll forward, the UA drifts from current — the failure mode is "completely broken while waiting" because Reddit returns 403 to outdated/generic UAs.
Task 1 — Runtime configurability
Task 2 — Scheduled refresh (stretch)
Acceptance
Env var works (Task 1); if Task 2 lands, drift produces a visible PR rather than a silent failure.
Pragmatic note
A Safari UA from "anywhere in the last 2-3 years" is probably good enough to bypass Reddit's filter indefinitely — the annual-update urgency was assumed, not measured. Task 1 alone may be sufficient. Task 2 is a nice-to-have if Task 1 still leaves operators surprised by drift.
Background
The User-Agent header sent to Reddit (
src/geddit.js, 20 call sites) was switched to a Safari UA in commit26d7724to bypass Reddit's blocking of genericfetch()UAs. As Safari/macOS versions roll forward, the UA drifts from current — the failure mode is "completely broken while waiting" because Reddit returns 403 to outdated/generic UAs.Task 1 — Runtime configurability
LURKER_USER_AGENTTask 2 — Scheduled refresh (stretch)
Acceptance
Env var works (Task 1); if Task 2 lands, drift produces a visible PR rather than a silent failure.
Pragmatic note
A Safari UA from "anywhere in the last 2-3 years" is probably good enough to bypass Reddit's filter indefinitely — the annual-update urgency was assumed, not measured. Task 1 alone may be sufficient. Task 2 is a nice-to-have if Task 1 still leaves operators surprised by drift.