asteroid/parenscript
Glenn Thompson 91686cd0cc Fix r-simple-rate sliding-window bug + normalize polling intervals
Rate limiter fix (limiter.lisp):
- Override simple-rate::tax-rate with fixed-window implementation
  The upstream version updates the timestamp on every request, which
  prevents the window from ever resetting while polling is active.
  This override only updates the timestamp when the window expires and
  the counter resets.
- Override rate:left to correctly report expired windows as full budget,
  so with-limitation does not block on stale tracking entries.
- These are monkey-patches on r-simple-rate; the upstream library is
  not modified.

Polling normalization:
- front-page.lisp: channel-name polling 10s → 15s (matches stream-player.lisp)

Context: In frameset mode, front-page.js and stream-player.js both poll
the channel-name and now-playing endpoints. The sliding-window bug meant
the rate limit counter never reset as long as requests kept arriving
within the 60s timeout, eventually exhausting the budget and producing
429 errors for all API endpoints.
2026-04-09 06:59:42 +01:00
..
admin.lisp Remove Icecast/Liquidsoap, migrate fully to Harmony/CL-Streamer 2026-03-05 17:24:12 +03:00
auth-ui.lisp fix: Normalize USERS table timestamps before dm:save to prevent PostgreSQL type errors 2025-12-29 09:39:51 -05:00
dj-console.lisp Fix DJ Console: 400 POST error, library search SQL, auto-playlist pause, now-playing override 2026-03-06 08:06:02 +03:00
frameset-utils.lisp Fix geo stats peak tracking and migrate inline JS to ParenScript 2025-12-14 10:20:32 -05:00
front-page.lisp Fix r-simple-rate sliding-window bug + normalize polling intervals 2026-04-09 06:59:42 +01:00
parenscript-utils.lisp fix: add parenscript utils file 2026-03-02 17:51:26 -05:00
player.lisp Add shuffle stream as second pipeline 2026-03-08 13:32:51 +03:00
profile.lisp feat: Custom user playlists with submission and admin review 2025-12-21 18:45:35 +03:00
recently-played.lisp Fix listener count and recently-played rendering 2026-03-03 23:25:23 +03:00
spectrum-analyzer.lisp Add mini spectrum analyzer to player frame with theme/style sync 2026-01-11 13:25:55 -05:00
stream-player.lisp Normalize channel-name polling to 15s (was 10s) 2026-03-14 06:57:25 +00:00
users.lisp Fix last-login timezone handling 2025-12-19 18:00:30 -05:00