Problem/Motivation

With polling enabled, the refresh endpoint returns the whole poll payload every interval, almost always unchanged. Measured: 172,673 bytes and ~1.8 s every 30 s per placement. The current set does not address the poll payload size.

Steps to reproduce

  • Enable polling and watch the refresh request on a 200+ comment thread.
  • Observe the full payload is re-sent each interval with no change.

Proposed resolution

  • Compute an ETag from the comment list tag checksum plus the max comment changed timestamp.
  • Return 304 when the client's ETag matches, with the same freshness guarantees.

Remaining tasks

  • Verify the common unchanged poll becomes a 304.

User interface changes

None, beyond less network traffic.

API changes

Adds ETag support to the refresh route.

Data model changes

None anticipated.

AI-Generated: Yes (Used Opus 5 and DeepSeek Flash to review and discover these issues)

Comments

freelock created an issue. See original summary.

  • freelock committed 5b0fbe49 on 1.0.x
    fix: #3623180 Refresh should return 304 / not reship the whole poll...
freelock’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.