Skip to content

RSS feeds show stale timestamps for rebuilt packages and have a low update limit #1374

Description

@ryanpetrello

Problem

The RSS feeds introduced in #1320 have two issues:

  1. Stale timestamps for rebuilds: iter_releases() and iter_projects() use Min("file_added_at") to aggregate timestamps. When new files are added for an existing (name, version) pair (e.g., a rebuild with a different PEP 427 build tag), the feed continues to show the original timestamp. The <guid> also stays the same, so RSS readers never surface the rebuild as a new item.

  2. Low update limit: UPDATES_LIMIT is 100, which is too small for indexes that receive batch promotions of 100+ packages at once. Items beyond the limit are silently truncated.

Proposed Fix

  • Change Min to Max on all aggregations so the feed reflects the most recently added file.
  • Append a #timestamp fragment to the <guid> so RSS readers treat each rebuild as a new item. Set isPermaLink="false" accordingly.
  • Raise UPDATES_LIMIT from 100 to 500.

Reproducer

# Feed only shows build-tag -1 (Sep 5), missing -2 (Sep 8):
curl -s '.../rss/project/ctranslate2/releases.xml' \
  | python3 -c "import sys,xml.etree.ElementTree as ET; [print(f'{i.findtext(\"title\")} — {i.findtext(\"pubDate\")}') for i in ET.fromstring(sys.stdin.read()).findall('.//item')]"

# Pulp content API shows both build tags:
curl -s '.../api/v3/content/python/packages/?name=ctranslate2&version=4.8.2&limit=5&fields=filename,pulp_created&ordering=-pulp_created' \
  | jq -r '.results[] | "\(.filename) — \(.pulp_created[:19])"'

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions